]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
* gbl-ctors.h: Fix formatting.
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
3cfec666 12002-06-04 Kazu Hirata <kazu@cs.umass.edu>
2
3 * gbl-ctors.h: Fix formatting.
4 * gcc.c: Likewise.
5 * gccspec.c: Likewise.
6 * gcov.c: Likewise.
7 * gcov-io.h: Likewise.
8 * gcse.c: Likewise.
9 * ggc-common.c: Likewise.
10 * ggc.h: Likewise.
11 * ggc-page.c: Likewise.
12 * ggc-simple.c: Likewise.
13 * global.c: Likewise.
14 * graph.h: Likewise.
15 * gthr-dce.h: Likewise.
16 * gthr.h: Likewise.
17 * gthr-posix.h: Likewise.
18 * gthr-rtems.h: Likewise.
19 * gthr-solaris.h: Likewise.
20 * gthr-win32.h: Likewise.
21
1f3233d1 222002-06-03 Geoffrey Keating <geoffk@redhat.com>
23
24 Merge from pch-branch:
25
26 * gengtype.h (UNION_OR_STRUCT_P): New macro.
27 * gengtype.c (write_gc_structure_fields): Use it.
28 (write_gc_root): Use it here too.
29
30 * gengtype.c (write_gc_structure_fields): Assume that lengths
31 of typenames fit into an 'int'; don't pass a size_t to "%d" in
32 printf.
33 (write_gc_marker_routine_for_structure): Likewise.
34 (write_gc_types): Likewise.
35 (write_gc_root): Likewise.
36
37 * varray.h (VARRAY_CLEAR): New.
38 (varray_clear): Prototype.
39 * varray.c (varray_clear): New.
40 * cselib.c (reg_values_old): New.
41 (used_regs_old): New.
42 (cselib_init): Use cached varrays if available to avoid
43 generating large amounts of garbage.
44 (cselib_finish): Don't throw away old varrays.
45
46 * final.c (insn_addresses_): Move out of ifdef.
47
48 * varray.c (uses_ggc): Make more varray kinds GCable.
49 * varray.h (union varray_data_tag): Let gengtype see
50 fields 'generic' and 'te'.
51 * reg-stack.c: Include gt-reg-stack.h, ggc.h.
52 (stack_regs_mentioned_data): Move out of ifdef; mark with gengtype.
53 (reg_to_stack): Don't call VARRAY_FREE.
54 * insn-addr.h (INSN_ADDRESSES_FREE): Don't use VARRAY_FREE.
55 (insn_addresses_): Use gengtype to mark.
56 * gengtype.c (write_gc_structure_fields): Handle arrays of generic
57 pointers; handle generic pointers in unused union fields.
58 (get_output_file_with_visibility): Include cselib.h,
59 insn-addr.h in gtype-desc.c.
60 * function.c (prologue): Use gengtype to mark.
61 (epilogue): Likewise.
62 (sibcall_epilogue): Likewise.
63 * dependence.c: Include gt-dependence.h, ggc.h.
64 (struct def_use): Use gengtype to mark.
65 (struct loop): Likewise.
66 (struct induction): Likewise.
67 (struct dependence): Likewise.
68 (def_use_chain): Likewise.
69 (dep_chain): Likewise.
70 (loop_chain): Likewise.
71 (induction_chain): Likewise.
72 (init_dependence_analysis): Don't free anything, just clear pointers.
73 (build_def_use): Use GGC to allocate def_use.
74 (add_loop): Use GGC to allocate loop.
75 (find_induction_variable): Use GGC to allocate induction.
76 (check_node_dependence): Use GGC to allocate induction, dependence.
77 (dump_node_dependence): Don't free varrays.
78 (end_dependence_analysis): Likewise.
79 * cselib.h (struct cselib_val_struct): Use gengtype to mark.
80 (struct elt_loc_list): Likewise.
81 (struct elt_list): Likewise.
82 * cselib.c: Don't include obstack.h.
83 (hash_table): Use gengtype to mark.
84 (reg_values): Use gengtype to mark.
85 (used_regs): Use gengtype to mark.
86 (cselib_obstack): Delete.
87 (cselib_startobj): Delete.
88 (empty_vals): Mark as deletable.
89 (empty_elt_lists): Mark as deletable.
90 (empty_elt_loc_lists): Mark as deletable.
91 (new_elt_list): Use GGC to allocate struct elt_list.
92 (new_elt_loc_list): Use GGC to allocate struct elt_loc_list.
93 (clear_table): Don't delete obstack; don't unnecessarily clear
94 deletable variables.
95 (new_cselib_val): Use GGC to allocate struct cselib_val.
96 (cselib_init): Don't set up obstacks. Use GGC to allocate
97 hash table.
98 (cselib_finish): Just clear variables, don't free anything.
99 * Makefile.in (cselib.o): Remove dependency on $(OBSTACK_H).
100 (reg-stack.o): Add dependency on gt-reg-stack.h, $(GGC_H).
101 (dependence.o): Add dependency on gt-dependence.h, $(GGC_H).
102 (GTFILES): Add insn-addr.h, cselib.h, dependence.c, reg-stack.c.
103 (gt-reg-stack.h): New rule.
104 (gt-dependence.h): New rule.
105 (gtype-desc.o): Add cselib.h, insn-addr.h.
106
107 * varray.c: Use only necessary headers.
108 (element_size): New.
109 (uses_ggc): New.
110 (varray_init): Take type, not size. Use GGC if appropriate.
111 (varray_grow): Update for change to struct varray_head_tag.
112 Use GGC if appropriate.
113 * varray.h (struct const_equiv_data): Use gengtype.
114 (enum varray_data_enum): New.
115 (union varray_data_tag): Use gengtype.
116 (struct varray_head_tag): Use gengtype. Replace size field with
117 enum varray_data_enum.
118 (varray_init): Update prototype.
119 (VARRAY_SCHED_INIT): Delete.
120 (VARRAY_*_INIT): Update for change to varray_init.
121 (VARRAY_SCHED): Delete.
122 (VARRAY_PUSH_SCHED): Delete.
123 (VARRAY_TOP_SCHED): Delete.
124 * tree.h: Update for change to length specifier.
125 * tree-inline.c (optimize_inline_calls): Don't use VARRAY_FREE.
126 (clone_body): Likewise.
127 * ssa.h (ssa_definition): Use gengtype to mark.
128 * ssa.c (convert_from_ssa): Don't use VARRAY_FREE.
129 * ssa-dce.c (ssa_eliminate_dead_code): Don't use VARRAY_FREE.
130 * rtl.h (struct rtvec_def): Update for change to length specifier.
131 * integrate.c (expand_inline_function): Don't use VARRAY_FREE.
132 (struct initial_value_struct): Update for change to length specifier.
133 * ggc.h (ggc_add_rtx_varray_root): Delete prototype.
134 (ggc_add_tree_varray_root): Delete prototype.
135 (ggc_mark_rtx_varray): Delete prototype.
136 (ggc_mark_tree_varray): Delete prototype.
137 * ggc-common.c (ggc_add_rtx_varray_root): Delete.
138 (ggc_add_tree_varray_root): Delete.
139 (ggc_mark_rtx_varray): Delete.
140 (ggc_mark_tree_varray): Delete.
141 (ggc_mark_rtx_varray_ptr): Delete.
142 (ggc_mark_tree_varray_ptr): Delete.
143 * gengtype.h (enum typekind): Remove TYPE_VARRAY.
144 (create_varray): Delete prototype.
145 * gengtype.c (varrays): Delete.
146 (create_varray): Delete.
147 (adjust_field_type): Detect array of string pointers.
148 (process_gc_options): Remove code to handle varray_type option.
149 (set_gc_used_type): Remove TYPE_VARRAY case.
150 (output_escaped_param): New.
151 (write_gc_structure_fields): Use output_escaped_param on all
152 parameters. Handle 'skip' with 'use_param' option. Handle
153 arrays of strings. Remove TYPE_VARRAY handling.
154 (write_gc_roots): Use boolean to detect 'length' option.
155 * gengtype-yacc.y (VARRAY_TYPE): Delete token.
156 (struct_fields): Call adjust_field_type on array fields.
157 (type): Remove VARRAY_TYPE case.
158 (type_option): Likewise.
159 * gengtype-lex.l: Don't consider varray_type a keyword.
160 * function.h: Update for change to length specifier.
161 (free_eh_status): Delete prototype.
162 * function.c (free_after_compilation): Don't call free_eh_status.
163 (reorder_blocks): Don't use VARRAY_FREE.
164 * except.c (struct eh_status): Update for change to length specifier.
165 remove varray_type specifier.
166 (free_eh_status): Delete.
167 * dwarf2out.c: Include gt-dwarf2out.h.
168 (used_rtx_varray): Use gengtype to mark, move
169 outside ifdefs.
170 (incomplete_types): Likewise.
171 (decl_scope_table): Likewise.
172 (dwarf2out_init): Don't call ggc_add_tree_varray_root.
173 * cfglayout.c (scope_to_insns_finalize): Don't use VARRAY_FREE.
174 * c-tree.h (struct lang_type): Update for change to length specifier.
175 * c-parse.in (yylexstring): Don't use VARRAY_FREE.
176 * c-objc-common.c: Include gt-c-objc-common.h.
177 (deferred_fns): Mark for gengtype.
178 (c_objc_common_init): Don't call ggc_add_tree_varray_root.
179 (expand_deferred_fns): Just set deferred_fns to 0 to free it.
180 * Makefile.in (c-objc-common.o): Add gt-c-objc-common.h.
181 (gtype-desc.o): Update dependencies.
182 (dwarf2out.o): Add gt-dwarf2out.h.
183 (varray.o): Update dependencies.
184 (GTFILES): Add varray.h, ssa.h, dwarf2out.c, c-objc-common.c.
185 (gt-c-objc-common.h): New rule.
186 (gt-dwarf2out.h): New rule.
187 * objc/objc-act.c (build_objc_string_object): Don't use VARRAY_FREE.
188
189 * doc/gty.texi (GTY Options): Correct spelling.
190 (GGC Roots): Likewise.
191 * Makefile.in (TEXI_CPP_FILES): New.
192 (TEXI_GCC_FILES): New.
193 (TEXI_GCCINT_FILES): New.
194 (TEXI_CPPINT_FILES): New.
195 ($(docdir)/cpp.info): Use new macros.
196 ($(docdir)/gcc.info): Likewise.
197 ($(docdir)/gccint.info): Likewise.
198 ($(docdir)/cppinternals.info): Likewise.
199 (cpp.dvi): Likewise.
200 (gcc.dvi): Likewise.
201 (gccint.dvi): Likewise.
202 (cppinternals.dvi): Likewise.
203
204 * Makefile.in ($(docdir)/gccint.info): Depend on gty.texi.
205 * doc/gccint.texi (Top): Include gty.texi.
206 * doc/gty.texi: New file.
207
208 * bitmap.c: Include ggc.h, gt-bitmap.h.
209 (bitmap_ggc_free): New.
210 (bitmap_elem_to_freelist): New.
211 (bitmap_element_free): Use bitmap_elem_to_freelist.
212 (bitmap_element_allocate): Allow use of GGC.
213 (bitmap_clear): Use bitmap_elem_to_freelist.
214 (bitmap_copy): Update for change to bitmap_element_allocate.
215 (bitmap_set_bit): Likewise.
216 (bitmap_operation): Update for changes elsewhere.
217 (bitmap_initialize): Allow to create bitmaps that will use GGC.
218 * bitmap.h (struct bitmap_element_def): Use gengtype.
219 (struct bitmap_head_def): Likewise. Also add 'using_obstack' field.
220 (bitmap_initialize): Add extra parameter.
221 (BITMAP_OBSTACK_ALLOC): Update for change to bitmap_initialize.
222 (BITMAP_ALLOCA): Delete.
223 (BITMAP_XMALLOC): Update for change to bitmap_initialize.
224 (BITMAP_GGC_ALLOC): New.
225 * Makefile.in (gtype-desc.o): Add bitmap.h.
226 (bitmap.o): Add gt-bitmap.h, $(GGC_H).
227 (GTFILES): Add bitmap.c.
228 (gt-bitmap.h): New rule.
229 ($(HOST_PREFIX_1)bitmap.o): Add gt-bitmap.h.
230 * basic-block.h: Update for changes to bitmap_initialize.
231 * except.c (exception_handler_label_map): Move into...
232 (struct eh_status): Here.
233 (struct eh_region): Make 'aka' GCable.
234 (free_eh_status): Don't need to specially handle
235 exception_handler_label_map.
236 (add_ehl_entry): Update for changes to exception_handler_label_map.
237 (find_exception_handler_labels): Likewise.
238 (remove_exception_handler_label): Likewise.
239 (maybe_remove_eh_handler): Likewise.
240 (for_each_eh_label): Likewise.
241 (remove_eh_handler): Allocate 'aka' using GGC.
242 * gengtype.c (get_output_file_with_visibility): Add bitmap.h
243 to list of includes.
244
245 * gengtype.c (write_gc_marker_routine_for_structure): Name
246 the routines 'gt_ggc_mx_*' instead of 'gt_ggc_m_*'.
247 (write_gc_types): Arrange for the tests with NULL to be inlined.
248 (write_gc_roots): Update uses of procedure pointers.
249 * ggc-common.c (gt_ggc_mx_rtx_def): Rename from gt_ggc_m_rtx_def.
250
251 * Makefile.in (explow.o): Add dependency on gt-explow.h.
252 (sdbout.o): Add dependency on gt-sdbout.h.
253
254 * emit-rtl.c (const_int_htab): Use gengtype to clear unused entries.
255 (mem_attrs_htab): Likewise.
256 (init_emit_once): Don't call ggc_add_deletable_htab.
257 * fold-const.c (size_htab): Use gengtype to clear unused entries.
258 (size_int_type_wide): Don't call ggc_add_deletable_htab.
259 * gengtype.c (finish_root_table): Add LASTNAME and TNAME
260 parameters, use them, change callers.
261 (write_gc_root): Add IF_MARKED parameter, use it, change callers.
262 (write_gc_roots): Handle 'if_marked' option.
263 (main): Don't need to call set_gc_used_type any more.
264 * ggc.h (ggc_htab_marked_p): Delete.
265 (ggc_htab_mark): Delete.
266 (struct ggc_cache_tab): New.
267 (gt_ggc_cache_rtab): New declaration.
268 * ggc-common.c (struct d_htab_root): Delete.
269 (d_htab_roots): Delete.
270 (ggc_add_deletable_htab): Delete.
271 (ggc_htab_delete): Handle new htab-deleting mechanism.
272 (ggc_mark_roots): Use new htab-deleting mechanism.
273 * tree.c (type_hash_table): Use gengtype to clear unused entries.
274 Make static.
275 (init_obstacks): Don't call ggc_add_deletable_htab.
276
277 * objc/objc-act.h (struct hashed_attribute): Use gengtype.
278 (struct hashed_entry): Likewise.
279 (nst_method_hash_list): Likewise.
280 (cls_method_hash_list): Likewise.
281 (HASH_ALLOC_LIST_SIZE): Delete.
282 (ATTR_ALLOC_LIST_SIZE): Delete.
283 * objc/objc-act.c (hash_init): Use ggc to allocate
284 nst_method_hash_list, cls_method_hash_list.
285 (hash_enter): Use ggc to allocate; allocate one entry at a time.
286 (hash_add_attr): Likewise.
287 (ggc_mark_hash_table): Delete.
288 (objc_act_parse_init): Delete.
289 (objc_init): Delete reference to objc_act_parse_init.
290 * tlink.c: Replace hash.h with hashtab.h. Explicitly include
291 obstack.h. Replace references to 'struct hash_table' with htab_t.
292 (struct symbol_hash_entry): Replace hash header with key field.
293 (struct file_hash_entry): Replace hash header with key field.
294 (struct demangled_hash_entry): Replace hash header with key field.
295 (hash_string_eq): New.
296 (hash_string_hash): New.
297 (symbol_hash_newfunc): Delete.
298 (symbol_hash_lookup): Modify to use htab_t.
299 (file_hash_newfunc): Delete.
300 (file_hash_lookup): Modify to use htab_t.
301 (demangled_hash_newfunc): Delete.
302 (demangled_hash_lookup): Modify to use htab_t.
303 (tlink_init): Modify to use htab_t.
304 * hash.h: Delete.
305 * hash.c: Delete.
306 * ggc.h: Delete forward structure declarations.
307 Delete prototypes for deleted functions.
308 * ggc-common.c: Don't include hash.h.
309 (ggc_add_tree_hash_table_root): Delete.
310 (ggc_mark_tree_hash_table_entry): Delete.
311 (ggc_mark_tree_hash_table): Delete.
312 (ggc_mark_tree_hash_table_ptr): Delete.
313 * gengtype.c (write_gc_structure_fields): Allow param_is option.
314 (write_gc_marker_routine_for_structure): Use visibility of
315 the parameter if there is one.
316 * function.c: Replace hash.h with hashtab.h. Replace references
317 to 'struct hash_table *' with htab_t.
318 (struct insns_for_mem_entry): Include a plain key.
319 (fixup_var_refs_insns_with_hash): Update to use htab_t.
320 (insns_for_mem_newfunc): Delete.
321 (insns_for_mem_hash): Update to use htab_t.
322 (insns_for_mem_comp): Likewise.
323 (insns_for_mem_walk): Likewise.
324 * c-lang.c: Include ggc.h.
325 * Makefile.in (OBJS): Remove hash.o.
326 (c-lang.o): Add GGC_H.
327 (COLLECT2_OBJS): Remove hash.o.
328 (tlink.o): Remove hash.h, add HASHTAB_H and OBSTACK_H.
329 (ggc-common.o): Remove hash.h.
330 (function.o): Remove hash.h, add HASHTAB_H.
331 (genautomata.o): Remove hash.h, add HASHTAB_H.
332
333 * varasm.c (mark_const_str_htab_1): Delete.
334 (mark_const_str_htab): Delete.
335 (const_str_htab_del): Delete.
336 (const_str_htab): Use gengtype to mark.
337 (init_varasm_once): Use gengtype to mark hashtables. Use GC to
338 allocate them.
339 * tree.c (mark_tree_hashtable_entry): Delete.
340 (mark_tree_hashtable): Delete.
341 * tree.h (mark_tree_hashtable): Delete prototype.
342 * ggc.h (ggc_test_and_set_mark): Treat (void *)1 like NULL.
343 (ggc_mark): Likewise.
344 (ggc_calloc): New.
345 (htab_create_ggc): New.
346 * ggc-common.c (ggc_calloc): New.
347 * gengtype.h (enum typekind): Add TYPE_PARAM_STRUCT.
348 (struct type): Add param_struct structure.
349 * gengtype.c (param_structs): New.
350 (adjust_field_type): Handle param_is option.
351 (set_gc_used_type): Handle TYPE_PARAM_STRUCT.
352 (get_output_file_with_visibility): Include hashtab.h in gtype-desc.c.
353 (write_gc_structure_fields): Add new PARAM parameter. Update
354 callers. Handle use_param option. Handle TYPE_PARAM_STRUCT.
355 (write_gc_marker_routine_for_structure): Add new PARAM parameter.
356 Use it to generate function name. Update callers.
357 (write_gc_types): Add new PARAM_STRUCTS parameter. Update callers.
358 Process them.
359 (write_gc_roots): Handle TYPE_PARAM_STRUCT. Allow param_is
360 option.
361 (main): Define PTR as pointer-to-scalar. Don't specially
362 mark deferred_string or ehl_map_entry.
363 * gengtype-yacc.y (PARAM_IS): Add new token.
364 (externstatic): Use adjust_field_type.
365 (type_option): Add PARAM_IS.
366 * gengtype-lex.l: Add rule for typedef of function pointers.
367 Add rule for PARAM_IS.
368 (IWORD): Add size_t.
369 * except.c (exception_handler_label_map): Use gengtype to mark.
370 (type_to_runtime_map): Likewise.
371 (mark_ehl_map_entry): Delete.
372 (mark_ehl_map): Delete.
373 (init_eh): Use gengtype for roots; use GC to allocate hash tables.
374 (t2r_mark_1): Delete.
375 (t2r_mark): Delete.
376 * Makefile.in (gtype-desc.o): Correct dependencies.
377 (GTFILES): Add hashtab.h.
378 (genautomata.o): Actually uses hashtab.h.
379
380 * Makefile.in (stringpool.o): Add $(GGC_H).
381 (dwarf2asm.o): Likewise.
382 (GTFILES): Add hashtable.h.
383 * c-common.h (struct c_common_identifier): Use gengtype.
384 * c-decl.h (c_mark_tree): Delete.
385 * c-lang.c (LANG_HOOKS_MARK_TREE): Delete.
386 * c-tree.h (struct lang_identifier): Use gengtype.
387 (union lang_tree_node): New.
388 (c_mark_tree): Delete prototype.
389 * dwarf2out.c [!DWARF2_DEBUGGING_INFO]: Define dummy
390 dwarf2_debug_hooks.
391 * gengtype-lex.l (IWORD): Allow 'bool'.
392 (ptr_alias): Match.
393 * gengtype-yacc.y (ALIAS): New token.
394 (type_option): New rule.
395 (option): Use type_option.
396 * gengtype.c (process_gc_options): New.
397 (set_gc_used_type): Use it.
398 (write_gc_structure_fields): Add 'bitmap' parameter, change callers.
399 Add new variable 't' to hold the type of the field being processed.
400 Add more error checking. Use UNION_P when looking at 'desc' option.
401 Handle language-specific structures containing other
402 language-specific structures.
403 (write_gc_types): Handle 'ptr_alias' option.
404 (main): Don't need to specially output lang_type, lang_decl, lang_id2.
405 * ggc-common.c (ggc_pending_trees): Delete.
406 (ggc_mark_roots): Don't manipulate ggc_pending_trees.
407 (ggc_mark_trees): Delete.
408 (gt_ggc_m_tree_node): Delete.
409 * ggc.h (ggc_pending_trees): Delete.
410 (ggc_mark_tree): Make alias of gt_ggc_m_tree_node.
411 * hashtable.h (ht_identifier): Use gengtype.
412 * langhooks-def.h (LANG_HOOKS_MARK_TREE): Delete.
413 * langhooks.h (struct lang_hooks): Delete mark_tree.
414 * sdbout.c [! SDB_DEBUGGING_INFO]: Define dummy sdb_debug_hooks
415 anyway.
416 * system.h: Poison LANG_HOOKS_MARK_TREE.
417 * tree.c (tree_node_structure): New.
418 * tree.h (struct tree_common): Use gengtype.
419 (struct tree_int_cst): Likewise.
420 (struct tree_real_cst): Likewise.
421 (struct tree_string): Likewise.
422 (struct tree_complex): Likewise.
423 (struct tree_vector): Likewise.
424 (struct tree_identifier): Likewise.
425 (struct tree_list): Likewise.
426 (struct tree_vec): Likewise.
427 (struct tree_exp): Likewise.
428 (struct tree_block): Likewise.
429 (struct tree_type): Likewise.
430 (struct tree_decl): Likewise.
431 (enum tree_structure_enum): New.
432 (union tree_node): Use gengtype, with an alias.
433 (tree_node_structure): Prototype.
434 * objc/objc-lang.c (LANG_HOOKS_MARK_TREE): Delete.
435
436 Merge to tag pch-merge-20020430. The LANG_HOOKS_FUNCTION_MARK
437 macro was deleted. The LANG_HOOKS_FUNCTION_FREE macro was renamed
438 to LANG_HOOKS_FUNCTION_FINAL.
439 * Makefile.in (GTFILES): Add bitmap.h.
440 * except.c (struct eh_region): Mark field 'aka' to be skipped.
441
442 * config/alpha/alpha.c [TARGET_ABI_UNICOSMK]
443 (alpha_init_machine_status): Give proper type.
444 * Makefile.in (c-lang.o): Depend on gtype-c.h.
445 (optabs.o): Depend on gt-optabs.h.
446 (GTFILES): Add optabs.o.
447 (gt-optabs.h): Add rule.
448 * optabs.c: Include gt-optabs.h.
449
450 * gengtype.c (set_gc_used_type): Correct some errors in last change.
451 (write_gc_structure_fields): If a field which should be NULL is
452 not, abort.
453 * c-pragma.c: Move struct align_stack and variable alignment_stack
454 out from the ifdef.
455
456 * config/xtensa/t-xtensa: Add dependencies for gt-xtensa.h.
457 * config/xtensa/xtensa.c: Include gt-cris.h.
458 (struct machine_function): Use gengtype to mark.
459 * config/mmix/mmix.h (struct machine_function): Use gengtype
460 to mark.
461 * config/cris/t-cris: Add dependencies for gt-cris.h.
462 * config/cris/cris.c: Include gt-cris.h.
463 (struct machine_function): Use gengtype to mark.
464 * config/rs6000/rs6000.h (struct machine_function): Use gengtype
465 to mark.
466 * doc/tm.texi (Per-Function Data): Delete references to
467 mark_machine_status.
468 * config/ia64/ia64.c (ia64_override_options): Don't set
469 mark_machine_status.
470 * config/i386/i386.c (override_options): Likewise.
471 * config/d30v/d30v.c (d30v_init_expanders): Likewise.
472 * config/arm/arm.c (arm_init_expanders): Likewise.
473 * config/alpha/alpha.c (override_options): Likewise.
474 * gengtype.h (enum gc_used_enum): Add GC_MAYBE_POINTED_TO.
475 * gengtype.c (set_gc_used_type): Handle 'maybe_null' option.
476 (write_gc_structure_fields): Don't handle 'really' option.
477 Handle 'maybe_null' option.
478 (write_gc_types): Handle 'maybe_null' option.
479 * function.h (struct function): Don't use "really".
480 (mark_machine_status): Delete declaration.
481 (mark_lang_status): Delete declaration.
482 (gt_ggc_mr_machine_function): Delete prototype.
483 (gt_ggc_mr_language_function): Delete prototype.
484 * function.c (mark_machine_status): Delete.
485 (mark_lang_status): Delete.
486 (gt_ggc_mr_machine_function): Delete.
487 (gt_ggc_mr_language_function): Delete.
488 * c-tree.h (mark_c_function_context): Delete prototype.
489 * c-objc-common.c (c_objc_common_init): Don't set mark_lang_status.
490 * c-decl.c (struct language_function): Rename from struct
491 c_language_function. Update uses. Use gengtype to mark.
492 (mark_c_function_context): Delete.
493 * c-common.h (struct c_language_function): Rename from struct
494 language_function.
495 (mark_stmt_tree): Delete prototype.
496 (c_mark_lang_decl): Delete prototype.
497 (mark_c_language_function): Delete prototype.
498 * c-common.c (mark_stmt_tree): Delete.
499 (c_mark_lang_decl): Delete.
500 (mark_c_language_function): Delete.
501
502 * gengtype.h (enum typekind): Add TYPE_LANG_STRUCT.
503 (lang_bitmap): New typedef. Use where appropriate.
504 (struct type): Add gc_used field, lang_struct field.
505 (UNION_P): New macro.
506 (new_structure): New prototype.
507 (find_structure): Remove 'pos' parameter. Change all callers.
508 * gengtype-lex.l: Update for changes to find_structure.
509 * gengtype-yacc.y (typedef_struct): Use new_structure.
510 (yacc_ids): Suppress warning.
511 (type): Use new_structure.
512 * gengtype.c (string_type): Update for changes to struct type.
513 (find_structure): Just find a structure, don't worry about
514 creating one.
515 (new_structure): New.
516 (note_yacc_type): Use new_structure.
517 (set_gc_used_type): New.
518 (set_gc_used): New.
519 (write_gc_structure_fields): Allow for pointers to TYPE_LANG_STRUCT.
520 (write_gc_types): Handle TYPE_LANG_STRUCT.
521 (write_gc_marker_routine_for_structure): New.
522 (main): Call set_gc_used. Add some calls to set_gc_used_type
523 for places where GCC doesn't use gengtype properly yet.
524 * ggc.h (gt_ggc_m_rtx_def): Don't prototype.
525 (gt_ggc_m_tree_node): Likewise.
526
527 * varasm.c (copy_constant): Call expand_constant if we hit
528 something we can't recognise.
529
530 * ggc-common.c (ggc_mark_rtvec_children): Delete.
531 (ggc_mark_rtx_children): Use generic name for ggc_mark_rtvec.
532 (lang_mark_false_label_stack): Delete.
533 * rtl.h (struct rtvec_def): Use gengtype to mark.
534 * ggc.h (ggc_mark_rtvec): Delete.
535 (gt_ggc_m_rtvec_def): Delete.
536 (ggc_mark_nonnull_tree): Delete.
537 (ggc_mark_rtvec_children): Delete prototype.
538 (lang_mark_false_label_stack): Delete declaration.
539
540 * gengtype.h (note_yacc_type): Add prototype.
541 * gengtype.c (note_yacc_type): New function.
542 * gengtype-lex.l: Add lexer support for yacc files.
543 * gengtype-yacc.y (start): Extract union from yacc files.
544 (yacc_union): New rule.
545 (yacc_typematch): New rule.
546 (yacc_ids): New rule.
547 (enum_items): Tweak for efficiency.
548 (optionseq): Likewise.
549
550 * c-common.h (struct language_function): Use gengtype.
551 (struct c_lang_decl): Likewise.
552 * c-tree.h (struct lang_decl): Likewise.
553 (struct lang_type): Likewise.
554 * c-decl.c (lang_mark_tree): Use generated marker routines to mark
555 tree language substructures.
556
557 * stringpool.c (mark_ident): Replace ggc_mark_nonnull_tree with
558 ggc_mark_tree.
559 * dwarf2asm.c (mark_indirect_pool_entry): Likewise.
560
561 * varasm.c (struct rtx_const): Remove 'skip' tags for scalar arrays.
562
563 * stmt.c (struct nesting): Add discriminator. Use gengtype to
564 mark. Remove 'data.block.cleanup_ptr' field.
565 (struct stmt_status): Use usual technique to mark struct nesting.
566 (gt_ggc_mr_nesting_cond): Delete.
567 (gt_ggc_mr_nesting_loop): Delete.
568 (gt_ggc_mr_nesting_block): Delete.
569 (gt_ggc_mr_nesting_case_stmt): Delete.
570 (expand_start_cond): Set discriminator.
571 (expand_start_loop): Likewise.
572 (expand_start_null_loop): Likewise.
573 (expand_start_bindings_and_block): Set discriminator. Don't set
574 deleted fields.
575 (expand_decl_cleanup): Replace 'cleanup_ptr' with
576 &thisblock->data.block.cleanups.
577 (expand_start_case): Set discriminator.
578 (expand_start_case_dummy): Set discriminator.
579
580 * ggc-callbacks.c: Remove.
581
582 * gengtype.h (struct type): Add 'u.s.bitmap' field.
583 (find_structure): Add 'pos' parameter.
584 * gengtype-lex.l: Update callers to find_structure.
585 * gengtype-yacc.y: Likewise.
586 * gengtype.c (find_structure): Allow for structures to be defined
587 in multiple language backends.
588 (get_output_file_with_visibility): Include debug.h in gtype-desc.c.
589 (counter): Rename to gc_counter.
590 (write_gc_structure_fields): Fail when writing out fields for
591 an incomplete structure. Ignore arrays of scalars. Handle
592 'tree_vec' special.
593 (write_gc_types): Reset counter for each procedure written.
594
595 * stmt.c (add_case_node): Use GGC to allocate struct case_node.
596 (free_case_nodes): Delete.
597 (expand_end_case_type): Delete call to free_case_nodes.
598
599 * Makefile.in (cselib.o): Include gt-<filename>.h.
600 (gcse.o): Likewise.
601 (profile.o): Likewise.
602 (alias.o): Likewise.
603 (GTFILES): Add alias.c, cselib.c, gcse.c, profile.c, and
604 alphabetize backend files.
605 (gt-alias.h, gt-cselib.h, gt-gcse.h, gt-profile.h): New rules.
606 * alias.c: Use gengtype for roots.
607 * c-common.h (struct stmt_tree_s): Use gengtype.
608 * c-decl.c: Use gengtype for roots.
609 * cselib.c: Use gengtype for roots.
610 * expr.c: Use gengtype for roots.
611 * fold-const.c: Use gengtype for roots.
612 * gcse.c: Use gengtype for roots.
613 * gengtype-lex.l: Handle typedefs of function types.
614 Allow for empty array bounds.
615 Allow processing to stop on initialisers.
616 * gengtype-yacc.y (externstatic): Stop processing on initialisers.
617 (semiequal): New rule.
618 * gengtype.c (create_file): Tidy output files.
619 (get_output_file_with_visibility): Fix paren warning. Fix bug
620 involving multiple input files mapping to one output file.
621 (write_gc_structure_fields): Skip arrays of scalars.
622 (write_gc_types): Tidy output files.
623 (write_gc_root): New function.
624 (write_gc_roots): Fix bugs, add support for roots that are
625 structures.
626 * ggc-common.c (ggc_mark_rtx_ptr): Delete.
627 (ggc_mark_tree_ptr): Delete.
628 (ggc_add_rtx_root): Delete.
629 (ggc_add_tree_root): Delete.
630 (ggc_del_root): Delete.
631 * integrate.c (get_func_hard_reg_initial_val): Use ggc_alloc to
632 allocate struct initial_value_struct.
633 * profile.c: Use gengtype for roots.
634 * sdbout.c: Use gengtype for roots.
635 * varasm.c (mark_weak_decls): Delete unused prototype.
636 (mark_const_hash_entry): Delete unused function.
637 * config/darwin-protos.h: Use gengtype for roots.
638 (machopic_add_gc_roots): Delete.
639 * config/arm/arm.c: Use gengtype for roots.
640 * config/arm/arm.h: Use gengtype for roots.
641 * config/c4x/c4x-protos.h: Use gengtype for roots.
642 * config/c4x/c4x.c (c4x_add_gc_roots): Delete.
643 * config/d30v/d30v-protos.h: Use gengtype for roots.
644 * config/d30v/d30v.c (d30v_add_gc_roots): Delete.
645 * config/dsp16xx/dsp16xx.c (override_options): Use gengtype for roots.
646 * config/dsp16xx/dsp16xx.h: Use gengtype for roots.
647 * config/ia64/ia64-protos.h: Use gengtype for roots.
648 * config/ia64/ia64.c (ia64_add_gc_roots): Delete.
649 * config/m68hc11/m68hc11-protos.h: Use gengtype for roots.
650 * config/m68hc11/m68hc11.c (z_reg): Make global.
651 (z_reg_qi): Make global.
652 (m68hc11_add_gc_roots): Delete.
653 * config/mcore/mcore-protos.h: Use gengtype for roots.
654 * config/mcore/mcore.c (mcore_add_gc_roots): Delete.
655 * config/mips/mips.c (mips_add_gc_roots): Delete.
656 * config/mips/mips.h: Use gengtype for roots.
657 * config/mmix/mmix.c (override_options): Use gengtype for roots.
658 * config/mmix/mmix.h: Use gengtype for roots.
659 * config/mn10200/mn10200.c (asm_file_start): Use gengtype for roots.
660 * config/mn10200/mn10200.h: Use gengtype for roots.
661 * config/pa/pa.c: Use gengtype for roots, marking.
662 (struct deferred_plabel): Use GGC, gengtype.
663 (pa_add_gc_roots): Delete.
664 (mark_deferred_plabels): Delete.
665 * config/pj/pj-protos.h: Use gengtype for roots.
666 * config/pj/pj.h (OVERRIDE_OPTIONS): Don't define.
667 * config/rs6000/rs6000.c: Use gengtype for roots. Don't call
668 machopic_add_gc_roots.
669 * config/rs6000/rs6000.h: Use gengtype for roots.
670 * config/rs6000/t-darwin (darwin.o): Add dependency on gt-darwin.h.
671 (gt-darwin.h): Add rule.
672 * config/sh/sh.c: Use gengtype for roots.
673 * config/sh/t-sh ($(out_object_file)): Add dependency on gt-sh.h.
674 (gt-sh.h): Add rule.
675 * config/sparc/sparc.c: Use gengtype for roots.
676 (sparc_add_gc_roots): Delete.
677 (struct ultrasparc_pipeline_state): Use GGC, gengtype.
678 (mark_ultrasparc_pipeline_state): Delete.
679 * config/sparc/sparc.h: Use gengtype for roots.
680
681 * Makefile.in (c-parse.o): Update dependencies.
682 (c-common.o): Likewise.
683 (GTFILES): Add c-common.h, c-tree.h, c-common.c, c-parse.in.
684 Add dependencies for the files they generate.
685 * c-common.c: Replace ggc_add_* uses with GTY annotations.
686 * c-common.h: Likewise.
687 * c-decl.c: Likewise.
688 (gt_ggc_mp_binding_level): Delete.
689 * c-lang.c: Include gtype-c.h.
690 * c-parse.in: Replace ggc_add_* uses with GTY annotations. Include
691 gt-c-parse.h.
692 * c-pragma.h: Replace ggc_add_* uses with GTY annotations.
693 (gt_ggc_mp_align_stack): Delete.
694 * c-tree.h: Replace ggc_add_* uses with GTY annotations.
695 * function.c: Replace ggc_add_* uses with GTY annotations.
696 (gt_ggc_mp_function): Delete.
697 * function.h: Replace ggc_add_* uses with GTY annotations.
698 * gengtype.c (lang_names): New.
699 (NUM_BASE_FILES): New.
700 (open_base_files): Create language base files.
701 (startswith): New.
702 (get_file_basename): New.
703 (get_base_file_bitmap): New.
704 (get_output_file_with_visibility): Rename from get_output_file.
705 Add more mappings for various C/Objc filenames.
706 (finish_root_table): New.
707 (write_gc_roots): Handle dependencies and scoping properly.
708 * gengtype.h: Add prototypes for new functions.
709 * ggc-common.c (struct deletable_root): Delete.
710 (deletables): Delete.
711 (ggc_add_deletable_root): Delete.
712 (ggc_mark_roots): No need to deal with deleted functionality.
713 * ggc.h (ggc_add_deletable_root): Delete prototype.
714 * objc/Make-lang.in (objc-act.o): Add gtype-objc.h dependency.
715 (gtype-objc.h): Add rule to create.
716 * objc/config-lang.in (gtfiles): New.
717 * objc/objc-act.c: Allocate imp_list using GGC. Replace uses of
718 ggc_add_* with GTY markers. Include gtype-objc.h.
719 (ggc_mark_imp_list): Delete.
720 * objc/objc-act.h: Replace uses of ggc_add_* with GTY markers.
721 * objc/objc-lang.c: Random Whitespace Change.
722
723 * except.h (exception_handler_labels): Delete.
724 (get_exception_handler_labels): New.
725 * except.c (exception_handler_labels): Delete.
726 (struct eh_status): Add exception_handler_labels field.
727 (doing_eh): Don't add exception_handler_labels as root.
728 (free_eh_status): Don't need to free exception_handler_labels.
729 (get_exception_handler_labels): New.
730 (find_exception_handler_labels): Update for move of
731 exception_handler_labels.
732 (remove_exception_handler_label): Likewise.
733 * cfgrtl.c (can_delete_label_p): Use get_exception_handler_labels.
734 * jump.c (rebuild_jump_labels): Likewise.
735 * loop.c (find_and_verify_loops): Likewise.
736 * sched-rgn.c (is_cfg_nonregular): Likewise.
737
738 * gengtype.c (write_gc_structure_fields): Handle variable-length
739 TYPE_ARRAYs.
740
741 * varasm.c (struct weak_syms): Use GGC, gengtype.
742 (mark_weak_decls): Delete.
743 (weak_decls): Likewise.
744 (add_weak): Likewise.
745 (remove_from_pending_weak_list): Likewise.
746 (init_varasm_once): Likewise.
747
748 * Makefile.in (gtype-desc.o): Add libfuncs.h dependency.
749 (GTFILES): Add tree.h, libfuncs.h, emit-rtl.c, explow.c,
750 stor-layout.c, regclass.c, and lists.c.
751 Add dependencies of gt-emit-rtl.h gt-explow.h gt-stor-layout.h
752 gt-regclass.h and gt-lists.h on s-gtype.
753 * emit-rtl.c: Use gengtype for roots. Include gt-emit-rtl.h.
754 * except.c: Use gengtype for roots.
755 * explow.c: Use gengtype for roots. Include gt-explow.h.
756 * expr.h (init_stor_layout_once): Delete prototype.
757 * function.c: Use gengtype for roots.
758 * gengtype-lex.l: Add ENT_EXTERNSTATIC lexing.
759 * gengtype-yacc.y (start): Can also be an externstatic.
760 (externstatic): New production.
761 (struct_fields): Correct array bounds inversion for 2-d arrays.
762 * gengtype.c (variables): New variable.
763 (note_variable): New function.
764 (get_output_file): Include libfuncs.h into gtype-desc.c.
765 (get_output_file_name): New function.
766 (write_gc_structure_fields): Suppress warnings.
767 (write_gc_types): Make static.
768 (put_mangled_filename): New function.
769 (write_gc_roots): New function.
770 (main): Call write_gc_roots.
771 * gengtype.h (note_variable): Prototype.
772 (get_output_file_name): Prototype.
773 (write_gc_types): Delete prototype.
774 * ggc.h: Clean up unnecessary structure predefinitions.
775 (struct ggc_root_tab): Define.
776 (gt_ggc_m_rtx_def): Make function, not macro.
777 (gt_ggc_m_tree_node): Likewise.
778 * libfuncs.h: Use gengtype for roots.
779 * lists.c: Use gengtype for roots. Include gt-lists.h.
780 (init_EXPR_INSN_LIST_cache): Delete.
781 * optabs.c: Use gengtype for roots.
782 (gt_ggc_mp_optab): Delete.
783 * optabs.h: Use gengtype for roots.
784 * regclass.c: Use gengtype for roots. Include gt-regclass.h.
785 * rtl.h: Use gengtype for roots.
786 (init_EXPR_INSN_LIST_cache): Delete prototype.
787 * stor-layout.c: Use gengtype for roots.
788 Include gt-stor-layout.h.
789 (init_stor_layout_once): Delete.
790 * toplev.c: Use gengtype for roots. Delete calls to deleted
791 routines.
792 * tree.c: Use gengtype for roots.
793 * tree.h: Use gengtype for roots.
794 * varasm.c: Use gengtype for roots.
795
796 * Makefile.in (GTFILES): Add @all_gtfiles@.
797 * configure: Regenerate.
798 * configure.in: Construct all_gtfiles from the gtfiles definitions
799 in config-lang.in.
800 * gengtype-yacc.y (type): Warn about duplicate structure names.
801 * gengtype.c (get_output_file): Handle .c files in language
802 subdirectories.
803
804 * Makefile.in (GTFILES): Run gengtype on all the config files
805 and on the target .c file.
806 * except.c (mark_eh_region): Delete.
807 (init_eh_for_function): Use GGC on struct eh_status.
808 (mark_eh_status): Delete.
809 (free_eh_status): Use GGC.
810 (expand_eh_region_start): Use GGC to
811 (collect_eh_region_array): Allocate last_region_number using GGC.
812 (duplicate_eh_region_1): Use GGC to allocate struct eh_region.
813 (remove_eh_handler): Let GGC free struct eh_region.
814 (add_call_site): Use GGC to reallocate call_site_record array.
815 * function.c (init_machine_status): Update calling sequence.
816 (mark_machine_status): Likewise.
817 (mark_lang_status): Likewise.
818 (prepare_function_start): Update init_machine_status call.
819 (mark_function_status): Delete.
820 (maybe_mark_struct_function): Delete.
821 (ggc_mark_struct_function): Delete.
822 (gt_ggc_mp_function): New.
823 (gt_ggc_mr_machine_function): New.
824 (gt_ggc_mr_language_function): New.
825 (init_function_once): Use canonical names.
826 * function.h (struct function): Use gengtype.
827 (init_machine_status): Return the structure.
828 (mark_machine_status): Take a 'void *'.
829 (mark_lang_status): Likewise.
830 * ggc-common.c (ggc_mark_trees): Use canonical name for
831 ggc_mark_struct_function.
832 * tree.h (ggc_mark_struct_function): Delete prototype.
833 * config/alpha/alpha.c (alpha_mark_machine_status): Delete.
834 (alpha_init_machine_status): Likewise.
835 (override_options): Use canonical name for alpha_mark_machine_status.
836 * config/alpha/unicosmk.h (struct machine_function): Use gengtype.
837 * config/arm/arm.h (struct machine_function): Use gengtype.
838 * config/arm/arm.c (arm_mark_machine_status): Delete.
839 (arm_init_machine_status): Update calling sequence.
840 (arm_init_expanders): Use canonical name for arm_mark_machine_status.
841 * config/cris/cris.c (cris_init_machine_status): Update
842 calling sequence.
843 * config/d30v/d30v.h (struct machine_function): Use gengtype.
844 * config/d30v/d30v.c (d30v_init_machine_status): Update
845 calling sequence.
846 (d30v_mark_machine_status): Delete.
847 * config/i386/i386.c: Include gt-i386.h.
848 (struct machine_function): Use gengtype.
849 (ix86_init_machine_status): Update calling sequence.
850 (ix86_mark_machine_status): Delete.
851 (override_options): Use canonical namke for ix86_mark_machine_status.
852 * config/ia64/ia64.h (struct machine_function): Use gengtype.
853 * config/ia64/ia64.c (ia64_init_machine_status): Update calling
854 sequence.
855 (ia64_mark_machine_status): Delete.
856 (ia64_override_options): Use canonical name for
857 ia64_mark_machine_status.
858 * config/mmix/mmix.c (mmix_init_machine_status): Update calling
859 sequence.
860 * config/rs6000/rs6000.c (rs6000_init_machine_status): Likewise.
861 * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
862 * gengtype.c (get_output_file): Fix warning.
863 (main): Add prototype to suppress warning.
864 * tree.c: Remove tree_hash_mark prototype.
865
866 * tree.h (init_stmt): Delete prototype.
867 * toplev.c (lang_independent_init): Don't call init_stmt.
868 * stmt.c (ALLOC_NESTING): Use GGC for 'struct nesting'.
869 (stmt_obstack): Delete.
870 (POPSTACK): No need to free 'struct nesting'.
871 (gt_ggc_mr_nesting_cond): Use canonical names.
872 (gt_ggc_mr_nesting_loop): Use canonical names.
873 (gt_ggc_mr_nesting_block): Use canonical names.
874 (gt_ggc_mr_nesting_case_stmt): Use canonical names.
875 (mark_stmt_status): Delete.
876 (init_stmt): Delete.
877 (clear_last_expr): Clear both last_expr_type and last_expr_value.
878 Use it everywhere that last_expr_type was cleared.
879 * lists.c (init_EXPR_INSN_LIST_cache): Use ggc_add_deletable_root.
880 (zap_lists): Delete.
881 * ggc.h (ggc_add_deletable_root): Prototype.
882 (mark_stmt_status): Remove prototype.
883 * ggc-common.c (ggc_add_deletable_root): New.
884 (ggc_mark_roots): Handle deletable roots.
885 * function.c (ggc_mark_struct_function): Use canonical name
886 for mark_stmt_status.
887 * emit-rtl.c (free_sequence_stack): New.
888 (start_sequence): Use a freelist for sequences.
889 (end_sequence): Likewise.
890 (init_emit_once): Add free_sequence_stack as a deleteable root.
891 * c-pragma.c Include gt-c-pragma.h.
892 (struct align_stack): Use gengtype.
893 (push_alignment): Use GGC for struct align_stack.
894 (mark_align_stack): Delete.
895 (gt_ggc_mp_align_stack): New.
896 (init_pragma): Use canonical name for mark_align_stack.
897 * c-decl.c: Include gt-c-decl.h.
898 (struct binding_level): Use gengtype.
899 (make_binding_level): Use GGC; handle the freelist here.
900 (pop_binding_level): New.
901 (pushlevel): Move code into make_binding_level.
902 (push_label_level): Likewise.
903 (poplevel): Move code into pop_binding_level.
904 (pop_label_level): Likewise.
905 (mark_binding_level): Delete.
906 (gt_ggc_mp_binding_level): New.
907 (c_init_decl_processing): Use canonical name for mark_binding_level.
908 Add free_binding_level as deletable root.
909 (mark_c_function_context): Use canonical name for mark_binding_level.
910 * Makefile.in (c-decl.o): Add gt-c-decl.h.
911 (c-pragma.o): Add gt-c-pragma.h.
912 (GTFILES): Add c-decl.c and c-pragma.c.
913 (gt-c-decl.h, gt-c-pragma.h): Create using gengtype.
914
915 * tree.c (struct type_hash): Use gengtype.
916 (init_obstacks): Use canonical name for type_hash_mark.
917 (type_hash_mark): Delete.
918 Include gt-tree.h.
919 * rtl.h (struct mem_attrs): Use gengtype.
920 * optabs.h (struct optab): Use gengtype.
921 * optabs.c (expand_binop): Squish signed/unsigned warning.
922 (mark_optab): Make local, use canonical name, use autogenerated
923 marker procedure.
924 (init_optabs): Use canonical name for mark_optab.
925 (new_optab): Use GGC to allocate optabs.
926 * ggc.h: Delete mark_optab prototype.
927 * ggc-common.c (ggc_mark_rtx_children): Use canonical name for
928 mem_attrs marker procedure.
929 * gengtype.c (get_output_file): Include headers in gtype-desc.c
930 explicitly rather than deducing them from file names.
931 (write_gc_structure_fields): Handle arrays of structures.
932 (main): Return non-zero exit code if errors occur during output.
933 * emit-rtl.c (mem_attrs_mark): Delete.
934 (init_emit_once): Use canonical name for mem_attrs marker procedure.
935 * Makefile.in (gtype-desc.o): Explicitly name dependencies.
936 (tree.o): Depend on gt-tree.h.
937 (GTFILES): Add rtl.h, optabs.h, tree.c.
938 (gt-tree.h): Add it to s-gtype rule.
939
940 * .cvsignore: Ignore gengtype flex/bison generated files.
941 * Makefile.in (GGC_H): Add gtype-desc.h.
942 (OBJS): Add gtype-desc.o.
943 (GEN): Add gengtype.
944 (STAGESTUFF): Add gengtype.
945 (varasm.o): Add gt-varasm.h.
946 (stmt.o): Add gt-stmt.h.
947 (except.o): Add gt-except.h.
948 (integrate.o): Add gt-integrate.h.
949 (GTFILES): New.
950 Add new rules for new files.
951 * configure: Regenerate.
952 * configure.in: Correct defaults.h paths.
953 * emit-rtl.c (mark_sequence_stack): Delete.
954 (mark_emit_status): Delete.
955 (start_sequence): Allocate sequence structures using GGC.
956 (end_sequence): Allocate sequence structures using GGC.
957 * except.c: Use gengtype for various structures. Include
958 gt-except.h.
959 * expr.c (mark_expr_status): Delete.
960 * function.c: Use gengtype for various structures. Include
961 gt-function.h.
962 (mark_function_status): Use standard gt_ggc names for marker functions.
963 (ggc_mark_struct_function): Likewise.
964 * function.h: Use gengtype for various structures.
965 * gengtype-lex.l: New file.
966 * gengtype-yacc.y: New file.
967 * gengtype.c: New file.
968 * gengtype.h: New file.
969 * ggc.h: Include gtype-desc.h. Alias some marker procedures to
970 the standard names. Remove some now-unnecessary prototypes.
971 * integrate.c: Use gengtype for various structures. Include
972 gt-integrate.h.
973 (mark_hard_reg_initial_vals): Delete.
974 * integrate.h (mark_hard_reg_initial_vals): Delete.
975 * stmt.c: Use gengtype for various structures. Include
976 gt-stmt.h.
977 (mark_case_node): Delete.
978 (mark_goto_fixup): Delete.
979 (mark_stmt_status): Use standard gt_ggc names for marker functions.
980 * system.h: Define GTY to empty. In flex/bison files,
981 don't poison malloc or realloc, instead just define them to
982 xmalloc and xrealloc.
983 * varasm.c: Use gengtype for various structures. Include
984 gt-varasm.h. Use standard gt_ggc names for marker functions.
985 (mark_pool_constant): Delete.
986 (mark_varasm_status): Delete.
987 (decode_rtx_const): #if 0 out non-typesafe hack.
988
989 * function.h (free_lang_status): Mark as obsolete.
990 * function.c (free_lang_status): Mark as obsolete.
991 * c-decl.c (push_c_function_context): Use GC to allocate and free
992 struct language_function.
993 (pop_c_function_context): Likewise.
994 * c-common.c (mark_c_language_function): Mark struct
995 language_function.
996
997 * doc/tm.texi (Per-Function Data): Don't document free_machine_status.
998 Document that the machine_function structures must be allocated
999 using GC. Update mark_machine_status documentation.
1000 * function.h: Don't declare free_machine_status.
1001 * function.c (free_machine_status): Don't define.
1002 (free_after_compilation): Don't call free_machine_status.
1003 (ggc_mark_struct_function): Mark f->machine. Call
1004 mark_machine_status only on non-NULL pointers.
1005 * system.h: Poison free_machine_status.
1006 * config/xtensa/xtensa.c (xtensa_init_machine_status): Use GC on
1007 struct machine_function.
1008 (xtensa_free_machine_status): Delete.
1009 (override_options): Don't set free_machine_status.
1010 * config/rs6000/rs6000.c (rs6000_override_options): Don't set
1011 free_machine_status.
1012 (rs6000_init_machine_status): Use GC on struct machine_function.
1013 (rs6000_free_machine_status): Delete.
1014 * config/ia64/ia64.c (ia64_init_machine_status): Use GC on struct
1015 machine_function.
1016 (ia64_mark_machine_status): Likewise.
1017 (ia64_free_machine_status): Delete.
1018 (ia64_override_options): Don't set free_machine_status.
1019 * config/i386/i386.c (override_options): Don't set
1020 free_machine_status.
1021 (ix86_init_machine_status): Use GC on struct machine_function.
1022 (ix86_mark_machine_status): Likewise.
1023 (ix86_free_machine_status): Delete.
1024 * config/d30v/d30v.c: (d30v_init_machine_status): Use GC on struct
1025 machine_function.
1026 (d30v_mark_machine_status): Likewise.
1027 (d30v_free_machine_status): Delete.
1028 (d30v_init_expanders): Don't set free_machine_status.
1029 * config/arm/arm.c (arm_mark_machine_status): Use GC on struct
1030 machine_function.
1031 (arm_init_machine_status): Likewise.
1032 (arm_free_machine_status): Delete.
1033 (arm_init_expanders): Don't set free_machine_status.
1034 * config/alpha/alpha.c (override_options): Don't set
1035 free_machine_status.
1036 (alpha_init_machine_status): Use GC on struct machine_function.
1037 (alpha_mark_machine_status): Likewise.
1038 (alpha_free_machine_status): Delete.
1039
1040 * varasm.c (compare_constant): Fix typo.
1041
1042 * varasm.c: Don't include obstack.h.
1043 (struct varasm_status): x_const_rtx_hash_table is a hash of rtxes.
1044 (struct rtx_const): Give substructures names, improve formatting.
1045 (struct constant_descriptor): Delete.
1046 (struct constant_descriptor_tree): New, based on constant_descriptor.
1047 (const_hash_table): Is a hash table of trees.
1048 (mark_const_hash_entry): Is used for hashes of trees. Mark
1049 constant_descriptor_tree structure.
1050 (mark_const_str_htab_1): Mark deferred_string structure.
1051 (compare_constant): Rewrite to compare trees.
1052 (compare_constant_1): Delete.
1053 (record_constant): Delete.
1054 (record_constant_1): Delete.
1055 (output_constant_def): Use struct constant_descriptor_tree.
1056 Don't duplicate trees twice.
1057 (struct constant_descriptor_rtx): New.
1058 (struct pool_constant): Used for rtx constants.
1059 (init_varasm_status): Update for change to struct varasm_status.
1060 (mark_varasm_status): Likewise.
1061 (free_varasm_status): Delete.
1062 (compare_constant_rtx): Rewrite to handle constant_descriptor_rtx.
1063 (record_constant_rtx): Likewise.
1064 (mem_for_const_double): Update to use struct constant_descriptor_rtx.
1065 (force_const_mem): Likewise.
1066 * Makefile.in (varasm.o): Doesn't depend on obstack.h.
1067 * function.c (free_after_compilation): Don't use free_varasm_status.
1068 * function.h: Don't prototype free_varasm_status.
1069
1070 * ggc-common.c (ggc_realloc): Handle X being NULL.
1071
1072 * ggc-common.c (ggc_realloc): New function.
1073 * ggc.h: Prototype it.
1074 * emit-rtl.c (free_emit_status): Delete.
1075 (init_emit): Allocate emit subarrays using GC.
1076 (gen_reg_rtx): Reallocate subarrays using GC.
1077 (init_emit): Use GC to allocate 'struct emit_status' and its
1078 subarrays.
1079 (mark_emit_status): Mark structure and its subarrays.
1080 * stmt.c (free_stmt_status): Delete.
1081 * expr.c (free_expr_status): Delete.
1082 * function.h: Remove prototypes for deleted functions.
1083 * function.c (free_after_compilation): Don't use deleted functions.
1084 Don't call free() on x_parm_reg_stack_loc.
1085 (free_after_parsing): Don't use free_stmt_status.
1086 (assign_parms): Use GC to allocate and resize x_parm_reg_stack_loc.
1087 (mark_function_status): Mark x_parm_reg_stack_loc.
1088
1089 * varasm.c (init_varasm_status): Use GC to allocate
1090 'struct varasm_status' and its fields x_const_rtx_hash_table
1091 and x_const_rtx_sym_hash_table.
1092 (mark_varasm_status): Mark them.
1093 (free_varasm_status): Use GC to free them.
1094 * expr.c (init_expr): Use GC to allocate 'struct expr_status'.
1095 (mark_expr_status): Mark the structure itself.
1096 (free_expr_status): Use GC to free the structure.
1097 * stmt.c (free_stmt_status): Use GC to free 'struct stmt_status'.
1098 (mark_stmt_status): Mark the 'struct stmt_status' itself.
1099 (init_stmt_for_function): Allocate the structure for GC.
1100
1101 * dwarf2out.c (lookup_type_die): Use TYPE_SYMTAB_DIE.
1102 (equate_type_number_to_die): Likewise.
1103 * tree.h (TYPE_SYMTAB_DIE): New macro.
1104 (struct die_struct): Predeclare.
1105 (struct tree_type): Add field symtab.die. Add a tag
1106 to the union type of field symtab.
1107
1108 * varray.h (VARRAY_RTVEC_INIT): A varray of rtvec contains
1109 'struct rtvec_def *', not 'struct rtvec_def'.
1110
1111 * function.h (original_arg_vector): Make a real rtvec.
1112 * function.c (ggc_mark_struct_function): Adjust.
1113 * integrate.c (expand_inline_function): Adjust.
1114
dca09811 11152002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
1116
1117 * config.gcc (sh5-*-netbsd*, sh5l*-*-netbsd*)
1118 (sh64-*-netbsd*, sh64l*-*-netbsd*): New targets.
1119 * config/sh/netbsd-elf.h (TARGET_VERSION_ENDIAN)
1120 (TARGET_VERSION_CPU): Define according to the
1121 default target.
1122 (TARGET_VERSION): Use TARGET_VERSION_ENDIAN and
1123 TARGET_VERSION_CPU.
1124 (TARGET_OS_CPP_BUILTINS): Use NETBSD_OS_CPP_BUILTINS_LP64
1125 if TARGET_SHMEDIA64.
1126 (LINK_DEFAULT_CPU_EMUL): Define according to the
1127 default target.
1128 (SUBTARGET_LINK_EMUL_SUFFIX): Define.
1129 (SUBTARGET_LINK_SPEC): Define.
1130 (LINK_SPEC): Use SH_LINK_SPEC.
1131 (ASM_SPEC): Remove.
1132 (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
1133 (FUNCTION_PROFILER): Add cases for TARGET_SHMEDIA32
1134 and TARGET_SHMEDIA64 which abort, for now.
1135 * config/sh/t-netbsd-sh5: New file.
1136 * config/sh/t-netbsd-sh5-32: New file.
1137 * config/sh/t-netbsd-sh5-64: New file.
1138
f2cc13dc 11392002-06-03 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
1140 Richard Henderson <rth@redhat.com>
1141
1142 * config/alpha/alpha.c (reg_or_const_int_operand): New.
1143 (some_operand, input_operand): Accept CONST_VECTOR.
1144 (alpha_extra_constraint): Add 'W'.
1145 (alpha_expand_zap_mask): New.
1146 (alpha_expand_builtin_vector_binop): New.
1147 (enum alpha_builtin): New.
1148 (zero_arg_builtins, one_arg_builtins, two_arg_builtins): New.
1149 (alpha_init_builtins, alpha_expand_builtin): New.
1150 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): New.
1151 * config/alpha/alpha.h (VECTOR_MODE_SUPPORTED_P): New.
1152 (PREDICATE_CODES): Update.
1153 * config/alpha/alpha-protos.h: Update.
1154 * config/alpha/alpha.md (UNSPEC_CMPBGE, UNSPEC_ZAP,
1155 UNSPEC_AMASK, UNSPEC_IMPLVER, UNSPEC_PERR, UNSPECV_RPCC): New.
1156 (movv8qi, movv8qi_fix, movv8qi_nofix): New.
1157 (movv4hi, movv4hi_fix, movv4hi_nofix): New.
1158 (movv2si, movv2si_fix, movv2si_nofix): New.
1159 (uminv8qi3, sminv8qi3, uminv4hi3, sminv4hi3): New.
1160 (umaxv8qi3, smaxv8qi3, umaxv4hi3, smaxv4hi3): New.
1161 (builtin_cmpbge, builtin_extql, builtin_extqh, builtin_zap,
1162 builtin_zap_1, builtin_zapnot, builtin_zapnot_1, builtin_amask,
1163 builtin_implver, builtin_rpcc, builtin_minub8, builtin_minsb8,
1164 builtin_minuw4, builtin_minsw4, builtin_maxub8, builtin_maxsb8,
1165 builtin_maxuw4, builtin_maxsw4, builtin_perr, builtin_pklb,
1166 pklb, builtin_pkwb, pkwb, builtin_unpkbl, unpkbl,
1167 builtin_unpkbw, unpkbw): New.
1168 * doc/extend.texi (Alpha Built-in Functions): New.
1169
fabbeb08 11702002-06-03 Richard Henderson <rth@redhat.com>
1171
1172 * crtstuff.c (__EH_FRAME_BEGIN__): Conditionalize on
1173 USE_EH_FRAME_REGISTRY, not EH_FRAME_SECTION_NAME.
1174
5ce11454 11752002-06-03 Richard Henderson <rth@redhat.com>
1176
a04268b2 1177 * config/alpha/alpha-protos.h: Eliminate unneeded ifdefs.
1178
5ce11454 1179 * config/alpha/alpha.c (reg_or_0_operand): Use CONST0_RTX.
1180 (const0_operand): New.
1181 (reg_or_fp0_operand, fp0_operand): Remove.
1182 * config/alpha/alpha.h (PREDICATE_CODES): Update.
1183 * config/alpha/alpha-protos.h: Update.
1184 * config/alpha/alpha.md: Replace all uses of reg_or_fp0_operand
1185 and fp0_operand with reg_or_0_operand and const0_operand.
1186
906923ba 11872002-06-03 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
1188
1189 * alias.c (nonoverlapping_memrefs_p): Fix off by one error.
1190
6237f2b2 11912002-06-03 Roger Sayle <roger@eyesopen.com>
1192
1193 * gcse.c (cprop_jump): Use single_set to get the pattern
1194 from the setcc argument.
1195
5397e5a3 11962002-06-03 Gabriel Dos Reis <gdr@codesourcery.com>
1197
1198 * diagnostic.h (diagnostic_count): Move from output_buffer to
1199 diagnostic_context.
1200 (diagnostic_kind_count): Adjust definition.
1201
0c2263a7 1202Mon Jun 3 19:11:53 CEST 2002 Jan Hubicka <jh@suse.cz>
1203
1204 * except.c (except.c): Do not rebuild CFG.
1205 * toplev.c (rest_of_compilation): Recompute CFG after sibcall
1206 optimization.
1207
29cc5ce8 1208Mon Jun 3 11:53:01 CEST 2002 Jan Hubicka <jh@suse.cz>
1209
1210 * integrate.c (copy_insn_list): Properly pace the INSN_SCOPE copies.
1211 * toplev.c: Include cfglahout.h
1212 * Makefile.in (toplev.c): Add dependnecy.
1213
7dbd6483 12142002-06-03 Neil Booth <neil@daikokuya.demon.co.uk>
1215
1216 * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): New.
1217 (CPP_CPU32_SPEC, CPP_CPU64_SPEC): Kill.
1218 (CPP_CPUCOMMON_SPEC): Rename CPP_CPU_SPEC.
1219
5c10d801 12202002-06-03 Jason Thorpe <thorpej@wasabisystems.com>
1221
1222 * config/ns32k/netbsd.h: Update copyright years.
1223 (TARGET_OS_CPP_BUILTINS): Define.
1224 (CPP_PREDEFINES): Remove.
1225 * config/ns32k/ns32k.h (CPP_PREDEFINES): Remove.
1226 (TARGET_CPU_CPP_BUILTINS): Define.
1227
ff385626 12282002-06-02 Kazu Hirata <kazu@cs.umass.edu>
1229
3cfec666 1230 * emit-rtl.c: Fix formatting.
ff385626 1231 * errors.h: Likewise.
1232 * except.c: Likewise.
1233 * explow.c: Likewise.
1234 * expmed.c: Likewise.
1235 * expr.c: Likewise.
1236 * expr.h: Likewise.
1237
7b426127 12382002-06-02 Kazu Hirata <kazu@cs.umass.edu>
1239
1240 * config/h8300/elf.h: Fix formatting.
1241 * config/h8300/rtems.h: Likewise.
1242
cf362c21 12432002-06-03 Jason Thorpe <thorpej@wasabisystems.com>
1244
1245 * config/rs6000/netbsd.h (DRAFT_V4_STRUCT_RET): Remove.
1246
451d3894 12472002-06-02 Tom Tromey <tromey@redhat.com>
1248
1249 * fixinc/fixincl.x: Rebuilt.
1250 * fixinc/inclhack.def (thread_keyword): Match `*__thread'.
1251
756d0f7c 12522002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
1253
1254config/i370:
1255 * i370.h (TARGET_CPU_CPP_BUILTINS): Use.
1256 * linux.h: Use TARGET_OS_CPP_BUILTINS rather than CPP_PREDEFINES.
1257 * mvs.h: Similarly.
1258 * oe.h: Similarly.
1259
7021895a 1260Mon Jun 3 00:18:20 CEST 2002 Jan Hubicka <jh@suse.cz>
1261
1262 * final.c (final): Allow notes to not have computed addresses;
1263 kill no longer needed STACK_REGS ifdef.
1264
1247b8fd 12652002-06-02 Richard Henderson <rth@redhat.com>
1266
1267 * gcse.c (bypass_conditional_jumps): Fix typo last change.
1268
ab87d1bc 1269Sun Jun 2 23:02:11 CEST 2002 Jan Hubicka <jh@suse.cz>
1270
1247b8fd 1271 * loop.c (emit_prefetch_instructions): Properly place the address
1272 computation.
ab87d1bc 1273
1274Sun Jun 2 22:56:48 CEST 2002 Jan Hubicka <jh@suse.cz>
1275
1276 * basic-block.h (basic_block_for_insn, BLOCK_FOR_INSN): Kill.
1277 (set_block_for_insn): Turn into macro.
1278 * cfgbuild.c (find_basic_block): Do not clear basic_block_for_insn.
1279 * cfglayout.c (insn_scopes): Kill.
1280 (scope_to_insns_initialize): Do not use insn_scopes.
1281 (scope_to_insns_finalize): Likewise.
1282 (duplicate_insn_chain): Likewise.
1283 (cfg_layout_initialize, cfg_layout_finalize): Do not turn scopes to notes.
1284 * cfgrtl.c (basic_block_for_insn): Kill.
1285 (delete_insn_and_edges, delete_insn_chain_and_edges): Simplify.
1286 (create_basic_block_structure): Use reorder_insns.
1287 (compute_bb_for_insn): Do not use basic_block_for_insn.
1288 (merge_blocks_nomove): Likewise.
1289 (update_bb_for_insn): Likewise.
1290 (verify_flow_info): Likewise.
1291 (set_block_for_insn): Kill.
1292 * combine.c (try_combine): Update gen_rtx_INSN call.
1293 * emit-rtl.c (gen_label_rtx): Update gen_rtx_CODE_LABEL call.
1294 (mark_insn_raw, make_jump_insn_raw, make_call_insn_raw): Clear
1295 scopes and BBs.
1296 (add_insn_after, add_insn_before, remove_insn, reorder_insns): Simplify.
1297 (emit_note_before, emit_note_after, emit_line_note_after, emit_note):
1298 Clear BB.
1299 (emit_insns_after): Simplify.
1300 (emit_copy_of_insn_after): Copy scope.
1301 * final.c (final_start_function): Lower scopes.
1302 * flow.c (check_function_return_warnings): Do not rely on deleted insn.
1303 * integrate.c (copy_insn_list): Cope scopes.
1304 * jump.c (duplicate_loop_exit_test): LIkewise; simplify.
1305 * loop.c (loop_optimize): Do not care block notes.
1306 * print-rtl.c (print_rtx): Print BB.
1307 * recog.c (apply_change_group): Simplify.
1308 * rtl.c (copy_rtx): Handle 'B'.
1309 * rtl.def (INSN, CALL_INSN, JUMP_INSN, NOTE): Add extra fields.
1310 * rtl.h (Field accessors): Update indexes.
1311 * sched-ebb.c (schedule_ebbs): Do not lower notes.
1312 * sched-rgn.c (schedule_insns): Likewise.
1313 * toplev.c (rest_of_compilation): Lower notes.
1314 * unroll.c (unroll_loop): Do not care scoping notes.
1315 (copy_loop_body): Copy scopes.
1316
b2e455f8 13172002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
1318
1319config/h8300:
1320 * elf.h: Use TARGET_OS_CPP_BUILTINS rather than
1321 SUBTARGET_SPEC.
1322 * rtems.h: Similarly.
1323 * h8300.h (CPP_PREDEFINES, CPP_SPEC, SUBTARGET_CPP_SPEC,
1324 EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): Remove.
1325 (TARGET_CPU_CPP_BUILTINS): Use.
1326
4f8e9d5c 13272002-06-02 Richard Henderson <rth@redhat.com>
1328
1329 * alias.c: Include target.h.
1330 (mark_constant_function): Use targetm.binds_local_p instead
1331 of checking TREE_PUBLIC ourselves.
1332 * Makefile.in (alias.o): Add TARGET_H.
1333
3eb82013 13342002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
1335
1336 * c-lex.c: Update copyright and file description.
1337
08a444cb 13382002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
1339
1340 * config/fr30/fr30.h: Update to new CPP macros.
1341
1396ec95 13422002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
1343
1344 * config/dsp16xx/dsp16xx.h: Update to new CPP macros.
1345
f5ec8cb5 13462002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
cb8d9c43 1347 Zack Weinberg <zack@codesourcery.com>
f5ec8cb5 1348
1349 * c-common.c (c_common_init): Override cpplib's default
1350 warn_long_long setting.
1351 * c-lex.c (lex_number): Replace with interpret_integer,
1352 interpret_float, narrowest_unsigned_type and
1353 narrowest_signed_type, taking advantage of the new
1354 cpplib functionality.
1355 * cpperror.c (_cpp_begin_message): If a warning is turned
1356 into an error, avoid printing "warning:".
1357 * cppexp.c (cpp_num_sign_extend): New.
1358 * cppinit.c: Update comment.
1359 * cpplib.h (cpp_num_sign_extend): New.
1360 * tree.h: Update comment.
1361
c003992a 13622002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
1363
1364 * diagnostic.h (struct diagnostic_context): Add new member
1365 internal_error.
1366 (internal_error_function): Remove declaration.
1367 * diagnostic.c (internal_error_function): Remove definition..
1368 (internal_error): Adjust use.
1369
40f7ee9a 13702002-06-02 Richard Henderson <rth@redhat.com>
1371
1372 * rtl.h (CC0_P): New.
1373 * gcse.c (cprop_jump): Use it with single_set. Tweak dump text.
1374 (cprop_insn): Allow any mode register; use CC0_P. CSE out single_set.
1375 (bypass_block): Save old dest block for dump text.
1376 (bypass_conditional_jumps): Allow any mode register; use CC0_P.
1377 Allow only true SET insns, not single_set.
1378
a7d2041b 13792002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
1380
1381 * diagnostic.c (diagnostic_finish): Rename to output_flush.
1382 (clear_disgnostic_info): Rename to output_clear_data. Use false
1383 instead of 0 for boolean value.
1384 Adjust function call throughout.
1385
f1593de0 1386Sun Jun 2 19:15:27 CEST 2002 Jan Hubicka <jh@suse.cz>
1387
1388 * cfgrtl.c (commit_one_edge_insertion): Fix warning.
1389 * gcse.c (bypass_conditional_jumps): CSE out single_set call.
1390
99cb7610 13912002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
1392
1393 * d30v.h (CPP_PREDEFINES): Replace with
1394 (TARGET_CPU_CPP_BUILTINS): New.
1395
7440354e 13962002-06-02 Roger Sayle <roger@eyesopen.com>
1397
1398 * config/alpha/alpha.h [ASM_OUTPUT_LABELREF]: Fix typo.
1399
780dbbe4 1400Sun Jun 2 12:11:52 CEST 2002 Jan Hubicka <jh@suse.cz>
1401
1402 * gcse.c (bypass_conditional_jumps): Use single set to obtain set.
1403
413b705c 14042002-06-02 Richard Henderson <rth@redhat.com>
1405
1406 * rtlanal.c (volatile_refs_p): Not automatically true for CALL.
1407
9aa7484c 14082002-06-02 Marek Michalkiewicz <marekm@amelek.gda.pl>
1409
1410 Support for C++ constructors/destructors.
1411 * config/avr/avr.c (avr_output_function_epilogue): Jump to exit()
1412 instead of looping if main() returns.
1413 (asm_file_start): Output global symbols that cause .data and .bss
1414 initialization code to be linked in, unconditionally for now.
1415 (avr_asm_out_ctor, avr_asm_out_dtor): New functions.
1416 * config/avr/avr.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): New.
1417 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
1418 (LIBSTDCXX): New.
1419 * config/avr/libgcc.S (_exit): Split in .fini9 and .fini0 sections.
1420 (__tablejump__): New.
1421 (__do_copy_data, __do_clear_bss): New.
1422 (__do_global_ctors, __do_global_dtors): New.
1423 * config/avr/t-avr (LIB1ASMFUNCS): Add _copy_data, _clear_bss,
1424 _ctors, _dtors.
1425
8aba4286 14262002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
1427
1428 * c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): New.
1429 (CPP_SPEC, CPP_PREDEFINES): Kill.
1430 * c4x/rtems.h (CPP_PREDEFINES): Kill.
1431 (TARGET_OS_CPP_BUILTINS): New.
1432
fa99ab3d 1433Sat Jun 1 23:29:51 CEST 2002 Jan Hubicka <jh@suse.cz>
1434
1435 * Makefile.in (tracer.o): New.
1436 * params.def (TRACER_*): New options.
1437 * rtl.h (tracer): Declare.
1438 * timevar.def (TV_TRACER): New.
1439 * toplev.c (dump_file_index): Add DFI_tracer.
1440 (dump_file_info): Add tracer.
1441 (flag_tracer): New.
1442 (lang_indepdenent_options): Add tracer.
1443 (rest_of_compilation): Call tracer.
1444 * tracer.c: New file.
1445 * invoke.texi (-ftracer): Document.
1446 (--param tracer-*): Document.
1447
8d0b5876 14482002-06-01 Daniel Berlin <dberlin@dberlin.org>
1449
1450 * tree-inline.c (expand_call_inline): Make the statement
1451 expression we generate have a COMPOUND_STMT.
1452
23e5207c 14532002-06-01 Roger Sayle <roger@eyesopen.com>
1454
1455 * gcse.c (cprop_cc0_jump): Function deleted.
1456 (cprop_jump): Take an additional argument which is the possibly
1457 NULL cc setting insn immediately before the conditional jump.
1458 When a MODE_CC set is present, substitute it into the JUMP_INSN
1459 before attempting the constant propagation.
1460 (cprop_insn): Recognize cc setters followed by conditional jumps
1461 as a special case. Use cprop_jump instead of cprop_cc0_jump.
1462 (cprop_one_pass): Call bypass_conditional_jumps if altering jumps.
1463 (find_bypass_set): New function based upon find_avail_set used by
1464 cprop, but finds constant expressions available at the end of
1465 basic blocks.
1466 (bypass_block): New function. Given a basic block that begins
1467 with a conditional jump and multiple incoming edges, perform
1468 the jump bypass optimization.
1469 (bypass_conditional_jumps): New function. Call bypass_block with
1470 each suitable basic block in the CFG using a simple single pass.
1471
19fe5401 14722002-06-01 Roger Sayle <roger@eyesopen.com>
1473
1474 * tree.c (real_minus_onep): New function to test for -1.0.
1475 * fold-const.c (fold) [MULT_EXPR]: Optimize -1.0*x into -x.
1476
0425437e 14772002-06-01 Roger Sayle <roger@eyesopen.com>
1478
1479 * fold-const.c (fold_truthop): Transform "a || b" into "(a|b) != 0"
1480 and "!p && !q" into "(p|q) == 0" under suitable conditions.
1481
3a83429d 14822002-06-01 Andreas Jaeger <aj@suse.de>
1483
1484 * cppexp.c (cpp_classify_number): Cast precission to int for
1485 correct printf format.
1486
c5450332 14872002-06-01 Marek Michalkiewicz <marekm@amelek.gda.pl>
1488
1489 * config/avr/avr.c (avr_mcu_types): Remove devices that were once
1490 expected, but don't really exist: atmega83, atmega85, attiny10.
1491 * config/avr/avr.h (LINK_SPEC): Update to use the new avr[1-5] ld
1492 emulations for all devices.
1493 (CRT_BINUTILS_SPECS): Remove atmega83, atmega85, attiny10.
1494 * config/avr/t-avr (MULTILIB_MATCHES): Remove atmega83, atmega85.
1495
6b30b2e6 14962002-06-01 Kazu Hirata <kazu@cs.umass.edu>
1497
1498 * config/h8300/h8300-protos.h: Add a prototype for
1499 h8300_shift_needs_scratch_p.
1500 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): New.
1501 * config/h8300/h8300.h (OK_FOR_R): New.
1502 (OK_FOR_S): Likewise.
1503 (OK_FOR_T): Likewise.
1504 (EXTRA_CONSTRAINT): Call OK_FOR_R, OK_FOR_S, and OK_FOR_T.
1505 * config/h8300/h8300.md (anonymous shift patterns): Use
1506 constraints R, S, and T.
1507
7fb12188 1508Sat Jun 1 11:23:22 CEST 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1509
1510 * basic-block.h (struct basic_block_def): New field loop_father.
1511 (BB_VISITED): New flag.
1512 (struct loop): New field pred, removed field shared.
1513 (struct loops): New field parray.
1514 (LOOP_EXITS_DOMS): Removed.
1515 (flow_loop_tree_node_add, flow_loop_tree_node_remove,
1516 flow_loop_nested_p, flow_bb_inside_loop_p, get_loop_body,
1517 dfs_enumerate_from, loop_preheader_edge, loop_latch_edge,
1518 add_bb_to_loop, remove_bb_from_loops, find_common_loop,
1519 verify_loop_structure): Declare.
1520 * cfg.c (entry_exit_blocks): Initialize loop_father field.
1521 * cfganal.c (dfs_enumerate_from): New function.
1522 * cfgloop.c (HEAVY_EDGE_RATIO): New constant.
1523 (flow_loop_entry_edges_find, flow_loop_exit_edges_find,
1524 flow_loop_nodes_find, flow_loop_level_compute, flow_loop_nested_p,
1525 flow_loop_dump, flow_loops_dump, flow_loops_free,
1526 flow_loop_tree_node_add, flow_loop_level_compute,
1527 flow_loops_level_compute, flow_loop_scan, flow_loops_update,
1528 flow_loop_outside_edge_p): Modified for new infrastructure.
1529 (make_forwarder_block, canonicalize_loop_headers, glb_enum_p,
1530 redirect_edge_with_latch_update, flow_loop_free): New static functions.
1531 (flow_loop_tree_node_remove, flow_bb_inside_loop_p,
1532 get_loop_body, add_bb_to_loop, remove_bb_from_loops,
1533 find_common_loop, verify_loop_structure, loop_latch_edge,
1534 loop_preheader_edge): New functions.
1535 (flow_loops_cfg_dump): Do not show dominators, as this information
1536 does not remain up to date long.
1537 (flow_loops_find): Store results in new format.
1538 * predict.c (propagate_freq, estimate_probability,
1539 estimate_loops_at_level, estimate_bb_frequencies): Use new loop
1540 infrastructure.
1541
cf18e6ff 15422002-06-01 Alan Lehotsky <apl@alum.mit.edu>
3a83429d 1543
cf18e6ff 1544 * except.c (nothrow_function_p): Walk epilogue delay list
1545 checking the insn, not the chain for potential throws.
3a83429d 1546
caa6c567 15472002-05-31 Zack Weinberg <zack@codesourcery.com>
1548
1549 * Makefile.in (INSTALL_CPP, UNINSTALL_CPP): Remove.
1550 (install): Refer to install-cpp directly.
1551 (uninstall-cpp): Folded into uninstall rule.
1552 * configure.in: Delete all code relating to --disable-cpp.
1553 * configure: Regenerate.
1554 * config/t-install-cpp: Delete.
1555
5f7b9df8 15562002-05-31 Richard Henderson <rth@redhat.com>
1557
1558 * configure.in (HAVE_AS_TLS): Add alpha tests.
1559 * configure: Rebuild.
1560 * config/alpha/alpha.c (TARGET_AS_TLS): New.
1561 (alpha_tls_size, alpha_tls_size_string): New.
1562 (overide_options): Set it. Always install machine_status hooks.
1563 (input_operand): Accept got tls predicates.
1564 (local_symbol_p): Merge into ...
1565 (local_symbolic_operand): ... here. Reject tls symbols.
1566 (global_symbolic_operand): Likewise.
1567 (tls_symbolic_operand_1, dtp16_symbolic_operand): New.
1568 (dtp32_symbolic_operand, gotdtp_symbolic_operand): New.
1569 (tp16_symbolic_operand, tp32_symbolic_operand): New.
1570 (gottp_symbolic_operand, tls_symbolic_operand_type): New.
1571 (alpha_encode_section_info): Handle TLS symbols.
1572 (alpha_strip_name_encoding): Likewise.
1573 (alpha_legitimate_address_p): Likewise.
1574 (alpha_legitimize_address): Likewise.
1575 (alpha_expand_mov): Early exit to avoid nop moves.
1576 (struct machine_function): Move from unicosmk.h. Add some_ld_name.
1577 (alpha_init_machine_status, alpha_mark_machine_status,
1578 alpha_free_machine_status): Always define.
1579 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
1580 (print_operand, print_operand_address): Add TLS relocs.
1581 * config/alpha/alpha.h (HAVE_AS_TLS): Default 0.
1582 (MASK_TLS_KERNEL, TARGET_TLS_KERNEL): New.
1583 (TARGET_SWITCHES): Add -mtls-kernel.
1584 (alpha_tls_size, alpha_tls_size_string): New.
1585 (TARGET_OPTIONS): Add -mtls-size=.
1586 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
1587 REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Add R0_REG.
1588 (ASM_OUTPUT_LABELREF): Skip %.
1589 (PRINT_OPERAND_PUNCT_VALID_P): Add &.
1590 (PREDICATE_CODES): Update.
1591 * config/alpha/alpha.md (UNSPEC_TLSGD_CALL, UNSPEC_TLSLDM_CALL,
1592 UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_DTPREL, UNSPEC_TPREL,
1593 UNSPEC_TP, UNSPECV_SET_TP): New.
1594 (adddi_er_lo16_dtp, adddi_er_hi32_dtp, adddi_er_lo32_dtp,
1595 adddi_er_lo16_tp, adddi_er_hi32_tp, adddi_er_lo32_tp, load_tp,
1596 set_tp, movdi_er_tlsgd, movdi_er_tlsldm, movdi_er_gotdtp,
1597 movdi_er_gottp, call_value_osf_tlsgd, call_value_osf_tlsldm): New.
1598 (call_value_osf_2_er): Accept anything as op4.
1599 * config/alpha/alpha-protos.h: Update.
1600 * config/alpha/unicosmk.h (struct machine_function): Move to alpha.c.
1601
3bef1ae8 16022002-05-31 Zack Weinberg <zack@codesourcery.com>
1603
1604 * cppinit.c (append_include_chain): Always pay attention to
1605 cxx_aware when setting new->sysp. Remove ATTRIBUTE_UNUSED
1606 marker on argument.
1607
6c34d0c2 16082002-05-31 Kazu Hirata <kazu@cs.umass.edu>
1609
1610 * target.h: Fix formatting.
1611 * timevar.h: Likewise.
1612 * tlink.c: Likewise.
1613 * toplev.c: Likewise.
1614 * toplev.h: Likewise.
1615 * tree.c: Likewise.
1616 * tree-dump.h: Likewise.
1617 * tree.h: Likewise.
1618 * tree-inline.h: Likewise.
1619 * unroll.c: Likewise.
1620 * unwind-dw2.c: Likewise.
1621 * unwind-dw2-fde.c: Likewise.
1622 * unwind-dw2-fde-glibc.c: Likewise.
1623 * unwind-dw2-fde.h: Likewise.
1624 * unwind.h: Likewise.
1625 * unwind-sjlj.c: Likewise.
1626 * varasm.c: Likewise.
1627 * varray.h: Likewise.
1628 * vmsdbg.h: Likewise.
1629 * vmsdbgout.c: Likewise.
1630 * xcoffout.h: Likewise.
1631
ff11430a 16322002-05-31 Igor Shevlyakov <igor@microunity.com>
1633
caa6c567 1634 * expr.c (compare_from_rtx): Generate comparison between op0 and op1
ff11430a 1635 rather than cc0 and 0 in a case when HAVE_cc0 is not defined.
1636
4702fc25 16372002-05-31 Matthew Woodcraft <mattheww@chiark.greenend.org.uk>
1638
1639 * gcc.c (cpp_unique_options): Remove "-d" options.
1640 (cpp_debug_options): New spec string.
1641 (default_compilers): Use it.
1642 * objc/lang-specs.h: Likewise.
1643
1d087a87 16442002-05-31 Nathanael Nerode <neroden@twcny.rr.com>
1645
caa6c567 1646 * gcc/Makefile.in: Replace HOST_PREFIX, HOST_PREFIX_1 with
1d087a87 1647 BUILD_PREFIX, BUILD_PREFIX_1, to correct nomenclature.
1648 * gcc/mklibgcc.in: Likewise.
1649 * gcc/config/arc/t-arc: Likewise.
1650 * gcc/configure.in: Likewise.
1651 * gcc/configure: Regenerate.
1652
f2663f8d 16532002-05-31 Stan Shebs <shebs@apple.com>
1654 Turly O'Connor <turly@apple.com>
1655
1656 * c-decl.c (struct binding_level): Change int field n_incomplete
1657 to tree list incomplete_list.
1658 (clear_binding_level): Init field with NULL.
1659 (pushdecl): Add incomplete type to list.
1660 (mark_binding_level): Mark the incomplete list.
1661 (finish_struct): Scan the incomplete list for types instead
1662 of all decls in the current binding level.
1663
100797c8 16642002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
1665
1666 * pa.c (output_millicode_call): Add missing '%' characters.
1667 (output_call): Likewise.
1668
ce7e2f0c 16692002-05-31 David Edelsohn <edelsohn@gnu.org>
1670
1671 * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Define.
1672 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
1673
478e3127 16742002-05-31 Alan Lehotsky <apl@alum.mit.edu>
3a83429d 1675
478e3127 1676 * varasm.c (mark_constant_pool): Walk epilogue delay list
1677 checking the insn, not the chain for potential constants.
caa6c567 1678
75c8f94e 1679Fri May 31 12:38:43 2002 J"orn Rennecke <joern.rennecke@superh.com>
1680
1681 * config/sh/elf.h (ASM_SPEC): Use subtarget_endian_asm_spec.
1682
33f90206 1683Fri May 31 13:50:19 CEST 2002 Jan Hubicka <jh@suse.cz>
1684
1685 * i386.c (classify_argument): Properly handle base types.
1686
1687 * dwarf2out.c (expand_builin_init_dwarf_reg_sizes):
1688 Store first DWARF_FRAME_REGISTERS dwarf registers, not pseudo
1689 registers.
1690
51f6e244 1691Fri May 31 13:37:54 CEST 2002 Jan Hubicka <jh@suse.cz>
1692
1693 * gcse.c (gcse_emit_move_after): New.
1694 (pre_delete, hoist_store): Use it.
1695
1696 * reload1.c (emit_input_reload_insns): Use constrain_operands
1697 instead of constraint_accepts_reg_p to verify optimization.
1698 (constraint_accepts_reg_p): Kill
1699
1700 * reload1.c (reload_cse_delete_noop_set): Kill.
1701 (reload_cse_simplify): use delte_insn_and_edges.
1702
1bc9f141 17032002-05-31 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1704
1705 * cfgloop.c (flow_loops_find): Initialize first and last fields
1706 correctly.
1707
8ca22b26 17082002-05-31 Neil Booth <neil@daikokuya.demon.co.uk>
1709
1710 * c-common.c (builtin_define_std): Correct logic.
1711
356267e0 17122002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
1713
1714 * pa.c (output_millicode_call): Correct "be,l" insn for TARGET_PA_20.
1715 (output_call): Likewise.
1716
9d2d8bd6 17172002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
1718
1719 * pa.c: Move output.h include after tree.h include.
1720 (pa_asm_output_mi_thunk): Constify identifier lab.
1721
9befa5f1 17222002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
1723
1724 * config/ns32k/ns32k.h: Define named constants for the
1725 bits in target_flags and use them.
1726 * config/ns32k/netbsd.h (TARGET_DEFAULT): Use named constants.
1727
b3b62da8 17282002-05-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
1729
1730 * config.gcc (tm_file): Prefix pa/pa-700.h to tm_file list for PA1.0
1731 architecture and pa/pa-7100.h for PA1.1 architecture, respectively.
1732 * pa/pa.c (override_options): Use TARGET_SCHED_DEFAULT to select
1733 default scheduling model.
1734 * pa/pa.h (TARGET_SCHED_DEFAULT): Define if not defined to "8000".
1735 * pa/pa-700.h (TARGET_SCHED_DEFAULT): New file for "700" scheduling.
1736 * pa/pa-7100.h (TARGET_SCHED_DEFAULT): New file for "7100" scheduling.
1737 * doc/install.texi (hppa*-*-*): Document default scheduling.
1738
ed1b0769 17392002-05-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
1740
1741 * pa.c (following_call): Check TARGET_JUMP_IN_DELAY.
1742
5f16a202 17432002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
1744
1745 * config.gcc (ns32k-*-netbsd*): Set tm_file to
1746 "${tm_file} netbsd.h netbsd-aout.h ns32k/netbsd.h"
1747 * config/ns32k/netbsd.h: Don't include ns32k/ns32k.h,
1748 netbsd.h, or netbsd-aout.h.
1749
f149ef60 17502002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
1751
1752 * longlong.h (count_trailing_zeros): Add missing \, and clean up
1753 whitespace in __ns32000__ case.
1754
a43fa0dd 17552002-05-31 Aldy Hernandez <aldyh@redhat.com>
1756
caa6c567 1757 * expr.c (expand_expr): Output partially zeroed out vectors with
1758 output_constant_def.
a43fa0dd 1759
4ee34c70 17602002-05-30 Jason Thorpe <thorpej@wasabisystems.com>
1761
1762 * config.gcc (sh[123456789l]*-*-*): Set cpu_type to sh.
1763 (sh-*-netbsdelf*)
1764 (shl*-*-netbsdelf*): New targets.
1765 * config/sh/netbsd-elf.h: New file.
51349668 1766 * config/sh/t-netbsd: New file.
4ee34c70 1767
5bbf85e7 17682002-05-30 Richard Henderson <rth@redhat.com>
1769 Eric Botcazou <ebotcazou@multimania.com>
1770
1771 PR optimization/6822
1772 * config/i386/i386.c (ix86_expand_int_movcc): Don't cast INTVAL
1773 to unsigned int for op1 comparisons. Use gen_int_mode.
1774
9ae13cc6 17752002-05-30 Eric Botcazou <ebotcazou@multimania.com>
1776
1777 * expmed.c (const_mult_add_overflow_p): New.
1778 * expr.h: Declare it.
1779 * loop.c (maybe_eliminate_biv_1) [COMPARE]: Use it.
1780 Don't eliminate the biv if the giv has a constant multiplier and
1781 the rhs argument of the comparison does satisfy the predicate.
1782 Use expand_mult_add to compute the replacement constant.
1783
cb59f969 17842002-05-30 Osku Salerma <osku@iki.fi>
1785
1786 * c-common.c (c_common_attribute_table): Add "may_alias" entry.
1787 (c_common_get_alias_set): Handle it.
1788 * doc/extend.texi: Document it.
1789
8c615611 17902002-05-30 Richard Henderson <rth@redhat.com>
1791
1792 * defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill.
1793 * toplev.c (process_options): Don't check it.
1794 * doc/tm.texi: Don't document it.
1795 * config/i386/linux.h (SUBTARGET_FRAME_POINTER_REQUIRED): New.
1796 (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill.
1797 * config/i386/i386.c (ix86_frame_pointer_required): Suppress leaf
1798 frame pointer optimization if current_function_profile.
1799
8851e806 18002002-05-30 Kazu Hirata <kazu@cs.umass.edu>
1801
1802 * langhooks.c: Fix formatting.
1803 * langhooks.h: Likewise.
1804 * lcm.c: Likewise.
1805 * libgcc2.c: Likewise.
1806 * lists.c: Likewise.
1807 * local-alloc.c: Likewise.
1808 * loop.c: Likewise.
1809 * loop.h: Likewise.
1810
18112002-05-30 Marc Espie <espie@openbsd.org>
1812
1813 * config.gcc (sparc64-*-openbsd*): New.
1814 * config/sparc/openbsd1-64.h: New.
1815 * config/sparc/openbsd64.h: New.
61f2f0de 1816
c82ce26c 18172002-05-30 Jeff Law <law@redhat.com>
1818
1819 * flow.c (propagate_one_insn): Revise yesterday's patch. Delete
1820 a dead insn with a REG_RETVAL note when the entire libcall is not
1821 dead and remove the associated REG_LIBCALL note at the same time.
1822
742ee135 1823Thu May 30 19:54:30 2002 J"orn Rennecke <joern.rennecke@superh.com>
1824
1825 * lcm.c (output.h): #include.
1826 (compute_earliest): Remove hack to treat renumbered EXIT_BLOCK
1827 as an ordinary block.
1828 (optimize_mode_switching): Don't pretend that the exit block is
1829 an ordinary block, or handle sucessors of entry block specially.
1830 Instead, split edges from entry block and to exit block, and
1831 put a computing definition on the thus gained post-entry-block,
1832 and a need on the pre-exit-block.
1833
c100ae55 1834Thu May 30 20:28:01 CEST 2002 Jan Hubicka <jh@suse.cz>
1835
1836 * gengenrtl.c (type_from_format, accessor_from_format): Support 'B'.
1837 * rtl.texi: Document 'B'
1838
f20145a2 18392002-05-30 Jason Thorpe <thorpej@wasabisystems.com>
1840
1841 * config/m68k/netbsd-elf.h (LONG_DOUBLE_TYPE_SIZE): Compute
1842 at run-time.
1843 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 96 if not __mc68010__.
1844
0b70ff0f 18452002-05-30 Aldy Hernandez <aldyh@redhat.com>
1846
caa6c567 1847 * config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return
1848 const0_rtx instead of NULL_RTX when in error.
1849 (altivec_expand_abs_builtin): Same.
1850 (rs6000_expand_binop_builtin): Same.
1851 (altivec_expand_predicate_builtin): Same.
1852 (altivec_expand_stv_builtin): Same.
1853 (rs6000_expand_ternop_builtin): Same.
1854 (altivec_expand_builtin): Same.
0b70ff0f 1855
c8905a57 18562002-05-29 David S. Miller <davem@redhat.com>
1857
1858 * rtl.h (clear_emit_caches): Delete.
1859 * integrate.c (output_inline_function): Don't call it.
1860 * emit-rtl.c (restore_emit_status, init_emit): Likewise.
1861 (clear_emit_caches): Delete definition.
1862 (SEQUENCE_RESULT_SIZE, sequence_result, free_insn): Likewise.
1863
b744252f 18642002-05-30 Hans-Peter Nilsson <hp@bitrange.com>
1865
1866 * config/mmix/mmix.c: Include real.h.
1867 (mmix_constant_address_p): Remove redundant test before switch.
1868
f275e6d9 18692002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
1870
1871 * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Define
1872 only if not already defined.
1873
c7619744 18742002-05-29 Kazu Hirata <kazu@cs.umass.edu>
1875
1876 * config/h8300/h8300-protos.h: Remove prototypes for
1877 ok_for_bclr and small_power_of_two.
1878 * config/h8300/h8300.c (small_power_of_two): Remove.
1879 (ok_for_blcr): Likewise.
1880 (fix_bit_operand): Make WHAT deal with an integer instead of a
1881 constraint character.
1882 * config/h8300/h8300.h (CONST_OK_FOR_O): Remove.
1883 (CONST_OK_FOR_P): Likewise.
1884 (CONST_OK_FOR_LETTER_P): Do not call CONST_OK_FOR_O or
1885 CONST_OK_FOR_P any more.
1886 * config/h8300/h8300.md (andqi3): Adjust to the new prototype
1887 of fix_bit_operand.
1888 (iorqi3): Likewise.
1889 (xorqi3): Likewise.
1890
b7d8785c 18912002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
1892
1893 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
1894 (CPP_PREDEFINES): Make sure this is undefined.
1895 (CPP_SPEC): Place -D__mips=1 at the beginning of the spec,
1896 since it is no longer in CPP_PREDEFINES. Don't -U__MIPSEL__
1897 or -U__MIPSEB__ before defining one or the other. Instead,
1898 use %(subtarget_endian_default) if neither -EB nor -EL are
1899 specified.
1900 (SUBTARGET_EXTRA_SPECS): Define.
1901 (SUBTARGET_CPP_SPEC): Remove __LONG64 handling. Use
1902 %(netbsd_cpp_spec).
1903
443076c3 19042002-05-29 Hans-Peter Nilsson <hp@axis.com>
1905
1906 * doc/md.texi (Patterns): Note pattern condition pitfall
1907 for unnamed insn.
1908
6d829a46 19092002-05-29 Aldy Hernandez <aldyh@redhat.com>
1910
caa6c567 1911 * rs6000.c: (altivec_expand_builtin): Only expand altivec builtins
1912 when TARGET_ALTIVEC. Move handling of generic unary, binary, and
1913 ternary operations from here...
1914 (rs6000_expand_builtin): ...to here.
1915 New argument expandedp.
1916 Change all instances of altivec_expand_binop_builtin to
1917 rs6000_expand_binop_builtin.
1918 (altivec_expand_unop_builtin): Rename to
1919 rs6000_expand_unop_builtin.
1920 (altivec_expand_binop_builtin): Rename to
1921 rs6000_expand_binop_builtin.
1922 (altivec_expand_ternop_builtin): Rename to
1923 rs6000_expand_ternop_builtin.
6d829a46 1924
76b5af68 19252002-05-29 Richard Henderson <rth@redhat.com>
1926
1927 * config/i386/biarch64.h (TARGET_64BIT_DEFAULT): Define with value.
1928 (TARGET_BI_ARCH): Likewise.
1929 * config/i386/i386.h: Test TARGET_64BIT_DEFAULT by value.
1930 (TARGET_SWITCHES): Combine target defaults here not in TARGET_DEFAULT.
1931 (TARGET_64BIT_DEFAULT): Default to 0.
1932 (TARGET_DEFAULT): Default to MASK_OMIT_LEAF_FRAME_POINTER.
1933
a4d618bf 19342002-05-29 Richard Henderson <rth@redhat.com>
1935
1936 * config/i386/i386.c (USE_HIDDEN_LINKONCE): New.
1937 (get_pc_thunk_name): New.
1938 (output_set_got): Use it.
1939 (ix86_asm_file_end): If USE_HIDDEN_LINKONCE, emit get_pc thunks
1940 into linkonce sections.
1941
1f2fe497 19422002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
1943
1944 * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
1945 (CPP_PREDEFINES): Make sure this is undefined.
1946 (CPP_SUBTARGET_SPEC64, CPP_SUBTARGET_SPEC32): Remove.
1947 (CPP_SUBTARGET_SPEC): Don't provide different versions for
1948 default-32 and default-64. Just always use %(netbsd_cpp_spec).
1949 (SUBTARGET_EXTRA_SPECS): Remove cpp_subtarget_spec32 and
1950 cpp_subtarget_spec64. Add netbsd_cpp_spec.
1951 * config/sparc/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
1952 (CPP_PREDEFINES): Make sure this is undefined.
1953 (SUBTARGET_EXTRA_SPECS): Define.
1954 (CPP_SPEC): Use %(netbsd_cpp_spec).
1955
f1752b7e 19562002-05-29 Jeff Law <law@redhat.com>
1957
6183ce8c 1958 * pa.h (ASM_OUTPUT_MI_THUNK): Remove unwanted semi-colon.
1959
51d18c44 1960 * flow.c (propagate_one_insn): Do not remove a dead insn if it
1961 contains a REG_RETVAL note.
1962
61940a36 1963 * haifa-sched (sched_analyze): Remove another useless clearing
1964 of SCHED_GROUP_P I missed yesterday.
1965
f1752b7e 1966 * pa.h (ASM_OUTPUT_MI_THUNK): Move implementation into pa.c.
1967 * pa.c (pa_asm_output_mi_thunk): New function.
1968 * pa-protos.h (pa_asm_output_mi_thunk): Declare.
1969
c284a148 19702002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
1971 Marek Michalkiewicz <marekm@amelek.gda.pl>
1972
1973 * config/avr/avr.c (avr_base_arch_macro, avr_extra_arch_macro): New.
1974 (avr_asm_only_p): Make non-static.
1975 (enum avr_arch): Remove.
1976 (avr_arch_types): New.
1977 (avr_mcu_types): Update.
1978 (avr_override_options): Use avr_arch_types table instead of switch.
1979 * avr.h (CPP_PREDEFINES): Die.
1980 (avr_base_arch_macro, avr_extra_arch_macro): New.
1981 (TARGET_CPU_CPP_BUILTINS): New.
1982 (CPP_SPEC, EXTRA_SPECS): Simplify.
1983 (CPP_AVR1_SPEC, CPP_AVR2_SPEC, CPP_AVR3_SPEC, CPP_AVR4_SPEC,
1984 CPP_AVR5_SPEC): Die.
1985
a07f1341 19862002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
1987
1988 * config/arm/netbsd.h (TARGET_OS_CPP_BUILTINS): Use
1989 NETBSD_OS_CPP_BUILTINS_AOUT.
1990 (SUBTARGET_EXTRA_SPECS): Define.
1991 (CPP_SPEC): Use %(netbsd_cpp_spec).
1992
e3abf694 19932002-05-29 Richard Henderson <rth@redhat.com>
1994
1995 * config/i386/i386.c (ix86_output_function_epilogue): New.
1996 (TARGET_ASM_FUNCTION_EPILOGUE): New.
1997 (pic_label_name): Remove.
1998 (pic_labels_used): New.
1999 (ix86_asm_file_end): Emit one pc load stub for each register used.
2000 (output_set_got): Generate deep pc load to any register.
2001 (ix86_select_alt_pic_regnum): New.
2002 (ix86_save_reg): Don't save pic register if we can find a valid
2003 call-clobbered replacement.
2004 (ix86_expand_prologue): If we found a valid replacement, renumber
2005 pic_offset_table_rtx.
2006 * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Look at
2007 pic_offset_table_rtx after reload.
2008 (REAL_PIC_OFFSET_TABLE_REGNUM): New.
2009 * config/i386/i386.md (set_got): Make insn, not expander.
2010 (set_got_nopic, set_got_deep, set_got_nodeep): Remove.
2011
3ad630c5 20122002-05-29 Richard Henderson <rth@redhat.com>
2013
2014 * config/i386/i386.c (ix86_compute_frame_layout): Do add bottom
2015 alignment for alloca.
2016
cc79d0fa 20172002-05-29 Richard Henderson <rth@redhat.com>
2018
2019 * config/i386/i386.c (output_pic_addr_const): Lowercase rip.
2020 (print_operand_address): Only add rip for symbolic addresses
2021 for which we do not have another relocation type.
2022
b59a7a5a 20232002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
2024
2025 * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
2026 (EXTRA_SPECS): Add netbsd_cpp_spec.
2027 (CPP_SPEC): Use %(netbsd_cpp_spec).
2028 (CPP_PREDEFINES): Remove.
2029 * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
2030 (EXTRA_SPECS): Define.
2031 (CPP_SPEC): Use %(netbsd_cpp_spec).
2032 (CPP_PREDEFINES): Remove.
2033
f6bf950b 20342002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
2035
2036 PR preprocessor/6844
2037 * cppmacro.c (cpp_macro_definition): Reserve space for terminating
2038 NUL.
2039
50d6ccf9 20402002-05-29 Eric Christopher <echristo@redhat.com>
2041
2042 * config/mips/linux.h (SUBTARGET_CPP_SPEC): Add support for
2043 mips5/mips32/mips64 and _MIPS_ISA_MIPSXX.
2044
64282dfc 20452002-05-29 Nick Clifton <nickc@cambridge.redhat.com>
2046
2047 * config/fr30/fr30.md: Remove previous restriction on splits.
2048 Enforce conformance through gen_lowpart and cont_int_operand.
caa6c567 2049 * config/fr30/fr30.h (BSS_SECTION_ASM_OP): Use ".section .bss"
64282dfc 2050 as the assembler does not support ".bss".
2051
415e4dbd 20522002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
2053
2054 * config/i386/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
2055 (CPP_PREDEFINES): Remove.
2056 (SUBTARGET_EXTRA_SPECS): Define.
2057 (CPP_SPEC): Use %(netbsd_cpp_spec).
2058 * config/i386/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
2059 (CPP_PREDEFINES): Remove.
2060 (SUBTARGET_EXTRA_SPECS): Define.
2061 (CPP_SPEC): Use %(netbsd_cpp_spec).
2062 * config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Define.
2063 (CPP_PREDEFINES, CPP_LP64_SPEC, CPP_SUBTARGET_SPEC): Remove.
2064 (SUBTARGET_EXTRA_SPECS): Remove cpp_lp64 and cpp_subtarget.
2065 Add netbsd_cpp_spec.
2066 (CPP_SPEC): Remove %(cpp_subtarget), add %(netbsd_cpp_spec).
2067
4baf0479 20682002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
2069 Zack Weinberg <zack@codesourcery.com>
2070
2071 * cppexp.c (cpp_num): Move to cpplib.h.
2072 (CPP_ERROR): Remove.
2073 (interpret_float_suffix, interpret_int_suffix): New.
2074 (struct suffix, vsuf_1, vsuf_2, vsuf_3): Remove.
2075 (cpp_classify_number, cpp_interpret_integer): New.
2076 (interpret_number): Remove.
2077 (eval_token): Update to use new routines.
2078 * cpphash.h (cpp_num_part): Move to cpplib.h.
2079 * cppinit.c (cpp_post_options): Set warn_long_long.
2080 * cpplib.h (struct cpp_options): Add warn_long_long.
2081 (cpp_num, cpp_num_part, CPP_N_CATEGORY, CPP_N_INVALID,
2082 CPP_N_INTEGER, CPP_N_FLOATING, CPP_N_WIDTH, CPP_N_SMALL,
2083 CPP_N_MEDIUM, CPP_N_LARGE, CPP_N_RADIX, CPP_N_DEC, CPP_N_HEX,
2084 CPP_N_OCTAL, CPP_N_UNSIGNED, CPP_N_IMAGINARY, cpp_classify_number,
2085 cpp_interpret_integer): New.
2086
f9557322 20872002-05-29 Joel Sherrill <joel@OARcorp.com>
2088
2089 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Use -m403 and -m405.
2090
c7f72028 20912002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
2092
2093 * config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Use
50d6ccf9 2094 NETBSD_OS_CPP_BUILTINS_ELF and NETBSD_OS_CPP_BUILTINS_LP64.
2095 (CPP_SUBTARGET_SPEC): Define.
2096 (SUBTARGET_EXTRA_SPECS): Define.
c7f72028 2097 (CPP_SPEC): Remove.
2098
13dab7c3 20992002-05-29 Chris Lattner <sabre@nondot.org>
2100
caa6c567 2101 * ssa.c (rename_insn_1): Rename uses of undefined registers to
2102 prevent confusion if/when the register is defined.
13dab7c3 2103
7503e80f 21042002-05-29 Hans-Peter Nilsson <hp@axis.com>
2105
2106 PR target/6838
2107 * config/cris/cris.md: Fix typos and thinkos in comments.
2108 ("*mov_sideqi_biap_mem"): Remove '*' in constraint for operand 4,
2109 second alternative.
2110 ("*mov_sidehi_biap_mem", "*mov_sidesi_biap_mem"): Ditto.
2111 ("*mov_sideqi_mem"): Similar, but for operand 3.
2112 ("*mov_sidehi_mem", "*mov_sidesi_mem"): Ditto.
2113 (splitter for mov_sideqi_mem, mov_sidehi_mem, mov_sidesi_mem):
2114 Remove spurious mode specifier on operand 2.
2115
3a59a065 21162002-05-29 Kazu Hirata <kazu@cs.umass.edu>
2117
2118 * config/h8300/h8300-protos.h: Remove the prototype for
2119 o_operand.
2120 Add prototypes for single_one_operand and single_zero_operand.
2121 * config/h8300/h8300.c (o_operand): Remove.
2122 (single_one_operand): New.
2123 (single_zero_operand): Likewise.
2124 (print_operand): For 'V' operand, and the operand with 0xff.
2125 For 'V' and 'W' operands, do not and the bit position with 7.
2126 * config/h8300/h8300.md (various anonymous patterns): Replace
2127 use of exact_log2 with single_one_operand/single_zero_operand.
2128
b785fba2 21292002-05-29 Ulrich Weigand <uweigand@de.ibm.com>
2130
2131 * config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
2132
dbca793d 21332002-05-29 Ulrich Weigand <uweigand@de.ibm.com>
2134
2135 * config/s390/s390.c (legitimate_pic_operand_p): Do not
2136 accept symbolic LARL operands.
50d6ccf9 2137 (s390_emit_epilogue): Do not set FRAME_RELATED_P on
dbca793d 2138 epilogue insns.
50d6ccf9 2139
e3233937 21402002-05-29 Hartmut Penner <hpenner@de.ibm.com>
2141
2142 * config/s390/s390.md (cmpstr_64/31): Mark whole
50d6ccf9 2143 input registers as used.
e3233937 2144
f29d6a0a 21452002-05-28 Richard Henderson <rth@redhat.com>
2146
2147 * config/i386/i386.c (ix86_save_reg): Examine regs_ever_live,
2148 not current_function_uses_pic_offset_table and
2149 current_function_uses_const_pool; examine current_function_profile.
2150 (ix86_expand_prologue): Likewise. Add pic_offset_table_rtx as
2151 input to blockage if needed.
2152 (ix86_expand_call): Do not set current_function_uses_pic_offset_table.
2153 (legitimize_pic_address): Likewise. Set regs_ever_live for
2154 pic_offset_table_rtx when invoked during reload.
2155 * config/i386/i386.h (FINALIZE_PIC): Remove.
2156 * config/i386/i386.md (tablejump): Reformat. Do not set
2157 current_function_uses_pic_offset_table.
2158 (tls_global_dynamic, tls_local_dynamic_base): Likewise.
2159 (blockage): Accept anything as operand 0.
2160
65c9b105 21612002-05-28 Jason Thorpe <thorpej@wasabisystems.com>
2162
2163 * config/netbsd-aout.h (NETBSD_OS_CPP_BUILTINS_AOUT): Define
2164 common CPP built-ins for all NetBSD a.out targets.
2165 * config/netbsd-elf.h (NETBSD_OS_CPP_BUILTINS_ELF): Define
2166 common CPP built-ins for all NetBSD ELF targets.
2167 * config/netbsd.h: Add missing notice.
2168 (NETBSD_OS_CPP_BUILTINS_COMMON): Define common CPP built-ins
2169 for all NetBSD targets.
2170 (NETBSD_OS_CPP_BUILTINS_LP64): Define common CPP built-ins
2171 for all NetBSD targets using an LP64 code model.
2172 (NETBSD_CPP_SPEC): Define CPP_SPEC parts common to all
2173 NetBSD targets.
2174
9817b015 21752002-05-28 Richard Henderson <rth@redhat.com>
2176
2177 * flow.c (update_life_info_in_dirty_blocks): Only do a partial
2178 update if UPDATE_LIFE_LOCAL.
2179
21802002-05-28 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
30ab56ba 2181
2182 * config/sh/sh.c: Include real.h for REAL_VALUE_TYPE.
2183
87ab0a3d 2184Tue May 28 21:16:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
caa6c567 2185 Jason R. Thorpe <thorpej@wasabisystems.com>
87ab0a3d 2186
2187 config/sh reorganization to factor out endianness and coff:
2188
2189 * config/sh/little.h: New file.
caa6c567 2190 * config/sh/sh.h (TARGET_ENDIAN_DEFAULT): If not already
2191 defined, define to 0 to select big-endian.
87ab0a3d 2192 (SUBTARGET_ASM_ENDIAN_SPEC): Define according to TARGET_ENDIAN_DEFAULT.
caa6c567 2193 (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
2194 * config/sh/sh64.h (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
2195 * config/sh/t-be: New file.
2196 * config/sh/t-le: New file.
87ab0a3d 2197
2198 * sh.h (SDB_DEBUGGING_INFO, #include "dbxcoff.h"): Moved to sh/coff.h.
2199 (SDB_DELIM, MAX_OFILE_ALIGNMENT, IDENT_ASM_OP): Likewise.
2200 (TARGET_ASM_NAMED_SECTION, ASM_OUTPUT_SKIP): Likewise.
2201 (USER_LABEL_PREFIX, LOCAL_LABEL_PREFIX): Likewise.
2202 (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Likewise.
2203 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
2204 (ASM_FILE_END, ASM_DECLARE_FUNCTION_NAME): Deleted.
2205 (CPP_SPEC, SUBTARGET_CPP_ENDIAN_SPEC): Likewise.
2206 (SUBTARGET_CPP_SPEC, CPP_DEFAULT_CPU_SPEC, CPP_PREDEFINES): Likewise.
2207 (EXTRA_SPECS): Remove SUBTARGET_CPP_ENDIAN_SPEC and
2208 CPP_DEFAULT_CPU_SPEC. Add LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL,
2209 SUBTARGET_LINK_EMUL_SUFFIX and SUBTARGET_LINK_SPEC.
2210 (LINK_SPEC): Define to SH_LINK_SPEC.
2211 (TARGET_CPU_CPP_BUILTINS, SH_LINK_SPEC): Define.
2212 (LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL): Likewise.
2213 (SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
2214 (CPP_SPEC): Reduce to %(subtarget_cpp_spec).
2215 (TARGET_ENDIAN_DEFAULT): Define if not already defined.
2216 * config/sh/coff.h: New file.
2217 (TARGET_ASM_NAMED_SECTION): Now default_coff_asm_named_section
2218 (TARGET_OBJFMT_CPP_BUILTINS): Define.
2219 * config/sh/elf.h (IDENT_ASM_OP): No need to #undef at the start.
2220 (ASM_FILE_END, ASM_OUTPUT_SOURCE_LINE): Likewise.
2221 (DBX_OUTPUT_MAIN_SOURCE_FILE_END, TARGET_ASM_NAMED_SECTION): Likewise.
2222 (ASM_DECLARE_FUNCTION_NAME, MAX_OFILE_ALIGNMENT, SIZE_TYPE): Likewise.
2223 (PTRDIFF_TYPE): Likewise.
2224 ("dbxelf.h", "elfos.h", "svr4.h"): Don't #include.
2225 (CPP_PREDEFINES): Don't define.
2226 (TARGET_OBJFMT_CPP_BUILTINS): Define.
2227 (LINK_SPEC): Define to SH_LINK_SPEC.
2228 (LINK_EMUL_PREFIX): Redefine.
2229 * config/sh/linux.h: (SUBTARGET_CPP_SPEC): Remove -fpic / -fPIC cases.
2230 (SUBTARGET_CPP_ENDIAN_SPEC, CPP_DEFAULT_CPU_SPEC): Remove redefinition.
2231 (CPP_PREDEFINES, SUBTARGET_ASM_ENDIAN_SPEC): Likewise.
2232 (CC1_SPEC, CC1PLUS_SPEC, LINK_SPEC): Likewise.
2233 (TARGET_OS_CPP_BUILTINS): Define.
2234 (TARGET_DEFAULT): Redefine.
2235 (SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
2236 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Remove.
2237 (LINK_SPEC): Don't redefine.
2238 (LINK_DEFAULT_CPU_EMUL): Redefine.
2239 (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
2240 * sh.c (sh_asm_named_section): Don't declare / define.
2241 * t-linux (MULTILIB_OPTIONS): Rely on pre-set endianness option.
2242 * config.gcc (sh-*-elf* tm_file): Add dbxelf.h elfos.h svr4.h.
2243 (sh64-*-elf* tm_file): Likewise.
2244 (sh-*-rtemself* tm_file): Likewise.
2245 (sh-*-linux* tm_file): Likewise. Add sh/little.h.
2246 (sh-*-linux* tmake_file): Add sh/t-le.
2247 (sh-*-rtems* tm_file): Add sh/coff.h
2248 (sh-*-* tm_file): Likewise.
2249
2250Tue May 28 21:16:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
2251
2252 * sh.h (LEGITIMATE_PIC_OPERAND_P): Check for SYMBOL_REF before using
2253 CONSTANT_POOL_ADDRESS_P.
2254
2255 * coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Define.
2256
61940a36 22572002-05-28 David Edelsohn <edelsohn@gnu.org>
cb0e348a 2258 Jeff Law <law@redhat.com>
2259
e4b82a55 2260 * optabs.c (expand_binop): Fix nwords sign warnings.
2261 generate pseudo for add_optab.
2262
cb0e348a 2263 * sched-deps.c (sched_analyze): Do not clear SCHED_GROUP_P.
2264 * haifa-sched.c (move_insn): Clear SCHED_GROUP_P after it is used.
2265
33c4b334 22662002-05-28 Marc Espie <espie@openbsd.org>
cb0e348a 2267
50d6ccf9 2268 * config/i386/openbsd.h (HAVE_GAS_MAX_SKIP_P2ALIGN): Remove,
33c4b334 2269 inherited from gas.h.
2270 (ASM_QUAD): Undef. OpenBSD does not support it.
2271
cd89e22c 22722002-05-28 Danny Smith <dannysmith@users.sourceforge.net>
2273
2274 * doc/install.texi (binaries): Change mingw binaries
2275 link to www.mingw.org.
2276
03bfa804 22772002-05-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2278
2279 * cfgloop.c (flow_loops_cfg_dump): Use bb->index, not i.
2280
b002d972 22812002-05-28 Richard Henderson <rth@redhat.com>
2282
2283 * config/i386/i386.c (ix86_compute_frame_layout): Do not add
2284 bottom alignment for leaf functions.
2285
773e91a0 22862002-05-28 Zack Weinberg <zack@codesourcery.com>
2287
2288 * config/pa/milli32.S, config/pa/lib1funcs.asm,
2289 config/sparc/sol2-g1.asm: Delete unused files.
2290
4034fd92 22912002-05-28 Richard Henderson <rth@redhat.com>
2292
2293 * cfg.c (dump_flow_info): Print bb->index, not i, for block number.
2294
1da8586a 2295 * flow.c (calculate_global_regs_live): Rename call_used to
2296 invalidated_by_call. Initialize from regs_invalidated_by_call
2297 instead of call_used_regs.
2298
4d3af842 2299 * varasm.c (default_binds_local_p): Check TREE_PUBLIC before
2300 DECL_EXTERNAL.
2301
ef258422 23022002-05-28 Zack Weinberg <zack@codesourcery.com>
2303
f72bc3f3 2304 * tree.h: Don't include real.h.
2305 Forward-declare struct realvaluetype.
ef258422 2306 (struct tree_real_cst): Point to the REAL_VALUE_TYPE, do not
2307 contain it.
2308 (TREE_REAL_CST_PTR): New accessor.
2309 (TREE_REAL_CST): Update.
2310 * real.h: Include machmode.h.
50d6ccf9 2311 (realvaluetype): Make it struct realvaluetype, not a typedef.
ef258422 2312 (build_real): Prototype here.
2313
2314 * tree.c: Include real.h.
50d6ccf9 2315 (build_real): Allocate the REAL_VALUE_TYPE as a separate
2316 object in GC memory, set TREE_REAL_CST_PTR to point to it.
ef258422 2317 (build_real_from_int_cst): Use build_real.
2318 * ggc-common.c (ggc_mark_trees): Mark TREE_REAL_CST_PTR of a
2319 REAL_CST.
2320
2321 * builtins.c, c-common.c, c-lex.c, dwarf2out.c, expr.c,
2322 fold-const.c, print-tree.c, real.c: Include real.h.
2323 * Makefile.in: Update dependency lists.
2324
3c0a32c9 23252002-05-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2326
2327 * basic-block.h (last_basic_block): Declare.
2328 (expunge_block_nocompact): Declaration removed.
2329 (compact_blocks): Declare.
2330 * cfg.c (last_basic_block): New variable.
2331 (expunge_block_nocompact): Removed.
2332 (expunge_block): Do not compact basic blocks.
2333 (compact_blocks): New.
2334 * cfganal.c (flow_call_edges_add): Use the fact that bb indices no
2335 longer change.
2336 * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Set
2337 last_basic_block.
2338 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Do not change
2339 real positions of blocks.
2340 (delete_unreachable_blocks): Simplified -- quadratic behavior now
2341 cannot occur.
2342 (cleanup_cfg): Compact blocks.
2343 * cfgrtl.c (create_basic_block): Insert basic blocks to the end of
2344 basic_block_info varray.
2345 (flow_delete_block): Comment update.
2346 (back_edge_of_syntactic_loop_p): Modify position check code.
2347 (verify_flow_info): Update checking.
2348 * flow.c (calculate_global_regs_live): Use FOR_EACH_BB.
2349 * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
2350 (find_if_case_1, find_if_case_2, if_convert): Use the fact that bb
2351 indices no longer change.
2352 * lcm.c (optimize_mode_switching): Replace n_basic_blocks with
2353 last_basic_block.
2354 * predict.c (estimate_bb_frequencies): Remove unneccessary code.
2355 * profile.c (branch_prob): Compact blocks.
2356 * sched-rgn.c (find_rgns): Replace n_basic_blocks with
2357 last_basic_block.
2358
39ebe913 23592002-05-28 Kazu Hirata <kazu@cs.umass.edu>
2360
2361 * config/h8300/h8300.md (two anonymous patterns): New.
2362
e30b7bae 23632002-05-28 David S. Miller <davem@redhat.com>
2364
2365 * config/sparc/sparc.md (cpu): Tidy.
2366 (type): Delete 'return', add 'ialuX', 'flushw', 'iflush', and
2367 'trap'.
2368 (in_call_delay): Delete reference to 'return' type.
2369 (eligible_for_return_delay, in_return_delay, define_delay
2370 referencing those): Delete.
2371 (rest of file): Use new type attributes as appropriate.
2372 * config/sparc/sparc-protos.h (eligible_for_return_delay): Delete.
2373 * config/sparc/sparc.c (eligible_for_return_delay): Likewise.
2374 * config/sparc/ultra1_2.md (us1_single): New reservation.
2375 (us1_ialuX): Likewise.
2376 * config/sparc/ultra3.md (us3_single): Likewise.
2377 (us3_ialuX): Likewise.
2378 (us3_imul, us3_idiv): Tweak.
50d6ccf9 2379
0aad4cd2 23802002-05-28 Richard Henderson <rth@redhat.com>
2381
2382 * config/alpha/alpha.c (alpha_in_small_data_p): Return false for
2383 STRING_CST.
2384
c7678f69 23852002-05-28 Richard Henderson <rth@redhat.com>
2386
2387 * config.gcc: Obsolete mn10200.
2388
b412f568 23892002-05-28 Neil Booth <neil@daikokuya.demon.co.uk>
2390
2391 * cppexp.c (interpret_number): Optimize for single-digit
2392 and less-than-half-precision cases.
2393 (num_trim, num_positive, num_div_op): Cast constants.
2394
968b0d1e 23952002-05-27 Bo Thorsen <bo@suse.de>
2396
2397 * config/i386/libgcc-x86_64-glibc.ver: Copy this file from the
2398 3.1 branch. The file was made by Jakub Jelinek.
2399 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Add i386
2400 support so multilib doesn't break. And don't define this at all
2401 when -Dinhibit_libc is used.
2402 (MULTILIB_DEFAULTS): Always set default to 64 bit compilation.
2403 * config/i386/t-linux64: Implement full multilib support. Patch
2404 originally done by Andreas Jaeger and Jakub Jelinek.
2405
fa987697 24062002-05-27 Roger Sayle <roger@eyesopen.com>
2407
2408 * c-common.c: Add support for __attribute__((nothrow)) to specify
2409 that a function cannot throw an exception (using TREE_NOTHROW).
2410 (handle_nothrow_attribute): New function to process this attribute.
2411
2412 * doc/extend.texi: Document the new nothrow function attribute.
2413
11aafc65 24142002-05-27 H.J. Lu (hjl@gnu.org)
2415
2416 * cppexp.c (num_trim): Use 1UL instead of 1 for long int.
2417 (num_positive): Likewise.
2418 (num_div_op): Likewise.
2419
e7e697e4 24202002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
2421
2422 * c-common.c (c_common_init): Always use intmax_t.
2423
9194733e 24242002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
2425
2426 * c-common.c (c_common_init): Use intmax_t for now.
2427
7effcd30 24282002-05-24 Andrew Haley <aph@redhat.com>
2429
2430 * fold-const.c (fold): Don't convert (T)(x & c) into (T)x & (T)c
2431 if T is a boolean type.
2432
f20183e6 24332002-05-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2434
2435 * basic-block.h (last_basic_block): Defined as synonym for
2436 n_basic_blocks.
2437 * cfganal.c (mark_dfs_back_edges, flow_reverse_top_sort_order_compute,
2438 flow_depth_first_order_compute, flow_preorder_transversal_compute,
2439 flow_dfs_compute_reverse_init): Replaced relevant occurences of
2440 n_basic_blocks with last_basic_block.
2441 * cfgbuild.c (make_edges): Likewise.
2442 * cfgloop.c (flow_loop_scan, flow_loops_find): Likewise.
2443 * cfgrtl.c (verify_flow_info, purge_all_dead_edges): Likewise.
2444 * combine.c (combine_instructions): Likewise.
2445 * df.c (df_alloc, df_analyse_1, df_analyse, iterative_dataflow_sbitmap,
2446 iterative_dataflow_bitmap): Likewise.
2447 * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
2448 calc_idoms, idoms_to_doms): Likewise.
2449 * flow.c (update_life_info_in_dirty_blocks, free_basic_block_vars):
2450 Likewise.
2451 * gcse.c (gcse_main, alloc_gcse_mem, compute_local_properties,
2452 compute_hash_table, expr_reaches_here_p, one_classic_gcse_pass,
2453 one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p,
2454 one_pre_gcse_pass, compute_transpout, delete_null_pointer_checks_1,
2455 delete_null_pointer_checks, compute_code_hoist_vbeinout,
2456 hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
2457 compute_store_table, build_store_vectors): Likewise.
2458 * haifa-sched.c (sched_init): Likewise.
2459 * ifcvt.c (if_convert): Likewise.
2460 * lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
2461 pre_edge_lcm, compute_available, compute_nearerout,
2462 compute_rev_insert_delete, pre_edge_rev_lcm, optimize_mode_switching):
2463 Likewise.
2464 * predict.c (estimate_probability, process_note_prediction,
2465 note_prediction_to_br_prob): Likewise.
2466 * profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX): Likewise.
2467 * recog.c (split_all_insns, peephole2_optimize): Likewise.
2468 * regrename.c (copyprop_hardreg_forward): Likewise.
2469 * resource.c (init_resource_info): Likewise.
2470 * sched-rgn.c (build_control_flow, find_rgns, compute_trg_info,
2471 init_regions, schedule_insns): Likewise.
2472 * ssa-ccp.c (ssa_const_prop): Likewise.
2473 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
2474 * ssa.c (compute_dominance_frontiers,
2475 compute_iterated_dominance_frontiers, convert_to_ssa): Likewise.
2476
2477 * df.c (df_refs_unlink): Fix FOR_EACH_BB usage (in #if 0'ed code)
2478 * gcse.c (alloc_rd_mem, alloc_avail_expr_mem): Use n_blocks for vector
2479 sizes consistently.
2480
fa3cb24d 2481Mon May 27 14:28:12 CEST 2002 Jan Hubicka <jh@suse.cz>
2482
2483 * basic-block.h (can_hoist_p, hoist_insn_after, hoist_insn_to_edge):
2484 new.
2485 * rtlanal.c (hoist_test_store, can_hoist_insn_p, hoist_update_store,
2486 hoist_insn_after, hoist_insn_to_edge): New.
2487
2d30935d 2488Mon May 27 12:14:02 CEST 2002 Jan Hubicka <jh@suse.cz>
2489
2490 * basic-block.h (PEOP_SCAN_DEAD_STORES): New.
2491 (PROP_FINAL): Include.
2492 * flow.c (life_analysis, update_life_info,
2493 init_propagate_block_info, mark_set_1, mark_used_rgs):
2494 Support SCAN_DEAD_STORE.
2495
dc0b244f 24962002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
2497
2498 * c-common.c (c_common_init): Set CPP arithmetic precision.
2499 * cppexp.c (cpp_num_part): Move typedef ...
2500 * cpphash.h: ...here; make unsigned HOST_WIDE_INT.
2501 * cppinit.c (cpp_create_reader): Default to host long arithmetic.
2502 (sanity_checks): Update.
2503
336ff1b3 25042002-05-26 Geoffrey Keating <geoffk@redhat.com>
2505
2506 * Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'.
2507 (mkheaders): New rule.
2508 (install-mkheaders): New rule.
2509 * configure.in (all_outputs): Add mkheaders.
2510 * configure: Regenerate.
2511 * mkheaders.in: New file.
2512
eb08d403 25132002-05-26 Jakub Jelinek <jakub@redhat.com>
2514
2515 * cse.c (fold_rtx): Don't optimize if SUBREG changes mode class.
2516
2cb44ec0 25172002-05-26 Andreas Jaeger <aj@suse.de>
2518
2519 * cfg.c (dump_flow_info): Remove extra argument to fprintf.
2520
b444d47a 25212002-05-26 Neil Booth <neil@daikokuya.demon.co.uk>
2522
2523 * cppexp.c (possible_sum_sign, integer_overflow, left_shift,
2524 right_shift): Remove.
2525 (cpp_num, cpp_num_part, PART_PRECISION, HALF_MASK, LOW_PART,
2526 HIGH_PART): New.
2527 (struct op): Use cpp_num.
2528 (num_zerop, num_eq, num_positive, num_greater_freq, num_trim,
2529 num_part_mul, num_unary_op, num_binary_op, num_negate,
2530 num_bitwise_op, num_inequality_op, num_equality_op, num_mul,
2531 num_div_op, num_lshift, num_rshift, append_digit): New.
2532 (interpret_number, parse_defined, eval_token, reduce): Update
2533 for two-integer arithmetic.
2534 (binary_handler): New typedef.
2535 (optab): Update.
2536 (COMPARE, EQUALITY, BITWISE, MINMAX, UNARY, SHIFT): Delete.
2537 (_cpp_parse_expr, reduce): Update to handle two-integers.
2538 * cpplib.c (_cpp_test_assertion): Back up on CPP_EOF.
2539
4af90ac0 25402002-05-26 Marek Michalkiewicz <marekm@amelek.gda.pl>
2541
2542 * config/avr/avr-protos.h (avr_out_sbxx_branch): Declare.
2543 * config/avr/avr.c (jump_over_one_insn_p): Take length of the
2544 branch insn into account, do not assume 1.
2545 (avr_out_sbxx_branch): New function. Optimize cases of skipping
2546 over single word insn. Handle upper half of I/O space too.
2547 * config/avr/avr.md (*sbrx_branch): Use it.
2548 (*sbrx_and_branchhi, *sbrx_and_branchsi): Likewise.
2549 (*sbix_branch, *sbix_branch_bit7): Likewise.
2550 (*sbix_branch_tmp, *sbix_branch_tmp_bit7): New.
2551 Use RTL peepholes to optimize register operand sign tests.
2552
235d7594 25532002-05-26 Marek Michalkiewicz <marekm@amelek.gda.pl>
2554
2555 * config/avr/avr.c (avr_asm_only_p): New variable.
2556 (avr_override_options): Set it here if AVR1.
2557 (asm_file_start): Test it here, report an error if set.
2558
9342ee68 25592002-05-26 Kazu Hirata <kazu@cs.umass.edu>
2560
2561 * alias.c: Fix formatting.
2562 * attribs.c: Likewise.
2563 * bb-reorder.c: Likewise.
2564 * bitmap.c: Likewise.
2565 * bitmap.h: Likewise.
2566 * builtins.c: Likewise.
2567
35e2e148 2568Sun May 26 14:00:44 CEST 2002 Jan Hubicka <jh@suse.cz>
2569
2570 * reload.c (find_valid_class): Accept new argument DEST,
2571 choose class accordingly.
2572 (push_reload): Update callers.
2573
650acf9d 25742002-05-26 Andreas Jaeger <aj@suse.de>
2575
2576 * combine.c (combine_instructions): Do not indent #if for
2577 traditional C.
2578
9cca51ff 25792002-05-25 Richard Henderson <rth@redhat.com>
2580
2581 * c-pragma.c (apply_pragma_weak): Convert value identifier to
2582 string for decl_attributes.
2583 (handle_pragma_weak): Call assemble_alias if we're modifying
2584 an existing decl.
2585
776507d0 25862002-05-25 Richard Henderson <rth@redhat.com>
2587
2588 PR target/6788
2589 * config/sparc/sparc.c (sparc_output_mi_thunk): New implementation
2590 using rtl instead of fprintf.
2591 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Use it.
2592 * config/sparc/sparc-protos.h: Update.
2593
90cc7820 25942002-05-25 Neil Booth <neil@daikokuya.demon.co.uk>
2595
2596 * Makefile.in (C_COMMON_H): Fix.
2597 Update other targets.
2598 * c-common.c: Don't include c-lex.h.
2599 (builtin_define_with_value): Make static and prototype.
2600 (builtin_define_std): Move from c-lex.h.
2601 * c-common.h (init_c_lex): Move from c-lex.h.
2602 * c-decl.c: Don't include c-lex.h.
2603 (make_pointer_declarator): Move from c-parse.in.
2604 * c-lex.c: Don't include c-lex.h.
2605 * c-lex.h: Remove.
2606 * c-parse.in: Don't include c-lex.h; include c-pragma.h.
2607 (make_pointer_declarator): Move to c-decl.c.
2608 * c-pragma.c: Don't include c-lex.h.
2609 * c-pragma.h (yydebug, YYDEBUG, parse_in, c_lex): Move from c-lex.h.
2610 * c-tree.h (make_pointer_declarator): New.
2611doc:
2612 * passes.texi, tm.texi: Update.
2613objc:
2614 * Make-lang.in: Update and correct.
2615 * objc-act.c: Don't include c-lex.h or cpplib.h.
2616treelang:
2617 * treetree.c: Don't include c-lex.h.
2618config:
2619 * darwin-c.c: Don't include c-lex.h.
2620 * c4x/c4x-c.c: Don't include c-lex.h.
2621 * c4x/t-c4x: Update.
2622 * i370/i370-c.c: Don't include c-lex.h.
2623 * i370/t-i370: Update.
2624 * i960/i960-c.c: Don't include c-lex.h.
2625 * i960/i960.c: Don't include cpplib.h, c-lex.h or c-pragma.h.
2626 * i960/t-960bare: Update.
2627 * i960/t-vxworks: Update.
2628 * rs6000/rs6000-c.c: Don't include c-lex.h; include c-pragma.h.
2629 * rs6000/t-darwin: Update.
2630 * rs6000/t-rs6000-c-rule: Update.
2631 * v850/v850-c.c: Don't include c-lex.h.
2632 * v850/v850.c: Don't include c-lex.h or cpplib.h.
2633
2634
428d04ec 26352002-05-25 Kazu Hirata <kazu@cs.umass.edu>
2636
2637 * tree.def: Fix typos.
2638 * doc/install.texi: Likewise.
2639
c87e09ad 26402002-05-25 Richard Henderson <rth@redhat.com>
2641
2642 * configure.in (HAVE_AS_TLS): Add ia64 test.
2643 * configure: Rebuild.
2644 * config/ia64/ia64.c (ia64_tls_size_string, ia64_tls_size): New.
2645 (override_options): Set it.
2646 (TARGET_HAVE_TLS): New.
2647 (sdata_symbolic_operand): Look for 's'.
2648 (tls_symbolic_operand): New.
2649 (ia64_expand_load_address): Abort for tls symbols.
2650 (gen_tls_get_addr): New.
2651 (gen_thread_pointer): New.
2652 (ia64_expand_move): Split out from movdi. Handle tls symbols.
2653 (rtx_needs_barrier): Add new unspecs.
2654 (ia64_encode_section_info): Handle tls symbols.
2655 (ia64_strip_name_encoding): Strip two encoding chars.
2656 * config/ia64/ia64.h (ia64_tls_size, ia64_tls_size_string): New.
2657 (TARGET_TLS14, TARGET_TLS22, TARGET_TLS64): New.
2658 (TARGET_OPTIONS): Add tls-size.
2659 (ENCODE_SECTION_INFO_CHAR): Rename from SDATA_NAME_FLAG_CHAR.
2660 * config/ia64/ia64.md (UNSPEC_LTOFF_DTPMOD, UNSPEC_LTOFF_DTPREL,
2661 UNSPEC_DTPREL, UNSPEC_LTOFF_TPREL, UNSPEC_TPREL, UNSPEC_LD_BASE): New.
2662 (movqi, movhi, movsi, movdi, movti): Use ia64_expand_move.
2663 (movsf, movdf): Likewise.
2664 (movdi_symbolic): Use match_scratch. Don't split if we won't
2665 have a scratch availiable.
2666 (load_ltoff_dtpmod, load_dtprel, load_dtprel64, load_dtprel22,
2667 add_dtprel, add_dtprel14, add_dtprel22, load_ltoff_tprel, load_tprel,
2668 load_tprel64, load_tprel22, add_tprel, add_tprel14, add_tprel22): New.
2669 * config/ia64/ia64-protos.h: Update.
2670 * config/ia64/sysv4.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use
2671 sdata_symbolic_operand.
2672 (ASM_OUTPUT_LABELREF): Strip two characters.
2673
fe4ca37c 26742002-05-25 Kazu Hirata <kazu@cs.umass.edu>
2675
2676 * combine.c (simplify_set): Remove an unnecessary subreg.
2677
68e7ca0a 26782002-05-25 Marek Michalkiewicz <marekm@amelek.gda.pl>
2679
2680 * config/avr/avr.c (avr_handle_progmem_attribute): Handle TYPE_DECL.
2681
2682 * config/avr/avr.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_BSS): New.
2683
ac909de7 26842002-05-25 Gabriel Dos Reis <gdr@codesourcery.com>
2685
2686 * toplev.c (output_clean_symbol_name): Fix another thinko. Gosh.
2687
a7937bc7 26882002-05-25 Roger Sayle <roger@eyesopen.com>
2689
2690 * simplify-rtx.c (simplify_gen_relational): Simplify the RTX
2691 (cond (compare x y) 0) into the equivalent (cond x y).
2692
0b24eca6 26932002-05-25 Gabriel Dos Reis <gdr@codesourcery.com>
2694
2695 * toplev.c (output_clean_symbol_name): Use xstrdup. Fix thinko.
2696
41e38a87 26972002-05-24 Zack Weinberg <zack@codesourcery.com>
2698
2699 * config.gcc: Remove all stanzas for previously obsoleted
2700 systems. Where necessary, add explicit error stanzas to
2701 prevent removed systems from being misidentified as something
2702 else. Begin a fresh obsoletions list, with the systems that
2703 were reprieved last round.
2704 * doc/install.texi: Remove all mention of dead targets.
2705 * fixinc/mkfixinc.sh: Likewise.
2706
2707 * config/arm/arm.h: Bit 31 of target_flags is no longer
2708 reserved.
2709
2710 * config/1750a/1750a-protos.h, config/1750a/1750a.c,
2711 config/1750a/1750a.h, config/1750a/1750a.md, config/1750a/ms1750.inc,
2712 config/a29k/a29k-protos.h, config/a29k/a29k.c, config/a29k/a29k.h,
2713 config/a29k/a29k.md, config/a29k/rtems.h, config/a29k/t-a29kbare,
2714 config/a29k/t-vx29k, config/a29k/unix.h, config/a29k/vx29k.h,
2715 config/alpha/osf12.h, config/alpha/osf2or3.h,
2716 config/arm/arm-wince-pe.h, config/arm/arm.h, config/arm/riscix.h,
2717 config/arm/riscix1-1.h, config/arm/rix-gas.h, config/arm/t-riscix,
2718 config/clipper/clipper-protos.h, config/clipper/clipper.c,
2719 config/clipper/clipper.h, config/clipper/clipper.md,
2720 config/clipper/clix.h, config/convex/convex-protos.h,
2721 config/convex/convex.c, config/convex/convex.h,
2722 config/convex/convex.md, config/convex/fixinc.convex,
2723 config/convex/proto.h, config/elxsi/elxsi-protos.h,
2724 config/elxsi/elxsi.c, config/elxsi/elxsi.h, config/elxsi/elxsi.md,
2725 config/i386/386bsd.h, config/i386/aix386.h, config/i386/aix386ng.h,
2726 config/i386/bsd386.h, config/i386/dgux.h, config/i386/djgpp-rtems.h,
2727 config/i386/isc.h, config/i386/iscdbx.h, config/i386/linux-oldld.h,
2728 config/i386/next.h, config/i386/osf1-ci.asm, config/i386/osf1-cn.asm,
2729 config/i386/osf1elf.h, config/i386/osf1elfgdb.h, config/i386/osfelf.h,
2730 config/i386/osfrose.h, config/i386/rtems.h, config/i386/seq-gas.h,
2731 config/i386/seq-sysv3.h, config/i386/seq2-sysv3.h,
2732 config/i386/sequent.h, config/i386/sun.h, config/i386/sun386.h,
2733 config/i386/t-dgux, config/i386/t-next, config/i386/t-osf,
2734 config/i386/t-osf1elf, config/i860/bsd-gas.h, config/i860/bsd.h,
2735 config/i860/fx2800.h, config/i860/i860-protos.h, config/i860/i860.c,
2736 config/i860/i860.h, config/i860/i860.md, config/i860/mach.h,
2737 config/i860/paragon.h, config/i860/sysv3.h, config/i860/sysv4.h,
2738 config/i860/t-fx2800, config/i860/varargs.asm, config/m68k/a-ux.h,
2739 config/m68k/altos3068.h, config/m68k/apollo68.h,
2740 config/m68k/aux-crt1.c, config/m68k/aux-crt2.asm,
2741 config/m68k/aux-crtn.asm, config/m68k/aux-exit.c,
2742 config/m68k/aux-low.gld, config/m68k/aux-mcount.c,
2743 config/m68k/auxas.h, config/m68k/auxgas.h, config/m68k/auxgld.h,
2744 config/m68k/auxld.h, config/m68k/ctix.h, config/m68k/dpx2.h,
2745 config/m68k/dpx2.ifile, config/m68k/dpx2cdbx.h, config/m68k/dpx2g.h,
2746 config/m68k/isi-nfp.h, config/m68k/isi.h, config/m68k/lynx-ng.h,
2747 config/m68k/lynx.h, config/m68k/math-3300.h, config/m68k/news.h,
2748 config/m68k/news3.h, config/m68k/news3gas.h, config/m68k/newsgas.h,
2749 config/m68k/next.h, config/m68k/next21.h, config/m68k/rtems.h,
2750 config/m68k/t-aux, config/m68k/t-lynx, config/m68k/t-next,
2751 config/m68k/x-next, config/m88k/dgux.h, config/m88k/dgux.ld,
2752 config/m88k/dguxbcs.h, config/m88k/dolph.h, config/m88k/dolphin.ld,
2753 config/m88k/luna.h, config/m88k/m88k-coff.h, config/m88k/sysv3.h,
2754 config/m88k/t-bug, config/m88k/t-dgux, config/m88k/t-dgux-gas,
2755 config/m88k/t-dguxbcs, config/m88k/t-dolph, config/m88k/t-m88k-gas,
2756 config/m88k/t-tekXD88, config/m88k/tekXD88.h, config/m88k/tekXD88.ld,
2757 config/mips/bsd-4.h, config/mips/bsd-5.h, config/mips/dec-bsd.h,
2758 config/mips/dec-osf1.h, config/mips/elflorion.h,
2759 config/mips/iris4loser.h, config/mips/mips-5.h, config/mips/news4.h,
2760 config/mips/news5.h, config/mips/nws3250v4.h, config/mips/osfrose.h,
2761 config/mips/svr3-4.h, config/mips/svr3-5.h, config/mips/svr4-4.h,
2762 config/mips/svr4-5.h, config/mips/svr4-t.h, config/mips/t-bsd,
2763 config/mips/t-bsd-gas, config/mips/t-svr3, config/mips/t-svr3-gas,
2764 config/mips/t-svr4, config/mips/t-svr4-gas, config/mips/t-ultrix,
2765 config/mips/ultrix.h, config/nextstep-protos.h, config/nextstep.c,
2766 config/nextstep.h, config/nextstep21.h, config/ns32k/encore.h,
2767 config/ns32k/merlin.h, config/ns32k/pc532-mach.h,
2768 config/ns32k/pc532-min.h, config/ns32k/pc532.h,
2769 config/ns32k/sequent.h, config/ns32k/tek6000.h,
2770 config/ns32k/tek6100.h, config/ns32k/tek6200.h, config/pj/lib1funcs.S,
2771 config/pj/linux.h, config/pj/pj-protos.h, config/pj/pj.c,
2772 config/pj/pj.h, config/pj/pj.md, config/pj/pjl.h, config/pj/t-pj,
2773 config/sparc/rtems.h, config/we32k/we32k-protos.h,
2774 config/we32k/we32k.c, config/we32k/we32k.h, config/we32k/we32k.md:
2775 Delete file.
2776
d595210a 27772002-05-24 Richard Henderson <rth@redhat.com>
2778
2779 * flags.h (TLS_MODEL_GLOBAL_DYNAMIC): Set to 1.
2780 * toplev.c (flag_tls_default) Set to TLS_MODEL_GLOBAL_DYNAMIC.
2781 * config/i386/i386.c (tls_model_chars): Add leading space.
2782 (tls_symbolic_operand): Don't bias by 1.
2783 (legitimize_address): Don't unbias by 1.
2784
236764d9 27852002-05-24 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
2786
2787 * lcm.c (optimize_mode_switching): Change bb used as indices
2788 to bb->index.
2789
a3b9ff4d 27902002-05-24 Richard Henderson <rth@redhat.com>
2791
2792 * config/ia64/ia64.c (ia64_reorg): Use update_life_info instead
2793 of update_life_info_in_dirty_blocks.
2794
22c56c6a 27952002-05-24 Jakub Jelinek <jakub@redhat.com>
2796
2797 PR other/6782
2798 * final.c (get_mem_expr_from_op): Return 0 if op is NULL.
2799
606942e3 28002002-05-24 Neil Booth <neil@daikokuya.demon.co.uk>
2801
2802 PR preprocessor/6780
2803 * cppmacro.c (enter_macro_context): Clear state.angled_headers.
2804
323583a1 28052002-05-24 Jim Blandy <jimb@redhat.com>
2806
2807 * dwarf2out.c (dwarf2out_finish): Don't forget to emit a final
2808 entry with a type code of zero, marking the end of the compilation
2809 unit's macro info.
2810
99c46869 28112002-05-24 Richard Henderson <rth@redhat.com>
2812
41e38a87 2813 * varasm.c (asm_output_bss): Always output one byte.
2814 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
99c46869 2815
e9750a4e 28162002-05-24 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2817
2818 * tree.c (decl_type_context): Return NULL_TREE if decl's context is a
2819 namespace.
2820
29e7390a 28212002-05-24 Andreas Jaeger <aj@suse.de>
2822
2823 * ggc-page.c (alloc_page): Cast variables of type size_t to
2824 unsigned long, adjust printf format string.
2825 (ggc_alloc): Likewise.
2826 (ggc_print_statistics): Likewise.
2827 (ggc_print_statistics): Correct printf format string for SCALE to
2828 use unsigned long.
2829
eec065b5 28302002-05-24 Danny Smith <dannysmith@users.sourceforge.net>
2831
2832 * config/i386/mingw32.h (CPP_SPEC): Remove -remap.
2833
6e957326 28342002-05-23 Gabriel Dos Reis <gdr@codesourcery.com>
41e38a87 2835 Zack Weinberg <zack@codesourcery.com>
6e957326 2836
2837 * config/i386/mingw32.h (OUTPUT_QUOTED_STRING): Properly output
2838 quoted strings.
2839 * dwarf2out.c (lookup_filename): Properly quote filename in .file
29e7390a 2840 directive in assembly file.
6e957326 2841 * config/m68k/dpx2.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
2842 * config/m88k/m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
2843 * config/pj/pj.h (ASM_FILE_START): Likewise.
2844 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
2845 * config/avr/avr.c (asm_file_end): Likewise.
2846 * toplev.c (output_quoted_string): Handle possibly signed plain
29e7390a 2847 char.
6e957326 2848 * toplev.h (output_clean_symbol_name): Declare
2849 * toplev.c (output_clean_symbol_name): Define.
2850 * config/alpha/alpha.c (unicosmk_output_module_name): Use it.
2851 * config/1750a/1750a.h (ASM_FILE_START): Likewise.
2852
b6dc1ff7 28532002-05-24 Alan Modra <amodra@bigpond.net.au>
2854
2855 * config/rs6000/rs6000.c (output_toc): Mask longs to 32 bits.
2856
4c6603bd 28572002-05-23 Vladimir Makarov <vmakarov@redhat.com>
2858
2859 * genautomata.c (reserv_sets_hash_value): Use shift equal to 3/4
2860 of size of unsigned.
2861
2d6788fe 28622002-05-23 Richard Henderson <rth@redhat.com>
2863
2864 * configure.in (HAVE_AS_TLS): New test.
2865 * config.in, configure: Rebuild.
2866 * config/i386/i386.c (TARGET_HAVE_TLS): Set if HAVE_AS_TLS.
2867 (ix86_tls_dialect_string, ix86_tls_dialect): New.
2868 (override_options): Set it.
2869 (tls_model_chars, tls_symbolic_operand): New.
2870 (tls_symbolic_operand_1, global_dynamic_symbolic_operand): New.
2871 (local_dynamic_symbolic_operand, initial_exec_symbolic_operand): New.
2872 (local_exec_symbolic_operand): New.
2873 (get_pic_label_name): Merge into output_set_got.
2874 (ix86_asm_file_end): Emit pic_label_name if defined.
2875 (legitimate_constant_p, constant_address_p): New.
2876 (legitimate_pic_operand_p): New.
2877 (legitimate_pic_address_disp_p): Handle GOTTPOFF, NTPOFF, DTPOFF.
2878 (legitimate_address_p): Likewise.
2879 (ix86_encode_section_info): Rename from i386_; handle tls decls.
2880 (ix86_strip_name_encoding): New.
2881 (get_thread_pointer): New.
2882 (legitimize_address): Handle tls symbols.
2883 (output_pic_addr_const): Handle GOTTPOFF, TPOFF, NTPOFF, DTPOFF.
2884 Remove UNSPEC_PLT.
2885 (struct machine_function): Add some_ld_name.
2886 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): Set it.
2887 (print_operand) [&]: Use it. Handle UNSPEC_TP.
2888 (output_addr_const_extra): New.
2889 (maybe_get_pool_constant): New.
2890 (ix86_split_to_parts): Use it.
2891 (ix86_expand_move): Handle tls symbols.
2892 (ix86_tls_get_addr): New.
2893 * config/i386/i386.h (TARGET_GNU_TLS, TARGET_SUN_TLS): New.
2894 (TARGET_OPTIONS): Add tls-dialect.
2895 (CONSTANT_ADDRESS_P): Use new out-of-line function.
2896 (LEGITIMATE_CONSTANT_P): Likewise.
2897 (LEGITIMATE_PIC_OPERAND_P): Likewise.
2898 (TARGET_STRIP_NAME_ENCODING): New.
2899 (ASM_OUTPUT_LABELREF): New.
2900 (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
2901 (OUTPUT_ADDR_CONST_EXTRA): New.
2902 (PREDICATE_CODES): Update.
2903 (ix86_tls_dialect, ix86_tls_dialect_string): New.
2904 * config/i386/i386.md: Regroup and renumber unspec constants.
2905 (tls_global_dynamic_gnu, tls_global_dynamic_sun): New.
2906 (tls_local_dynamic_base_gnu, tls_local_dynamic_base_sun): New.
2907 (tls_global_dynamic, tls_local_dynamic_base): New.
2908 (tls_local_dynamic_once): New.
2909 * config/i386/i386-protos.h: Update.
2910
f1c96ec2 29112002-05-23 Richard Henderson <rth@redhat.com>
2912
2913 * genemit.c (gen_insn): Print file:lineno comment before function.
2914 (main): likewise.
2915 * gensupport.c (struct queue_elem): Add filename member.
2916 (queue_pattern): Initialize it; update all callers.
2917 (process_include): Don't free filename.
2918 (read_md_rtx): Set read_rtx_filename.
2919
cf5be812 29202002-05-23 Hans Boehm <Hans_Boehm@hp.com>
f1c96ec2 2921
2922 * config/ia64/linux.h (IA64_GATE_AREA_END): Adjust for 64K pages.
cf5be812 2923
38bf9e23 29242002-05-23 Richard Henderson <rth@redhat.com>
2925
2926 * config/i386/i386.c (output_set_got): Fix typo in pic no-deep case.
2927
4facf21c 29282002-05-23 Richard Henderson <rth@redhat.com>
2929
2930 * doc/extend.texi (C++98 Thread-Local Edits): Update with
2931 commentary from Mark.
2932
4c26117a 29332002-05-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2934
2935 * bb-reorder.c (make_reorder_chain, make_reorder_chain_1):
2936 Use FOR_EACH_BB macros to iterate over basic block chain.
2937 * cfg.c (clear_edges, clear_bb_flags, dump_flow_info,
2938 alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges):
2939 Likewise.
2940 * cfganal.c (set_edge_can_fallthru_flag, flow_call_edges_add,
2941 find_unreachable_blocks, create_edge_list, verify_edge_list,
2942 remove_fake_edges, add_noreturn_fake_exit_edges,
2943 flow_preorder_transversal_compute, flow_dfs_compute_reverse_execute):
2944 Likewise.
2945 * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
2946 find_sub_basic_blocks): Likewise.
2947 * cfgcleanup.c (try_optimize_cfg, delete_unreachable_blocks):
2948 Likewise.
2949 * cfglayout.c (record_effective_endpoints, cleanup_unconditional_jumps):
2950 Likewise.
2951 * cfgloop.c (flow_loops_cfg_dump, flow_loops_find):
2952 Likewise.
2953 * cfgrtl.c (compute_bb_for_insn, tidy_fallthru_edges,
2954 commit_edge_insertions, commit_edge_insertions_watch_calls,
2955 print_rtl_with_bb, verify_flow_info, purge_all_dead_edges): Likewise.
2956 * combine.c (combine_instructions, reg_dead_at_p): Likewise.
2957 * conflict.c (conflict_graph_compute): Likewise.
2958 * df.c (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
2959 df_modified_p, df_refs_unlink, df_dump): Likewise.
2960 * dominance.c (calc_dfs_tree, calculate_dominance_info): Likewise.
2961 * final.c (compute_alignments): Likewise.
2962 * flow.c (update_life_info, update_life_info_in_dirty_blocks,
2963 delete_noop_moves, calculate_global_regs_live, allocate_bb_life_data,
2964 count_or_remove_death_notes): Likewise.
2965 * gcse.c (oprs_unchanged_p, record_last_reg_set_info,
2966 compute_hash_table, compute_kill_rd, compute_rd, compute_ae_kill,
2967 classic_gcse, compute_transp, cprop, compute_pre_data,
2968 compute_transpout, invalidate_nonnull_info,
2969 delete_null_pointer_checks_1, delete_null_pointer_checks,
2970 compute_code_hoist_vbeinout, hoist_code, compute_ld_motion_mems,
2971 compute_store_table, build_store_vectors, store_motion): Likewise.
2972 * global.c (global_conflicts, mark_elimination): Likewise.
2973 * graph.c (print_rtl_graph_with_bb): Likewise.
2974 * haifa-sched.c (sched_init): Likewise.
2975 * ifcvt.c (if_convert): Likewise.
2976 * lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
2977 compute_available, compute_nearerout, compute_rev_insert_delete,
2978 optimize_mode_switching): Likewise.
2979 * local-alloc.c (local_alloc, update_equiv_regs): Likewise.
2980 * predict.c (estimate_probability, note_prediction_to_br_prob,
2981 propagate_freq, counts_to_freqs, expensive_function_p,
2982 estimate_bb_frequencies): Likewise.
2983 * profile.c (instrument_edges, get_exec_counts,
2984 compute_branch_probabilities, compute_checksum, branch_prob,
2985 find_spanning_tree): Likewise.
2986 * recog.c (split_all_insns, peephole2_optimize): Likewise.
2987 * reg-stack.c (reg_to_stack, convert_regs_entry, convert_regs):
2988 Likewise.
2989 * regclass.c (scan_one_insn, regclass): Likewise.
2990 * regmove.c (mark_flags_life_zones, regmove_optimize,
2991 record_stack_memrefs): Likewise.
2992 * regrename.c (regrename_optimize, copyprop_hardreg_forward): Likewise.
2993 * reload1.c (reload, reload_combine, fixup_abnormal_edges): Likewise.
2994 * resource.c (find_basic_block): Likewise.
2995 * sched-ebb.c (schedule_ebbs): Likewise.
2996 * sched-rgn.c (is_cfg_nonregular, build_control_flow,
2997 find_single_block_region, find_rgns, schedule_insns)
2998 * sibcall.c (optimize_sibling_and_tail_recursive_call)
2999 * ssa-ccp.c (optimize_unexecutable_edges,
3000 ssa_ccp_df_delete_unreachable_insns): Likewise.
3001 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
3002 * ssa.c (find_evaluations, compute_dominance_frontiers_1,
3003 rename_block, convert_to_ssa, compute_conservative_reg_partition,
3004 compute_coalesced_reg_partition, rename_equivalent_regs,
3005 convert_from_ssa): Likewise.
3006 * config/ia64/ia64.c (emit_predicate_relation_info, process_epilogue,
3007 process_for_unwind_directive): Likewise.
3008
3009 * df.c (FOR_ALL_BBS): Removed.
3010 * gcse.c (struct null_pointer_info): Type of current_block field
3011 changed.
3012 (struct reg_avail_info): Type of last_bb field changed.
3013 * config/ia64/ia64.c (block_num): Removed.
3014 (need_copy_state): Type changed.
3015 (last_block): New.
3016
df64d85e 30172002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
3018
3019 * cppinit.c (mark_named_operators): Split out from init_builtins.
3020 (cpp_finish_options): Call it from here instead.
3021
314bd4cf 30222002-05-23 Jason Thorpe <thorpej@wasabisystems.com>
3023
3024 * builtin-attrs.def: Update copyright years.
3025 (ATTR_NONNULL): New attribute identifier.
3026 (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_3): New
3027 attribute tree lists.
3028 (DEF_FORMAT_ATTRIBUTE): Chain a nonnull attribute for the
3029 format operand.
3030 (ATTR_FORMAT_ARG_1, ATTR_FORMAT_ARG_2): Use...
3031 (DEF_FORMAT_ARG_ATTRIBUTE): ...this to generate format_arg
3032 attribute lists. Chain the appropriate nonnull attribute.
3033 * c-format.c (check_format_arg): Remove null format string
3034 warning.
3035 * testsuite/gcc.dg/format/null-1.c: New test.
3036
0ba0ef70 30372002-05-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3038
3039 * Makefile.in (ADAC): Define.
3040 (SYSLIBS): Define.
3041 (.SUFFIXES): Move before language makefile fragments.
3042 (STAGE2_FLAGS_TO_PASS): Use stage CC as ADAC.
3043
15bccea9 30442002-05-23 Mark Mitchell <mark@codesourcery.com>
3045
3046 * varasm.c (make_decl_rtl): Don't allow weak variables to be
3047 placed in common.
3048
cdd43af8 3049Thu May 23 19:43:41 CEST 2002 Jan Hubicka <jh@suse.cz>
3050
3051 * cfg.c (dump_flow_info): Print results of
3052 maybe_hot/probably_never_executed predicates.
3053 * toplev.c (open_dump_file): Print function frequency.
3054
88bc3f54 30552002-05-23 David S. Miller <davem@redhat.com>
3056
3057 * cse.c (approx_reg_cost_1, approx_reg_cost): Recode to not use
3058 regsets.
3059
dbf6c367 30602002-05-23 Jason Thorpe <thorpej@wasabisystems.com>
3061
3062 * c-common.c (warn_nonnull): Declare.
3063 (c_common_attribute_table): Add "nonnull" attribute.
3064 (handle_nonnull_attribute, check_function_nonnull, nonnull_check_p,
3065 check_nonnull_arg, get_nonnull_operand, check_function_arguments,
3066 check_function_arguments_recurse): New functions.
3067 * c-common.h (warn_nonnull): Declare extern.
3068 (check_function_arguments, check_function_arguments_recurse): New
3069 prototypes.
3070 * c-decl.c (c_decode_option): Add -Wnonnull option.
3071 * c-format.c (set_Wformat): Set warn_nonnull if enabling
3072 format checking.
3073 (format_check_context): New structure.
3074 (check_format_info_recurse): Remove recursion and rename to...
3075 (check_format_arg): ...this. Update comment.
3076 (check_format_info): Use check_function_arguments_recurse.
3077 * c-typeck.c (build_function_call): Call check_function_arguments
3078 instead of check_function_format.
3079 * doc/extend.texi: Document "nonnull" attribute.
3080 * doc/invoke.texi: Docuemnt -Wnonnull option.
3081 * testsuite/gcc.dg/nonnull-1.c: New test.
3082 * testsuite/gcc.dg/nonnull-2.c: New test.
3083
43a852ea 30842002-05-23 David S. Miller <davem@redhat.com>
3085
3086 * basic-block.h (CLEANUP_NO_INSN_DEL): Define it.
3087 * cfgcleanup.c (cleanup_cfg): If it is set do not
3088 attempt to delete trivially dead insns.
3089 * except.c (finish_eh_generation): Pass it to cleanup_cfg.
3090 * toplev.c (rest_of_compilation): Document non-trivial aspect
3091 the RTL before optimize_save_area_alloca is run.
3092
2c64e1a1 30932002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
3094
3095 * c-lex.c (indent_level): Remove.
3096 (cb_file_change, c_lex): Remove indent level handling.
3097 * c-lex.h (indent_level): Remove.
3098 * input.h (struct file_stack): Remove indent_level.
3099 * toplev.c (push_srcloc): Remove indent_level handling.
3100
b478fd74 31012002-05-23 Jakub Jelinek <jakub@redhat.com>
3102
3103 PR target/6753
3104 * config/i386/i386.md (sse_movdfcc, sse_movdfcc_eq): Use Y instead
3105 of x in constraints for clarity.
3106 (sse_mov?fcc split): abort if op2 == op3.
3107 (sse_movsfcc_const0_1, sse_movsfcc_const0_2, sse_movsfcc_const0_3,
3108 sse_movsfcc_const0_4): Add earlyclobber.
3109 (sse_movdfcc_const0_1, sse_movdfcc_const0_2, sse_movdfcc_const0_3,
3110 sse_movdfcc_const0_4): Likewise. Use DFmode, not SFmode.
3111 Use Y instead of x in constraints.
3112
d25a2a8c 31132002-05-23 Richard Henderson <rth@redhat.com>
3114
abf68e10 3115 * doc/extend.texi (C99 Thread-Local Edits): New subsection.
3116 (C++98 Thread-Local Edits): New subsection.
3117
d25a2a8c 3118 * config/i386/i386.c, config/i386/i386.h: Tidy comments and whitespace.
3119 (ix86_arch): Set type to enum processor_type.
3120
29e7390a 3121 * config/i386/i386.md (movsi_1, movdi_1_rex64): Use
d25a2a8c 3122 LEGITIMATE_PIC_OPERAND_P not SYMBOLIC_CONST.
3123
1aa4bbf2 31242002-05-23 Jakub Jelinek <jakub@redhat.com>
3125
3126 * configure.in: Fix as version test for binutils 2.12.1 releases
3127 (without dates).
3128 * configure: Rebuilt.
3129
2b8ca299 31302002-05-23 Richard Henderson <rth@redhat.com>
3131
3132 * config/i386/i386.c (get_pic_label_name): New.
3133 (load_pic_register): Remove.
3134 (output_set_got): New.
3135 (ix86_expand_prologue): Use gen_set_got; mark insn REG_MAYBE_DEAD.
3136 * config/i386/i386.md (UNSPEC_SET_GOT): New.
3137 (UNSPECV_PROLOGUE_SET_GOT, UNSPECV_PROLOGUE_GET_PC): Remove.
3138 (prologue_set_got, prologue_get_pc): Remove.
3139 (set_got, set_got_nopic, set_got_deep, set_got_nodeep): New.
3140 (builtin_setjmp_receiver): Use gen_set_got.
3141 * config/i386/i386-protos.h: Update.
3142
f993b230 3143Thu May 23 09:22:23 CEST 2002 Jan Hubicka <jh@suse.cz>
3144
3145 * gcse.c (hash_expr): Do not use alias set for hashing.
3146
d251e975 31472002-05-22 Kevin Buettner <kevinb@redhat.com>
3148
3149 * dbxout.c (dbxout_class_name_qualifiers): New function.
3150 (dbxout_symbol): Output class/struct qualifiers for a .stabs entry.
3151
b9093358 31522002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
3153
3154 * cpperror.c (_cpp_begin_message): No special casing
3155 of CPP_FATAL_LIMIT.
3156 * cppinit.c (sanity_checks): s/DL_FATAL/DL_ICE/.
3157 (output_deps, cpp_handle_option, cpp_post_options): Use DL_ERROR.
3158 * cpplib.c (do_include_common): Use DL_ERROR.
3159 * cpplib.h (CPP_FATAL_LIMIT, CPP_FATAL_ERRORS, DL_FATAL): Remove.
3160 (DL_ICE): Renumber.
3161 * fix-header.c (read_scan_file): Update.
3162
a3c9b3b6 31632002-05-22 Richard Henderson <rth@redhat.com>
3164
3165 * config/i386/i386.c (ix86_expand_call): New function, extracted
3166 from md call patterns. Add pic_offset_table_rtx to
3167 CALL_INSN_FUNCTION_USAGE when needed.
3168 * config/i386/i386.md (call_pop, call): Use ix86_expand_call.
3169 (call_value_pop, call_value, untyped_call): Likewise.
3170 (call_exp, call_value_exp): Remove.
3171 * config/i386/i386-protos.h: Update.
3172
81c8f37e 31732002-05-22 Richard Henderson <rth@redhat.com>
3174
3175 * varasm.c (default_section_type_flags): Check for VAR_DECL
3176 before using DECL_THREAD_LOCAL.
3177
17fb2af4 31782002-05-22 David Edelsohn <edelsohn@gnu.org>
3179
3180 * config/rs6000/aix43.h (LINK_SPEC): Add PE initializer.
3181 (STARTFILE_SPEC): Delete PE crt0.o.
3182 * config/rs6000/aix51.h: Same.
3183 * config/rs6000/rs6000.c: Use TARGET_XCOFF, not OBJECT_FORMAT_COFF.
3184 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Append [DS] to
3185 function descriptor symbol. Use RS6000_OUTPUT_BASENAME.
3186 (ASM_OUTPUT_DEF_FROM_DECLS): Use RS6000_OUTPUT_BASENAME.
3187 * config/rs6000/xcoff.h (ASM_OUTPUT_DEF): Define.
3188
1a201dc6 31892002-05-22 Richard Henderson <rth@redhat.com>
3190
3191 * varasm.c (default_section_type_flags): Handle tls data and
3192 default sections.
3193 (default_unique_section): Handle tls sections.
3194
4ae4e5e8 31952002-05-23 Alan Modra <amodra@bigpond.net.au>
3196
3197 * configure.in (CROSS): Define NATIVE_CROSS.
3198 * configure: Regenerate.
3199 * gcc.c (STARTFILE_PREFIX_SPEC): Define.
3200 (startfile_prefix_spec): New var.
3201 (static_specs): Add startfile_prefix_spec.
3202 (do_spec_2): Split out from..
3203 (do_spec): ..here.
3204 (main): Process startfile_prefix_spec.
3205 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC) Change name of
3206 dynamic linker.
3207 (STARTFILE_PREFIX_SPEC): Define.
3208 (STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Rewrite without
41e38a87 3209 absolute paths.
4ae4e5e8 3210
b1a9ff83 32112002-05-22 Kazu Hirata <kazu@cs.umass.edu>
3212
3213 * cpperror.c: Fix formatting.
3214 * cppexp.c: Likewise.
3215 * cppfiles.c: Likewise.
3216 * cpphash.c: Likewise.
3217 * cpphash.h: Likewise.
3218 * cppinit.c: Likewise.
3219 * cpplex.c: Likewise.
3220 * cpplib.c: Likewise.
3221 * cppmacro.c: Likewise.
3222 * cppmain.c: Likewise.
3223 * cppspec.c: Likewise.
3224
b87d7646 32252002-05-22 Jakub Jelinek <jakub@redhat.com>
3226
3227 * combine.c (force_to_mode): Use gen_int_mode.
3228 Don't clear CONST_INT bits outside of mode.
3229
4a2f5ba2 32302002-05-22 Richard Henderson <rth@redhat.com>
3231
3232 * fixinc/inclhack.def (thread_keyword): Match __thread as last arg.
3233 * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
3234
40c4e66e 32352002-05-22 Jakub Jelinek <jakub@redhat.com>
3236
3237 PR c/6643
3238 * emit-rtl.c (widen_memory_access): Only call compare_tree_int
3239 if DECL_SIZE_UNIT is INTEGER_CST.
3240
6ce48f9b 32412002-05-22 Richard Henderson <rth@redhat.com>
3242
3243 * flow.c (life_analysis): Delete broken reg_label check.
3244
472b5cb1 32452002-05-22 Richard Henderson <rth@redhat.com>
3246
3247 * fixinc/inclhack.def (thread_keyword): Allow as any prototype arg.
3248 * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
3249
e184feda 3250Wed May 22 18:39:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
e3286780 3251
3252 * t-sh (LIB2FUNCS_EXTRA): Now embed-bb.c.
3253 (embed-bb.c): New rule.
e184feda 3254 * t-sh64 (LIB2FUNCS_EXTRA): Don't change.
e3286780 3255 * config/sh/embed_bb.c: Delete.
3256
e184feda 3257Wed May 22 18:25:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
3258
3259 * c-common.c (cb_register_builtins): Don't indent '#' of #define.
3260
9052cb60 32612002-05-22 Kazu Hirata <kazu@cs.umass.edu>
3262
3263 * config/h8300/h8300.md (*andorqi3): New.
3264
dd436eaf 32652002-05-22 Neil Booth <neil@daikokuya.demon.co.uk>
3266
3267 PR preprocessor/6517
3268 * Makefile.in: Update.
3269 * c-common.c (c_common_post_options): Add preprocessor
3270 errors to the error count.
3271 * c-lang.c (c_post_options): Kill.
3272 (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
3273 * hooks.h: Add header guards.
3274 * langhooks-def.h: Include hooks.h.
3275 (LANG_HOOKS_POST_OPTIONS): Update.
3276 * langhooks.h (struct lang_hooks): Update post_options.
3277 * toplev.c (parse_options_and_default_flags): Update.
3278objc:
3279 * objc-lang.c (objc_post_options): Kill.
3280 (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
3281
0c0bfc96 32822002-05-21 Bruce Korb <bkorb@gnu.org>
3283
3284 * fixinc/tests/base/pthread.h(THREAD_KEYWORD_CHECK): add fix check
bfdbdaf0 3285 * fixinc/inclhack.def(thread_keyword): use c_fix = format.
3286 * fixinc/fixincl.x: regen.
0c0bfc96 3287
db34a109 32882002-05-21 Kazu Hirata <kazu@cs.umass.edu>
3289
3290 * cfgbuild.c: Fix formatting.
3291 * cfg.c: Likewise.
3292 * cfgcleanup.c: Likewise.
3293 * cfglayout.c: Likewise.
3294 * cfgloop.c: Likewise.
3295 * cfgrtl.c: Likewise.
3296
2a6f0f81 32972002-05-21 Richard Henderson <rth@redhat.com>
3298
3299 * c-common.h (enum rid): Add RID_THREAD.
3300 * c-decl.c (start_decl): Do not set DECL_COMMON for tls variables.
3301 (grokdeclarator): Grok __thread.
3302 * c-parse.in (reswords): Add __thread.
3303 (rid_to_yy): Add RID_THREAD.
3304
3305 * tree.h (DECL_THREAD_LOCAL): New.
3306 (struct tree_decl): Add thread_local_flag.
3307 * print-tree.c (print_node): Dump DECL_THREAD_LOCAL.
3308 * tree.c (staticp): TLS variables are not static.
3309
3310 * target-def.h (TARGET_HAVE_TLS): New.
3311 * target.h (have_tls): New.
3312 * output.h (SECTION_TLS): New.
3313 * varasm.c (assemble_variable): TLS variables can't be common for now.
3314 (default_section_type_flags): Handle .tdata and .tbss.
3315 (default_elf_asm_named_section): Handle SECTION_TLS.
3316 (categorize_decl_for_section): Handle DECL_THREAD_LOCAL.
3317
3318 * flags.h (flag_tls_default): Declare.
3319 * toplev.c (flag_tls_default): Define.
3320 (display_help): Display help for it.
3321 (decode_f_option): Set it.
3322
3323 * doc/extend.texi (Thread-Local): New node describing language-level
3324 thread-local storage.
3325 * doc/invoke.texi (-ftls-model): Document.
3326
3327 * fixinc/inclhack.def (thread_keyword): New.
3328 * fixinc/fixincl.x: Rebuild.
3329
90eb65aa 33302002-05-21 Jeffrey A Law <law@redhat.com>
3331
29e7390a 3332 * optabs.c (expand_binop): For double-word integer multiplies,
e22b1f65 3333 do not compute intermediate results into something that is
3334 not a register (such as a SUBREG or MEM).
3335
90eb65aa 3336 * i386.c (ix86_sched_reorder_ppro): Fix typo/thinko.
3337 (ix86_sched_reorder): Make sure to initialize scheduling
3338 data even when there's only one insn in the ready queue.
3339
490aba6d 33402002-05-21 Vladimir Makarov <vmakarov@redhat.com>
3341
3342 * genautomata.c (reserv_sets_hash_value): Fix a typo.
3343
8d578a5b 33442002-05-21 Vladimir Makarov <vmakarov@redhat.com>
3345
3346 * genautomata.c (reserv_sets_hash_value): Define hash_value as
3347 set_el_t. Transform the hash value into unsigned.
3348 (output_cycle_reservs): Fix bug with output of repeated `nothing'.
3349 (transform_3): Add code to process `(A,B)+(D,E)'.
3350
752fbe10 33512002-05-21 NIIBE Yutaka <gniibe@m17n.org>
3352
3353 * reload1.c (do_output_reload): Run delete_output_reload
3354 only if optimizing.
3355
d1f6ae0c 33562002-05-21 Roger Sayle <roger@eyesopen.com>
3357
3358 PR middle-end/6600
3359 * expr.c (STORE_MAX_PIECES): New macro to avoid immediate constants
3360 larger than INTEGER_CST. (store_by_pieces_1): Use it here...
3361 (can_store_by_pieces): ... and here to limit the largest mode used.
3362 Add a comment to document this function.
3363
c249c299 33642002-05-21 Richard Henderson <rth@redhat.com>
3365
3366 * flow.c (life_analysis): Fix test for deleted label.
3367
4fa57f2d 33682002-05-21 Neil Booth <neil@daikokuya.demon.co.uk>
3369
3370 * doc/tm.texi: Fix typo.
3371
965e9876 33722002-05-21 Zack Weinberg <zack@codesourcery.com>
3373
3374 * c-common.c (c_common_init): Set options->unsigned_char from
3375 flag_signed_char.
3376 (cb_register_builtins): Define __STRICT_ANSI__ and
3377 __CHAR_UNSIGNED__ here...
3378 * cppinit.c (init_builtins): Not here.
3379 (cpp_create_reader): unsigned_char option defaults to 0, not
3380 !DEFAULT_SIGNED_CHAR.
3381 (COMMAND_LINE_OPTIONS, cpp_handle_option): Lose -fsigned-char
3382 and -funsigned-char.
3383
3384 * cpphash.h (struct spec_nodes): Kill n__STRICT_ANSI__.
3385 * cpphash.c (_cpp_init_hashtable): Don't set it.
3386 * cppmacro.c (builtin_macro) [BT_STDC]: Use the language setting
3387 directly. Clarify comment.
3388
f7fd47b9 33892002-05-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
965e9876 3390
84ac08a4 3391 * bb-reorder.c (make_reorder_chain_1): Use prev_bb/next_bb to get to
3392 neighbouring basic blocks. Use ENTRY_BLOCK_PTR->next_bb instead of
3393 BASIC_BLOCK (0). Use EXIT_BLOCK_PTR->prev_bb instead of
3394 BASIC_BLOCK (n_basic_blocks - 1).
f7fd47b9 3395 * cfganal.c (can_fallthru, flow_call_edges_add,
84ac08a4 3396 flow_preorder_transversal_compute): Too.
f7fd47b9 3397 * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
84ac08a4 3398 find_sub_basic_blocks): Too.
3399 * cfgcleanup.c (try_simplify_condjump, try_optimize_cfg): Too.
f7fd47b9 3400 * cfglayout.c (skip_insns_after_block, fixup_reorder_chain,
84ac08a4 3401 fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge): Too.
3402 * cfgrtl.c (tidy_fallthru_edges, verify_flow_info): Too.
f7fd47b9 3403 * combine.c (this_basic_block): Type changed to basic_block.
3404 (combine_instructions, set_nonzero_bits_and_sign_copies, try_combine,
3405 nonzero_bits, num_sign_bit_copies, get_last_value_validate,
84ac08a4 3406 get_last_value, distribute_notes, distribute_links): Too.
3407 * final.c (compute_alignments): Too.
3408 * flow.c (regno_uninitialized, regno_clobbered_at_setjmp): Too.
3409 * function.c (thread_prologue_and_epilogue_insns): Too.
3410 * gcse.c (compute_code_hoist_vbeinout): Too.
3411 * global.c (build_insn_chain): Too.
3412 * ifcvt.c (find_if_block, find_cond_trap): Too.
3413 * predict.c (last_basic_block_p, note_prediction_to_br_prob): Too.
3414 * regmove.c (regmove_optimize): Too.
3415 * resource.c (find_basic_block): Too.
3416 * sched-ebb.c (schedule_ebbs): Too.
3417 * ssa-dce.c (find_control_dependence, find_pdom): Too.
f7fd47b9 3418
e4ab85e6 34192002-05-21 Andreas Jaeger <aj@suse.de>
3420
3421 * cppinit.c (sanity_checks): Avoid printf mismatch warnings.
3422
372310d2 34232002-05-21 Richard Henderson <rth@redhat.com>
3424
3425 * reg-stack.c (swap_rtx_condition, subst_stack_regs_pat): Use
3426 unspec names, not numbers.
3427
ecf4b7b8 34282002-05-21 Joseph S. Myers <jsm28@cam.ac.uk>
3429
3430 * doc/sourcebuild.texi: Mention snapshot-README and
3431 snapshot-index.html as needing updating for new front ends.
3432
8d780c0b 34332002-05-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3434
3435 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): Avoid warnings when
3436 disabling checking, and avoid multiple evaluation of RTX.
3437
9a3823f4 34382002-05-21 Richard Earnshaw <rearnsha@arm.com>
3439
3440 * bitmap.c (bitmap_find_bit): Return early if we have the correct
3441 element cached.
3442
4c45e018 3443Tue May 21 10:51:54 CEST 2002 Jan Hubicka <jh@suse.cz>
3444
3445 * profile.c (gen_edge_profiler): Set alias set before the memory is
3446 used.
3447
362ed03f 34482002-05-20 David S. Miller <davem@redhat.com>
3449
3450 * cselib.c (max_value_regs): New.
3451 (cselib_lookup, cselib_invalidate_regno): Initialize it when
3452 adding new entries to the REG_VALUES table and we are dealing with
3453 a hard register.
3454 (clear_table): Initialize it.
3455 (cselib_invalidate_regno): Use it to determine which hard
3456 registers to scan when mode is not VOIDmode.
3457
e4ab85e6 34582002-05-20 Duraid Madina <duraid@fl.net.au>
4a1b94fc 3459
3460 * tradcpp.c (fixup_newlines): Use old-style function header.
3461
b213eefe 34622002-05-20 Krister Walfridsson <cato@df.lth.se>
3463
3464 * reload1.c (reload_cse_simplify): Fix typo in rtx code check.
3465
6cddbfd4 34662002-05-20 H.J. Lu (hjl@gnu.org)
3467
3468 Base on suggestions from Zhang Fuxin <fxzhang@ict.ac.cn>:
3469
3470 * config/mips/mips.h (DFMODE_NAN): Defined.
3471 (SFMODE_NAN): Likewise.
3472
1549464a 34732002-05-20 Dale Johannesen <dalej@apple.com>
6cddbfd4 3474
965e9876 3475 * combine.c (cant_combine_insn_p): Back out my
3476 previous patch.
1549464a 3477
195731ad 34782002-05-20 Kazu Hirata <kazu@cs.umass.edu>
3479
3480 * params.c: Fix formatting.
3481 * params.h: Likewise.
3482 * predict.c: Likewise.
3483 * prefix.c: Likewise.
3484 * print-rtl.c: Likewise.
3485 * print-tree.c: Likewise.
3486 * profile.c: Likewise.
3487
b0486b55 34882002-05-20 H.J. Lu (hjl@gnu.org)
3489
3490 * gcc/config/mips/linux.h (SDB_DEBUGGING_INFO): Undefine.
3491
a454f6a0 34922002-05-20 Nick Clifton <nickc@cambridge.redhat.com>
3493
3494 * config/arm/arm-wince-pe.h (ASM_SPEC): Pass -mcpu and -march
3495 switches straight on to the assembler, do not abbreviate them.
3496 * config/arm/elf.h (ASM_SPEC): As above.
3497 * config/arm/semi.h (ASM_SPEC): As above.
3498 * config/arm/unknown-elf-oabi.h (ASM_SPEC): As above.
3499 * config/arm/xscale-coff.h (SUBTARGET_ASM_SPEC): Pass
3500 -mcpu=xscale on to the assembler by default.
3501 * config/arm/xscale-elf.h (SUBTARGET_ASM_SPEC): As above.
3502
755ffada 35032002-05-20 Richard Henderson <rth@redhat.com>
3504
3505 * cse.c (canon_hash): Reorder do_not_record test. Always
3506 allow pic_offset_table_rtx.
3507
1f4eab62 35082002-05-19 Toon Moene <toon@moene.indiv.nluug.nl>
3509
3510 * optabs.c (expand_cmplxdiv_wide): Use complex_part_zero_p.
3511 (expand_binop): Ditto (3 times).
3512
7f52823c 35132002-05-19 Mark Mitchell <mitchell@doubledemon.codesourcery.com>
3514
3515 * Makefile.in (distclean): Remove QMTest stuff.
3516 (QMTEST_PATH): New variable.
3517 (QMTESTFLAGS): Likewise.
3518 (QMTESTRUNFLAGS): Likewise.
3519 (QMTEST): Likewise.
3520 (QMTEST_GPP_TESTS): Likewise.
3521 (QMTEST_DIR): Likewise.
3522 (QMTEST_DIR/context): New target.
3523 (qmtest-g++): Likeise.
3524 (qmtest-gui): Likewise.
3525 (QMTEST_DIR/gpp-expected.qmr): Likewise.
3526
018ca13c 35272002-05-19 Aldy Hernandez <aldyh@redhat.com>
3528
965e9876 3529 * config/rs6000/rs6000.h (FUNCTION_VALUE): Only return vectors in
3530 an altivec register if TARGET_ALTIVEC.
018ca13c 3531
965e9876 3532 * config/rs600/rs6000.c (rs6000_emit_move): Change VECTOR_MODE_P
3533 to ALTIVEC_VECTOR_MODE.
3534 (rs6000_va_arg): Only vectors of type AltiVec are 16 byte aligned.
3535 (rs6000_va_arg): Vectors may go in registers if they are not
3536 altivec vectors.
018ca13c 3537
507baee5 35382002-05-19 Kazu Hirata <kazu@cs.umass.edu>
3539
3540 * protoize.c: Fix formatting.
3541
c93cef3a 35422002-05-19 Richard Henderson <rth@redhat.com>
3543
3544 * gensupport.c (init_include_reader): Merge into ...
3545 (process_include): ... here. Simplify composite path creation.
3546 Plug memory leaks. Fix file/line number tracking. Do not
3547 process_define_cond_exec. Return void.
3548 (process_rtx): Don't check process_include return value.
3549
7fa55aef 35502002-05-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3551
3552 * basic_block.h (struct basic_block_def): Added prev_bb and next_bb
3553 fields.
3554 (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
3555 traversing basic block chain.
3556 (create_basic_block_structure, create_basic_block): Declaration changed.
3557 (link_block, unlink_block): Declare.
3558 * cfg.c (entry_exit_blocks): Initialize new fields.
3559 (link_block, unlink_block): New.
3560 (expunge_block_nocompact): Unlink basic block.
3561 (dump_flow_info): Print prev_bb/next_bb fields.
3562 * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Modified.
3563 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Modified.
3564 * cfglayout.c (fixup_reorder_chain, cfg_layout_duplicate_bb): Modified.
3565 * cfgrtl.c (create_basic_block_structure, create_basic_block,
3566 split_block, force_nonfallthru_and_redirect, split_edge): Modified.
3567 (verify_flow_info): Check that list agrees with numbering.
3568
08eedad6 35692002-05-19 Neil Booth <neil@daikokuya.demon.co.uk>
3570
3571 * c-common.c (preprocessing_asm): New macro.
3572 * c-lex.h (builtin_define, builtin_assert): Use pfile.
3573doc:
3574 * tm.texi: Update.
3575config/alpha:
3576 * alpha.h (CPLUSPLUS_CPP_SPEC): Remove.
3577 (CPP_SPEC): Simplify.
3578 (TARGET_CPU_CPP_BUILTINS): Update.
3579 * freebsd.h (TARGET_OS_CPP_BUILTINS): New.
3580 (CPP_SPEC): Simplify.
3581 * linux.h (CPLUSPLUS_CPP_SPEC): Remove.
3582 (TARGET_OS_CPP_BUILTINS): Update.
3583 * osf.h (CPP_XFLOAT_SPEC): Kill.
3584 (TARGET_OS_CPP_BUILTINS): Update.
3585 (CPP_SUBTARGET_SPEC, SUBTARGET_EXTRA_SPECS): Simplify.
3586 * osf5.h (CPP_XFLOAT_SPEC): Kill.
3587 * vms.h (CPP_SUBTARGET_SPEC): Kill.
3588 (TARGET_OS_CPP_BUILTINS): Update.
3589
eb2c0385 35902002-05-19 Richard Henderson <rth@redhat.com>
3591
3592 * varasm.c (default_binds_local_p): Fix typo.
3593
f4d3a3e0 35942002-05-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
3595
3596 * config/avr/avr.c (machine_dependent_reorg): Sign extend the
3597 CONST_INT operand to the correct mode after adding 1 to it.
3598
16d627c6 35992002-05-19 Mark Mitchell <mark@codesourcery.com>
3600
3601 * config.gcc (powerpc-wrs-windiss*): New target.
3602
5ccbc357 36032002-05-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3604
3605 * config/rs6000/rs6000.md (ashrdi3_no_power): New.
3606 (ashrdi3): Use it.
3607
e98fb73e 36082002-05-18 Mark Mitchell <mark@codesourcery.com>
3609
3610 * configure.in (AC_CHECK_FUNCS): Add checks for scandir and
3611 alphasort.
3612 * config.in: Regenerated.
3613 * configure: Regenerated.
3614
33459320 36152002-05-19 Richard Henderson <rth@redhat.com>
3616
3617 * target-def.h (TARGET_BINDS_LOCAL_P): New.
3618 * target.h (struct gcc_target): Move boolean fields to the end.
3619 Add binds_local_p.
3620 * varasm.c (default_binds_local_p): New.
3621 * output.h: Declare it.
3622
3623 * config/alpha/alpha.c (alpha_encode_section_info): Use the new hook.
3624 * config/cris/cris.c (cris_encode_section_info): Likewise.
3625 * config/i386/i386.c (i386_encode_section_info): Likewise.
3626 * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
3627 * config/sh/sh.c (sh_encode_section_info): Likewise.
3628
3629 * doc/tm.texi (TARGET_IN_SMALL_DATA_P): New.
3630 (TARGET_BINDS_LOCAL_P): New.
3631
43db11ad 36322002-05-19 Richard Henderson <rth@redhat.com>
3633
3634 * system.h (BLOCK_PROFILER, BLOCK_PROFILER_CODE,
3635 FUNCTION_BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER_EXIT,
3636 MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Poison.
3637
3638 * toplev.c (display_help): Kill -a -ax help.
3639
e4ab85e6 3640 * config/1750a/1750a.h, config/alpha/alpha.h,
43db11ad 3641 config/clipper/clipper.h, config/dsp16xx/dsp16xx.h,
3642 config/h8300/h8300.h, config/i960/i960.h, config/m68k/tower-as.h,
3643 config/m88k/m88k.h, config/vax/vax.h, config/we32k/we32k.h:
3644 (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Kill.
3645
3646 * libgcc2.c [L_bb] (BLOCK_PROFILER_CODE): Kill.
3647 * config/m68k/sun3.h (BLOCK_PROFILER_CODE): Kill.
3648
3649 * config/i386/i386-protos.h (ix86_output_block_profiler): Kill.
3650 (ix86_output_function_block_profiler): Kill.
3651 * config/m68hc11/m68hc11.c (m68hc11_block_profiler): Kill.
3652 (m68hc11_function_block_profiler): Kill.
3653 * config/m68hc11/m68hc11-protos.h: Update.
3654 * config/m88k/m88k.c (output_block_profiler): Kill.
3655 (output_function_block_profiler): Kill.
3656 * config/m88k/m88k-protos.h: Update.
3657
7b4a38a6 36582002-05-19 Richard Henderson <rth@redhat.com>
3659
3660 * system.h (STRIP_NAME_ENCODING): Poison it.
3661 * output.h (STRIP_NAME_ENCODING): Remove.
3662 (default_strip_name_encoding): Declare.
3663 * target-def.h (TARGET_STRIP_NAME_ENCODING): New.
3664 * target.h (strip_name_encoding): New.
3665 * varasm.c (default_strip_name_encoding): New.
3666
3667 * dwarf2asm.c, varasm.c, config/darwin.c, config/darwin.h,
3668 config/alpha/alpha.c, config/arm/pe.c, config/avr/avr.c,
3669 config/cris/cris.c, config/i386/cygwin.h, config/i386/interix.c,
3670 config/i386/winnt.c, config/m32r/m32r.h, config/mcore/mcore-elf.h,
3671 config/mcore/mcore-pe.h, config/mcore/mcore.c, config/mcore/mcore.h,
3672 config/mips/mips.c, config/mn10200/mn10200.h, config/mn10300/mn10300.h,
3673 config/pa/pa.c, config/pa/pa.h, config/pa/som.h,
3674 config/rs6000/rs6000.c, config/rs6000/sysv4.h, config/rs6000/xcoff.h,
3675 config/v850/v850.h: Use the hook, not the macro.
3676
3677 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
3678 config/alpha/alpha.c, config/alpha/alpha.h, config/h8300/h8300.c,
3679 config/h8300/h8300.h, config/i386/cygwin.h, config/i386/i386-interix.h,
3680 config/i386/i386-protos.h, config/i386/win32.h, config/i386/winnt.c,
3681 config/ia64/ia64.c, config/ia64/ia64.h, config/m32r/m32r.c,
3682 config/m32r/m32r.h, config/mcore/mcore.c, config/mcore/mcore.h,
e4ab85e6 3683 config/pa/pa.c, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
7b4a38a6 3684 config/rs6000/xcoff.h, config/sh/sh.c, config/sh/sh.h,
3685 config/v850/v850.c, config/v850/v850.h:
3686 Move STRIP_NAME_ENCODING to out-of-line function and add
3687 TARGET_STRIP_NAME_ENCODING.
3688
3689 * config/arm/arm.c, config/arm/arm.h, config/mmix/mmix-protos.h,
3690 config/mmix/mmix.c, config/mmix/mmix.h: Replace STRIP_NAME_ENCODING
3691 with TARGET_STRIP_NAME_ENCODING referencing existing function;
3692 make function static.
3693
3694 * xcoffout.c: Include target.h
3695 * Makefile.in (xcoffout.o): Update.
3696
3697 * config/avr/avr.c (avr_encode_section_info): Correct prototype.
3698 * config/avr/avr.h (STRIP_NAME_ENCODING): Remove.
3699 * config/rs6000/rs6000.c (rs6000_xcoff_unique_section): Mark
3700 reloc argument unused.
3701 * config/sh/sh.c (TARGET_ENCODE_SECTION_INFO): New.
3702
3703 * doc/tm.texi (TARGET_STRIP_NAME_ENCODING): Update from previous
3704 STRIP_NAME_ENCODING docs.
3705
307e368b 37062002-05-19 Andreas Jaeger <aj@suse.de>
3707
3708 * gengenrtl.c: Add prototype for excluded_rtx.
3709
3710 * real.h: Add prototype for exact_real_truncate.
3711
7811991d 37122002-05-18 Richard Henderson <rth@redhat.com>
3713
3714 * system.h (ENCODE_SECTION_INFO): Poison it.
3715 * target-def.h (TARGET_ENCODE_SECTION_INFO): New.
3716 * target.h (encode_section_info): New.
3717 * varasm.c (make_decl_rtl, output_constant_def): Use it.
3718 * hooks.c (hook_tree_int_void): New.
3719 * hooks.h: Declare it.
3720
3721 * config/darwin.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
3722 config/alpha/alpha.h, config/arm/pe.h, config/avr/avr-protos.h,
3723 config/avr/avr.c, config/avr/avr.h, config/c4x/c4x-protos.h,
3724 config/c4x/c4x.c, config/c4x/c4x.h, config/cris/cris-protos.h,
3725 config/cris/cris.c, config/cris/cris.h, config/i386/cygwin.h,
3726 config/i386/win32.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
3727 config/ia64/ia64.h, config/m32r/m32r-protos.h, config/m32r/m32r.c,
3728 config/m32r/m32r.h, config/m68hc11/m68hc11-protos.h,
3729 config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
3730 config/mcore/mcore-protos.h, config/mcore/mcore.c,
3731 config/mcore/mcore.h, config/mmix/mmix-protos.h, config/mmix/mmix.c,
3732 config/mmix/mmix.h, config/rs6000/rs6000-protos.h,
3733 config/rs6000/sysv4.h, config/stormy16/stormy16-protos.h,
3734 config/stormy16/stormy16.c, config/stormy16/stormy16.h:
3735 Replace ENCODE_SECTION_INFO with TARGET_ENCODE_SECTION_INFO
3736 referencing existing function. Make function static.
3737
3738 * config/a29k/a29k.c, config/a29k/a29k.h, config/arc/arc.c,
307e368b 3739 config/arc/arc.h, config/arm/arm.c, config/arm/arm.h,
7811991d 3740 config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
3741 config/i370/i370.h, config/i386/i386-interix.h, config/i386/i386.c,
3742 config/i386/i386.h, config/i386/interix.c, config/m88k/m88k.c,
307e368b 3743 config/m88k/m88k.h, config/mips/mips.c, config/mips/mips.h,
7811991d 3744 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa.c,
3745 config/pa/pa.h, config/romp/romp.c, config/romp/romp.h,
3746 config/rs6000/linux64.h, config/rs6000/xcoff.h, config/s390/s390.c,
3747 config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
307e368b 3748 config/sparc/sparc.c, config/sparc/sparc.h, config/v850/v850.c,
7811991d 3749 config/v850/v850.h, config/vax/vax.c, config/vax/vms.h,
3750 config/xtensa/xtensa.c, config/xtensa/xtensa.h:
3751 Move ENCODE_SECTION_INFO to out-of-line function and add
3752 TARGET_ENCODE_SECTION_INFO.
3753
3754 * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Use hook, not macro.
3755 (ASM_DECLARE_OBJECT_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
3756
3757 * config/arm/pe.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Rename
3758 from SUBTARGET_*
3759 (switch_to_section): Replace in_rdata case with in_readonly_data.
3760
3761 * config/h8300/h8300.c (h8300_encode_label): Make static.
3762 * config/h8300/h8300-protos.h: Update.
3763
3764 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Rename
3765 from rs6000_encode_section_info; make static.
3766 (rs6000_xcoff_encode_section_info): New.
3767
3768 * config/v850/v850.c (v850_encode_data_area): Make static.
3769 * config/v850/v850-protos.h: Update.
3770
3771 * config/vax/vax.c: Include flags.h.
3772 (vms_select_section): Fix typo.
3773
3774 * doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update from previous
3775 ENCODE_SECTION_INFO docs.
3776
7e4d3bd6 37772002-05-18 Richard Henderson <rth@redhat.com>
3778
3779 * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Rename from
3780 REGISTER_TARGET_PRAGMAS.
3781 * config/rs6000/darwin.h (REGISTER_TARGET_PRAGMAS): Redefine.
3782
a48368df 3783 * config.gcc: Do not use rs6000-c.c on powerpc-darwin.
3784
bbfbe351 37852002-05-18 Richard Henderson <rth@redhat.com>
3786
3787 * system.h (SELECT_RTX_SECTION): Poison.
3788 * target-def.h (TARGET_ASM_SELECT_RTX_SECTION): New.
3789 * target.h (select_rtx_section): New.
3790 * varasm.c (output_constant_pool): Use it.
3791 (default_select_rtx_section, default_elf_select_rtx_section): New.
3792 * output.h: Declare them.
3793
3794 * config/darwin.h (SELECT_RTX_SECTION): Move ...
3795 * config/darwin.c (machopic_select_rtx_section): ... here.
3796 * config/darwin-protos.h: Update.
3797
3798 * config/nextstep.h (SELECT_RTX_SECTION): Move ...
3799 * config/nextstep.c (machopic_select_rtx_section): ... here.
3800 (nextstep_select_section): Rename variable to avoid macro clash.
3801 * config/nextstep-protos.h: Update.
3802
3803 * config/elfos.h, config/svr3.h, config/arm/aof.h, config/c4x/c4x.h,
3804 config/i386/dgux.h, config/i386/osfrose.h, config/i386/sco5.h,
3805 config/i386/svr3gas.h, config/i860/paragon.h, config/ia64/aix.h,
307e368b 3806 config/m32r/m32r.h, config/m68k/dpx2.h, config/m68k/lynx.h,
bbfbe351 3807 config/m68k/m68k.h, config/m68k/tower-as.h, config/m88k/dgux.h,
3808 config/mcore/mcore-pe.h, config/mips/mips.h, config/mmix/mmix.h,
307e368b 3809 config/pa/pa-linux.h, config/pa/pa.h, config/romp/romp.h,
bbfbe351 3810 config/rs6000/lynx.h, config/rs6000/sysv4.h, config/s390/linux.h,
3811 config/sparc/sysv4.h, config/xtensa/elf.h, config/xtensa/linux.h
3812 (SELECT_RTX_SECTION): Remove.
3813
3814 * config/darwin.h, config/elfos.h, config/nextstep.h,
3815 config/ia64/aix.h, config/ia64/sysv4.h, config/alpha/alpha.c,
3816 config/mips/mips.c, config/romp/romp.c, config/rs6000/sysv4.h,
3817 config/rs6000/xcoff.h, config/s390/s390.c, config/sparc/aout.h,
3818 config/sparc/lynx.h, config/xtensa/xtensa.c
3819 (TARGET_ASM_SELECT_RTX_SECTION): New.
3820
3821 * config/alpha/elf.h (SELECT_RTX_SECTION): Move ...
3822 * config/alpha/alpha.c (alpha_elf_select_rtx_section): ... here.
3823 * config/ia64/sysv4.h (SELECT_RTX_SECTION): Move ...
3824 * config/ia64/ia64.c (ia64_select_rtx_section): ... here.
3825 (ia64_aix_select_rtx_section): New.
3826 * config/mips/iris6.h (READONLY_DATA_SECTION_ASM_OP): Undef before
3827 redefining.
3828 * config/mips/mips.c (mips_select_rtx_section): Make static.
307e368b 3829 Support ELF SHF_MERGE features.
bbfbe351 3830 * config/mips/mips-protos.h: Update.
3831 * config/rs6000/xcoff.h (SELECT_RTX_SECTION): Move ...
3832 * config/rs6000/rs6000.c (rs6000_xcoff_select_rtx_section): ... here.
3833 (rs6000_elf_select_rtx_section): Rename from rs6000_select_rtx_section;
3834 make static, fall back to default_elf_select_rtx_section.
3835 * config/rs6000/rs6000-protos.h: Update.
3836 * config/sparc/sparc.h (SELECT_RTX_SECTION): Move ...
3837 * config/sparc/sparc.c (sparc_aout_select_rtx_section): ... here.
3838 * config/sparc/sunos4.h (on_exit): Declare only if IN_LIBGCC2.
3839 * config/romp/romp.c (romp_select_rtx_section): New.
3840 * config/s390/s390.c (s390_select_rtx_section): New.
3841 * config/xtensa/xtensa.c: Include output.h. Shuffle local function
3842 declarations before target macro definition.
3843 (xtensa_emit_call): Use static buffer.
3844 (xtensa_select_rtx_section): New.
3845 * config/xtensa/xtensa.h (MAX_INT_TYPE_SIZE): Remove.
3846 (IMPLICIT_FIX_EXPR, EASY_DIV_EXPR): Remove.
3847 (ASM_OUTPUT_POOL_PROLOGUE): Update call to resolve_unique_section.
3848
3849 * doc/tm.texi (TARGET_ASM_SELECT_RTX_SECTION): Update from
3850 SELECT_RTX_SECTION docs.
3851
3852Sun May 19 00:24:23 CEST 2002 Jan Hubicka <jh@suse.cz>
b99451ea 3853
3854 * i386.md (movsi/movdi): Fix template.
3855 (sse2 patterns): Set attributes consistently.
3856
3857 * i386.md (pushqi2, ashrqi_*): Fix constraint.
3858
d2dfd89f 38592002-05-18 Toon Moene <toon@moene.indiv.nluug.nl>
3860
3861 * optabs.c (complex_part_zero_p): New.
3862 * (expand_cmplxdiv_straight): Use it.
3863 * (expand_cmplxdiv_wide): Ditto.
3864 * (expand_binop): Ditto.
3865
6cde52a2 38662002-05-18 Richard Henderson <rth@redhat.com>
3867
3868 * final.c (HAVE_READONLY_DATA_SECTION): New.
3869 (shorten_branches): Use it instead of ifdefs.
3870 * varasm.c (enum in_section): Add in_readonly_data.
3871 (text_section, data_section): Tidy.
3872 (readonly_data_section): Use READONLY_DATA_SECTION_ASM_OP if present.
3873
3874 * config/darwin.h, config/nextstep.h, config/h8300/elf.h,
3875 config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h
3876 (READONLY_DATA_SECTION): Don't undef.
3877
3878 * config/alpha/unicosmk.h, config/h8300/elf.h, config/i386/aix386ng.h,
3879 config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h,
3880 config/rs6000/lynx.h (READONLY_DATA_SECTION_ASM_OP): Undef.
3881
3882 * config/elfos.h, config/svr3.h, config/alpha/alpha-interix.h,
3883 config/alpha/elf.h, config/c4x/c4x.h, config/i386/i386-interix.h,
3884 config/i386/sco5.h, config/i386/svr3gas.h, config/i860/sysv3.h,
3885 config/m88k/m88k.h, config/pa/pa64-hpux.h (USE_CONST_SECTION): Remove.
3886
3887 * config/elfos.h, config/netware.h, config/alpha/alpha-interix.h,
3888 config/alpha/elf.h, config/alpha/vms.h, config/arc/arc.h,
3889 config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
3890 config/i386/dgux.h, config/i386/i386-interix.h, config/i386/sco5.h,
3891 config/ia64/hpux.h, config/m32r/m32r.h, config/m68k/tower-as.h,
3892 config/m88k/m88k.h, config/mcore/mcore-pe.h, config/mips/iris6.h,
3893 config/mips/mips.h, config/mmix/mmix.h, config/pa/pa64-hpux.h,
3894 config/sparc/sysv4.h (READONLY_DATA_SECTION_ASM_OP): Rename from
3895 CONST_SECTION_ASM_OP/READONLY_SECTION_ASM_OP/RDATA_SECTION_ASM_OP.
3896
3897 * config/elfos.h, config/netware.h, config/1750a/1750a.h,
3898 config/a29k/a29k.h, config/alpha/alpha-interix.h, config/alpha/alpha.h,
3899 config/arm/coff.h, config/h8300/h8300.h, config/i386/aix386ng.h,
3900 config/i386/i386-interix.h, config/i386/osfrose.h, config/mmix/mmix.h,
3901 config/pa/pa64-hpux.h, config/sparc/litecoff.h
3902 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
3903
3904 * config/elfos.h, config/netware.h, config/svr3.h,
3905 config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
3906 config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
3907 config/h8300/h8300.h, config/i386/i386-interix.h,
3908 config/i386/osfrose.h, config/i386/svr3gas.h, config/mmix/mmix.h,
3909 config/pa/pa64-hpux.h (READONLY_DATA_SECTION): Remove.
3910
3911 * config/elfos.h, config/netware.h, config/svr3.h,
3912 config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
3913 config/c4x/c4x.h, config/i386/aix386ng.h, config/i386/i386-interix.h,
3914 config/i386/sco5.h, config/i386/svr3gas.h, config/mmix/mmix.h,
3915 config/pa/pa64-hpux.h (CONST_SECTION_FUNCTION): Remove.
3916
3917 * config/lynx.h, config/svr3.h, config/alpha/elf.h, config/alpha/vms.h,
3918 config/c4x/c4x.h, config/dsp16xx/dsp16xx.h, config/i386/sco5.h,
3919 config/i386/svr3gas.h, config/i860/sysv3.h, config/i860/sysv4.h,
3920 config/ia64/sysv4.h, config/m32r/m32r.h, config/m88k/m88k.h,
3921 config/mcore/mcore-elf.h, config/mcore/mcore-pe.h, config/mips/elf.h,
3922 config/mips/elf64.h, config/mips/iris6.h, config/mips/linux.h,
3923 config/mips/mips.h, config/mips/rtems64.h, config/mips/vxworks.h,
3924 config/rs6000/sysv4.h, config/v850/v850.h
3925 (EXTRA_SECTIONS): Remove in_const/in_rdata.
3926 (EXTRA_SECTION_FUNCTIONS): Remove accompanying function.
3927
3928 * config/svr3.h, config/c4x/c4x.h, config/i386/dgux.h,
3929 config/i386/sco5.h, config/i386/svr3gas.h, config/ia64/aix.h,
3930 config/m88k/dgux.h, config/mcore/mcore-pe.h, config/mmix/mmix.h,
3931 config/sparc/sysv4.h (SELECT_RTX_SECTION): Use readonly_data_section.
3932 * config/alpha/alpha.c (alpha_start_function): Likewise.
3933 (alpha_write_linkage): Likewise.
3934 * config/m32r/m32r.c (m32r_select_section): Likewise.
3935 * config/m88k/m88k.c (m88k_select_section): Likewise.
3936 * config/mips/mips.c (mips_select_rtx_section): Likewise.
3937 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Likewise.
3938 (rs6000_elf_select_section): Likewise.
3939 * config/v850/v850.c (v850_select_section): Likewise.
3940
3941 * config/1750a/1750a.h, config/i860/sysv3.h
3942 (READONLY_DATA_SECTION_ASM_OP): New.
3943 READONLY_DATA_SECTION_ASM_OP.
3944 * config/i386/interix.c, config/i386/winnt.c
3945 (i386_pe_unique_section): Always use .rdata prefix.
3946 * config/pa/som.h (readonly_data): Always switch to read-only section.
3947 (READONLY_DATA_SECTION): Predicate on flag_pic.
3948 * config/we32k/we32k.h (READONLY_DATA_SECTION): Remove parenthesis.
3949 * doc/tm.texi (READONLY_DATA_SECTION_ASM_OP): New.
3950 (READONLY_DATA_SECTION): Update.
3951
959f435b 39522002-05-18 Jason Thorpe <thorpej@wasabisystems.com>
3953
3954 * c-common.c (c_common_post_options): Warn if -Wformat-zero-length
307e368b 3955 is used without -Wformat.
959f435b 3956 * c-common.h (warn_format_zero_length): Declare extern.
3957 * c-decl.c (warn_options): Add "format-zero-length".
3958 * c-format.c (warn_format_zero_length): Declare.
3959 (set_Wformat): Set warn_format_zero_length for -Wformat.
3960 (check_format_info): Only warn about zero-length formats if
3961 warn_format_zero_length is true. Include the format type
3962 name in the warning message.
3963 * doc/invoke.texi: Document -Wformat-zero-length.
3964 * testsuite/gcc.dg/format/zero-length-1.c: New test.
3965
40570cc2 39662002-05-18 Kazu Hirata <kazu@cs.umass.edu>
3967
3968 * timevar.c: Fix formatting.
3969 * tlink.c: Likewise.
3970 * toplev.c: Likewise.
3971 * tree-dump.c: Likewise.
3972 * tree-inline.c: Likewise.
3973
ca52ef60 39742002-05-18 Neil Booth <neil@daikokuya.demon.co.uk>
3975
3976 * cppinit.c (cpp_post_options): If preprocessed, turn off
3977 traditional. If traditional, turn off column numbers.
3978 * cpplib.c (cpp_push_buffer): Lex from stage 3 if traditional.
3979 * cpptrad.c (handle_newline): Update line_base.
3980 (skip_comment): Handle -Wcomment.
3981
06579c95 39822002-05-17 Zack Weinberg <zack@codesourcery.com>
3983
3984 * cppinit.c (struct builtin): Remove unused fields.
3985 (CPLUS, BUILTIN, OPERATOR, O, builtin_array_end): Kill.
3986 (operator_array): New - was second half of builtin_array.
3987 (init_builtins): Simplify loop over builtin_array/operator_array.
3988
7c66e8d9 39892002-05-18 Neil Booth <neil@daikokuya.demon.co.uk>
3990
3991 * defaults.h (UNIQUE_SECTION): Remove.
3992 * system.h (UNIQUE_SECTION, SELECT_SECTION): Poison.
3993
7a5749cc 39942002-05-17 Richard Henderson <rth@redhat.com>
3995
3996 * expr.c (init_expr_once): Don't use start/end_sequence.
3997 Use rtx_alloc instead of emit_insn.
3998 * toplev.c (lang_dependent_init): Run init_expr_once here ...
3999 (lang_independent_init): ... not here.
4000
adf9e2e6 40012002-05-17 Jason Thorpe <thorpej@wasabisystems.com>
4002
4003 * config/sh/lib1funcs.asm (GLOBAL): Use __USER_LABEL_PREFIX__.
4004
f0973368 40052002-05-17 Marek Michalkiewicz <marekm@amelek.gda.pl>
4006
4007 * config/avr/avr.c (avr_regs_to_save): New function. Also check
4008 for fixed registers, possibly used for global register variables.
4009 (initial_elimination_offset, avr_output_function_prologue,
4010 avr_output_function_epilogue): Move common code to avr_regs_to_save.
4011
0bb65704 40122002-05-17 Neil Booth <neil@daikokuya.demon.co.uk>
4013
4014 * Makefile.in: Update for cpptrad.c.
4015 * cpphash.h (struct cpp_buffer): New members for buffer
4016 overlays.
4017 (struct cpp_reader): New members for traditional output.
4018 (_cpp_read_logical_line, _cpp_overlay_buffer): New.
4019 * cppinit.c (cpp_create_reader): Set trad_line.
4020 (cpp_destroy): Free trad_out_base if used.
4021 (cpp_read_main_file): Overlay an empty buffer if traditional.
4022 (cpp_finish_options): Don't do builtins.
4023 (COMMAND_LINE_OPTIONS): Add -traditional-cpp.
4024 (cpp_handle_option): Handle it.
4025 * cpplex.c (continue_after_nul): New.
4026 (_cpp_lex_direct): Use handle_nul.
4027 * cpplib.h (struct cpp_options): New traditional option.
4028 * cpptrad.c: New file.
4029
9f3643d1 40302002-05-17 Neil Booth <neil@daikokuya.demon.co.uk>
4031
4032 * c-common.c (c_common_init_options): Use C89 for Objective-C,
4033 and set the options flag.
4034 * cppinit.c (lang_flags): Remove objc.
4035 (lang_defaults): Remove OBJC and OBJCXX.
4036 (set_lang): Update.
4037 (COMMAND_LINE_OPTIONS): Remove -+ and -lang-objc++.
4038 (cpp_handle_option): Remove -+ and -lang-objc++.
4039 For ObjC, just set a flag.
4040 (print_help): Update.
4041 * cpplib.h (enum c_lang): Remove CLK_OBJC and CLK_OBJCXX.
4042
1e4dc247 40432002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4044
4045 * doc/install.texi (Specific, mips-sgi-irix6): Document need to
4046 bootstrap with -mips3.
4047
d3371fcd 40482002-05-17 Kazu Hirata <kazu@cs.umass.edu>
4049
4050 * final.c: Fix formatting.
4051 * fix-header.c: Likewise.
4052 * flow.c: Likewise.
4053 * fold-const.c: Likewise.
4054 * function.c: Likewise.
4055
9371e4ab 40562002-05-17 David S. Miller <davem@redhat.com>
4057
4058 PR c/6689, PR optimization/6615
4059 * local-alloc.c (struct equivalence): Rename 'src' to 'src_p'
4060 and make it a pointer to rtx. Update comments.
4061 (update_equiv_regs): When scanning for equivalences, record
4062 address of SET_SRC (set) in reg_equiv[].src_p. Dereference
4063 it while making the equiv replacements.
4064
39eb84bc 40652002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4066
4067 * config/sparc/sparc.c (sparc_aout_select_section): Fixed typo.
4068
6756f4dc 40692002-05-17 kaz Kojima <kkojima@rr.iij4u.or.jp>
4070
4071 * config/sh/sh.h (ENCODE_SECTION_INFO): Consider MODULE_LOCAL_P
4072 when encoding visibility into SYMBOL_REF_FLAG.
4073
ef8396bd 40742002-05-17 Richard Sandiford <rsandifo@redhat.com>
4075
4076 * expr.c (force_operand): Fix reversed move.
4077
62ef040e 40782002-05-17 Kurt Wall <kwall@kurtwerks.com>
4079
4080 * doc/install.texi (Testing): Mention two common DejaGnu warnings
4081 that can be ignored.
4082
40832002-05-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4084
4085 * doc/install.texi (Final install): Recommend to install into a
4086 "clean" target directory.
4087
d2ba5713 40882002-05-17 Richard Henderson <rth@redhat.com>
4089
4090 * config/ia64/ia64.md: Use braced strings instead of quoted strings
4091 for code blocks. Tidy whitespace.
4092
52470889 40932002-05-17 Richard Henderson <rth@redhat.com>
4094
4095 * hooks.c (hook_tree_bool_false): New.
4096 * hooks.h: Declare it.
4097 * target-def.h (TARGET_ASM_SELECT_SECTION): New.
4098 (TARGET_ASM_UNIQUE_SECTION, TARGET_IN_SMALL_DATA_P): New.
4099 * target.h (select_section, unique_section): New.
4100 (in_small_data_p): New.
4101 * varasm.c (resolve_unique_section): Use hooks instead of macros.
4102 (variable_section, output_constant_def_contents): Likewise.
4103 (default_select_section, default_unique_section): New.
4104 (categorize_decl_for_section, default_elf_select_section): New.
4105 * output.h: Declare them.
4106
4107 * config/darwin.h (ALIAS_SECTION, try_section_alias): Remove.
4108 (TARGET_ASM_SELECT_SECTION): New.
4109 (SELECT_SECTION): Move ...
4110 * config/darwin.c (machopic_select_section): ... here.
4111 * config/darwin-protos.h: Update.
4112
4113 * config/nextstep.h (TARGET_ASM_SELECT_SECTION): New.
4114 (SELECT_SECTION): Move ...
4115 * config/nextstep.c (nextstep_select_section): ... here.
4116 * config/nextstep-protos.h: Update.
4117
4118 * config/elfos.h (UNIQUE_SECTION, SELECT_SECTION): Remove.
4119 (TARGET_ASM_SELECT_SECTION): New.
4120 * config/svr3.h (SELECT_SECTION): Remove.
4121
4122 * config/alpha/alpha.c (unicosmk_unique_section): Make static.
4123 (TARGET_ASM_UNIQUE_SECTION) [UNICOS]: New.
4124 (TARGET_IN_SMALL_DATA_P, alpha_in_small_data_p): New.
4125 (alpha_encode_section_info): Use it.
4126 * config/alpha/alpha-protos.h: Update.
4127 * config/alpha/elf.h (DO_SELECT_SECTION): Remove.
4128 (SELECT_SECTION, UNIQUE_SECTION): Remove.
4129 (TARGET_ASM_SELECT_SECTION): New.
4130 * config/alpha/unicosmk.h (UNIQUE_SECTION): Remove.
4131
4132 * config/arm/pe.h (UNIQUE_SECTION): Remove.
4133 (TARGET_ASM_UNIQUE_SECTION): New.
4134
4135 * config/avr/avr.c (TARGET_ASM_UNIQUE_SECTION): New.
4136 (avr_unique_section): Rename from unique_section; make static.
4137 * config/avr/avr-protos.h: Update.
4138 * config/avr/avr.h (UNIQUE_SECTION): Remove.
4139
4140 * config/c4x/c4x.h (SELECT_SECTION): Remove.
4141
4142 * config/i386/cygwin.h (UNIQUE_SECTION): Remove.
4143 (TARGET_ASM_UNIQUE_SECTION): New.
4144 * config/i386/i386-interix.h: Likewise.
4145 * config/i386/win32.h: Likewise.
4146 * config/i386/djgpp.h (UNIQUE_SECTION): Remove.
4147 * config/i386/i386.c (ix86_asm_file_end): Use target hook not macro.
4148 * config/i386/sco5.h (SELECT_SECTION): Remove.
4149 (TARGET_ASM_SELECT_SECTION): New.
4150 * config/i386/svr3gas.h (SELECT_SECTION): Remove.
4151
4152 * config/i860/paragon.h: Undef TARGET_ASM_SELECT_SECTION
4153 instead of SELECT_SECTION.
4154 * config/m68k/dpx2.h: Likewise.
4155 * config/rs6000/lynx.h: Likewise.
4156
4157 * config/ia64/aix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
4158 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
4159 * config/ia64/ia64.c (TARGET_IN_SMALL_DATA_P): New.
4160 (ia64_in_small_data_p): New.
4161 (ia64_encode_section_info): Use it. Reorganize overlarge conditional.
4162 (ia64_aix_select_section, ia64_aix_unique_section): New.
4163 * config/ia64/sysv4.h (DO_SELECT_SECTION): Remove.
4164 (SELECT_SECTION, UNIQUE_SECTION): Remove.
4165
4166 * config/m32r/m32r.h (SELECT_SECTION): Remove.
4167 (TARGET_ASM_SELECT_SECTION): New.
4168 * config/m32r/m32r.c (m32r_select_section): Take align argument.
4169 * config/m32r/m32r-protos.h: Update.
4170
4171 * config/m88k/m88k.h (TARGET_ASM_SELECT_SECTION): New.
4172 (SELECT_SECTION): Move ...
4173 * config/m88k/m88k.c (m88k_select_section): ... here.
4174
4175 * config/mcore/mcore-pe.h (SELECT_SECTION): Remove.
4176 * config/mcore/mcore.h (UNIQUE_SECTION): Remove.
4177 * config/mcore/mcore.c (TARGET_ASM_UNIQUE_SECTION): New.
4178 (mcore_unique_section): Make static.
4179 * config/mcore/mcore-protos.h: Update.
4180
4181 * config/mips/elf.h (UNIQUE_SECTION): Remove.
4182 (TARGET_ASM_UNIQUE_SECTION): New.
4183 * config/mips/elf64.h: Likewise.
4184 * config/mips/iris6gld.h: Likewise.
4185 * config/mips/linux.h: Likewise.
4186 * config/mips/mips-protos.h: Update.
4187 * config/mips/mips.c (mips_select_section): Add align argument.
4188 * config/mips/mips.h (SELECT_SECTION): Remove.
4189 (TARGET_ASM_SELECT_SECTION): New.
4190
4191 * config/mmix/mmix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
4192 * config/mmix/mmix.c (mmix_select_section): Remove.
4193 (mmix_unique_section): Remove.
4194 * config/mmix/mmix-protos.h: Update.
4195
4196 * config/pa/pa.h (TARGET_ASM_SELECT_SECTION): New.
4197 (SELECT_SECTION): Move ...
4198 * config/pa/pa.c (pa_select_section): ... here.
4199 * config/pa/pa64-hpux.h (UNIQUE_SECTION): Remove.
4200
4201 * config/rs6000/rs6000.c (rs6000_elf_select_section): Rename
4202 from rs6000_select_section and make static.
4203 (rs6000_elf_unique_section): Similarly.
4204 (rs6000_xcoff_select_section): From xcoff.h.
4205 (rs6000_xcoff_unique_section): Likewise.
4206 * config/rs6000/rs6000-protos.h: Update.
4207 * config/rs6000/sysv4.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
4208 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
4209 * config/rs6000/xcoff.h: Likewise.
4210
4211 * config/sparc/aout.h (TARGET_ASM_SELECT_SECTION): New.
4212 (SELECT_SECTION): Move ...
4213 * config/sparc/sparc.c (sparc_aout_select_section): ... here.
4214
4215 * config/v850/v850.h (SELECT_SECTION): Move ...
4216 * config/v850/v850.c (v850_select_section): ... here.
4217 (TARGET_ASM_SELECT_SECTION): New.
4218
4219 * config/vax/vms.h (SELECT_SECTION): Move ...
4220 * config/vax/vax.c (vms_select_section): ... here.
4221 (TARGET_ASM_SELECT_SECTION): New.
4222
4223 * doc/tm.texi: Update SELECT_SECTION and UNIQUE_SECTION docs
4224 for the target hooks.
4225
be17000d 42262002-05-17 Nick Clifton <nickc@cambridge.redhat.com>
4227
4228 * config/arm/arm.c (emit_multi_reg_push): Do not set
4229 RTX_FRAME_RELATED_P on the SEQUENCE.
4230
0264cc04 42312002-05-16 Richard Henderson <rth@redhat.com>
4232
4233 * config/ia64/ia64.c (ia64_reorg): Rebuild bb_for_insn before
4234 splitting. Use split_all_insns; update_life_info_in_dirty_blocks.
4235
bef44833 42362002-05-16 Richard Henderson <rth@redhat.com>
4237
4238 * config/alpha/unicosmk.h (TARGET_OS_CPP_BUILTINS): Fix typo.
4239
7a2171ab 4240 * config/ia64/ia64.c (saveable_obstack): Do not declare.
4241
b3d6de89 42422002-05-16 Richard Henderson <rth@redhat.com>
4243
4244 * basic-block.h, bb-reorder.c, cfg.c, cfganal.c, cfgbuild.c,
4245 cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c, combine.c,
4246 conflict.c, df.c, df.h, dominance.c, final.c, flow.c, function.c,
4247 gcse.c, global.c, graph.c, haifa-sched.c, ifcvt.c, lcm.c,
4248 local-alloc.c, loop.c, predict.c, print-rtl.c, profile.c,
4249 recog.c, reg-stack.c, regclass.c, regmove.c, regrename.c,
4250 reload1.c, reorg.c, resource.c, sbitmap.c, sched-deps.c,
4251 sched-ebb.c, sched-rgn.c, sibcall.c, ssa-ccp.c, ssa-dce.c, ssa.c:
4252 Revert "Basic block renumbering removal", and two followup patches.
4253
5e7d465f 42542002-05-16 Jason Thorpe <thorpej@wasabisystems.com>
4255
4256 * lcm.c (optimize_mode_switching): Revert previous change.
4257
0b6b6b9b 42582002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4259
4260 * sched-rgn.c (schedule_insns): Initialize large_region_blocks
4261 with only extant block numbers.
4262
4fa69255 42632002-05-16 Jason Thorpe <thorpej@wasabisystems.com>
4264
4265 * lcm.c (optimize_mode_switching): Fix typo.
4266
fd68649a 42672002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4268
4269 * flow.c (calculate_global_regs_live): Queue blocks in program order.
4270
bd6878e5 42712002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4272
4273 * doc/install.texi (Configuration): Document PWDCMD.
4274
116b2726 42752002-05-16 Dale Johannesen <dalej@apple.com>
4276
4277 * combine.c (cant_combine_insn_p): Reenable combinations
4278 involving hard regs unless CLASS_LIKELY_SPILLED_P.
4279
18aa8a54 42802002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
4281
4282 * c-common.c (cb_register_builtins): Handle more built-ins
4283 here rather than in gcc.c specs.
4284 * gcc.c (cpp_unique_options): Move many built-ins to c-common.c.
4285 (cpp_options): Pass -O flags even when only preprocessing.
4286 * toplev.c (set_fast_math_flags): New prototype.
4287 (fast_math_flags_set_p): New.
4288 (set_no_fast_math_flags): Remove.
4289 (decode_f_option): Update.
4290 * toplev.h (set_fast_math_flags): Update.
4291 (fast_math_flags_set_p): New.
4292 (set_no_fast_math_flags): Remove.
4293config:
4294 * c4x/c4x.c (c4x_override_options): Update.
4295
63994318 42962002-05-16 Zack Weinberg <zack@codesourcery.com>
4297
4298 * c-common.c (STDC_0_IN_SYSTEM_HEADERS, REGISTER_PREFIX):
4299 Default-define here.
4300 (builtin_define_with_value): Can now wrap the expansion in
4301 quotation marks if such is wanted.
0264cc04 4302 (cb_register_builtins): Update calls to builtin_define_with_value.
63994318 4303 Define __REGISTER_PREFIX__, __USER_LABEL_PREFIX__, and __VERSION__
4304 here.
4305 (c_common_init): Set options->stdc_0_in_system_headers.
4306 * c-lex.h: Update prototype of builtin_define_with_value.
4307 * cppdefault.h: Remove default definitions of USER_LABEL_PREFIX
4308 and REGISTER_PREFIX.
4309
4310 * cppinit.c (VERS, ULP, C, X): Kill.
4311 (builtin_array): Remove entries for __VERSION__,
4312 __USER_LABEL_PREFIX__, __REGISTER_PREFIX__, and
4313 __HAVE_BUILTIN_SETJMP__. Make __STDC__ always a builtin, not
4314 a constant.
4315 (init_builtins): Kill off a bunch of now-dead code.
4316 (COMMAND_LINE_OPTIONS): Remove -fleading-underscore and
4317 -fno-leading-underscore.
4318 (cpp_handle_option): Remove code to set user_label_prefix.
4319 (cpp_post_options): Likewise.
4320
4321 * cpplib.h (struct cpp_options): Remove user_label_prefix.
4322 (stdc_0_in_system_headers): New.
4323 * cppmacro.c (builtin_macro): Check CPP_OPTION (pfile,
4324 stdc_0_in_system_headers) too to decide the value of __STDC__.
4325
4326 * tradcpp.c (user_label_prefix): Kill.
0264cc04 4327 (main): Remove code handling -f(no-)leading-underscore.
63994318 4328 (initialize_builtins): Don't define __REGISTER_PREFIX__
4329 or __USER_LABEL_PREFIX__.
4330 (install_value): Wrap compound statement in dummy loop so the
4331 macro works properly in an if statement.
4332
4333
cd6839f2 43342002-05-16 Janis Johnson <janis187@us.ibm.com>
4335
4336 * loop.h (struct loop_info): Add member has_prefetch.
4337 * loop.c (PREFETCH_CONDITIONAL): Change default to 1.
4338 (prescan_loop): Initialize has_prefetch.
4339 (struct prefetch_info): Change prefetch_in_loop and
4340 prefetch_before_loop from bit fields to ints.
4341 (emit_prefetch_instructions): Several small fixes.
4342 (check_dbra_loop): Don't reverse loop that uses prefetch.
4343
3354d061 43442002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4345
4346 * Makefile.in: Allow for PWDCMD to override hardcoded pwd.
4347 * configure.in: Likewise.
4348 * fixinc/check.tpl: Likewise.
4349 * fixinc/fixinc.dgux: Likewise.
4350 * fixinc/fixinc.svr4: Likewise.
4351 * fixinc/fixinc.winnt: Likewise.
4352 * fixinc/fixincl.sh: Likewise.
4353 * fixproto: Likewise.
4354 * configure: Regenerate.
4355
4c5da238 43562002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4357
4358 Basic block renumbering removal:
4359 * basic_block.h (struct basic_block_def): Renamed index to sindex,
4360 added prev_bb and next_bb fields.
4361 (n_basic_blocks): Renamed to num_basic_blocks.
4362 (last_basic_block): New, index of last basic block.
4363 (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
4364 traversing basic block chain.
4365 (BLOCK_NUM): index -> sindex.
4366 (create_basic_block_structure, create_basic_block): Declaration changed.
4367 (debug_num2bb): Declare.
4368 (expunge_block_nocompact): Declaration removed.
4369 (link_block, unlink_block, compact_blocks): Declare.
4370 * bb-reorder.c (make_reorder_chain, make_reorder_chain_1): Modified.
4371 * cfg.c (entry_exit_blocks): Initialize new fields.
4372 (clear_edges, alloc_block, expunge_block, cached_make_edge,
4373 redirect_edge_pred, dump_flow_info, dump_edge_info,
4374 alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges,
4375 free_aux_for_edges): Modified.
4376 (link_block, unlink_block, compact_blocks, debug_num2bb): New.
4377 (expunge_block_nocompact): Removed.
4378 * cfganal.c (can_fallthru, mark_dfs_back_edges, flow_call_edges_add,
4379 find_unreachable_blocks, create_edge_list, print_edge_list,
4380 verify_edge_list, flow_edge_list_print, remove_fake_successors,
4381 remove_fake_edges, flow_reverse_top_sort_order_compute,
4382 flow_depth_first_order_compute, flow_preorder_transversal_compute,
4383 flow_dfs_compute_reverse_init, flow_dfs_compute_reverse_add_bb,
4384 flow_dfs_compute_reverse_execute): Modified.
4385 * cfgbuild.c (make_edges, make_eh_edge, find_basic_blocks_1,
4386 find_basic_blocks, find_many_sub_basic_blocks, find_sub_basic_blocks):
4387 Modified.
4388 * cfgcleanup.c (try_simplify_condjump, try_forward_edges,
4389 merge_blocks_move_predecessor_nojumps,
4390 merge_blocks_move_successor_nojumps, merge_blocks,
4391 outgoing_edges_match, try_crossjump_to_edge, try_crossjump_bb,
4392 try_optimize_cfg, delete_unreachable_blocks, cleanup_cfg): Modified.
4393 * cfglayout.c (skip_insns_after_block, label_for_bb,
4394 record_effective_endpoints, scope_to_insns_finalize,
4395 fixup_reorder_chain, verify_insn_chain, cleanup_unconditional_jumps,
4396 fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge,
4397 cfg_layout_duplicate_bb): Modified.
4398 * cfgloop.c (flow_loops_cfg_dump, flow_loop_dump, flow_loops_dump,
4399 flow_loop_entry_edges_find, flow_loop_exit_edges_find,
4400 flow_loop_nodes_find, flow_loop_pre_header_find, flow_loop_scan,
4401 flow_loops_find, flow_loop_outside_edge_p): Modified.
4402 * cfgrtl.c (create_basic_block_structure, create_basic_block,
4403 flow_delete_block, compute_bb_for_insn, split_block,
4404 try_redirect_by_replacing_jump, redirect_edge_and_branch,
4405 force_nonfallthru_and_redirect, tidy_fallthru_edge,
4406 back_edge_of_syntactic_loop_p, split_edge, commit_one_edge_insertion,
4407 commit_edge_insertions, commit_edge_insertions_watch_calls,
4408 dump_bb, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
4409 purge_all_dead_edges): Modified.
4410 * combine.c (combine_instructions, set_nonzero_bits_and_sign_copies,
4411 try_combine, nonzero_bits, num_sign_bit_copies, get_last_value_validate,
4412 get_last_value, reg_dead_at_p, distribute_notes, distribute_links):
4413 Modified.
4414 * conflict.c (conflict_graph_compute): Modified.
4415 * df.c (FOR_ALL_BBS): Removed.
4416 (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
4417 df_modified_p, df_analyse, df_refs_unlink, df_insn_modify,
4418 df_dump, hybrid_search_bitmap, iterative_dataflow_sbitmap): Modified.
4419 * df.h (DF_BB_INFO, DF_REF_BBNO): Modified.
4420 * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
4421 calc_idoms, idoms_to_doms, calculate_dominance_info): Modified.
4422 * final.c (compute_alignments, final_scan_insn): Modified.
4423 * flow.c (verify_local_live_at_start, update_life_info,
4424 update_life_info_in_dirty_blocks, free_basic_block_vars,
4425 delete_noop_moves, calculate_global_regs_live,
4426 initialize_uninitialized_subregs, allocate_bb_life_data,
4427 regno_uninitialized, regno_clobbered_at_setjmp, mark_set_1,
4428 mark_used_reg, count_or_remove_death_notes): Modified.
4429 * function.c (thread_prologue_and_epilogue_insns): Modified.
4430 * gcse.c (struct null_pointer_info): Change typo of current_block
4431 to basic_block.
4432 (gcse_main, alloc_gcse_mem, compute_local_properties, compute_sets,
4433 oprs_unchanged_p, load_killed_in_block_p, record_last_reg_set_info,
4434 compute_hash_table, alloc_rd_mem, handle_rd_kill_set, compute_kill_rd,
4435 alloc_avail_expr_mem, expr_killed_p, compute_ae_kill,
4436 expr_reaches_here_p_work, expr_reaches_here_p, handle_avail_expr,
4437 classic_gcse, one_classic_gcse_pass, compute_transp, cprop,
4438 one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p_work,
4439 pre_expr_reaches_here_p, insert_insn_end_bb, pre_edge_insert,
4440 pre_delete, one_pre_gcse_pass, compute_transpout,
4441 invalidate_nonnull_info, delete_null_pointer_checks_1,
4442 free_code_hoist_mem, compute_code_hoist_vbeinout,
4443 hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
4444 compute_ld_motion_mems, store_ops_ok, find_moveable_store,
4445 compute_store_table, build_store_vectors, insert_insn_start_bb,
4446 insert_store, replace_store_insn, free_store_memory, store_motion):
4447 Modified.
4448 * global.c (global_alloc, global_conflicts, mark_elimination,
4449 build_insn_chain): Modified.
4450 * graph.c (print_rtl_graph_with_bb): Modified.
4451 * haifa-sched.c (sched_init): Modified.
4452 * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
4453 (find_if_block, find_cond_trap, find_if_case_1, find_if_case_2,
4454 if_convert): Modified.
4455 * lcm.c (compute_antinout_edge, compute_earliest, compute_laterin,
4456 compute_insert_delete, pre_edge_lcm, compute_available,
4457 compute_farthest, compute_nearerout, compute_rev_insert_delete,
4458 pre_edge_rev_lcm, make_preds_opaque, optimize_mode_switching):
4459 Modified.
4460 * local-alloc.c (alloc_qty, local_alloc, update_equiv_regs): Modified.
4461 * loop.c (loop_dump_aux): Modified.
4462 * predict.c (combine_predictions_for_insn, estimate_probability,
4463 last_basic_block_p, process_note_prediction, process_note_predictions,
4464 note_prediction_to_br_prob, propagate_freq, counts_to_freqs,
4465 expensive_function_p, estimate_bb_frequencies,
4466 compute_function_frequency): Modified.
4467 * print-rtl.c (print_rtx): Modified.
4468 * profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX, instrument_edges,
4469 get_exec_counts, compute_branch_probabilities, compute_checksum,
4470 branch_prob, find_spanning_tree): Modified.
4471 * recog.c (split_all_insns, peephole2_optimize): Modified.
4472 * reg-stack.c (reg_to_stack, convert_regs_entry, compensate_edge,
4473 convert_regs_1, convert_regs_2, convert_regs): Modified.
4474 * regclass.c (scan_one_insn, regclass): Modified.
4475 * regmove.c (mark_flags_life_zones, regmove_optimize,
4476 combine_stack_adjustments): Modified.
4477 * regrename.c (regrename_optimize, copyprop_hardreg_forward): Modified.
4478 * reload1.c (reload, reload_combine, copy_eh_notes): Modified.
4479 * reorg.c (dbr_schedule): Modified.
4480 * resource.c (find_basic_block, init_resource_info): Modified.
4481 * sbitmap.c (sbitmap_intersection_of_succs,
4482 sbitmap_intersection_of_preds, sbitmap_union_of_succs,
4483 sbitmap_union_of_preds): Modified.
4484 * sched-deps.c (init_dependency_caches): Modified.
4485 * sched-ebb.c (schedule_ebbs): Modified.
4486 * sched-rgn.c (is_cfg_nonregular, build_control_flow, debug_regions,
4487 find_rgns, compute_trg_info, init_regions, schedule_insns): Modified.
4488 * sibcall.c (optimize_sibling_and_tail_recursive_call): Modified.
4489 * ssa-ccp.c (examine_flow_edges, optimize_unexecutable_edges,
4490 ssa_ccp_substitute_constants, ssa_ccp_df_delete_unreachable_insns,
4491 ssa_const_prop): Modified.
4492 * ssa-dce.c (set_control_dependent_block_to_edge_map_,
4493 find_control_dependence, find_pdom, ssa_eliminate_dead_code): Modified.
4494 * ssa.c (remove_phi_alternative, find_evaluations,
4495 compute_dominance_frontiers_1, compute_iterated_dominance_frontiers,
4496 insert_phi_node, rename_block, convert_to_ssa, eliminate_phi,
4497 make_regs_equivalent_over_bad_edges,
4498 make_equivalent_phi_alternatives_equival,
4499 compute_conservative_reg_partition,
4500 coalesce_regs_in_successor_phi_nodes, compute_coalesced_reg_partition,
4501 rename_equivalent_regs, convert_from_ssa, for_each_successor_phi):
4502 Modified.
4503
14abf923 45042002-05-16 Mark Mitchell <mark@codesourcery.com>
4505
4506 * cfgrtl.c (purge_dead_edges): Correct handling of EDGE_EH.
4507
3ccc58a6 45082002-05-16 Nick Clifton <nickc@cambridge.redhat.com>
4509
4510 * config/arm/arm.c (arm_rtx_costs): Check for RTX being a
4511 SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
4512 (arm_adjust_cost): Check for RTX being a SYMBOL_REF before
4513 calling CONSTANT_POOL_ADDRESS_P.
4514 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Fix typo in code
4515 to decide whether to define __arm__ or __thumb.
4c5da238 4516 (THUMB_GO_IF_LEGITIMATE_ADDRESS): Check for RTX being a
3ccc58a6 4517 SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
4518
a43a23ab 45192002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
4520
4521 * config/arc/arc.h (CPP_PREDEFINES): Remove.
4522 (CPP_SPEC): Update.
4523 (TARGET_CPU_CPP_BUILTINS): New.
4524
672f38da 45252002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
4526
4527 * cpphash.h (cpp_macro): Move here, and make expansion a union.
4528 * cppmacro.c (cpp_macro): Remove.
4529 (enter_macro_context, replace_args, warn_of_redefinition,
4530 _cpp_create_definition, cpp_macro_definition): Update.
4531
277f8387 45322002-05-16 Jason Merrill <jason@redhat.com>
4533
4534 * config/mips/mips.c (mips_output_external): Don't do sdata
4535 optimization for a variable with DECL_COMDAT set.
4536
b3174d33 45372002-05-15 Aldy Hernandez <aldyh@redhat.com>
4538
4c5da238 4539 * config/rs6000/altivec.h: Cleanups for tighter typechecking.
4540 Cleanups for accepting modifiers on pointers.
4541 Fix predicate typos.
4542 Allow long pointers as well as int pointers.
b3174d33 4543
83f61433 45442002-05-15 Richard Henderson <rth@redhat.com>
4545
4546 * varasm.c (merge_weak): Remove special case for extern and common.
4547
6f9a1b0b 45482002-05-15 Matt Hiller <hiller@redhat.com>
4549
4550 * testsuite/gcc.c-torture/compile/20000804-1.x: Don't return 1 if
4c5da238 4551 XFAILing.
6f9a1b0b 4552 * testsuite/gcc.c-torture/compile/20001226-1.x: Ditto.
4553 * testsuite/gcc.c-torture/compile/920520-1.x: Ditto.
4554 * testsuite/gcc.c-torture/compile/mipscop-1.x: XFAIL for now.
4555 * testsuite/gcc.c-torture/compile/mipscop-2.x: Ditto.
4556 * testsuite/gcc.c-torture/compile/mipscop-3.x: Ditto.
4557 * testsuite/gcc.c-torture/compile/mipscop-4.x: Ditto.
4558
bb018d90 45592002-05-15 Aldy Hernandez <aldyh@redhat.com>
4560
4c5da238 4561 * reload1.c (forget_old_reloads_1): Do not use subreg offset.
bb018d90 4562
3a1f8574 45632002-05-15 Aldy Hernandez <aldyh@redhat.com>
4564
4c5da238 4565 * config/rs6000/rs6000.md ("altivec_mtvscr"): Set VSCR register.
4566 ("altivec_mfvscr"): Read from VSCR.
4567
4568 Add vscr sets for the following insns: altivec_vctuxs,
4569 altivec_vaddubs, altivec_vaddsbs, altivec_vadduhs,
4570 altivec_vaddshs, altivec_vadduws, altivec_vaddsws, altivec_vctsxs,
4571 altivec_vmhaddshs, altivec_vmhraddshs, altivec_vmsumuhs,
4572 altivec_vmsumshs, altivec_vpkuhss, altivec_vpkshss,
4573 altivec_vpkuwss, altivec_vpkswss, altivec_vpkuhus,
4574 altivec_vpkshus, altivec_vpkuwus, altivec_vpkswus,
4575 altivec_vsububs, altivec_vsubsbs, altivec_vsubuhs,
4576 altivec_vsubshs, altivec_vsubuws, altivec_vsubsws,
4577 altivec_vsum4ubs, altivec_vsum4sbs, altivec_vsum4shs,
4578 altivec_vsum2sws, altivec_vsumsws.
4579
4580 * config/rs6000/rs6000.h: Add VSCR fixed register.
4581 (CALL_REALLY_USED_REGISTERS): Add vscr.
4582 (CALL_USED_REGISTERS): Same.
4583 (FIXED_REGISTERS): Same.
4584 (REG_ALLOC_ORDER): Same.
4585 (reg_class): Add VSCR_REGS.
4586 (REG_CLASS_NAMES): Same.
4587 (REG_CLASS_CONTENTS): Same.
4588 (VSCR_REGNO): New.
4589 (REGISTER_NAMES): Add vscr.
4590 (DEBUG_REGISTER_NAMES): Same.
4591 (ADDITIONAL_REGISTER_NAMES): Same.
4592 (FIRST_PSEUDO_REGISTER): Increment.
4593 (CONDITIONAL_REGISTER_USAGE): Set VSCR as a global register.
3a1f8574 4594
8539da5e 45952002-05-15 Jakub Jelinek <jakub@redhat.com>
4596
4597 * fold-const.c (fold): Fix a typo.
4598
45992002-05-15 Eric Botcazou <ebotcazou@multimania.com>
4600
4601 * fold-const.c (fold) [LT_EXPR]: Move the transformation of a
4602 comparison against the highest or lowest integer value before
4603 the 'X >= CST to X > (CST - 1)' and 'X < CST to X <= (CST - 1)'
4604 transformation and that of an unsigned comparison against 0
4605 right after.
4606
b0a9f80a 46072002-05-15 Richard Henderson <rth@redhat.com>
4608
4609 * varasm.c (merge_weak): Error for any weakening after definition.
4610 Adjust weakening after use warning to catch more cases.
4611 (assemble_alias): Set TREE_USED and TREE_ASM_WRITTEN consistently.
4612 * config/alpha/alpha.c (alpha_encode_section_info): Do not abort.
4613
429fa7fa 4614Wed May 15 10:38:27 CEST 2002 Jan Hubicka <jh@suse.cz>
4615
4616 * invoke.texi (-malign-double): Re-add lost warning.
4617
4618 * i386-protos.h (x86_output_mi_thunk): Declare.
4619 * unix.h (ASM_OUTPUT_MI_THUNK): Move offline to ...
4620 * i386.c (x86_output_mi_thunk): ... here; handle 64bits.
4621
4622 * dwarf2out.c (output_call_frame_info): Do not skip unwind info
4623 when flag_asynchronous_unwind_tables is set.
4624
4625 * flags.h (flag_reorder_functions): Declare.
4626 * function.c (prepare_function_start): Initialize frequnecy.
b0a9f80a 4627 * params.def (HOT_BB_COUNT_FRACTION, HOT_BB_FREQUENCY_FRACTION): New.
429fa7fa 4628 * Makefile.in (predict.o): Add dependency on target.h and params.h
4629 * defaults.h (HOT_TEXT_SECTION_NAME,
4630 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): New macros.
4631 * predict.c (choose_function_section): New function.
4632 (estimate_bb_frequencies): Use it.
4633 * toplev.c (flag_reorder_functions): New global variable.
4634 (lang_independent_options): New.
4635 (parse_options_and_default_flags): Set.
4636 * varasm.c (assemble_start_function): Bypass functdion alignment
4637 for never executed functions.
4638 * invoke.texi (-freorder-blocks, -freorder-functions): Document.
4639 (param hot-bb-count-fraction, hot-bb-frequency-fraction): New.
4640 * tm.texi (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
4641 Document.
4642
4643 Thu Jan 3 21:52:09 CET 2002 Jan Hubicka <jh@suse.cz>
4644
4645 * predict.c: Inlude profile.h
4646 (MIN_COUNT): Rename to MIN_COUNT_FRACTION
4647 (maybe_hot_bb_p, probably_cold_bb_p, probably_never_executed_bb_p):
4648 Use the information about maximal counter in the program.
4649
4650 Thu Dec 20 22:14:00 CET 2001 Jan Hubicka <jh@suse.cz>
4651
4652 * basic-block.h (maybe_hot_bb_p, probably_cold_bb_p,
4653 probably_never_executed_bb_p): New functions.
4654 * cfgcleanup.c (outgoing_edges_match): Use them.
4655 * predict.c (MIN_COUNT, MIN_FREQUENCY): New macros.
4656 (maybe_hot_bb_p, probably_cold_bb_p,
4657 probably_never_executed_bb_p): New functions.
4658
4659 * function.h (function): Add new field function_frequency.
4660 * predict.c (compute_function_frequency): New function.
4661 (estimate_probability): Call it.
4662
b6745603 46632002-03-09 Jakub Jelinek <jakub@redhat.com>
4664
4665 PR optimization/5172, optimization/5200
4666 * gcse.c (gcse_main): Disable store_motion.
4667
18ef7ac2 46682002-05-14 Zack Weinberg <zack@codesourcery.com>
4669
4670 * c-parse.in (MODIFIED_WCHAR_TYPE): New macro.
4671 (c_common_nodes_and_builtins): Use it.
4672 (builtin_define_with_value): New function.
4673 (cb_register_builtins): Define __SIZE_TYPE__,
4674 __PTRDIFF_TYPE__, __WCHAR_TYPE__, and __WINT_TYPE__ here,
4675 using builtin_define_with_value. Use consistent notation when
4676 defining __GXX_WEAK__.
4677 (WCHAR_TYPE_SIZE): Don't redefine.
4678 (combine_strings): Don't use WCHAR_TYPE_SIZE.
4679
4680 * cppdefault.h: Don't provide defaults for SIZE_TYPE,
4681 PTRDIFF_TYPE, WCHAR_TYPE, or WINT_TYPE.
4682 * cppinit.c (builtin_array): Remove entries for __SIZE_TYPE__ etc.
4683 * tradcpp.c (initialize_builtins): Likewise.
4684 * gcc.c (cpp_unique_options): Don't muck with __WCHAR_TYPE__.
4685
4686 * c-lex.h (builtin_define_with_value): Prototype.
4687 * system.h: Poison NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_WCHAR_TYPE,
4688 NO_BUILTIN_PTRDIFF_TYPE, and NO_BUILTIN_WINT_TYPE.
4689 * doc/tm.texi: Remove mention of NO_BUILTIN_SIZE_TYPE etc.
4690
4691 * config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
4692 config/ia64/ia64.h, config/mips/dec-osf1.h, config/mips/iris6.h,
4693 config/mips/linux.h, config/mips/mips.h, config/mips/netbsd.h,
4694 config/mips/osfrose.h, config/mips/sni-svr4.h, config/rs6000/aix51.h,
4695 config/s390/linux.h, config/sh/sh.h, config/sh/sh64.h,
4696 config/sparc/linux64.h, config/sparc/netbsd-elf.h,
4697 config/sparc/sol2-bi.h, config/sparc/sparc.h:
4698 Do not define NO_BUILTIN_SIZE_TYPE etc. Remove all references
4699 to __SIZE_TYPE__ etc from all spec strings. When this makes
4700 extra specs empty, delete them.
4701
7c5101fc 47022002-05-14 John David Anglin <dave@hiauly1.hia.nrc.ca>
4703
4704 * pa.c (override_options): Override TARGET_JUMP_IN_DELAY when scheduling
4705 for PA8000 or generating dwarf2 call frame information.
4706 (output_call): Remove DO_FRAME_NOTES check from return pointer
4707 optimization.
4708 (following_call): Return 0 when scheduling for PA8000 or generating
4709 dwarf2 call frame information. Revise comment.
4710
6529ea5c 47112002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
4712
4713config/alpha:
4714 * alpha.h (TARGET_CPU_CPP_BUILTINS): Define __IEEE_FP
4715 and __IEEE_FP_INEXACT as appropriate.
4716 (CPLUSPLUS_CPP_SPEC): Don't define __cplusplus.
4717 (CPP_SPEC): Remove ieee defines.
4718 * freebsd.h, netbsd.h: Remove ieee defines and cpp_cpu.
4719
331c9970 47202002-05-14 Richard Henderson <rth@redhat.com>
4721
4722 * config/i386/i386.c (ix86_save_reg): Make regno unsigned.
4723 (ix86_safe_length, ix86_safe_length_prefix, ix86_safe_memory): Kill.
4724
de3ae09e 47252002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
4726
de3ae09e 4727 * arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define.
4728 (CPP_SPEC): Update.
4729 (CPP_APCS_PC_SPEC, CPP_APCS_PC_DEFAULT_SPEC,
4730 CPP_FLOAT_SPEC, CPP_FLOAT_DEFAULT_SPEC, CPP_ENDIAN_SPEC,
4731 CPP_ENDIAN_DEFAULT_SPEC, CPP_INTERWORK_DEFAULT_SPEC,
4732 CPP_INTERWORK_SPEC, CPP_PREDEFINES): Remove.
4733 (EXTRA_SPECS): Update.
4734 * arm/conix-elf.h, arm/linux-elf.h, arm/netbsd.h, arm/riscix.h,
4735 arm/riscix1-1.h, arm/rtems-elf.h, arm/semiaof.h, arm/unknown-elf.h,
4736 arm/unknown-elf-oabi.h, arm/vxarm.h: Remove CPP_PREDEFINES and
4737 define TARGET_OS_CPP_BUILTINS if necessary.
4738
62683efd 47392002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
4740
4741 * gcc.c (cpp_options): Must pass -m* and -f* options
4742 to the front end even when only preprocessing.
4743 (cc1_options): Remove redundant -lang-c.
4744 * tradcpp.c (main): Ignore -m options.
4745objc:
4746 * lang-specs.h: Similarly.
4747
f1308295 47482002-05-14 Vladimir Makarov <vmakarov@redhat.com>
4749
4750 * genautomata.c (transform_3): Add code for transformation
4751 `(A,B,...)+C -> A+C,B,...'.
4752
b7df6bce 4753Tue May 14 12:48:22 CEST 2002 Jan Hubicka <jh@suse.cz>
4754
4755 * final.c (end_final): Do not output profile_arcs constructor, when
4756 no functions are instrumented.
4757
36c4ce3c 4758Tue May 14 12:38:30 CEST 2002 Jan Hubicka <jh@suse.cz>
4759
4760 * i386.md (testsi to testqi_zext_1 splitter): Fix typo.
4761
5f3d8976 47622002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4763
4764 * doc/install.texi: Remove special markup originally required for
4765 HTML generation with texi2html.
4766
c49a01ea 47672002-05-14 Andreas Schwab <schwab@suse.de>
4768
4769 * config/ia64/sysv4.h (DO_SELECT_SECTION): Factored out of
4770 SELECT_SECTION.
4771 (UNIQUE_SECTION): Define to get small data correctly.
6ccd54fd 4772
4773 * varasm.c (resolve_unique_section): Add third parameter
4774 flag_function_or_data_sections and use it instead of
4775 flag_function_sections.
4776 (assemble_start_function): Pass flag_function_sections.
4777 (asm_emit_uninitialised): Pass flag_data_sections.
4778 (assemble_variable): Likewise.
4779
4818c492 47802002-05-14 Richard Henderson <rth@redhat.com>
4781
4782 * config/i386/i386.md: Use define_constants for unspec numbers.
4783 * config/i386/i386.c: Likewise.
4784
de3ae09e 47852002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
4786
4787 * doc/contrib.texi: Update my entry.
4788
bdfb75b4 47892002-05-13 Mark Mitchell <mark@codesourcery.com>
4790
4791 * fixinc/inclhack.def (winidss_valist): Limit applicability.
4792 * fixinc/fixincl.x: Regenerated.
4793 * fixinc/tests/base/math.h: Update.
4794 * fixinc/tests/base/testing.h: Likewise.
4795
8f0eab6f 47962002-05-13 Zack Weinberg <zack@codesourcery.com>
4797
4798 * genattr.c (gen_attr): Don't emit a comma after the last
4799 enumerator.
4800
f178f44b 48012002-05-13 Richard Henderson <rth@redhat.com>
4802
4803 * cfgrtl.c (purge_dead_edges): Handle abnormal call edges created
4804 by non-local gotos.
4805 * recog.c (peephole2_optimize): Likewise.
4806
9b2d6e29 48072002-05-13 Andris Pavenis <pavenis@lanet.lv>
4808
4809 * cppfiles.c (open_file): Change mode (DJGPP only) of redirected
4810 input to O_BINARY.
4811
38a51454 48122002-05-13 Jeffrey A Law (law@redhat.com)
4813
638987bd 4814 * flow.c (invalidate_mems_from_autoinc): Rewrite to use for_each_rtx.
4815 Update prototype and callers.
4816 (propagate_one_insn): Stack pointer adjustments kill MEMs on
4817 the mem_set_list which reference the stack pointer, as do
4818 calls to constant functions as they may clobber outgoing
4819 argument space.
4820
7a174e0f 4821 * i386.c (ia32_multipass_dfa_lookahead): Prototype.
4822
38a51454 4823 * i386.c (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
4824 (ia32_multipass_dfa_lookahead): New function.
4825
0d52bda0 48262002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
4827
4828 * gcc.c (SWITCH_TAKES_ARG): Remove 'V'.
4829 (translate_options): Remove 'V'.
4830 (process_command): Similarly.
4831doc:
4832 * invoke.texi: Remove documentation of 'V'.
4833
f10d8251 48342002-05-13 Ulrich Weigand <uweigand@de.ibm.com>
4835
4836 * config/s390/linux.h: Revert 2002-04-22 changes.
4837
dcf2c31e 48382002-05-13 Scott Marks <SMarks@mobile-mind.com>
4839
4840 * config/fr30/fr30.md: Only allow splits of immediate loads
4841 if the destination is a register.
4842
36a259fd 48432002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
4844
4845 * Makefile.in (c-common.o, cppinit.o): Update.
4846 * c-common.c: Include except.h.
4847 (cb_register_builtins): Handle __USING_SJLJ_EXCEPTIONS__.
4848 Call TARGET_CPU_CPP_BUILTINS and TARGET_OS_CPP_BUILTINS.
4849 * cppinit.c (__USING_SJLJ_EXCEPTIONS): Not here.
4850 * defaults.h (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS,
4851 CPP_PREDEFINES): Handle here.
4852config:
4853 * alpha/alpha-interix.h, alpha/gnu.h, alpha/linux.h,
4854 alpha/netbsd.h, alpha/openbsd.h, alpha/osf.h, alpha/unicosmk.h,
4855 alpha/vms.h, alpha/vxworks.h: Remove CPP_PREDEFINES, define
4856 TARGET_OS_CPP_BUILTINS.
4857 * alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Define.
4858 (CPP_SPEC, EXTRA_SPECS): Update.
4859 (CPP_AM_BWX_SPEC, CPP_AM_MAX_SPEC, CPP_AM_FIX_SPEC,
4860 CPP_AM_CIX_SPEC, CPP_IM_EV4_SPEC, CPP_IM_EV5_SPEC,
4861 CPP_IM_EV6_SPEC, CPP_CPU_EV4_SPEC, CPP_CPU_EV5_SPEC,
4862 CPP_CPU_EV56_SPEC, CPP_CPU_PCA56_SPEC, CPP_CPU_EV6_SPEC,
4863 CPP_CPU_EV67_SPEC, CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Remove.
4864doc:
4865 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Remove.
4866 (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS): Define.
4867
2ff23ed0 48682002-05-12 Zack Weinberg <zack@codesourcery.com>
4869
4870 * emit-rtl.c (global_rtl): Update comment.
4871 (const_double_htab, const_double_htab_hash,
4872 const_double_htab_hash, lookup_const_double): New.
4873 (const_int_htab_hash, const_int_htab_eq): Remove const
4874 qualifiers, which cause tons of warnings with RTL checking on.
4875 (gen_rtx_CONST_DOUBLE): Deleted.
4876 (const_double_from_real_value): New function - bears some
4877 resemblance to the former immed_real_const_1.
4878 (immed_double_const): Moved here from varasm.c and
4879 simplified.
4880 (gen_rtx_REG): Make REGNO unsigned to squelch warnings.
4881 (gen_rtx_SUBREG): Use gen_rtx_raw_SUBREG.
4882 (gen_rtx): Use immed_double_const.
4883 (init_emit_once): Initialize the const_double_htab. Use
4884 REAL_VALUE_FROM_INT where possible. Can now use
4885 CONST_DOUBLE_FROM_REAL_VALUE when setting up const_tiny_rtx.
4886 * varasm.c (struct varasm_status): Remove x_const_double_chain.
4887 (const_double_chain, immed_real_const, clear_const_double_mem): Delete.
4888 (immed_double_const, immed_real_const_1): Moved to emit-rtl.c.
4889 (init_varasm_status, mark_varasm_status): Don't touch
4890 x_const_double_chain.
4891
4892 * output.h: Delete prototype for clear_const_double_mem.
4893 * real.h: Make REAL_VALUE_TYPE a macro again. Remove leading
4894 '0' slot from all CONST_DOUBLE_FORMAT definitions. Prototype
4895 const_double_from_real_value, not immed_real_const_1, and use
4896 it to define CONST_DOUBLE_FROM_REAL_VALUE. Define new macro
4897 CONST_DOUBLE_ATOF.
4898 * rtl.h (CONST_DOUBLE_CHAIN): Kill.
4899 (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Adjust.
4900 (gen_rtx_CONST_DOUBLE, immed_real_const): Delete prototypes.
4901 (gen_rtx_REG): Second arg is unsigned.
4902
4903 * gengenrtl.c (special_rtx): Take out CONST_DOUBLE.
4904 (excluded_rtx): New, return true for CONST_DOUBLE.
4905 (genmacro): Write nothing for excluded codes.
4906 * combine.c (combine_simplify_rtx): Use CONST_DOUBLE_FROM_REAL_VALUE.
4907 * expr.c (expand_expr): Likewise.
4908 * ggc-common.c (ggc_mark_rtx_children_1): Don't mark the
4909 CONST_DOUBLE_CHAIN.
4910 * toplev.c (rest_of_compilation): Don't call
4911 clear_const_double_mem.
4912
4913 * config/rs6000/rs6000.c (rs6000_float_const): Delete.
4914 (rs6000_hash_constant): Remove CONST_DOUBLE special case.
4915 (toc_hash_eq): Remove CONST_DOUBLE and LABEL_REF special cases.
4916 * config/rs6000/rs6000-protos.h: Don't prototype rs6000_float_const.
4917 * config/c4x/c4x.md, config/rs6000/rs6000.md: Use CONST_DOUBLE_ATOF.
4918 * config/dsp16xx/dsp16xx.md, config/mips/mips.md,
4919 config/pa/pa.md: Use CONST_DOUBLE_FROM_REAL_VALUE.
4920 * config/sparc/sparc.md, config/sparc/sparc.c: Use immed_double_const.
4921
850764ac 49222002-05-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4923
4924 * mips/iris6.h (CPLUSPLUS_CPP_SPEC): Define.
4925
ff6d0dd9 49262002-05-12 Tom Tromey <tromey@redhat.com>
4927
4928 * tree.h (copy_node): Don't mention TREE_PERMANENT.
4929
be46690e 49302002-05-12 Zack Weinberg <zack@codesourcery.com>
4931
4932 * gensupport.c (n_comma_elts): Moved here from genattrtab.c.
4933 (scan_comma_elt): New function. Accepts whitespace in comma lists.
4934 * gensupport.h: Prototype new routines.
4935 * genattr.c (gen_attr): Use scan_comma_elt. Avoid unnecessary
4936 use of printf.
4937 * genattrtab.c (n_comma_elts): Moved to gensupport.c.
4938 (next_comma_elt): Use scan_comma_elt.
4939
4940 * config/i386/i386.md: Use new attribute notation to break up
4941 long lines in define_attr forms.
4942
c0c4a46d 49432002-05-12 Richard Henderson <rth@redhat.com>
4944
4945 * expr.c (compress_float_constant): New.
4946 (emit_move_insn): Use it.
4947 (float_extend_from_mem): New.
4948 (init_expr_once): Initialize it.
4949 * real.c (exact_real_truncate): New.
4950
4951 * config/i386/i386.h (CONST_COSTS): Assume CONST_DOUBLE gets
4952 dropped into memory; penalize for size.
4953 (RTX_COSTS): FLOAT_EXTEND is free.
4954 * config/i386/i386.md (extendsfdf2, extendsfxf2, extendsftf2,
4955 extenddfxf2, extenddftf2): Accept constants and drop them to memory.
4956
f21e1254 49572002-05-12 Richard Henderson <rth@redhat.com>
4958
4959 * profile.h (profile_info): Add missing extern to declaration.
4960 * profile.c (profile_info): Define it.
4961
3a0bc29c 49622002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
4963
4964 * pa/pa32-regs.h (HARD_REGNO_MODE_OK): Revise sets of general registers
4965 used for DImode and TImode.
4966
4eed76a6 49672002-05-11 Neil Booth <neil@daikokuya.demon.co.uk>
4968
4969 * cpplex.c (_cpp_lex_direct): When in a directive at EOF
4970 fake a newline.
4971
6d01451b 49722002-05-11 Zack Weinberg <zack@codesourcery.com>
4973
4974 * config/rs6000/rs6000.c (rs6000_default_long_calls,
4975 rs6000_longcall_switch, rs6000_set_default_type_attributes): New.
4976 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Set it.
4977 (rs6000_override_options): Handle -m(no-)longcall.
4978 (init_cumulative_args, output_mi_thunk): Check for both
4979 longcall and shortcall attributes on the function.
4980 (rs6000_attribute_table): Add "shortcall".
4981 (rs6000_handle_longcall_attribute): Update comment.
4982 (altivec_expand_unop_builtin, altivec_expand_binop_builtin,
4983 altivec_expand_ternop_builtin): Add default clauses to switches
4984 to silence warnings.
4985
4986 * config/rs6000/rs6000.h: Declare rs6000_longcall_switch and
4987 rs6000_default_long_calls. Define REGISTER_TARGET_PRAGMAS.
4988 (TARGET_OPTIONS): Add longcall and no-longcall.
4989
4990 * config/rs6000/rs6000.md (call_nonlocal_sysv,
4991 call_value_nonlocal_sysv): Split by alternatives. One pair
4992 accepts only SYMBOL_REFs and rejects if CALL_LONG is set in
4993 the call cookie. The other pair accepts only LR/CTR and has
4994 no restriction.
4995
4996 * config.gcc (rs6000-*-* | powerpc*-*-* trailer stanza):
4997 Set c_target_objs, cxx_target_objs; add t-rs6000-c-rule to
4998 tmake_file.
4999 * config/rs6000/rs6000-c.c: New file.
5000 * config/rs6000/t-rs6000-c-rule: New file.
5001 * config/rs6000/rs6000-protos.c: Add multiple-include guard.
5002 Prototype rs6000_pragma_longcall.
5003
5004 * doc/extend.texi: Document shortcall attribute.
5005 * doc/invoke.texi: Document -mlongcall, -mno-longcall.
5006
60ec1089 50072002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
5008
5009 * reorg.c (dbr_schedule): Remove unnecessary test.
5010
4c69d9cb 5011Sat May 11 14:34:35 CEST 2002 Jan Hubicka <jh@suse.cz>
5012
5013 * i386.md (testsi to testqi spliters): New.
5014
5015 2002-01-14 Josef Zlomek <zlomek@matfyz.cz>
5016
5017 cfg.c (dump_edge_info): added dumping of EDGE_CAN_FALLTHRU.
5018
5019 Wed Jan 9 2002 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
5020
5021 * basic-block.h: New flag EDGE_CAN_FALLTHRU
5022 * cfganal.c (set_edge_can_fallthru_flag): New function; marks the edges
5023 that can be made fallthru.
5024
5025 Mon Nov 12 16:25:53 CET 2001 Jan Hubicka <jh@suse.cz>
5026
5027 * cfglayout.c (cleanup_unconditional_jumps): New static function.
5028 (cfg_layout_initialize): Use it.
8a21fed4 5029
f769bee3 50302002-05-11 Marek Michalkiewicz <marekm@amelek.gda.pl>
5031
5032 * config/avr/avr.c (avr_mcu_types): Update supported devices.
5033 * config/avr/avr.h (CPP_SPEC, LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
5034 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
5035
1eefe280 50362002-05-11 Kazu Hirata <kazu@cs.umass.edu>
5037
5038 * dbxout.c: Fix formatting.
5039 * dependence.c: Likewise.
5040 * df.c: Likewise.
5041 * diagnostic.c: Likewise.
5042 * doloop.c: Likewise.
5043 * dominance.c: Likewise.
5044 * doschk.c: Likewise.
5045 * dwarf2asm.c: Likewise.
5046 * dwarf2out.c: Likewise.
5047 * dwarfout.c: Likewise.
5048
6b6672be 50492002-05-10 Richard Henderson <rth@redhat.com>
5050
5051 * final.c (end_final): Tidy whitespace. Don't honor flag_pack_struct.
5052 Convert integers constants as needed. Replace "nwords" field with
5053 "sizeof_bb".
5054 (final): Save profile data if cfun->arc_profile, not profile_arc_flag.
5055 * function.h: Fix typo in comment.
5056 * libgcc2.c (struct bb): Replace "nwords" with "sizeof_bb".
5057
843dd7a3 50582002-05-10 Roger Sayle <roger@eyesopen.com>
5059
5060 * fold-const.c (build_range_check): Optimize (c>=1) && (c<=127)
5061 into the equivalent (signed char)c > 0.
5062
44d23341 50632002-05-10 Janis Johnson <janis187@us.ibm.com>
5064
5065 * loop.c: (PREFETCH_EXTREME_DIFFERENCE, PREFETCH_BEFORE_LOOP): New.
5066 (PREFETCH_CONDITIONAL): Renamed from PREFETCH_NOT_ALWAYS.
5067 (struct prefetch_info): Fix spelling of member bytes_accessed.
5068 (emit_prefetch_instructions): Make dump messages more regular;
5069 restructure code to add more dump messages; use new macros for
5070 heuristics. (There are no code generation changes in any of this).
5071
3abb3b64 50722002-05-10 David S. Miller <davem@redhat.com>
5073
5fdf542c 5074 * rtl.h (INSN_ANNULLED_BRANCH_P): Accept INSN too, update comment.
5075 (struct rtx_def): Update unchanging flag comment.
5076 * doc/rtl.texi (INSN_ANNULLED_BRANCH_P): Update description.
5077 * reorg.c (delete_from_delay_list): INSN_ANNULLED_BRANCH_P needs
5078 to be handled to INSN too.
5079 (dbr_schedule): Likewise.
5080 * resource.c (next_insn_no_annul): Likewise.
5081
3abb3b64 5082 * cse.c (rtx_cost): Remove multiplication by power of 2 special
5083 casing.
5084
e148c53e 50852002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5086
5087 * doc/install.texi (Specific, *-*-solaris2*): Update passus on
5088 setting CONFIG_SHELL to /bin/ksh and remove alternate trick to
5089 (possibly) work around broken /bin/sh.
5090
09bc89ce 50912002-05-10 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5092
5093 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Use mabi=64 and
5094 . as N64/N32 libgcc_s.so subdirs.
5095
40cc626c 50962002-05-10 David S. Miller <davem@redhat.com>
5097
5098 * config/sparc/sparc.md: Use define_constants for unspec numbers.
00f2bb6a 5099
5100 * rtl.h (struct rtx_def): Document unchanging and in_struct flags
5101 more accurately.
5102 (INSN_ANNULLED_BRANCH_P): Only valid for JUMP_INSN and CALL_INSN, fix
5103 comment.
5104 (INSN_FROM_TARGET_P): Valid also for CALL_INSN.
5105 * doc/rtl.texi: Document these macros more accurately.
5106 * recog.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P for
5107 JUMP_INSNs and CALL_INSNs.
5108 * resource.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P
5109 or INSN_FROM_TARGET_P if the code is appropriate.
5110
57463428 51112002-05-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
5112
5113 * config/avr/avr.c (print_operand): Check that addr is a SYMBOL_REF
5114 before using SYMBOL_REF_FLAG (addr).
5115
5116 * config/avr/avr-protos.h (avr_io_address_p): Declare.
5117 * config/avr/avr.c (io_address_p): Rename to avr_io_address_p.
5118 Make non-static. Update all callers.
5119 * config/avr/avr.md (*cbi, *sbi, *sbix_branch, *sbix_branch_bit7):
5120 New insns to clear/set/test a single bit in I/O address space.
5121
9b535aa8 51222002-05-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5123
5124 * rtl.h (ENABLE_RTL_FLAG_CHECKING): Also check for gcc >= 2.7.
5125
1ed9d5f5 51262002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
5127
5128 * Makefile.in: Update.
5129 * c-common.c (flag_iso, flag_undef, cb_register_builtins,
5130 builtin_define_std): New.
5131 (c_common_init): Register CPP builtins callback.
5132 * c-common.h (flag_iso, flag_undef): New.
5133 * c-decl.c (c_decode_option): Set flag_iso and flag_undef.
5134 * c-lex.c: Don't include target.h.
5135 (cb_register_builtins): Move to c-common.c.
5136 (init_c_lex): Don't register hook here.
5137 * c-lex.h (builtin_define, builtin_assert, builtin_define_std): New.
5138 (cpp_define, cpp_assert): Remove.
5139 * gcc.c (cc1_options): Pass -undef to front end.
5140 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): Remove.
5141 (TARGET_INITIALIZER): Update.
5142 * target.h (struct cpp_reader): Don't predeclare.
5143 (struct gcc_target): Remove cpp builtin hook.
5144 * tree.c (default_register_cpp_builtins): Remove.
5145doc:
5146 * tm.texi: Update.
5147
d4337297 51482002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
5149
5150 * cppexp.c (_cpp_expand_op_stack): Set op_limit.
5151
9714e6c7 51522002-05-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5153
5154 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Define.
5155 (SHLIB_LINK, SHLIB_INSTALL): Adjust.
5156
3c35edaa 51572002-05-09 Jakub Jelinek <jakub@redhat.com>
5158
5159 * config/sparc/t-linux64 (SHLIB_MAPFILES): Set.
5160 * config/sparc/libgcc-sparc-glibc.ver: New file.
5161 * config/cris/t-linux (SHLIB_MAPFILES): Remove.
5162 * mklibgcc.in: Preprocess SHLIB_MAPFILES with ml flags.
5163
6af61abe 51642002-05-09 Jakub Jelinek <jakub@redhat.com>
5165
5166 PR target/6429
5167 * Makefile.in (libgcc.mk): Pass SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
5168 * mklibgcc.in: If SHLIB_SLIBDIR_SUFFIXES is defined, put libgcc_s
5169 shared libraries into multilib dirs, with SONAME libgcc_s.so.1 for
5170 base multilibs.
5171 * config/t-slibgcc-elf-ver (SHLIB_LINK): Adjust for the above.
5172 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
5173 * config/sparc/t-linux64 (SHLIB_SLIBDIR_SUFFIXES): Define.
5174 * config/sparc/t-sol2-64 (SHLIB_SLIBDIR_SUFFIXES): Define.
5175
e2b723ca 51762002-05-09 Richard Henderson <rth@redhat.com>
5177
5178 * config/ia64/ia64.md: Use define_constants for unspec numbers.
5179 * config/ia64/ia64.c: Likewise.
5180
5e45632b 51812002-05-09 Richard Sandiford <rsandifo@redhat.com>
5182
5183 * config/mips/mips.c (mips_add_large_offset_to_sp): Remove FILE arg.
5184 (save_restore_insns): Likewise.
5185 (mips_expand_prologue, mips_expand_epilogue): Update callers.
5186 (highpart_shift_operator): Attach ATTRIBUTE_UNUSED to mode argument.
5187
61512c54 5188Thu May 9 11:50:09 2002 Jeffrey A Law (law@redhat.com)
2e72479d 5189
9a999200 5190 * athlon.md, k6.md, pentium.md, ppro.md): New files.
5191 * i386.md: Move scheduling information into new files.
5192
2e72479d 5193 * i386.md (type attribute): Add "rotate" for rotate insns.
5194 (rotate insns): Set type to "rotate".
5195 (various attributes and function units): Treat rotate like shift.
5196 (pent_pair attribute): Only rotates by one bit position are
5197 pairable.
5198 (sbb insns): Explicitly set pent_pair attribute on a couple
5199 that were missing it.
5200
65f753eb 5201Thu May 9 18:29:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
5202
5203 * sh.c (sh_builtin_saveregs): If starting with an odd fp register,
5204 make sure that buffer starts on odd word address.
5205 (sh_va_arg): Skip odd fp registers when reading a double precision
5206 value.
5207
4c002378 52082002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
5209
5210 * tree.h (preserve_data, object_permanent_p, type_precision):
5211 Remove.
5212
8e1db61c 52132002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
5214
5215 * cpplib.c (cpp_init_internal_pragmas): Remove #pragma poison.
5216 * cppmacro.c (paste_all_tokens): Bad pastes are a hard error.
5217doc:
5218 * cpp.texi: Update for removal of obsolete features.
5219
8c8ab57e 5220Thu May 9 07:46:18 2002 Jan Hubicka <jh@suse.cz>
5221 Jeffrey A Law (law@redhat.com)
5222
5223 * i386.c (ia32_use_dfa_pipeline_interface): New function. Use
5224 the DFA interface for Pentium processors.
5225 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): DEFINE.
5226 (attr_pent_pair, ix86_pent_find_pair): Remove.
5227 (ix86_sched_reorder_pentium): Remove.
5228 (ix86_sched_reorder): Remove reordering for Pentium.
5229 * i386.md (Pentium scheduling): Rewrite using DFA description.
5230
33c22fea 5231Thu May 9 14:55:39 CEST 2002 Jan Hubicka <jh@suse.cz>
5232
5233 * cfganal.c (can_fallthru): Fix fast path.
5234 * cfgrtl.c (verify_flow_info): Avoid crash on conditionals
5235 with edges to the next block.
5236
90c2be44 5237Thu May 9 14:52:45 CEST 2002 Jan Hubicka <jh@suse.cz>
5238 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
5239
5240 * final.c (end_final): Use C trees to output data structures for profiling.
5241
5242 * Makefile.in (LIBGCC_DEPS): Added missing dependency on gcov-io.h
2ff23ed0 5243 (profile.o): New dependency profile.h
5244 (final.o): New dependency profile.h
5245 * profile.h: New file. New global structure profile_info.
5246 * final.h (count_edges_instrumented_now): Declare.
5247 (current_function_cfg_checksum): Declare.
5248 (function_list): New structure.
5249 (functions_head, functions_tail): New static variables.
5250 (end_final): Emits more data, removed some -ax stuff.
5251 (final): Stores function names and chcksums.
5252 * gcov-io.h (__write_gcov_string): New function.
5253 (__read_gcov_string): New function.
5254 * gcov.c (read_profile): New function.
5255 (create_program_flow_graph): Uses read_profile instead of reading
90c2be44 5256 da_file.
2ff23ed0 5257 (read_files): Removed da_file checking, it's done by read_profile now.
5258 * libgcc2.c (bb_function_info): New structure.
5259 (bb): New field in structure, removed some -ax stuff.
5260 (__bb_exit_func): Changed structure of da_file.
5261 * profile.c (count_edges_instrumented_now): New global variable.
5262 (current_function_cfg_checksum): New global variable.
5263 (max_counter_in_program): New global variable.
5264 (get_exec_counts): New function.
5265 (compute_checksum): New function.
5266 (instrument_edges): Sets count_edges_instrumented_now.
5267 (compute_branch_probabilities): Uses get_exec_counts instead of
90c2be44 5268 reading da_file.
2ff23ed0 5269 (branch_prob): Calls compute_checksum and writes extra data to bbg_file.
5270 (init_branch_prob): Removed da_file checking, done in get_exec_counts
90c2be44 5271 now.
2ff23ed0 5272 (end_branch_prob): Removed da_file checking, done in get_exec_counts
90c2be44 5273 now.
2ff23ed0 5274 * gcov.texi: Updated information about gcov file format.
90c2be44 5275
40734805 52762002-05-09 Kazu Hirata <kazu@cs.umass.edu>
5277
5278 * sbitmap.c: Fix formatting.
5279 * scan.c: Likewise.
5280 * scan-decls.c: Likewise.
5281 * sched-deps.c: Likewise.
5282 * sched-ebb.c: Likewise.
5283 * sched-rgn.c: Likewise.
5284 * sched-vis.c: Likewise.
5285 * sdbout.c: Likewise.
5286 * sibcall.c: Likewise.
5287 * simplify-rtx.c: Likewise.
5288 * ssa.c: Likewise.
5289 * ssa-ccp.c: Likewise.
5290 * ssa-dce.c: Likewise.
5291 * stmt.c: Likewise.
5292 * stor-layout.c: Likewise.
5293 * stringpool.c: Likewise.
5294
1711184f 52952002-05-09 David S. Miller <davem@redhat.com>
5296
5297 * config/sparc/sol2.h (ASM_CPU_SPEC): Handle -mcpu=v9.
5298
3044c70d 52992002-05-07 David S. Miller <davem@redhat.com>
5300
5301 * config/sparc/sparc.h (TARGET_BUGGY_QP_LIB): Define to zero.
5302 * config/sparc/sol2.h (TARGET_BUGGY_QP_LIB): Override to one.
5303 * config/sparc/sparc.c (emit_soft_tfmode_libcall): If the Qp
5304 library implementation clobbers the output before the inputs
5305 are fully consumed, use stack temporary for the output.
5306
93528070 53072002-05-09 Jason Thorpe <thorpej@wasabisystems.com>
5308
5309 * config/netbsd.h (CPP_SPEC): Remove.
5310 * config/i386/netbsd-elf.h (CPP_SPEC): Define.
5311 * config/i386/netbsd.h (CPP_SPEC): Define.
5312 * config/ns32k/netbsd.h (CPP_SPEC): Define.
5313 * config/sparc/netbsd-elf.h (CPP_SPEC): Remove.
5314 * config/sparc/netbsd.h (CPP_SPEC): Define.
5315 * config/vax/netbsd.h (CPP_SPEC): Define.
5316
2617fe26 53172002-05-08 Kazu Hirata <kazu@cs.umass.edu>
5318
5319 * read-rtl.c: Fix formatting.
5320 * real.c: Likewise.
5321 * recog.c: Likewise.
5322 * regclass.c: Likewise.
5323 * regmove.c: Likewise.
5324 * reg-stack.c: Likewise.
5325 * reload1.c: Likewise.
5326 * reload.c: Likewise.
5327 * resource.c: Likewise.
5328 * rtlanal.c: Likewise.
5329 * rtl.c: Likewise.
5330 * rtl-error.c: Likewise.
5331
03e904a5 53322002-05-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
5333
5334 * pa/pa-64.h (MAX_WCHAR_TYPE_SIZE): Delete.
5335 * pa/pa.h (MAX_WCHAR_TYPE_SIZE): Delete.
5336
ce15af6d 53372002-05-08 Bernd Schmidt <bernds@redhat.com>
5338
5339 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Tweak previous change to
5340 use __SSE2__ macro instead.
5341 * config/i386/xmmintrin.h: Likewise.
5342
3c6858c6 53432002-05-08 Janis Johnson <janis187@us.ibm.com>
5344
5345 * rtl.h (RTL_FLAG_CHECK*): Add an argument for the macro name,
5346 and use it in all invocations of these macros. Clean up comments.
5347 * rtl.c (rtl_check_failed_flag): Add an argument for the name
5348 of the flag access macro whose check failed.
5349 * doc/rtl.texi (Flags): Document additional flag uses.
5350
b26dc365 53512002-05-08 Robert Spier <rspier@pobox.com>
5352 Neil Booth <neil@daikokuya.demon.co.uk>
5353
5354 PR preprocessor/6521
5355 * cppfiles.c (handle_missing_header): Don't do anything
5356 different for <> includes.
5357doc:
5358 * cppopts.texi: Update documentation for -MG.
5359
2798f07c 53602002-05-08 Neil Booth <neil@daikokuya.demon.co.uk>
5361
5362 * cpplex.c (cpp_interpret_charconst): Truncate as well as
5363 sign-extend.
5364doc:
5365 * cpp.texi: Clarify multichar charconst valuation.
5366
8d4926dc 53672002-05-08 Mark Mitchell <mark@codesourcery.com>
5368
5369 * doc/invoke.texi: Document -mwindiss option.
5370
637d3308 53712002-05-08 Jason Merrill <jason@redhat.com>
5372
5373 * dwarf2out.c (output_call_frame_info): Don't emit a CIE with no FDEs.
5374
5375 * dwarf2out.c (gen_type_die): Abort on broken recursion.
5376
5377 PR c++/6381
5378 * dwarf2out.c (rtl_for_decl_location): Only expand INTEGER_CST and
5379 REAL_CST.
5380
ea53c1b3 53812002-05-08 Nick Clifton <nickc@cambridge.redhat.com>
5382
5383 * config/arm/t-arm-elf (MULTILIB): Do not allow big-endian/
5384 little-endian multilibs to override arm/thumb multilibs.
edd2f2ae 5385 Do not build hardware floating point multilibs, nor apcs-26
ea53c1b3 5386 multilibs for the Thumb.
5387
7578526f 53882002-05-08 Mark Mitchell <mark@codesourcery.com>
5389
5390 PR c/6569.
5391 * varasm.c (mark_weak): New function.
5392 (merge_weak): Use it. Do not call declare_weak.
5393 (declare_weak): Use merge_weak.
5394
6eca0bfb 5395Wed May 8 13:12:11 CEST 2002 Jan Hubicka <jh@suse.cz>
5396
5397 * cse.c (dead_libcall_p): Update counts.
5398 (delete_trivially_dead_insns): Update call of dead_libcall_p.
5399
cd0fe062 5400Wed May 8 11:08:50 CEST 2002 Jan Hubicka <jh@suse.cz>
5401
5402 * cfglayout.c (function_tail_eff_head): Rename to ...
5403 (function_footer): ... this one.
5404 (unlink_insn_chain): New functions.
5405 (label_for_bb): Only call block_label and emit debug message.
5406 (record_effective_endpoints): Actually unlink the headers and footers.
5407 (fixup_reorder_cahin): Re-insert the unlinked sequences.
5408 (cfg_layout_duplicate_bb): Use duplicate_insn_chain.
5409 * cfglayout.h (struct reorder_block_def): New fields footer/header;
5410 remove eff_head/eff_end.
5411 * rtl.h (set_first_insn): Declare.
5412 * emit-rtl.c (set_first_insn): New function.
5413
5414 * cfglayout.c (fixup_reorder_chain): Dump duplicated
5415 (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
5416 cfg_layout_duplicate_bb): New global function.
5417 (duplicate_insn_chain): New static function.
5418 * cfglayout.h (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
5419 cfg_layout_duplicate_bb): Declare.
5420 (struct reorder_block_def): Add "original" field.
5421 * emit-rtl.c (emit_copy_of_insn_after): New function.
5422 * rtl.h (emit_copy_of_insn_after): Declare.
5423
5424 * cfglayout.c (fixup_fallthru_exit_predecessor): Kill.
5425 (fixup_reorder_chain): properly handle edges to exit block.
5426
5427Wed May 8 11:10:31 CEST 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5428 Jan Hubicka <jh@suse.cz>
5429
5430 * basic-block.h (note_prediction_to_br_prob): declare.
5431 * c-semantics.c: Inlucde predit.h
5432 (expand_stmt): predict GOTO_STMT as not taken.
5433 * cfgcleanup.c: (delete_unreachable_blocks): Make global.
5434 (cleanup_cfg): Do not free tail_recursion_list.
5435 * cfgrtl.c (can_delete_note_p): Delete NOTE_INSN_PREDICTION.
5436 (flow_delete_block): Kill predictions past end of basic block.
5437 * output.h (delete_unreachable_blocks): Declare.
5438 * predict.c (predicted_by_p, process_note_predictions,
5439 process_note_prediction, last_block_p): New function.
5440 (estimate_probability): Bypass loop on PRED_CONTINUE;
5441 do not handle noreturn heuristics; kill PRED_RETURN; add
5442 PRED_EARLY_RETURN.
5443 * predict.def (PRED_CONTINUE, PRED_EARLY_RETURN, PRED_GOTO,
5444 PRED_CONST_RETURN, PRED_NEGATIVE_RETURN, PRED_NULL_RETURN): New.
5445 * predict.h (IS_TAKEN): New constant.
5446 * print-rtl.c (print_rtx): Pretty print NOTE_INSN_PREDICTION.
5447 * rtl.c (NOTE_INSN_PREDICTION): New.
5448 * rtl.h (NOTE_PREDICTION, NOTE_PREDICTION_ALG, NOTE_PREDICTION_FLAGS):
5449 New macro.
5450 (insn_note): add NOTE_INSN_PREDICTION.
5451 * sibcall.c (optimize_sibling_and_tail_recursive_call): Do not build
5452 CFG; free tail_recursion_label_list.
5453 * stmt.c: Include predict.h;
5454 (return_prediction): New.
5455 (expand_value_return): Use it.
5456 * toplev.c: Lower NOTE_INSN_PREDICTION before sibcall.
5457
44513445 54582002-05-08 Richard Sandiford <rsandifo@redhat.com>
5459
5460 * config/mips/mips.md: Name the unspecs with define_constant.
5461 (*HILO_delay): Rename to 'hilo_delay' (no star).
5462 (reload_indi): Replace gen_rtx_UNSPEC with gen_hilo_delay.
5463 (reload_outdi, reload_outsi): Likewise.
5464
b1157638 54652002-05-07 Kazu Hirata <kazu@cs.umass.edu>
5466
5467 * toplev.c: Fix formatting.
5468
b0e7e012 54692002-05-07 Janis Johnson <janis187@us.ibm.com>
5470
5471 * config.in (ENABLE_RTL_FLAG_CHECKING): New.
5472 * configure.in (ac_rtlflag_checking): New.
5473 * doc/install.texi (--enable-checking): Document RTL flag checking.
5474
d932f956 54752002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
5476
5477 * c-common.c (c_common_init): Set options->unsigned_wchar.
5478 * cppinit.c (cpp_create_reader): Default unsigned_wchar,
5479 group target dependencies.
5480 (init_builtins, cpp_handle_option): Update.
5481 * cpplex.c (cpp_interpret_charconst): Update.
5482 * cpplib.h (struct cpp_options): Add unsigned_wchar, rename
5483 signed_char to unsigned_char, group target dependencies.
5484 * defaults.h (WCHAR_UNSIGNED): Remove.
5485 * system.h (WCHAR_UNSIGNED, MAX_CHAR_TYPE_SIZE): Poison.
5486config:
5487 * freebsd.h, interix.h, alpha/freebsd.h, arm/freebsd.h,
5488 i386/386bsd.h, i386/beos-elf.h, i386/bsd386.h, i386/cygwin.h,
5489 i386/djgpp.h, i386/freebsd-aout.h, i386/i386-interix.h,
5490 i386/win32.h, ia64/freebsd.h, mips/netbsd.h, rs6000/freebsd.h,
5491 sh/elf.h, sh/sh.h, sparc/freebsd.h: Remove WCHAR_UNSIGNED.
5492doc:
5493 * tm.texi: Remove MAX_CHAR_TYPE_SIZE.
5494
5a268127 54952002-05-07 Mark Mitchell <mark@codesourcery.com>
5496
5497 * fixinc/inclhack.def (windiss_math1): New fix.
5498 (windiss_math2): Likewise.
5499 (windiss_valist): Likewise.
5500 * fixinc/fixincl.x: Regenerated.
5501
26638275 55022002-05-07 Andreas Jaeger <aj@suse.de>
5503
5504 * genautomata.c (output_internal_min_issue_delay_func): Add
5505 ATTRIBUTE_UNUSED to avoid warning with empty dfa.
5506 (output_internal_trans_func): Likewise.
5507
831a12d9 5508Tue May 7 10:06:22 2002 Jeffrey A Law (law@redhat.com)
5509
5510 * pa.c (hppa_profile_hook): Use force_reg to get the address
5511 of the profile hook into an appropriate pseudo register.
5512
f9eaaae5 55132002-05-07 Mark Mitchell <mark@codesourcery.com>
5514
5515 * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -mwindiss.
5516 (LINK_START_SPEC): Handle it.
5517 (LINK_OS_SPEC): Likewise.
5518 (CPP_SPEC): Likewise.
5519 (STARTFILE_SPEC): Likewise.
5520 (LIB_SPEC): Likewise.
5521 (ENDFILE_SPEC): Likewise. Do not assume crtsavres.o is used on
5522 all platforms.
5523 (CRTSAVRES_DEFAULT_SPEC): New macro.
5524 (LIB_WINDISS_SPEC): New macro.
5525 (CPP_OS_WINDISS_SPEC): Likewise.
5526 (STARTFILE_WINDISS_SPEC): Likewise.
5527 (ENDFILE_WINDISS_SPEC): Likewise.
5528 (LINK_START_WINDISS_SPEC): Likewise.
5529 (LINK_OS_WINDISS_SPEC): Likewise.
5530 * config/rs6000/windiss.h: New file.
26638275 5531
c1c8d456 55322002-05-07 Aldy Hernandez <aldyh@redhat.com>
5533
edd2f2ae 5534 * config/rs6000/rs6000.c (bdesc_2arg): Fix vmax typos.
c1c8d456 5535
b8d49b98 55362002-05-06 David S. Miller <davem@redhat.com>
5537
5538 * config/sparc/sparc.md (shift insns): Do not mask off
5539 second operand, 'I' constraint and SHIFT_COUNT_TRUNCATED
5540 take care of it.
5541
5b965633 55422002-05-06 Richard Henderson <rth@redhat.com>
5543
5544 PR c++/6212
5545 * expr.c (highest_pow2_factor_for_type): New.
5546 (expand_assignment): Use it.
5547
8d91268d 55482002-05-06 Aldy Hernandez <aldyh@redhat.com>
5549
5b965633 5550 * config/rs6000/rs6000.md ("altivec_mtvscr"): Change to
5551 unspec_volatile.
5552 ("altivec_mfvscr"): Same.
8d91268d 5553
e7f75e15 55542002-05-06 Janis Johnson <janis187@us.ibm.com>
5555
5556 * rtl.h (struct rtx_def): Update comments.
5557 (RTL_FLAG_CHECK[12345678]): New. (rtl_check_failed_flag): Declare.
5558 (RTL_FLAG): New. (CLEAR_RTX_FLAGS): New. (flag access macros): Use
5559 RTL_FLAG_CHECK macros with list of expected RTL codes.
5560 * rtl.c (copy_rtx, shallow_copy_rtx): Use RTX_FLAG macro.
5561 (rtl_check_failed_flag): New.
5562 * reload1.c (reload): Use REG macro before changing rtx to MEM.
5563 (reload_cse_noop_set_p): Check rtx code before using access macro.
5564 * config/ia64/ia64.c (process_for_unwind_directive): Check rtx code
5565 before using access macro.
5566
92778b4a 55672002-05-06 Janis Johnson <janis187@us.ibm.com>
5568
5569 * doc/rtl.texi (Flags): Update to reflect current usage.
5570
203a24c4 55712002-05-06 Roger Sayle <roger@eyesopen.com>
5572
5573 PR opt/3995
5574 * fold-const.c (sign_bit_p): New function.
5575 (fold) [EQ_EXPR]: Use this to convert (A & C) == 0 into A >= 0 and
5b965633 5576 (A & C) != 0 into A < 0, when constant C is the sign bit of A's type.
203a24c4 5577 Reapply fold when converting (A & C) == C into (A & C) != 0.
5578 (fold_binary_op_with_conditional_arg): Fix typo in comment.
5579
318fdd81 55802002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
5581
5582 * c-common.c (warn_multichar): New.
5583 (c_common_init): Set CPP's warn_multichar.
5584 * c-common.h (warn_multichar): New.
5585 * c-decl.c (warn_multichar): Remove.
5586 * c-lex.c (lex_charconst): Update.
5587 * c-tree.h (warn_multichar): Remove.
5588 * cppexp.c (eval_token): Sign-extend charconst value.
5589 * cppinit.c (cpp_create_reader): Set warn_multichar.
5590 * cpplex.c (cpp_interpret_charconst): Don't sign-extend
5591 each character. Update prototype. Sign-extend the result.
5592 * cpplib.h: Fix conditions.
5593 (struct cpp_options): Add new warning flag.
5594 (cpp_interpret_charconst): Update prototype.
5595doc:
5596 * cpp.texi: Update documentation.
5597
5f70bbcf 55982002-05-06 Vladimir Makarov <vmakarov@redhat.com>
5599
5600 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
5601 Fix typo in usage of allof instead of unit.
5602
9ed76315 56032002-05-06 Richard Henderson <rth@redhat.com>
5604
5605 * recog.c (if_test_bypass_p): Accept multiple set insns for OUT,
5606 and any jump or call for IN.
5607
0affa48f 56082002-05-06 Bernd Schmidt <bernds@redhat.com>
5609
26638275 5610 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Define __SSE2_BUILTINS__ if
0affa48f 5611 -msse2.
5612 * config/i386/xmmintrin.h: Use it to conditionalize SSE2 support.
26638275 5613
f9a532b0 56142002-05-06 Roger Sayle <roger@eyesopen.com>
5615
5616 * fold-const.c (lshift-double): Cast the high word to an unsigned
5617 HOST_WIDE_INT when extracting sign bit to avoid compiler warning.
5618 (div_and_round_double): Cast carry to a signed HOST_WIDE_INT to
5619 avoid compiler warning. (fold): Remove redundant code from
5620 BIT_AND_EXPR as integer operands are canonicalized to be arg1.
5621
cde3e16c 56222002-05-06 Jeff Law <law@redhat.com>
5623
5624 * pa-protos.h (hppa_fpstore_bypass_p): Declare.
5625 * pa.c (pa_adjust_cost): Remove all true dependency cost
5626 adjustments. Also remove support for non-DFA scheduling.
5627 * pa.md (700, 7100, 7100lc, 7200, 7300): Use bypass mechanism
5628 to adjust true dependency costs. Update various comments.
5629 (7100lc, 7200, 7300 scheduling): Simplify by combining the
5630 FP ALU & MPY units into a single unit.
5631
f3d57f06 56322002-05-06 Catherine Moore <clm@redhat.com>
5633
5634 * config/v850/v850.c (compute_register_save_size): Make sure
5b965633 5635 to count all of the registers that will be saved.
f3d57f06 5636
b604c0ed 5637Mon May 6 18:03:11 CEST 2002 Jan Hubicka <jh@suse.cz>
5638
5639 * i386.c (q_regs_operand): Use ANY_QI_REGS_P.
5640
08e984ce 56412002-05-06 David S. Miller <davem@redhat.com>
5642
5643 * config/sparc/sparc.c (emit_soft_tfmode_libcall): Do not
5644 allow result to overlap input operands in memory.
5645
c3dc40b1 56462002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
5647
5648doc:
5649 * cpp.texi: Update multichar charconst docs.
5650
d507cd2f 56512002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
5652
5653 * cpplex.c (cpp_interpret_charconst): Sign-extend each
5654 character. Don't ignore excess characters. Treat
5655 multicharacter character constants as signed.
5656 (cpp_parse_escape): Clarify diagnostic.
5657
15f8e49b 56582002-05-05 Jakub Jelinek <jakub@redhat.com>
5659
5660 * config/sparc/sparc.md (ashlsi3): If shift count is const1_rtx,
5661 use add instead of shift.
5662 (ashldi3_sp64): Likewise.
5663 (ashlsi3_const1, ashldi3_const1): Remove.
5664 * config/sparc/sparc.h (PREDICATE_CODES): Add const1_operand.
5665 * config/sparc/sparc.c (const1_operand): New.
5666
57de8662 56672002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
5668
5669 * config.gcc (alpha*-*-netbsd*): Don't use crtstuff.
5670
b00035f2 56712002-05-05 Jakub Jelinek <jakub@redhat.com>
5672
5673 PR target/6561
5674 * config/sparc/sparc.md (muldi3_v8plus): Handle %1 equal to %2.
5675
7eb0c947 56762002-05-05 Richard Henderson <rth@redhat.com>
5677
5678 * config/alpha/alpha.c (alpha_adjust_cost): Remove everything but
5679 memory latency adjustments.
5680 (alpha_variable_issue): Remove.
5681 (alpha_use_dfa_pipeline_interface): New.
5682 (alpha_multipass_dfa_lookahead): New.
5683 * config/alpha/alpha.md: Remove define_function_unit scheduling;
5684 include new dfa scheduling.
5685 (attr type): Add none.
5686 (blockage): Use it.
5687 * config/alpha/ev4.md: New.
5688 * config/alpha/ev5.md: New.
5689 * config/alpha/ev6.md: New.
5690
bab5a775 56912002-05-05 David S. Miller <davem@redhat.com>
5692
5693 * recog.c (store_data_bypass_p): Handle CLOBBER inside PARALLEL.
5694
d4c5e26d 56952002-05-05 Kazu Hirata <kazu@cs.umass.edu>
5696
5697 * cse.c: Fix formatting.
5698 * emit-rtl.c: Likewise.
5699
8da5793c 57002002-05-05 Vladimir Makarov <vmakarov@redhat.com>
5701
5702 * genautomata.c (initiate_states): Add additional guard to
5703 initialize `units_array'.
5704
b35eefd9 57052002-05-05 Vladimir Makarov <vmakarov@redhat.com>
5706
5707 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp,
5708 process_unit_to_form_the_same_automaton_unit_lists,
5709 form_the_same_automaton_unit_lists
5710 check_unit_distributions_to_automata): New prototypes and
5711 functions.
5712 (check_automata): Rename it into `check_automata_insn_issues'.
5713 (unit_decl): New fields `the_same_automaton_unit' and
5714 `the_same_automaton_message_reported_p'.
5715 (unit_decl_t): New typedef.
5716 (the_same_automaton_lists): New gloval variable.
5717 (unit_regexp, unit_set_el, units_array, units_cmp,
5718 output_get_cpu_unit_code_func): Use the typedef.
5719 (evaluate_max_reserv_cycles): Increment
5720 `description->max_insn_reserv_cycles'.
5721 (initiate_states): Don't increment `max_cycles_num'.
5722 (transform_insn_regexps): Move code around transformation of
5723 regexps from `generate'.
5724 (generate): Remove call of `transform_insn_regexps'.
5725 (expand_automata): Call `transform_insn_regexps' and
5726 `check_unit_distributions_to_automata'. Check errors before
5727 `generate'.
5728
5729 * config/sparc/ultra3.md (us3_a0, us3_a1): Move the units into
5730 automaton `ultrasparc3_1'.
26638275 5731
1893c11a 57322002-05-05 Neil Booth <neil@daikokuya.demon.co.uk>
5733
5734 * c-common.c (c_common_init): Set up CPP arithmetic.
5735 * cppinit.c (cpp_create_reader): Default CPP arithmetic to
5736 something reasonable for the host.
5737 (sanity_checks): Add checks.
5738 (cpp_read_main_file): Call sanity_checks() from here...
5739 (cpp_post_options): ... not here.
5740 * cpplex.c (cpp_interpret_charconst): Get max_chars right.
5741 * cpplib.h (struct cpp_options): New member int_precision.
5742
36d56345 57432002-05-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
5744
5745 * doc/install.texi (powerpc-*-linux-gnu*): Update build requirements.
5746
c69803e9 57472002-05-04 David S. Miller <davem@redhat.com>
5748
e7d6d302 5749 * config/sparc/linux.h, config/sparc/linux64.h
5750 (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define twice.
5751
7987fb04 5752 * config/sparc/sparc.c (sparc_rtx_costs): Describe costs of
5753 more RTX codes.
5754 * config/sparc/sparc.h (RTX_COSTS_CASES): List those new codes.
5755
c69803e9 5756 * recog.c (store_data_bypass_p): Handle out_insn being a PARALLEL
5757 of SETs.
5758
1aa70e57 57592002-05-05 Tim Josling <tej@melbpc.org.au>
5760
26638275 5761 * treelang; New directory for new sample language treelang.
1aa70e57 5762
9a85d74b 57632002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
5764
5765 * Makefile.in (c-lex.o): Update.
5766 * c-lex.c: Include target.h.
5767 (cb_register_builtins): New.
5768 (init_c_lex): Set builtins callback.
5769 * c-lex.h (cpp_define, cpp_assert): New prototypes.
5770 * cppinit.c (init_builtins): Use callback, including for
5771 GXX_WEAK.
5772 * cpplib.h (struct cpp_callbacks): New member.
5773 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): New.
5774 (TARGET_INITIALIZER): Update.
5775 * target.h (struct gcc_target): New hook.
5776 * tree.c (default_register_cpp_builtins): New.
5777 * tree.h (default_register_cpp_builtins): New.
5778doc:
5779 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Document.
5780
40855b30 57812002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
5782
5783 * cppinit.c (MAX_WCHAR_TYPE_SIZE): Move to cpplib.h
5784 (cpp_post_options): Move sanity checks to...
5785 (sanity_checks): New.
5786 * cpplex.c (maybe_read_ucs): Fix prototype.
5787 (parse_string, cpp_parse_escape): Cast for %c format specifier.
5788 * cpplib.h (cppchar_t): Use unsigned long or unsigned long long
5789 if necessary.
5790
d3ceaee1 57912002-05-04 Bernd Schmidt <bernds@redhat.com>
5792
5793 * config/i386/i386.c (bdesc_2arg): Add a couple of missing SSE2
5794 builtins. Use V2DI patterns instead of TI for logical operations.
5795 (ix86_init_mmx_sse_builtins): Add a couple of missing SSE2 builtins.
5796 Correct definitions of psadbw, pmovmskb128, movntdq, cvtdq2ps.
5797 (ix86_expand_builtins): Change the pattern used for movntdq.
5798 * config/i386/i386.md (sse2_andv2di3, sse2_iorv2di3, sse2_xorv2di3,
5799 sse2_nandv2di3): New patterns.
5800 (sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3): Correct modes
5801 on operands.
5802 (sse2_movntv2di): Renamed from sse2_movntti and modes adjusted.
5803 (cvtdq2pd): Correct mode on operand 1.
5804 (sse2_umulsidi3): Describe without unspec.
5805 (sse2_psadbw, mmx_psadbw): Describe with unspec; use more appropriate
5806 machine modes.
5807 (lshrv2di3): Renamed from sse2_lshrv2di3 and removed unspec.
5808 (ashlv2di3): Likewise, from sse2_ashlv2di3.
5809 (ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, lshrv2di3, ashlv8hi3,
5810 ashlv4si3, ashlv2di3): Use SImode for shift count.
5811 (ashrv8hi3_ti, ashrv4si3_ti, lshrv8hi3_ti, lshrv4si3_ti, lshrv2di3_ti,
5812 lshrv4si3_ti, lshrv2di3_ti, ashlv8hi3_ti, ashlv4si3_ti, ashlv2di3_ti):
5813 New patterns.
5814 * config/i386/xmmintrin.h (__v2df, __v2di, __v4si, __v8hi, __v16qi):
5815 New typedefs.
5816 (__m128i, __m128d): New macros.
5817 (_mm_add_pd, _mm_add_sd, _mm_sub_pd, _mm_sub_sd, _mm_mul_pd,
5818 _mm_mul_sd, _mm_div_pd, _mm_div_sd, _mm_sqrt_pd, _mm_sqrt_sd,
5819 _mm_min_pd, _mm_min_sd, _mm_max_sd, _mm_max_pd, _mm_and_pd,
5820 _mm_andnot_pd, _mm_xor_pd, _mm_or_pd, _mm_cmpeq_pd, _mm_cmplt_pd,
5821 _mm_cmple_pd, _mm_cmpgt_pd, _mm_cmpge_pd, _mm_cmpneq_pd,
26638275 5822 _mm_cmpnlt_pd, _mm_cmpnle_pd, _mm_cmpngt_pd, _mm_cmpnge_pd,
d3ceaee1 5823 _mm_cmpord_pd, _mm_cmpunord_pd, _mm_cmpeq_sd, _mm_cmplt_sd,
5824 _mm_cmple_sd, _mm_cmpgt_sd, _mm_cmpge_sd, _mm_cmpneq_sd,
26638275 5825 _mm_cmpnlt_sd, _mm_cmpnle_sd, _mm_cmpngt_sd, _mm_cmpnge_sd,
d3ceaee1 5826 _mm_cmpord_sd, _mm_cmpunord_sd, _mm_comieq_sd, _mm_comilt_sd,
5827 _mm_comile_sd, _mm_comigt_sd, _mm_comige_sd, _mm_comineq_sd,
5828 _mm_ucomieq_sd, _mm_ucomieq_sd, _mm_ucomilt_sd, _mm_ucomile_sd,
5829 _mm_ucomigt_sd, _mm_ucomige_sd, _mm_ucomineq_sd, _mm_cvtepi32_pd,
5830 _mm_cvtepi32_ps, _mm_cvtpd_epi32, _mm_cvtpd_pi32, _mm_cvtpd_ps,
5831 _mm_cvttpd_epi32, _mm_cvttpd_pi32, _mm_cvtpi32_pd, _mm_cvtps_epi32,
5832 _mm_cvttps_epi32, _mm_cvtps_pd, _mm_cvtsd_si32, _mm_cvttsd_si32,
5833 _mm_cvtsd_ss, _mm_cvtsi32_sd, _mm_cvtss_sd, _mm_unpackhi_pd,
5834 _mm_unpacklo_pd, _mm_loadh_pd, _mm_storeh_pd, _mm_storel_pd,
5835 _mm_movemask_pd, _mm_packs_epi16, _mm_packs_epi32, _mm_packus_epi16,
5836 _mm_unpackhi_epi8, _mm_unpackhi_epi16, _mm_unpackhi_epi32,
5837 _mm_unpacklo_epi8, _mm_unpacklo_epi16, _mm_unpacklo_epi32,
5838 _mm_add_epi8, _mm_add_epi16, _mm_add_epi32, _mm_add_epi64,
5839 _mm_adds_epi8, _mm_adds_epi16, _mm_adds_epu8, _mm_adds_epu16,
5840 _mm_sub_epi8, _mm_sub_epi16, _mm_sub_epi32, _mm_sub_epi64,
5841 _mm_subs_epi8, _mm_subs_epi16, _mm_subs_epu8, _mm_subs_epu16,
5842 _mm_madd_epi16, _mm_mulhi_epi16, _mm_mullo_epi16, _mm_mul_pu16,
5843 _mm_mul_epu16, _mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64,
5844 _mm_sra_epi16, _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32,
5845 _mm_srl_epi64, _mm_slli_epi16, _mm_slli_epi32, _mm_slli_epi64,
5846 _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16, _mm_srli_epi32,
5847 _mm_srli_epi64, _mm_and_si128, _mm_andnot_si128, _mm_or_si128,
5848 _mm_xor_si128, _mm_cmpeq_epi8, _mm_cmpeq_epi16, _mm_cmpeq_epi32,
5849 _mm_cmpgt_epi8, _mm_cmpgt_epi16, _mm_cmpgt_epi32, _mm_max_epi16,
5850 _mm_max_epu8, _mm_min_epi16, _mm_min_epu8, _mm_movemask_epi8,
5851 _mm_mulhi_epu16, _mm_maskmoveu_si128, _mm_avg_epu8, _mm_avg_epu16,
5852 _mm_sad_epu8, _mm_stream_si32, _mm_stream_si128, _mm_stream_pd,
5853 _mm_movpi64_epi64, _mm_clflush, _mm_lfence, _mm_mfence): New
5854 functions.
26638275 5855 (_mm_shufflehi_epi16, _mm_shufflelo_epi16, _mm_shuffle_epi32,
d3ceaee1 5856 _mm_extract_epi16, _mm_insert_epi16, _mm_shuffle_pd): New macros.
5857
bc70bd5e 58582002-05-04 Kazu Hirata <kazu@cs.umass.edu>
5859
5860 * dwarf2out.c: Fix formatting.
5861 * varasm.c: Likewise.
5862
8e7c2000 58632002-05-04 David Edelsohn <edelsohn@gnu.org>
5864
5865 PR c/6543
5866 * config/rs6000/rs6000.md (sCC pattern and splitter): Remove
5867 clobber and use result as temporary value.
5868
fef8467d 5869Sat May 4 13:20:54 CEST 2002 Jan Hubicka <jh@suse.cz>
5870
5871 * expr.c (force_operand): Use expand_simple_* to handle more
5872 cases.
5873
13c457e1 58742002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
5875
5876 * c-lex.c (lex_string): Let cpp_parse_escape handles truncation
5877 and sign-extension.
5878 (lex_charconst): Update for change in prototype of
5879 cpp_interpret_charconst. Extend from cppchar_t to HOST_WIDE_INT
5880 appropriately.
5881 * cpphash.h (BITS_PER_CPPCHAR_T): New.
5882 * cppinit.c (cpp_create_reader): Initialize them for no
5883 change in semantics.
5884 (cpp_post_options): Add sanity checks.
5885 * cpplex.c (cpp_parse_escape): Handle precision, sign-extension
5886 and truncation issues. Calculate in type cppchar_t.
5887 (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Remove.
5888 (cpp_interpret_charconst): Calculate in type cppchar_t. Handle
5889 run-time dependent precision correctly. Return whether the
5890 result is signed or not.
5891 * cpplib.c (dequote_string): Use cppchar_t; update.
5892 * cpplib.h (cppchar_signed_t): New.
5893 struct cpp_options): New precision members.
5894 (cpp_interpret_charconst, cpp_parse_escape): Update prototypes.
1ad27a12 5895 * cppexp.c (eval_token): Update.
13c457e1 5896
23df5607 58972002-05-03 David S. Miller <davem@redhat.com>
5898
7c27ad86 5899 * config/sparc/sparc-protos.h (sparc_rtx_costs): New.
5900 * config/sparc/sparc.c (sparc_rtx_costs): New function
5901 implementing RTX_COSTS and CONST_COSTS.
5902 * config/sparc/sparc.h (CONST_COSTS): Delete.
5903 (RTX_COSTS_CASES): Define.
5904 (RTX_COSTS): Expand RTX_COSTS_CASES and use sparc_rtx_costs to do
5905 the work.
5906
aa5841a8 5907 * config/sparc/sparc.md (DFA schedulers): Split out...
5908 * config/sparc/cypress.md, config/sparc/hypersparc.md,
5909 config/sparc/sparclet.md, config/sparc/supersparc.md,
5910 config/sparc/ultra1_2.md, config/sparc/ultra3.md: ... into here.
5911
71731aa4 5912 * config/sparc/sparc.c (LEAF_REGISTERS): Do not do ifdef
5913 checks on it, always defined for Sparc.
5914
23df5607 5915 * config/sparc/sparc.h (REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER):
5916 Tweak, and add more detailed comments.
5917
ad0f3983 59182002-05-03 Zack Weinberg <zack@codesourcery.com>
5919
5920 * Re-apply patch accidentally reverted with
5921 DFA scheduler merge: remove all rules and variables to slurp
5922 source files out of libiberty and rebuild them with HOST_CC.
5923 ($(HOST_PREFIX_1)varray.o): New rule.
5924 (genattrtab rule): Word wrap.
5925
2c2026d2 59262002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
5927
5928 * config/i386/netbsd64.h (CPP_LP64_SPEC): Define.
5929 (CPP_SUBTARGET_SPEC): Define.
5930 (SUBTARGET_EXTRA_SPECS): Redefine, adding cpp_lp64 and
5931 cpp_subtarget specs.
5932 (CPP_SPEC): Redefine to include %(cpp_subtarget).
5933
b66dff68 59342002-05-03 David S. Miller <davem@redhat.com>
5935
5936 * target-defs.h (TARGET_SCHED_CYCLE_DISPLAY): Delete.
5937 * target.h (struct gcc_target): Delete cycle_display member.
5938
5da2bd31 5939 * config/ia64/ia64.c (ia64_emit_insn_before): Put it back.
5940 (rtx_needs_barrier): Delete reference to cycle_display unspec.
5941 (ia64_sched_reorder2): Mention need for cycle display handling
5942 once such notes exist.
ad0f3983 5943
79f66ba1 59442002-05-03 Richard Henderson <rth@redhat.com>
5945
5946 * real.c (etoasc): Strip most trailing zeros for clarity.
5947 * sched-vis.c: Include real.h.
5948 (print_value): Use REAL_VALUE_TO_DECIMAL as needed.
5949 * Makefile.in (sched-vis.o): Add real.h.
5950
ca78c3fa 59512002-05-03 David S. Miller <davem@redhat.com>
5952
5953 * haifa-sched.c (rank_for_schedule): Revert 2002-05-02 change,
5954 no longer needed.
5955
f4454ccb 59562002-05-03 Aldy Hernandez <aldyh@redhat.com>
5957
ad0f3983 5958 * config/rs6000/rs6000.c (altivec_expand_binop_builtin): Error out
5959 when we get an out of range literal.
5960 (altivec_expand_ternop_builtin): Same.
5961 (altivec_expand_unop_builtin): Same.
5962 (altivec_expand_builtin): Same, for dss.
5963 (altivec_expand_builtin): Use trees instead of rtl when
5964 determining literal argument validity.
f4454ccb 5965
b3b1cb53 59662002-05-03 David S. Miller <davem@redhat.com>
5967
5968 Delete cycle display scheduling hook.
5969 * config/ia64/ia64.c (ia64_cycle_display,
5970 TARGET_SCHED_CYCLE_DISPLAY, ia64_emit_insn_before): Delete.
5971 (ia64_sched_reorder2): Don't check for CODE_FOR_cycle_display
5972 and use emit_insn_before instead of ia64_emit_insn_before.
5973 * config/ia64/ia64.md (unspec usage): Delete cycle display.
5974 (cycle_display): Delete insn pattern.
5975 * config/sparc/sparc.md (unspec usage): Delete cycle display.
5976 (cycle_display): Delete insn pattern.
5977 * config/sparc/sparc.c (sparc_cycle_display,
5978 TARGET_SCHED_CYCLE_DISPLAY): Delete.
5979 * doc/md.texi (cycle_display): Don't mention.
5980 * doc/tm.texi (TARGET_SCHED_CYCLE_DISPLAY): Likewise.
ad0f3983 5981
5459086b 59822002-05-03 Richard Henderson <rth@redhat.com>
5983
5984 * recog.c (store_data_bypass_p, if_test_bypass_p): New.
5985 * recog.h: Declare them.
5986
5987 * config/sparc/sparc.c (ultrasparc_store_bypass_p): Remove.
5988 * config/sparc/sparc.md: Use store_data_bypass_p instead.
5989 * config/sparc/sparc-protos.h: Update.
ad0f3983 5990
13afc42e 59912002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
5992
5993 * config/sparc/netbsd-elf.c (CPP_SUBTARGET_SPEC64): Remove
5994 -D__arch64__. Add -D_LP64.
5995 (CPP_ARCH32_SPEC): Redefine to match the non-bi-arch version
5996 from sparc.h.
5997 (CPP_ARCH64_SPEC): Likewise.
5998 (NO_BUILTIN_PTRDIFF_TYPE): Undef.
5999 (NO_BUILTIN_SIZE_TYPE): Undef.
6000
7b6da3db 60012002-05-03 Vladimir Makarov <vmakarov@redhat.com>
6002
6003 * genautomata.c (min_issue_delay_pass_states): Change return type
6004 in the prototype.
6005 (min_issue_delay_pass_states): Change the algorithm.
6006 (min_issue_delay): Set up min_insn_issue_delay for the state.
6007 (output_min_issue_delay_table): Interchange the nested loops and
6008 and initiate min_insn_issue_delay for states.
ad0f3983 6009
41a4ba7f 6010Fri May 3 22:59:15 CEST 2002 Jan Hubicka <jh@suse.cz>
6011
6012 * cfgcleanup.c (try_optimize_cfg): Call merge_block only when
6013 jump is simplejump.
6014
6015Fri May 3 22:53:37 CEST 2002 Jan Hubicka <jh@suse.cz>
8dcf1d62 6016
6017 * i386.c (expand_movstr, expand_clrstr): Fix inline-all-stringops
6018 sequence.
6019
4497b2ae 60202002-05-03 Richard Henderson <rth@redhat.com>
6021
6022 PR opt/6534
6023 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
6024 noce_try_store_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
6025 noce_try_cmove_arith, noce_try_minmax, noce_try_abs): Insert new
6026 code before JUMP, not EARLIEST.
6027
136d950f 60282002-05-03 Joseph S. Myers <jsm28@cam.ac.uk>
6029
6030 * c-format.c (check_format_info_main): Don't check for presence of
6031 parameter for * width until after operand number has been read,
6032 and only check for it if format parameters are available.
6033 Fixes PR c/6547.
6034
6d1fe069 60352002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
6036
6037 * config/alpha/netbsd.h (CPP_PREDEFINES): Add -D_LP64.
6038 (LINK_SPEC): Undef before defining.
6039
0ec5611c 60402002-05-03 Jakub Jelinek <jakub@redhat.com>
6041
6042 PR preprocessor/6489
6043 * tradcpp.c (fixup_newlines): New.
6044 (main, finclude): Use it.
6045
8b614dc7 60462002-05-03 Richard Sandiford <rsandifo@redhat.com>
6047
6048 * config/mips/elf64.h (UNIQUE_SECTION): Use mips_unique_section.
6049 * config/mips/mips.c (mips_unique_section): Strip encoding from
6050 decl name.
6051
3f4b9cd3 60522002-05-03 Jakub Jelinek <jakub@redhat.com>
6053
6054 * config/i386/i386.c (ix86_expand_int_movcc): Truncate to proper
6055 mode.
6056
3bb9b13b 60572002-05-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6058
6059 * doc/install.texi (Installing): Mention GCC 3.1 buildstats.
6060 (Specific): Removed buildstats references.
6061 (Specific, hppa*-hp-hpux11): Adjust for GCC versions > 3.0.
6062 (Specific, sparc-sun-solaris2*): Update 64-bit hints for GCC 3.1.
6063 Accomodate Solaris versions beyond 8.
6064 (Specific, sparc-sun-solaris2.7): Update as path for GCC 3.1.
6065 (Specific, *-*-solaris2.8): Removed, obsolete.
6066
626dd758 60672002-05-03 Jakub Jelinek <jakub@redhat.com>
6068
6069 PR target/6542
6070 * config/sparc/sparc.h (leaf_reg_remap): Remove const.
6071 (CONDITIONAL_REGISTER_USAGE): For TARGET_FLAT make
6072 fill leaf_reg_remap with identity.
6073 * config/sparc/sparc.c (leaf_reg_remap): Remove const.
6074
66b41076 60752002-05-03 Kazu Hirata <kazu@cs.umass.edu>
6076
6077 * config/h8300/crti.asm: Remove trailing spaces.
6078 * config/h8300/h8300.c: Likewise.
6079 * config/h8300/lib1funcs.asm: Likewise.
6080
557840a9 60812002-05-02 Jason Merrill <jason@redhat.com>
6082
6083 * defaults.h (BOOL_TYPE_SIZE): Move default here from cp/decl.c.
6084 * c-decl.c (c_init_decl_processing): Use it.
6085 * config/rs6000/darwin.h (BOOL_TYPE_SIZE): Define to INT_TYPE_SIZE.
6086 * config/i960/i960.h (BOOL_TYPE_SIZE): Don't define.
6087 * config/mcore/mcore.h (BOOL_TYPE_SIZE): Don't define.
6088
709c2f34 60892002-05-03 Kazu Hirata <kazu@cs.umass.edu>
6090
6091 * regrename.c: Fix formatting.
6092 * tree.c: Likewise.
6093
ad39a886 6094Fri May 3 13:34:43 CEST 2002 Jan Hubicka <jh@suse.cz>
6095
6096 * i386.md (attribute memory): Handle compares properly.
6097
9252033e 6098Fri May 3 10:51:38 CEST 2002 Jan Hubicka <jh@suse.cz>
6099
ad39a886 6100 * i386.md (sse_clrsf, sse_clrsi): Set memory attribute
9252033e 6101 to none.
6102
60d903f5 61032002-05-02 Kazu Hirata <kazu@cs.umass.edu>
6104
6105 * function.c: Fix formatting.
6106
0bc18d66 61072002-05-02 Jan Hubicka <jh@suse.cz>
6108
6109 * haifa-sched.c (schedule_insn): Print table of instructions and
6110 reservations.
6111 (sched_block): Do not print ready list at verbosity level 1.
6112 * sched-vis.c (print_insn): Make global.
6113 * sched-ebb.c (ebb_print_insn): Rename from...
6114 (print_insn): ... this one.
6115 * sched-int.h (print_insn): Declare
6116
87fe19fc 61172002-05-02 Richard Henderson <rth@redhat.com>
6118
6119 * haifa-sched.c (rank_for_schedule): Skip past last_scheduled_insn
6120 emitted by cycle_display.
6121
42cc12fd 61222002-05-02 Loren J. Rittle <ljrittle@acm.org>
6123
6124 * doc/install.texi (*-*-freebsd*): Update to latest status.
6125
a30c8575 61262002-05-02 Jakub Jelinek <jakub@redhat.com>
6127
6128 PR target/6540
6129 * config.gcc (sparc*-*-solaris2*): Set float_format to i128.
6130 * config/float-sparc.h: Assume 128-bit long double if
6131 __LONG_DOUBLE_128__ is defined.
6132
74bea6d9 61332002-05-02 Vladimir Makarov <vmakarov@redhat.com>
6134
6135 * genattrtab.c (write_function_unit_info): Add a dummy element
6136 when num_units == 0.
6137
7b2b0fda 61382002-05-02 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
6139
6140 * predict.c: (propagate_freq, estimate_bb_frequencies): Use
6141 TYPE_MODE (double_type_node) instead of DFmode.
6142
27bcd4c1 6143Thu May 2 19:50:04 CEST 2002 Jan Hubicka <jh@suse.cz>
6144
6145 * cfgrtl.c (try_redirect_by_replacing_jump): Do not kill computed
6146 jumps post reload.
6147 * toplev.c (rest_of_compilation): Revert Richard's patch.
6148
4cba7138 61492001-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
6150
6151 * pa/x-ada (ADA_CFLAGS): Rename to X_ADA_CFLAGS.
6152
65c802a1 61532002-05-02 Catherine Moore <clm@redhat.com>
6154
6155 * config/v850/v850.h (TRAMPOLINE_TEMPLATE): Change r5 to r20.
6156
dafdd1c8 61572002-05-02 Kazu Hirata <kazu@hxi.com>
6158
89440df2 6159 * combine.c: Fix comment typos.
dafdd1c8 6160 * expr.c: Likewise.
6161 * genautomata.c: Likewise.
6162 * stmt.c: Likewise.
6163 * tree.h: Likewise.
6164
57b59a23 61652002-05-02 Joseph S. Myers <jsm28@cam.ac.uk>
6166
6167 * doc/install.texi: State GNAT version requirements.
6168
5ce5e43b 61692002-05-02 Nick Clifton <nickc@cambridge.redhat.com>
6170
6171 * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Accept any form
6172 of the frame pointer or arg pointer register which strict register
6173 checking is not enabled.
6174
5f500529 61752002-05-02 Aldy Hernandez <aldyh@redhat.com>
6176
4497b2ae 6177 * gcc.dg/altivec-8.c: New.
5f500529 6178
4497b2ae 6179 * config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow
6180 PRE_INC and PRE_DEC for altivec modes.
5f500529 6181
2bfb2bb3 61822002-05-01 Bruce Korb <bkorb@gnu.org>
6183
6184 * fixinc/check.tpl(set-writable): make sure the function exists first
6185 * fixinc/inclhack.def(alpha_assert): fix test_text
6186 * fixinc/tests/base/assert.h: add in missing result
6187
792066cd 61882002-05-01 Jeff Law <law@redhat.com>
6189
6190 * pa.h (EXTRA_CONSTRAINT): Don't accept PIC addresses for the
6191 'T' constraint.
6192
153b0682 61932002-05-01 Joel Brobecker <brobecker@gnat.com>
6194
6195 * dbxout.c (dbxout_type): Emit size information for range types,
6196 as well, but only when using GDB extensions.
6197
a985a485 61982002-05-01 Richard Henderson <rth@redhat.com>
6199
6200 * configure.in (HAVE_GAS_HIDDEN): Replace SPARC feature test with
6201 target-independent gnu binutils date test.
6202
cd2e6f57 62032002-05-01 Richard Henderson <rth@redhat.com>
6204
6205 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Emit dump
6206 info before expunging the block.
6207
e9c81b97 62082002-05-01 Jakub Jelinek <jakub@redhat.com>
6209
6210 * cppinit.c (cpp_handle_option) [-dM]: Don't set no_output here...
6211 (cpp_post_options): ...but here. Disable -dD, -dN and -dI when
6212 -M -or -MM is in effect.
6213
e48f919a 62142002-05-01 Zack Weinberg <zack@codesourcery.com>
6215
6216 * config.gcc: Correct test of --enable-obsolete. Obsolete all
6217 A29k configurations.
6218 * doc/install.texi: Update to match.
6219
f93b586b 62202002-05-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
6221
6222 PR bootstrap/6514
6223 * varasm.c (globalize_decl): Compare DECL_ASSEMBLER_NAME to check
6224 for duplicates. Always loop over whole list.
6225
7d262d85 6226Wed May 1 10:32:37 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6227
6228 * reload.c (find_reloads, case 'p'): Set BADOP to 0.
6229
e7b91619 62302002-05-01 Joel Sherrill <joel@OARcorp.com>
6231
6232 * config/sparc/t-elf (sparc-rtems, sparc-elf): Build assembly
6233 support routines.
6234
bb38c65e 62352002-05-01 Joel Sherrill <joel@OARcorp.com>
6236
6237 * config/arm/rtems-elf.h: Add #undef TARGET_VERSION to prevent warning.
6238
f96d3e35 62392002-05-01 David Edelsohn <edelsohn@gnu.org>
6240
6241 * rs6000.md (abssi2_nopower): Convert to define_insn_and_split.
6242 (nabs_nopower): Same.
6243 (floatdisf2): New pattern.
6244 (absdi2): Convert to define_insn_and_split.
6245 (nabsdi2): Same.
6246 (trunctfsf2): Same.
6247 (floatditf2): Same.
6248 (floatsitf2): Same.
6249 (fix_trunctfdi2): Same.
6250 (fix_trunctfsi2): Same.
6251
6c4726f4 62522002-05-01 Joseph S. Myers <jsm28@cam.ac.uk>
6253
6254 * doc/install.texi: Update Texinfo version requirement
6255 documentation.
6256
273eb9dd 62572002-05-01 Jakub Jelinek <jakub@redhat.com>
6258
6259 PR target/6512, PR target/5628
6260 * config/sparc/sparc.md (movdf_insn_v9only_novis): Don't allow >= %f32
6261 when memory is not aligned.
6262 (movdf_insn_v9only_vis): Likewise.
6263 * config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS): Request a FP_REGS
6264 temporary for EXTRA_FP_REGS DFmode load from unaligned memory.
6265 (SECONDARY_OUTPUT_RELOAD_CLASS): Similarly.
6266
cca49516 62672002-05-01 Aldy Hernandez <aldyh@redhat.com>
6268
e48f919a 6269 * gcc.dg/altivec-7.c: New.
cca49516 6270
e48f919a 6271 * config/rs6000/altivec.h: Cleanup.
cca49516 6272
10363e0e 62732002-04-30 Aldy Hernandez <aldyh@redhat.com>
6274
e48f919a 6275 * doc/invoke.texi (Option Summary): Add -mvrsave=.
6276 (RS/6000 and PowerPC Options): Document -mvrsave=.
10363e0e 6277
e48f919a 6278 * config/rs6000/rs6000.c (rs6000_altivec_vrsave): New global.
6279 (rs6000_altivec_vrsave_string): Same.
6280 (rs6000_override_options): Call rs6000_parse_vrsave_option.
6281 (rs6000_parse_vrsave_option): New.
6282 (rs6000_stack_info): Only generate vrsave instructions when
6283 TARGET_ALTIVEC_VRSAVE.
10363e0e 6284
e48f919a 6285 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -mvrsave= option.
6286 (rs6000_altivec_vrsave_string): Define extern.
6287 (rs6000_altivec_vrsave): Same.
6288 (TARGET_ALTIVEC_VRSAVE): New.
10363e0e 6289
d1fefebc 62902002-04-30 Richard Henderson <rth@redhat.com>
6291
6292 PR opt/6516
6293 * toplev.c (rest_of_compilation): Don't run cross-jump before
6294 bb-reorder.
6295
caeae6e1 62962002-04-30 Tom Rix <trix@redhat.com>
6297
e48f919a 6298 * regrename.c (build_def_use, copyprop_hardreg_forward_1): Sanity
caeae6e1 6299 check which_alternative.
6300
a113df96 63012002-04-30 Kazu Hirata <kazu@hxi.com>
6302
6303 * cpplex.c: Fix comment formatting.
6304 * function.c: Likewise.
6305 * integrate.c: Likewise.
6306 * regrename.c: Likewise.
6307 * sibcall.c: Likewise.
6308 * simplify-rtx.c: Likewise.
6309 * tree-inline.c: Likewise.
6310
711b6446 63112002-04-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
6312
6313 * config.gcc (hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-rtems*,
6314 hppa1.0-*-osf*, hppa1.1-*-bsd*, hppa1.1-*-hpux10*, hppa2*-*-hpux10*,
6315 hppa1.0-*-hpux10*, hppa*64*-*-hpux11*, hppa1.1-*-hpux11*,
6316 hppa2*-*-hpux11*, hppa1.0-*-hpux11*, hppa*-*-lites*): Define xmake_file.
6317 * pa/t-linux, pa/t-pa, pa/t-pa64, t-pro (T_ADAFLAGS): Delete.
6318 * pa/x-ada: New file. Define ADA_CFLAGS.
6319
d68ffc6f 63202002-04-30 Hans-Peter Nilsson <hp@bitrange.com>
6321
6322 * config/mmix/mmix.h (MMIX_LAST_STACK_REGISTER_REGNUM): Renamed
6323 from MMIX_LAST_REGISTER_FILE_REGNUM.
6324 (NO_IMPLICIT_EXTERN_C): Remove cryptic obsolete comment.
6325 (struct machine_function): New member highest_saved_stack_register
6326 previously static variable in mmix.c.
6327 (MACHINE_DEPENDENT_REORG): Define.
6328 * config/mmix/mmix.c (highest_saved_stack_register): Deleted.
6329 (MMIX_OUTPUT_REGNO): New.
6330 (mmix_target_asm_function_prologue): Move calculation of last used
6331 saved-stack-register into...
6332 (mmix_machine_dependent_reorg): New function. Update to also handle
6333 !TARGET_ABI_GNU.
6334 (mmix_print_operand): Apply MMIX_OUTPUT_REGNO when emitting
6335 register names, simplify somewhat by new variable regno.
6336 <case 'p'>: Remove fixed FIXME. Always emit highest used saved
6337 register.
6338 (mmix_print_operand_address): Apply MMIX_OUTPUT_REGNO when
6339 emitting register names.
6340 (mmix_asm_output_reg_push, mmix_asm_output_reg_pop): Ditto.
6341 (mmix_dbx_register_number): Apply MMIX_OUTPUT_REGNO here too.
6342 Remove fixed FIXME.
6343 * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg):
6344 Declare.
6345
6346 * config/mmix/mmix.md ("divmoddi4"): Update head comment.
6347
c00088b6 63482002-04-30 Richard Henderson <rth@redhat.com>
6349
6350 * config/sparc/sparc.c (emit_soft_tfmode_libcall,
6351 emit_soft_tfmode_binop, emit_soft_tfmode_unop, emit_soft_tfmode_cvt,
6352 emit_hard_tfmode_operation, emit_tfmode_binop, emit_tfmode_unop,
6353 emit_tfmode_cvt): New.
6354 * config/sparc/sparc.md (extendsftf2, extenddftf2, trunctfsf2,
6355 trunctfdf2, floatsitf2, floatunssitf2, floatditf2, floatunsditf2,
6356 fix_trunctfsi2, fixuns_trunctfsi2, fix_trunctfdi2, fixuns_trunctfdi2,
6357 addtf3, subtf3, multf3, divtf3, sqrttf2): Use them.
6358 * config/sparc/sparc-protos.h: Update.
6359
8097be66 63602002-04-30 Janis Johnson <janis187@us.ibm.com>
6361
6362 * install.texi (Final install): Add to the list of info to include
6363 in a report of a successful bootstrap, and add link to 3.1 list.
6364
eb332399 6365Tue Apr 30 19:15:36 CEST 2002 Jan Hubicka <jh@suse.cz>
6366
6367 * i386.md (type): Add new SSE/MMX subtypes, remove usused fop1.
6368 (mode): Add vector modes
6369 (i387): Kill attribute.
6370 (unit): New attribute.
6371 (length_immediate): Grok new types.
6372 (prefix_data16, prefix_rep, prefix_0f): Fix for SSE/MMX.
6373 (modrm): Use "unit".
6374 (memory): Handle MMX/SSE properly.
6375 (scheduling descriptions): Kill uses of fop1.
6376 (sse, mmx, fp patterns): Set type and mode properly.
6377
61512c54 6378Tue Apr 30 09:31:59 2002 Jeffrey A Law (law@redhat.com)
f8d29fed 6379
7c8bce8e 6380 * pa.c (override_options): Default to PA8000 scheduling.
6381 * doc/invoke.texi (HP-PA options): Mention newly added 7300
6382 scheduling parameter.
6383
f8d29fed 6384 * pa.md (7100lc, 7200, 7300 scheduling): Slightly refine
6385 handling of double precision multiplies.
6386
6387 * pa.md (7100lc, 7200, 7300 scheduling): Refine handling of
6388 fpdiv and fpsqrt instructions.
6389 (7200 & 7300 scheduling): Fix typo in handling of
6390 store-load and store-store penalties.
6391
68a46af1 63922002-04-30 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6393
6394 * doc/contrib.texi (Contributors): Use MIPS instead of Mips and
6395 mips. Add two missing commas.
6396
9d712c5a 63972002-04-30 Paolo Carlini <pcarlini@unitus.it>
6398
6399 * doc/contrib.texi (Contributors): Update Paolo Carlini's
6400 and Benjamin Kosnik's entries.
6401
55ebdd65 64022002-04-29 David S. Miller <davem@redhat.com>
6403
6404 * config/sparc/sparc.h (BRANCH_COST, PREFETCH_BLOCK,
6405 SIMULTANEOUS_PREFETCHES): Tune for UltraSPARC-III.
6406 * config/sparc/sparc.md (call + jmp 32-bit peepholes): Likewise.
6407 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
6408
07556dbf 64092002-04-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
6410
6411 * combine.c (find_split_point): Use gen_int_mode.
6412
bea4bad2 64132002-04-29 Vladimir Makarov <vmakarov@redhat.com>
6414
6415 Merging code from dfa-branch:
e48f919a 6416
bea4bad2 6417 2002-04-24 Vladimir Makarov <vmakarov@redhat.com>
6418
6419 * genautomata.c (output_reserv_sets): Fix typo.
6420
6421 2002-04-23 Vladimir Makarov <vmakarov@redhat.com>
6422
6423 * genautomata.c (output_reserv_sets): Remove
6424 next_cycle_output_flag.
6425
6426 Thu Apr 18 08:57:06 2002 Jeffrey A Law (law@redhat.com)
6427
e48f919a 6428 * sched-rgn.c (init_ready_list): Make the DFA code handle
6429 USE/CLOBBER insns in the same way as the traditional
6430 scheduler.
6431 (new_ready): Similarly..
bea4bad2 6432
6433 2002-04-17 Vladimir Makarov <vmakarov@redhat.com>
6434
6435 * haifa-sched.c (schedule_block): Change the DFA state only after
6436 issuing insn.
6437
6438 Wed Apr 17 15:38:36 2002 Jeffrey A Law (law@redhat.com)
6439
6440 * pa.c (hppa_use_dfa_pipeline_interface): New function.
6441 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
6442 (override_options): Add PA7300 scheduling support.
6443 (pa_adjust_cost): Update various comments. Properly
6444 handle anti and output dependencies when using the
6445 DFA scheduler.
6446 (pa_issue_rate): Add PA7300 scheduling support.
6447 (pa_can_combine_p): Call extract_insn before calling
6448 constrain_operands (taken from mainline tree).
6449 * pa.h (enum processor_type): Add PROCESSOR_PA7300.
6450 * pa.md (cpu attr): Add 7300. Rewrite pipeline
6451 descriptions using DFA descriptions. Add PA7300
6452 scheduling support.
6453
6454 2002-03-30 David S. Miller <davem@redhat.com>
6455
6456 Add UltraSPARC-III DFA scheduling support.
6457 * config/sparc/sparc.md (define_attr type): Add fpcrmove.
6458 Update FP conditional move on register insn patterns to use it, as
6459 appropriate.
6460 (define_attr cpu): Add ultrasparc3.
6461 (define_attr us3load_type): New, update integer load patterns to
6462 set it, as appropriate.
6463 (define_automaton): Add ultrasparc3_0 and ultrasparc3_1.
6464 (rest): Add UltraSPARC3 scheduling description.
6465 * config/sparc/sparc.h (TARGET_CPU_ultrasparc3): New.
6466 (PROCESSOR_ULTRASPARC3): New.
6467 ({ASM,CPP}_CPU64_DEFAULT_SPEC): Handle ultrasparc3.
6468 ({ASM,CPP}_CPU_SPEC): Likewise.
6469 (REGISTER_MOVE_COST): Likewise.
6470 (RTX_COSTS): Likewise.
6471 * config/sparc/sparc.c (sparc_override_options,
6472 sparc_initialize_trampoline, sparc64_initialize_trampoline,
6473 sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
6474 sparc_issue_rate): Likewise.
6475 * config/sparc/sol2.h: Likewise.
6476 * config/sparc/sol2-sld-64.h: Likewise.
6477 * config/sparc/linux64.h: Likewise.
e48f919a 6478
bea4bad2 6479 2002-03-22 Vladimir Makarov <vmakarov@redhat.com>
6480
6481 * doc/md.texi: Add comments about usage the latency time for the
6482 different dependencies and about case when two or more conditions
6483 in different define_insn_reservations returns TRUE for an insn.
6484
6485 * doc/md.texi: Add reference for automaton based pipeline
6486 description.
e48f919a 6487
bea4bad2 6488 2002-03-04 Vladimir Makarov <vmakarov@redhat.com>
6489
6490 * doc/passes.texi: Add missed information about genattrtab.
6491
6492 2002-03-01 Vladimir Makarov <vmakarov@redhat.com>
6493
6494 * genautomata.c (output_automata_list_transition_code): Check
6495 automata_list on NULL.
6496
6497 2002-02-28 Vladimir Makarov <vmakarov@redhat.com>
6498
6499 * genautomata.c (output_insn_code_cases,
6500 output_automata_list_min_issue_delay_code,
6501 output_automata_list_transition_code,
6502 output_automata_list_state_alts_code): Comment the functions.
6503
6504 2002-02-22 Vladimir Makarov <vmakarov@redhat.com>
6505
6506 * genautomata.c (automata_list_el_t): New typedef.
6507 (get_free_automata_list_el,free_automata_list_el,
6508 free_automata_list, automata_list_hash, automata_list_eq_p,
6509 initiate_automata_lists, automata_list_start, automata_list_add,
6510 automata_list_finish, finish_automata_lists,
6511 output_insn_code_cases, output_automata_list_min_issue_delay_code,
6512 output_automata_list_transition_code,
6513 output_automata_list_state_alts_code, add_automaton_state,
6514 form_important_insn_automata_lists): New functions and prototypes.
6515 (insn_reserv_decl): Add members important_automata_list and
6516 processed_p.
6517 (ainsn): Add members important_p.
6518 (automata_list_el): New structure.
6519 (first_free_automata_list_el, current_automata_list,
6520 automata_list_table): New global variables.
6521 (create_ainsns): Initiate member important_p.
6522 (output_internal_min_issue_delay_func): Generate the switch and
6523 call output_insn_code_cases.
6524 (output_internal_trans_func, output_internal_state_alts_func):
6525 Ditto.
6526 (generate): Call initiate_automata_lists.
6527 (automaton_states): New global variable.
6528 (expand_automata): Call form_important_insn_automata_lists.
6529 (write_automata): Call finish_automata_lists.
e48f919a 6530
bea4bad2 6531 2002-02-21 Vladimir Makarov <vmakarov@redhat.com>
6532
6533 * genautomata.c (add_excls, add_presence_absence): Check that
e48f919a 6534 cpu units in the sets belong the same automaton.
bea4bad2 6535
6536 * rtl.def (EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET): Add comment
6537 about that cpu units in the sets belong the same automaton.
6538
6539 * doc/md.texi: Ditto.
e48f919a 6540
2822b157 6541 2001-12-20 Naveen Sharma <naveens@noida.hcltech.com>
6542 Nitin Gupta <niting@noida.hcltech.com>
e48f919a 6543
bea4bad2 6544 * config/sh/sh.c (sh_use_dfa_interface): New function.
6545
6546 (sh_issue_rate): New Function.
6547 TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE: define.
6548 TARGET_SCHED_ISSUE_RATE: define.
6549
6550 * config/sh/sh.md: Add DFA based pipeline description for SH4.
6551
e48f919a 6552 (define_attr insn_class): New attribute used for DFA
6553 scheduling.
bea4bad2 6554 (define_insn cmpgtsi_t): Set attribute insn_class mt_group.
6555 (cmpgesi_t,cmpgtusi_t,cmpgeusi_t,cmpeqsi_t,
6556 cmpeqdi_t): Likewise.
6557
6558 (add,addc1,addsi3,subc,subc1,*subsi3_internal,
e48f919a 6559 negc,negsi2,ashldi3_k,lshrdi3_k,ashrdi3_k): Set insn_class
bea4bad2 6560 ex_group.
6561 (iorsi3,rotlsi3_1,rotlsi3_31,rotlsi3_16): Likewise.
e48f919a 6562
bea4bad2 6563 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
6564
6565 * haifa-sched.c (queue_to_ready): Remove unnecessary condition for
6566 break.
6567
6568 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
6569
6570 * genautomata.c (DFA_INSN_CODES_LENGTH_VARIABLE_NAME): New macro.
6571 (output_dfa_insn_code_func): Expand dfa_insn_codes if it is
6572 necessary.
6573 (output_dfa_start_func): Initiate new variable insn_codes_length,
6574 (write_automata): Output definition of the new variable.
e48f919a 6575
bea4bad2 6576 2001-10-02 David S. Miller <davem@redhat.com>
6577
6578 * haifa-sched.c (advance_one_cycle): New function.
6579 (schedule_block): Use it.
6580 (queue_to_ready): Use it, and also make sure to advance the DFA
6581 state on all stall cycles, not just those where insn_queue links
6582 are found.
6583
6584 2001-10-02 Richard Sandiford <rsandifo@redhat.com>
6585
6586 * haifa-sched.c (max_issue): Remove last_p argument. Only return
6587 non-zero if the highest-priority instruction could be scheduled.
6588 (choose_ready): Remove last argument from max_issue call.
6589
6590 2001-09-28 David S. Miller <davem@redhat.com>
6591
6592 * config/sparc/sparc.c (sparc_use_sched_lookahead): Use 4 for
6593 ultrasparc and 3 for other multi-issue sparcs.
6594
6595 2001-09-27 David S. Miller <davem@redhat.com>
6596
6597 * config/sparc/sparc.md (cycle_display): New pattern.
6598 * config/sparc/sparc.c (sparc_cycle_display): New.
6599 (TARGET_SCHED_CYCLE_DISPLAY): Set it.
6600
6601 2001-09-25 David S. Miller <davem@redhat.com>
6602
6603 Convert all of Sparc scheduling to DFA
6604 * config/sparc/sparc.md: Kill all define_function_unit
6605 directives and replace with DFA equivalent.
6606 * config/sparc/sparc.c (ultrasparc_adjust_cost,
6607 mark_ultrasparc_pipeline_state, ultra_cmove_results_ready_p,
6608 ultra_fpmode_conflict_exists, ultra_find_type,
6609 ultra_build_types_avail, ultra_flush_pipeline,
6610 ultra_rescan_pipeline_state, ultrasparc_sched_reorder,
6611 ultrasparc_variable_issue, ultrasparc_sched_init,
6612 sparc_variable_issue, sparc_sched_reorder, ultra_code_from_mask,
6613 ultra_schedule_insn, ultra_code_names, ultra_pipe_hist,
6614 ultra_cur_hist, ultra_cycles_elapsed): Kill.
6615 (sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
6616 ultrasparc_store_bypass_p): New.
6617 * config/sparc/sparc-protos.h (ultrasparc_store_bypass_p):
6618 Declare.
6619
6620 2001-09-24 David S. Miller <davem@redhat.com>
6621
6622 * haifa-sched.c (ready_remove): Fix thinko, we want to copy around
6623 ready->vec[foo] not ready[foo].
6624
6625 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
6626
6627 * doc/md.texi: Correct examples for define_insn_reservations
6628 `mult' and `div'.
6629
6630 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
6631
6632 * genautomata.c (create_automata): Print message about creation of
6633 each automaton.
6634 (generate): Remove printing meease about creation of
6635 automata.
6636
6637 2001-09-05 David S. Miller <davem@redhat.com>
6638
6639 * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
6640 * config/sparc/linux64.h: Likewise.
6641
6642 2001-08-31 Vladimir Makarov <vmakarov@redhat.com>
6643
6644 * haifa-sched.c (insn_cost, schedule_insn, queue_to_ready,
6645 schedule_block, sched_init, sched_finish): Add missed calls of
6646 use_dfa_pipeline_interface.
6647
6648 * sched-rgn.c (init_ready_list, new_ready, debug_dependencies):
6649 Ditto.
6650
6651 * sched-vis.c (get_visual_tbl_length): Ditto.
e48f919a 6652
bea4bad2 6653 2001-08-27 Richard Henderson <rth@redhat.com>
6654
6655 * genattr.c (main): Emit state_t even when not doing scheduling.
6656
6657 2001-08-27 Richard Henderson <rth@redhat.com>
6658
6659 * genautomata.c (expand_automata): Always create a description.
6660
6661 2001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
6662
e48f919a 6663 * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
bea4bad2 6664 PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
6665 AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
6666 RTL constructions.
6667
6668 * genattr.c (main): New variable num_insn_reservations. Increase
6669 it if there is DEFINE_INSN_RESERVATION. Output automaton based
6670 pipeline hazard recognizer interface.
6671
6672 * genattrtab.h: New file.
6673
6674 * genattrtab.c: Include genattrtab.h.
6675 (attr_printf, check_attr_test, make_internal_attr,
6676 make_numeric_value): Move protypes into genattrtab.h. Define them
6677 as external.
6678 (num_dfa_decls): New global variable.
6679 (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
6680 DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
6681 DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
6682 DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
6683
6684 * genautomata.c: New file.
6685
6686 * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
6687
e48f919a 6688 * sched-int.h: (curr_state): Add the external definition for
bea4bad2 6689 automaton pipeline interface.
6690 (haifa_insn_data): Add comments for members blockage and units.
6691
6692 * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
6693 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
6694 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
6695 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
6696 TARGET_SCHED_DFA_POST_CYCLE_INSN,
6697 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
6698 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
6699 macros.
6700 (TARGET_SCHED): Use the new macros.
6701
6702 * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
6703 dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
6704 first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
6705 dfa_bubble): New members in gcc_target.sched.
6706
e48f919a 6707 * haifa-sched.c (insert_schedule_bubbles_p): New variable.
bea4bad2 6708 (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
6709 (insn_queue): Redefine it as pointer to array.
6710 (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
6711 INSN_QUEUE_SIZE.
6712 (max_insn_queue_index_macro_value): New variable.
6713 (curr_state, dfa_state_size, ready_try): New varaibles for
6714 automaton interface.
6715 (ready_element, ready_remove, max_issue): New function prototypes
6716 for automaton interface.
6717 (choose_ready): New function prototype.
6718 (insn_unit, blockage_range): Add comments.
6719 (unit_last_insn, unit_tick, unit_n_insns): Define them for case
6720 FUNCTION_UNITS_SIZE == 0.
6721 (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
6722 actual_hazard, potential_hazard): Add comments.
6723 (insn_cost): Use cost -1 as undefined value. Remove
6724 LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
6725 pipeline interface.
6726 (ready_element, ready_remove): New functions for automaton
6727 interface.
6728 (schedule_insn): Add new code for automaton pipeline interface.
6729 (queue_to_ready): Add new code for automaton pipeline interface.
6730 Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
6731 (debug_ready_list): Print newline when the queue is empty.
6732 (max_issue): New function for automaton pipeline interface.
6733 (choose_ready): New function.
6734 (schedule_block): Add new code for automaton pipeline interface.
6735 Print ready list before scheduling each insn.
6736 (sched_init): Add new code for automaton pipeline interface.
6737 Initiate insn cost by -1.
6738 (sched_finish): Free the current automaton state and finalize
6739 automaton pipeline interface.
6740
6741 * sched-rgn.c: Include target.h.
6742 (init_ready_list, new_ready, debug_dependencies): Add new code for
6743 automaton pipeline interface.
6744
6745 * sched-vis.c: Include target.h.
6746 (get_visual_tbl_length): Add code for automaton interface.
6747 (target_units, print_block_visualization): Add comments.
6748
e48f919a 6749 * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
bea4bad2 6750 USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
6751 (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
6752 (getruntime.o, genautomata.o): New entries.
6753 (genattrtab.o): Add new dependency file genattrtab.h.
6754 (genattrtab): Add new dependencies. Link it with `libm.a'.
6755 (getruntime.o, hashtab.o): New entries for canadian cross.
6756
6757 * doc/md.texi: Description of automaton based model.
6758
6759 * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
6760 Add comments.
6761 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
6762 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
6763 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
6764 TARGET_SCHED_DFA_POST_CYCLE_INSN,
6765 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
6766 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
6767 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
6768 hook descriptions.
6769 (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
6770 MAX_DFA_ISSUE_RATE): New macro descriptions.
6771
6772 * doc/contrib.texi: Add dfa based scheduler contribution.
6773
6774 * doc/gcc.texi: Add more information about genattrtab.
6775
69562d20 6776Mon Apr 29 17:19:10 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6777
6778 * reload1.c (eliminate_regs, case SUBREG): Fix typo in
6779 adjust_address_nv call.
6780
f4dea86e 67812002-04-29 Janis Johnson <janis187@us.ibm.com>
6782
6783 * doc/install.texi (Testing): Provide additional information, and
6784 a stronger encouragement, for running the testsuites.
6785
d2b063d0 67862002-04-29 DJ Delorie <dj@redhat.com>
6787
6788 * config/mips/mips.c (mips_parse_cpu): Warn if the CPU name is
6789 given in upper case.
6790
b924735b 67912002-04-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6792
6793 * fixinc/inclhack.def (solaris_widec): Include <wchar.h> in
6794 Solaris 2 <widec.h> if missing.
6795 * fixinc/fixincl.x: Regenerate.
6796 * fixinc/tests/base/widec.h: New file.
6797
490ab187 67982002-04-29 Nick Clifton <nickc@cambridge.redhat.com>
6799
6800 * toplev.c (f_options): Add "profile" switch so that
6801 -fno-profile can be used to disable -p.
6802
b0556a84 68032002-04-29 Bernd Schmidt <bernds@redhat.com>
6804
6805 * c-common.c (type_for_mode): Add support for V2DFmode, V2DImode,
6806 UV2DImode.
6807 * tree.c (build_common_tree_nodes_2): Likewise.
6808 * tree.h (enum tree_index): Likewise.
6809 (V2DF_type_node, V2DI_type_node, unsigned_V2DI_type_node): Define.
6810
6811 * config/i386/i386.c (bdesc_comi, bdesc_2arg, bdesc_1arg): Add SSE2
6812 entries.
6813 (init_mmx_sse_builtins): Initialize SSE2 builtins.
6814 (ix86_expand_builtin): Add support for SSE2 builtins.
6815 * config/i386/i386.h (VALID_SSE2_REG_MODE): New macro.
6816 (VALID_SSE_REG_MODE): Use it.
6817 (VECTOR_MODE_SUPPORTED_P): Allow SSE2 modes here as well.
6818 (enum ix86_builtins): Add SSE2 builtins.
6819 * config/i386/i386.md (movv2df_internal, movv2df, movv8hi_internal,
6820 movv8hi, movv16qi_internal, movv16qi, pushv2df, pushv8hi, pushv16qi,
6821 addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3, vmmulv2df3,
6822 divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3, vmsminv2df3,
6823 sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3, sqrtv2df2,
6824 vmsqrtv2df2, maskcmpv2df3, maskncmpv2df3, vmmaskcmpv2df3,
6825 vmmaskncmpv2df3, sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb,
6826 sse2_maskmovdqu, sse2_movntv2df, sse2_movntti, sse2_movntsi, cvtdq2ps,
6827 cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq, cvtpd2pi,
6828 cvttpd2pi, cvtpi2pd, cvtsd2si, cvttsd2si, cvtsi2sd, cvtsd2ss,
6829 cvtss2sd, cvtpd2ps, cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3,
6830 ssaddv16qi3, ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3,
6831 subv4si3, subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3,
6832 mulv8hi3, smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
6833 sse2_umulv2siv2di3, sse2_pmaddwd, sse2_clrti, sse2_uavgv16qi3,
6834 sse2_uavgv8hi3, sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd,
6835 sse2_pshuflw, sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3,
6836 gtv8hi3, gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3,
6837 ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, sse2_lshrv2di3,
6838 ashlv8hi3, ashlv4si3, sse2_ashlv2di3, sse2_ashlti3, sse2_lshrti3,
6839 sse2_unpckhpd, sse2_unpcklpd, sse2_packsswb, sse2_packssdw,
6840 sse2_packuswb, sse2_punpckhbw, sse2_punpckhwd, sse2_punpckhdq,
6841 sse2_punpcklbw, sse2_punpcklwd, sse2_punpckldq, sse2_movapd,
6842 sse2_movupd, sse2_movdqa, sse2_movdqu, sse2_movdq2q, sse2_movq2dq,
6843 sse2_movhpd, sse2_movlpd, sse2_loadsd, sse2_movsd, sse2_storesd,
6844 sse2_shufpd, sse2_clflush, sse2_mfence, mfence_insn, sse2_lfence,
6845 lfence_insn): New patterns.
6846 (sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Renamed from
6847 sse_andti3_sse2, sse_nandti3_sse2, sse_iorti3_sse2, sse_xorti3_sse2.
6848
f01c583b 6849Mon Apr 29 17:03:24 CEST 2002 Jan Hubicka <jh@suse.cz>
6850
6851 * i386.md (sse_mov?fcc*): Revert patch of Mar 14th.
6852
e1aee388 68532002-04-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6854
6855 * doc/contrib.texi (Contributors): Add Paolo Carlini and
6856 Janis Johnson.
6857 Update Richard Henderson, Jakub Jelinek, and Mark Mitchell.
6858 Refer to Objective-C instead of ObjC, SPARC instead of sparc,
6859 and CPU instead of cpu.
6860
770cdf3a 6861Mon Apr 29 13:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
6862
6863 * toplev.c (flag_if_conversion, flag_if_conversion2): New static
6864 variables.
6865 (lang_independent_options): Add -fif-conversion, -fif-conversion2
6866 (rest_of_compilation): Do if conversion only when asked for.
6867 (parse_options_and_default_flags): Set new variables to 1 for -O1
6868 * invoke.texi (-fif-conversion, -fif-conversion2): Document.
6869
97998135 6870Mon Apr 29 13:02:50 CEST 2002 Jan Hubicka <jh@suse.cz>
6871
6872 * i386.c (dbx64_register_map): Fix typo.
6873
56ff4880 6874Mon Apr 29 12:18:35 CEST 2002 Jan Hubicka <jh@suse.cz>
6875
6876 * predict.c (real_zero, real_one, real_almost_one, real_br_prob_base,
6877 real_one_half, real_bb_freq_max): New static variables.
6878 (debug_profile_bbauxs): Kill.
6879 (process_note_predictions): Kill unused variable.
6880 (block_info_def, edge_info_def): Use REAL_VALUE_TYPE instead of
6881 volatile double.
6882 (propagate_freq): Use REAL_ARITHMETICS.
6883 (estimate_bb_frequencies): Likevise; init new static variables.
6884 * Makefile.in (predict.o): Add dependency on real.h
6885
924b7bea 68862002-04-28 David S. Miller <davem@redhat.com>
6887
6888 PR target/6500
6889 * config/sparc/sparc.md (prefetch): Emit properly for 32-bit vs.
6890 64-bit TARGET_V9. Do not use prefetch page, use prefetch for
6891 several {reads,writes} instead.
6892 * config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
6893 Define.
6894
6f0ae544 68952002-04-27 David S. Miller <davem@redhat.com>
6896
6897 PR target/6494
6898 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Be mindful
6899 of the stack bias.
6900
6901 * config/sparc/linux.h, config/sparc/linux64.h: Don't bother
6902 including signal.h and sys/ucontext.h, not needed.
6903
55d4402d 69042002-04-29 Hans-Peter Nilsson <hp@bitrange.com>
6905
6906 * varasm.c (output_constant_def): Correct test for not calling
6907 ENCODE_SECTION_INFO for INTEGER_CST.
6908
93bfa70b 69092002-04-29 Neil Booth <neil@daikokuya.demon.co.uk>
6910
6911 * cppexp.c (lex): Move some code to _cpp_parse_expr, but
6912 keep most cases as function eval_token.
6913 (eval_token): New function.
6914 (_cpp_parse_expr): Read token here for improved diagnostics.
6915 Don't use op_as_text. Detect bad ':' here.
6916 (reduce): Don't detect bad ':' here.
6917 (op_as_text): Remove.
6918 * cpphash.h (_cpp_test_assertion): Change prototype.
6919 * cpplib.c (_cpp_test_assertion): Change prototype.
6920
ec1d9596 69212002-04-28 Richard Henderson <rth@redhat.com>
6922
6923 PR c/5154
e48f919a 6924 * ggc-common.c (ggc_mark_rtx_children_1): Rename from...
ec1d9596 6925 (ggc_mark_rtx_children): New.
6926
73c5fe4f 69272002-04-28 Jakub Jelinek <jakub@redhat.com>
6928
6929 PR target/6496
6930 * config/sparc/sparc.md (call + jump 32-bit peepholes): Disable jump
6931 after call peepholes for UltraSPARC.
6932 (call + jump 64-bit peepholes): Remove.
6933
76cbaf6c 69342002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
6935
6936 PR c/6497
6937 * config/rs6000/rs6000.md (sCC patterns): Remove clobber and use
6938 result as temporary value.
6939
db6798b5 69402002-04-28 Jakub Jelinek <jakub@redhat.com>
6941
6942 PR c++/6396
6943 * toplev.c (rest_of_compilation): Only run regrename and copy
6944 propagation if optimizing.
6945
c99e85d9 69462002-04-28 Jakub Jelinek <jakub@redhat.com>
6947
6948 PR optimization/6475
6949 * reload1.c (alter_reg): Only call set_mem_expr if I is home pseudo
6950 register of REGNO_DECL (i).
6951 * Makefile.in (reload1.o): Add $(TREE_H).
6952
5bbf045f 69532002-04-28 Neil Booth <neil@daikokuya.demon.co.uk>
6954
6955 * cppexp.c (lex): Update to use state.skip_eval.
6956 (struct op): Remove prio and flags members.
6957 (FLAG_BITS, FLAG_MASK, PRIO_SHIFT, EXTRACT_PRIO, EXTRACT_FLAGS,
6958 SHORT_CIRCUIT, RIGHT_ASSOC, ..._PRIO, op_to_prio): Remove.
6959 (LEFT_ASSOC): New macro.
6960 (optab): New table of operator priorities and flags.
6961 (SHIFT): Update.
6962 (_cpp_parse_expr): Clean up logic. Return bool. Use a
6963 malloc-ed parser stack.
6964 (reduce): New; reduce the operator stack.
6965 (_cpp_expand_op_stack): Expand the operator stack as necessary.
6966 * cpphash.h (struct op): Predeclare.
6967 (struct cpp_reader): New members op_stack, op_limit.
6968 (struct lexer_state): New member skip_eval.
6969 (_cpp_parse_expr): Update.
6970 (_cpp_expand_op_stack): New.
6971 * cpplib.c (do_if): Update.
6972 * cppinit.c (cpp_create_reader): Create op stack.
6973 (cpp_destroy): And destroy it.
6974 * cpplib.h (CPP_LAST_CPP_OP): Correct.
6975 (TTYPE_TABLE): Correct.
6976
296c463e 69772002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
6978
6979 PR c/6343
6980 * c-decl.c (duplicate_decls): Call merge_weak.
6981 * c-pragma.c (apply_pragma_weak): Warn about misuse.
6982 * output.h (merge_weak): Prototype merge_weak.
6983 * varasm.c (merge_weak): New function.
6984 (declare_weak): Make sure we don't give an error on VAR_DECLs.
6985 Mark RTL with SYMBOL_REF_WEAK.
6986
6cc4057d 69872002-04-27 Kurt Garloff <garloff@suse.de>
6988
6989 * tree-inline.c (inlinable_function_p): Improve heuristics
6990 by using a smoother function to cut down allowable inlinable size.
6991 * param.def: Add parameters max-inline-insns-single,
6992 max-inline-slope, min-inline-insns that determine the exact
6993 shape of the above function.
6994 * param.h: Likewise.
6995
d4b64c2f 69962002-04-26 Richard Henderson <rth@redhat.com>
6997
6998 * c-parse.in (malloced_yyss, malloced_yyvs): New.
6999 (yyoverflow): Re-add. Set them.
7000 (free_parser_stacks): New.
7001 * c-common.h: Declare it.
7002 * c-lex.c (c_common_parse_file): Call it.
7003
ac25a327 70042002-04-26 Richard Henderson <rth@redhat.com>
7005
7006 * cfgrtl.c (tidy_fallthru_edge): Don't use next_real_insn
7007 for fallthru search.
7008
bc73e414 70092002-04-26 Eric Christopher <echristo@redhat.com>
7010
7011 PR optimization/3700
7012 * config/mips/mips.c (mips_issue_rate): Define. New function.
7013 (TARGET_SCHED_ISSUE_RATE): Use.
7014
55427c62 70152002-04-25 David S. Miller <davem@redhat.com>
7016
7017 PR target/6422
7018 * reorg.c (optimize_skip): Do not allow exception causing
7019 instructions to be considered for delay slots.
7020 (fill_simply_delay_slots, fill_slots_from_thread): Likewise.
7021 (relax_delay_slots): Do not try to consider exception causing
7022 instructions as redundant.
7023
2baadbf6 70242002-04-26 Richard Henderson <rth@redhat.com>
7025
7026 PR c/5225
7027 * c-typeck.c (build_unary_op) [CONVERT_EXPR]: Invoke non_lvalue.
7028
10879bbc 70292002-04-26 Mark Mitchell <mark@codesourcery.com>
7030
7031 PR bootstrap/6445
7032 * config/i386/i386.md (untyped_call): Return the value in a float
7033 register if TARGET_FLOAT_RETURNS_IN_80387, not just if
7034 TARGET_80387.
7035
1453bbde 70362002-04-26 Alexandre Oliva <aoliva@redhat.com>
7037
7038 * tree.c (tree_int_cst_lt): Compare constants whose types differ
7039 in unsigned-ness correctly.
7040
18a5bd91 70412002-04-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
7042
7043 * pa.h (FUNCTION_OK_FOR_SIBCALL): Don't do sibcalls when using the
7044 portable runtime model.
7045
5e277a8c 70462002-04-26 Richard Henderson <rth@redhat.com>
7047
6cc4057d 7048 * c-parse.in (yyoverflow): Revert.
5e277a8c 7049
e2073568 70502002-04-26 David Edelsohn <edelsohn@gnu.org>
7051 Richard Henderson <rth@redhat.com>
7052
7053 * config/rs6000/rs6000.md (sCC pattern): Remove clobber and use
7054 result as temporary value.
7055
070236f0 70562002-04-26 Richard Henderson <rth@redhat.com>
7057
7058 PR c/3581
7059 * c-common.c (fix_string_type): Split out of ...
7060 (combine_strings): ... here. Take a varray, not a tree list.
7061 (c_expand_builtin_printf): Use fix_string_type.
7062 * c-common.h: Update decls.
7063 * c-parse.in (string): Remove. Update all uses to use STRING
7064 instead, and not call combine_strings.
7065 (yylexstring): New.
7066 (_yylex): Use it.
7067 * c-typeck.c (simple_asm_stmt): Don't call combine_strings.
7068 (build_asm_stmt): Likewise.
7069 * objc/objc-act.c (my_build_string): Use fix_string_type.
7070 (build_objc_string_object): Build varray for combine_strings.
7071
0e73d519 70722002-04-26 Bo Thorsen <bo@suse.co.uk>
7073
7074 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Define for
7075 x86-64.
7076
87215b90 70772002-04-26 Neil Booth <neil@daikokuya.demon.co.uk>
7078
7079 * cppexp.c (CPP_UMINUS, CPP_UPLUS): New.
7080 (HAVE_NO_R_OPERAND): Remove.
7081 (HAVE_VALUE): Remove.
7082 (op_to_prio): Update.
7083 (UNARY): Don't alter flags.
7084 (_cpp_parse_expr): want_value used to indicate whether
7085 a number or unary operator is expected next. Distinguish
7086 unary and binary +/-.
7087 (op_as_text): Update for unary operators.
7088
deae487a 70892002-04-25 Richard Henderson <rth@redhat.com>
7090
7091 PR c/2161
7092 * c-parse.in (yyoverflow): New.
7093
fe5f2366 70942002-04-25 Richard Henderson <rth@redhat.com>
7095
7096 PR c/2098
7097 * c-common.c (shorten_compare): Simplfy conditions leading to
7098 the generation of a warning.
7099
c601dd7d 71002002-04-25 Richard Henderson <rth@redhat.com>
7101
7102 PR c/2035
7103 * expmed.c (extract_bit_field): Fall through to generic code rather
7104 than aborting on subreg special case.
7105
a9f2a3a0 71062002-04-25 David S. Miller <davem@redhat.com>
7107
7108 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Add back check
7109 for DECL being NULL.
7110
8390a674 71112002-04-25 Steve Christiansen <smc@us.ibm.com>
7112
7113 * doc/md.texi (Machine Constraints): Add IA-64 constraints.
7114
600d7693 71152002-04-25 Eric Botcazou <ebotcazou@multimania.com>
7116
7117 * c-decl.c (grokdeclarator): Remove outdated ??? note
7118 on invalid declaration of flexible array members.
7119
905a1b56 71202002-04-25 Richard Henderson <rth@redhat.com>
7121
7122 * doc/invoke.texi: Document -gdwarf{,-2} vs debug level.
7123
ab60b1c9 71242002-04-25 Ulrich Weigand <uweigand@de.ibm.com>
7125
7126 * config/s390/s390.c (s390_emit_epilogue): Always restore registers
7127 needed by the compiler, even if they are used as global regs.
7128
8d85666f 71292002-04-25 Matt Hiller <hiller@redhat.com>
7130
7131 * mips.c (mips_class_max_nregs, mips_register_move_cost): New
7132 functions.
7133 * mips.h (CLASS_MAX_NREGS, REGISTER_MOVE_COST): Redefine as calls
7134 of the corresponding functions.
7135 * mips-protos.h (mips_class_max_nregs, mips_register_move_cost):
7136 New prototypes.
bc73e414 7137
8d85666f 71382002-04-25 Matt Hiller <hiller@redhat.com>
7139
7140 * config/mips/mips.h (mips_sw_reg_names): Declare as extern.
7141
7142 (ALL_COP_ADDITIONAL_REGISTER_NAMES): New macro.
7143 (FIRST_PSEUDO_REGISTER): Redefine considering coprocessor
7144 registers, adjust comment accordingly.
7145 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
7146 reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGISTER_NAMES,
7147 DEBUG_REGISTER_NAMES, REG_ALLOC_ORDER): Adjust to include entries
7148 for coprocessor registers.
7149 (ADDITIONAL_REGISTER_NAMES): Include
7150 ALL_COP_ADDITIONAL_REGISTER_NAMES.
bc73e414 7151
8d85666f 7152 (COP0_REG_FIRST, COP0_REG_LAST, COP0_REG_NUM,
7153 COP2_REG_FIRST, COP2_REG_LAST, COP2_REG_NUM,
7154 COP3_REG_FIRST, COP3_REG_LAST, COP3_REG_NUM,
7155 COP0_REG_P, COP2_REG_P, COP3_REG_P, ALL_COP_REG_P,
7156 COPNUM_AS_CHAR_FROM_REGNUM, COP_REG_CLASS_P): New macros.
7157
7158 (mips_char_to_class): Adjust comment to include coprocessor
7159 constraint letters.
7160
7161 * config/mips/mips.c (coprocessor_operand, coprocessor2_operand):
7162 New functions.
7163 (mips_reg_names, mips_regno_to_class): Include coprocessor
7164 information.
7165 (mips_sw_reg_names): Ditto, make non-static.
7166 (mips_move_1word): Handle moves to and from coprocessor registers.
7167 (mips_move_2words): Handle moves to and from coprocessor
7168 registers.
7169 (mips_class_max_nregs, mips_register_move_cost): Handle
7170 coprocessor register classes.
7171 (override_options): Initialize mips_char_to_class and
7172 mips_hard_regno_mode_ok properly for coprocessor registers.
7173
7174 * config/mips/mips.md (movdi_internal, movdi_internal2,
7175 movsi_internal1, movsi_internal2): Add constraint-sets for
7176 coprocessor registers.
7177 * testsuite/gcc.c-torture/mipscop-1.c: New testcase.
7178 * testsuite/gcc.c-torture/mipscop-1.x: Disable above if target
7179 isn't mips.
7180 * testsuite/gcc.c-torture/mipscop-2.c: New testcase.
7181 * testsuite/gcc.c-torture/mipscop-2.x: Disable above if target
7182 isn't mips.
7183 * testsuite/gcc.c-torture/mipscop-3.c: New testcase.
7184 * testsuite/gcc.c-torture/mipscop-3.x: Disable above if target
7185 isn't mips.
7186 * testsuite/gcc.c-torture/mipscop-4.c: New testcase.
7187 * testsuite/gcc.c-torture/mipscop-4.x: Disable above if target
7188 isn't mips.
bc73e414 7189
8d85666f 7190 * doc/tm.texi: Document feature.
7191
dc600c9e 71922002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
7193
7194 * integrate.c (function_attribute_inlinable_p): Simplify.
7195 Check the table pointer is not NULL.
7196
49e6cbf7 71972002-04-25 Steven Bosscher <S.Bosscher@student.tudelft.nl>
7198
7199 * doc/c-tree.texi: Fix typo in introduction.
7200
1c542e4c 72012002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
7202
7203 * c-common.h (c_common_parse_file): Update.
7204 * c-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
7205 * c-lex.c (YYDEBUG): Get from c-lex.h.
7206 (c_common_parse_file): Update.
7207 * c-lex.h (YYDEBUG, yydebug): New.
7208 * c-parse.in (YYDEBUG): Get from c-lex.h.
7209 (c_set_yydebug): Remove.
7210 * c-tree.h (c_set_yydebug): Remove.
7211 * langhooks-def.h (lhd_do_nothing_i): New.
7212 (lhd_set_yydebug, LANG_HOOKS_SET_YYDEBUG): Remove.
7213 (LANG_HOOKS_PARSE_FILE, LANG_HOOKS_INITIALIZER): Update.
7214 * langhooks.c (lhd_do_nothing_i): New.
7215 (lhd_set_yydebug): Remove.
7216 * langhooks.h (struct lang_hooks): Update.
7217 * toplev.c (set_yydebug): New.
7218 (compile_file): Update call to parse_file hook.
7219 (decode_d_option): Update.
7220objc:
7221 * objc-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
7222
bd54bbc6 7223Wed Apr 24 23:45:37 2002 J"orn Rennecke <joern.rennecke@superh.com>
7224
7225 * loop.c (load_mems): Don't change the interface of called functions.
7226
7227 * calls.c (expand_call): Take current_function_pretend_args_size
7228 into account when setting argblock for sibcalls.
7229
31215a6e 72302002-04-24 Matt Hiller <hiller@redhat.com>
7231
7232 * cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS.
7233 * c-lex.c: Ditto.
7234
7235 * cpplex.c (skip_line_comment): Process comment one multibyte
7236 character at a time rather than one char at a time, if
7237 appropriate.
7238 (parse_string): Process string one multibyte character at a time
7239 rather than one char at a time, if appropriate.
7240 * c-lex.c (lex_string): Lex and copy multibyte strings
7241 appropriately.
7242 * cpplib.h (cppchar_t): Change to unsigned.
7243
db40a834 72442002-04-24 Richard Henderson <rth@redhat.com>
7245
7246 PR c/3467
7247 * c-decl.c (grokdeclarator): Don't pedwarn variable sized arrays
7248 for c99.
7249
a3e17e8c 7250Wed Apr 24 21:51:54 2002 J"orn Rennecke <joern.rennecke@superh.com>
7251
7252 * sh.c (sh_va_arg): If argument was passed by reference,
7253 dereference the pointer.
575fdeec 7254
7255 * sh.h (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
54f76e52 7256
7257 * sh.md (divsi3_i4_media): Use match_operand for input values
7258 rather than hard registers.
7259 (divsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
7260 unnecessarily through hard registers. Keep copies of pseudo
7261 registers outside of the libcall sequence.
7262
7263 * sh.md (casesi_shift_media): Add modes.
44b4015a 7264
7265 * sh.h (RETURN_IN_MEMORY): Return variable size BLKmode
7266 values in memory.
7267
f8e93a2e 72682002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
7269
7270 * attribs.c (c_common_attribute_table): Move table and handlers
7271 to c-common.c.
7272 (format_attribute_table, lang_attribute_table,
7273 lang_attribute_common): Remove.
7274 (init_attributes): Replace NULL pointers with pointers to the
7275 empty table.
7276 (handle_packed_attribute, handle_nocommon_attribute,
7277 handle_common_attribute, handle_noreturn_attribute,
7278 handle_noinline_attribute, handle_always_inline_attribute,
7279 handle_used_attribute, handle_unused_attribute,
7280 handle_const_attribute, handle_transparent_union_attribute,
7281 handle_constructor_attribute, handle_destructor_attribute,
7282 handle_mode_attribute, handle_section_attribute,
7283 handle_aligned_attribute, handle_weak_attribute,
7284 handle_alias_attribute, handle_visibility_attribute,
7285 handle_no_instrument_function_attribute, handle_malloc_attribute,
7286 handle_no_limit_stack_attribute, handle_pure_attribute,
7287 handle_deprecated_attribute, handle_vector_size_attribute,
7288 vector_size_helper): Move to c-common.c.
7289 * c-common.c (c_common_attribute_table,
7290 handle_packed_attribute, handle_nocommon_attribute,
7291 handle_common_attribute, handle_noreturn_attribute,
7292 handle_noinline_attribute, handle_always_inline_attribute,
7293 handle_used_attribute, handle_unused_attribute,
7294 handle_const_attribute, handle_transparent_union_attribute,
7295 handle_constructor_attribute, handle_destructor_attribute,
7296 handle_mode_attribute, handle_section_attribute,
7297 handle_aligned_attribute, handle_weak_attribute,
7298 handle_alias_attribute, handle_visibility_attribute,
7299 handle_no_instrument_function_attribute, handle_malloc_attribute,
7300 handle_no_limit_stack_attribute, handle_pure_attribute,
7301 handle_deprecated_attribute, handle_vector_size_attribute,
7302 vector_size_helper): Move from attribs.c.
7303 * c-common.h (c_common_attribute_table,
7304 c_common_format_attribute_table): New.
7305 * c-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
7306 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
7307 * langhooks-def.h (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
7308 LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_ATTRIBUTE_TABLE): New.
7309 (LANG_HOOKS_INITIALIZER): Update.
7310 * langhooks.h (struct lang_hooks): 3 new attribute hooks.
7311 * target-def.h (TARGET_ATTRIBUTE_TABLE): Default to NULL.
7312 * target.h: Update comment.
7313 * tree.c (default_target_attribute_table): Remove.
7314 * tree.h (default_target_attribute_table, format_attribute_table,
7315 lang_attribute_table, lang_attribute_common): Remove.
7316objc:
7317 * objc-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
7318 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
7319
634906d6 73202002-04-24 Jason Merrill <jason@redhat.com>
7321
7322 * dwarf2.h (enum dwarf_attribute): Add DW_AT_GNU_vector.
7323 * dwarf2out.c (dwarf_attr_name): Support it.
7324 (gen_array_type_die): Emit it.
7325 (lookup_type_die): No special handling for VECTOR_TYPE.
7326 (gen_type_die): Hand VECTOR_TYPE off to gen_array_type_die.
7327
a78c0709 73282002-04-24 Richard Henderson <rth@redhat.com>
7329
7330 * config/mips/mips.md (movdi_usd): Renumber.
7331
9981aaeb 73322002-04-24 David S. Miller <davem@redhat.com>
7333
7334 PR target/6420
7335 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Return false if
7336 32-bit Sparc and current_function_returns_struct is true.
7337
b4ddc721 7338Wed Apr 24 13:48:25 CEST 2002 Jan Hubicka <jh@suse.cz>
7339
7340 * loop.c (canonicalize_condition): Use gen_int_mode.
7341
a73cb8ec 73422002-04-24 Aldy Hernandez <aldyh@redhat.com>
7343
7344 * config/rs6000/altivec.h: Cleanup file. Add non individual
7345 variants.
7346 (vec_vaddubm): New.
7347 (vec_vadduhm): New.
7348 (vec_vadduwm): New.
7349 (vec_vaddfp): New.
7350 (vec_vaddcuw): New.
7351 (vec_vaddubs): New.
7352 (vec_vaddsbs): New.
7353 (vec_vadduhs): New.
7354 (vec_vadduws): New.
7355 (vec_vaddsws): New.
7356 (vec_vand): New.
7357 (vec_vandc): New.
7358 (vec_vavgub): New.
7359 (vec_vavgsb): New.
7360 (vec_vavguh): New.
7361 (vec_vavgsh): New.
7362 (vec_vavguw): New.
7363 (vec_vavgsw): New.
7364 (vec_vrfip): New.
7365 (vec_vcmpbfp): New.
7366 (vec_vcmpequb): New.
7367 (vec_vcmpequh): New.
7368 (vec_vcmpequw): New.
7369 (vec_vcmpeqfp): New.
7370 (vec_vcmpgefp): New.
7371 (vec_vcmpgtub): New.
7372 (vec_vcmpgtsb): New.
7373 (vec_vcmpgtuh): New.
7374 (vec_vcmpgtsh): New.
7375 (vec_vcmpgtuw): New.
7376 (vec_vcmpgtsw): New.
7377 (vec_vcmpgtfp): New.
7378 (vec_vcmpgefp): New.
7379 (vec_vcfux): New.
7380 (vec_vcfsx): New.
7381 (vec_vctsxs): New.
7382 (vec_vctuxs): New.
7383 (vec_vexptefp): New.
7384 (vec_vrfim): New.
7385 (vec_lvx): New.
7386 (vec_lvebx): New.
7387 (vec_lvehx): New.
7388 (vec_lde): Add vector float variant.
7389 (vec_lvewx): New.
7390 (vec_lvxl): New.
7391 (vec_vlogefp): New.
7392 (vec_vmaddfp): New.
7393 (vec_vmhaddshs): New.
7394 (vec_vmaxub): New.
7395 (vec_vmaxsb): New.
7396 (vec_vmaxuh): New.
7397 (vec_vmaxsh): New.
7398 (vec_vmaxuw): New.
7399 (vec_vmaxsw): New.
7400 (vec_vmaxsw): New.
7401 (vec_vmaxfp): New.
7402 (vec_vmrghb): New.
7403 (vec_vmrghh): New.
7404 (vec_vmrghw): New.
7405 (vec_vmrglb): New.
7406 (vec_vmrglh): New.
7407 (vec_vmrglw): New.
7408 (vec_vminub): New.
7409 (vec_vminsb): New.
7410 (vec_vminuh): New.
7411 (vec_vminsh): New.
7412 (vec_vminuw): New.
7413 (vec_vminsw): New.
7414 (vec_vminfp): New.
7415 (vec_vmladduhm): New.
7416 (vec_vmhraddshs): New.
7417 (vec_msumubm): New.
7418 (vec_vmsummbm): New.
7419 (vec_vmsumuhm): New.
7420 (vec_vmsumshm): New.
7421 (vec_vmsumuhs): New.
7422 (vec_vmsumshs): New.
7423 (vec_vmuleub): New.
7424 (vec_vmulesb): New.
7425 (vec_vmuleuh): New.
7426 (vec_vmulesh): New.
7427 (vec_vmuloub): New.
7428 (vec_mulosb): New.
7429 (vec_vmulouh): New.
7430 (vec_vmulosh): New.
7431 (vec_vnmsubfp): New.
7432 (vec_vnor): New.
7433 (vec_vor): New.
7434 (vec_vpkuhum): New.
7435 (vec_vpkuwum): New.
7436 (vec_vpkpx): New.
7437 (vec_vpkuhus): New.
7438 (vec_vpkshss): New.
7439 (vec_vpkuwus): New.
7440 (vec_vpkswss): New.
7441 (vec_vpkshus): New.
7442 (vec_vpkswus): New.
7443 (vec_vperm): New.
7444 (vec_vrefp): New.
7445 (vec_vrlb): New.
7446 (vec_vrlh): New.
7447 (vec_vrlw): New.
7448 (vec_vrfin): New.
7449 (vec_vrsqrtefp): New.
7450 (vec_vsel): New.
7451 (vec_vslb): New.
7452 (vec_vslh): New.
7453 (vec_vslw): New.
7454 (vec_vsldoi): New.
7455 (vec_vsl): New.
7456 (vec_vslo): New.
7457 (vec_vspltb): New.
7458 (vec_vsplth): New.
7459 (vec_vspltw): New.
7460 (vec_vspltisb): New.
7461 (vec_vspltish): New.
7462 (vec_vspltisw): New.
7463 (vec_vsrb): New.
7464 (vec_vsrh): New.
7465 (vec_vsrw): New.
7466 (vec_vsrab): New.
7467 (vec_vsrah): New.
7468 (vec_vsraw): New.
7469 (vec_vsr): New.
7470 (vec_vsro): New.
7471 (vec_stvx): New.
7472 (vec_stvebx): New.
7473 (vec_stvehx): New.
7474 (vec_stvewx): New.
7475 (vec_stvxl): New.
7476 (vec_vsububm): New.
7477 (vec_vsubuhm): New.
7478 (vec_vsubuwm): New.
7479 (vec_vsubfp): New.
7480 (vec_vsubcuw): New.
7481 (vec_vsububs): New.
7482 (vec_vsubsbs): New.
7483 (vec_vsubuhs): New.
7484 (vec_vsubshs): New.
7485 (vec_vsubuws): New.
7486 (vec_vsubsws): New.
7487 (vec_vsum4ubs): New.
7488 (vec_vsum4sbs): New.
7489 (vec_vsum4shs): New.
7490 (vec_vsum2sws): New.
7491 (vec_vsumsws): New.
7492 (vec_vrfiz): New.
7493 (vec_vupkhsb): New.
7494 (vec_vupkhpx): New.
7495 (vec_vupkhsh): New.
7496 (vec_vupklsb): New.
7497 (vec_vupklpx): New.
7498 (vec_vupklsh): New.
7499 (vec_vxor): New.
7500
b07ba9ff 75012002-04-23 Eric Botcazou <ebotcazou@multimania.com>
7502
7503 PR c/5430
7504 * fold-const.c (split_tree): Add MINUS_LITP parameter; separate
7505 added literals from substracted literals.
7506 (associate_trees): Don't convert MINUS_EXPR into PLUS_EXPR.
7507 (fold) [associate]: Preserve MINUS_EXPR if needed.
7508
448aaa46 75092002-04-23 Zack Weinberg <zack@codesourcery.com>
7510
7511 * doc/install.texi: Clarify which versions of alpha*-dec-osf*
7512 are obsoleted.
7513
39471a6e 75142002-04-23 Tom Tromey <tromey@redhat.com>
7515
7516 * gcc.c: Added --resource. For PR java/6314.
7517
6ce8155a 75182002-04-23 David O'Brien <obrien@FreeBSD.org>
7519
bba8b950 7520 * cp/g++spec.c: Use profiled libstdc++ and libm with -p/-pg.
6ce8155a 7521 * config/freebsd.h (MATH_LIBRARY_PROFILE): Use the _p verions of
7522 these libraries.
7523
60b39823 75242002-04-23 David O'Brien <obrien@FreeBSD.org>
7525
7526 * config/freebsd.h(OBJECT_FORMAT_ELF): Define.
7527
2ecaad6d 7528Tue Apr 23 14:24:25 CEST 2002 Jan Hubicka <jh@suse.cz>
7529
7530 * i386.c (ix86_output_addr_diff_elt): Avoid x86_64 binutils bug
7531 workaround.
7532 (ix86_expand_int_movcc): Avoid x86_64 compilation chrash.
7533 (ix86_expand_clrstr): Fix typo.
7534 * loop.c (gen_load_of_final_value): New.
7535 (loop_givs_rescan, strength_reduce, check_dbra_loop):
7536 Use it.
7537
a7ec6974 75382002-04-23 Roger Sayle <roger@eyesopen.com>
7539
7540 * builtins.c (builtin_memset_gen_str): New function.
7541 (expand_builtin_memset): Optimize the case of constant length, but
7542 unknown value.
7543
24ff0b02 75442002-04-23 Aldy Hernandez <aldyh@redhat.com>
7545
b07ba9ff 7546 * config/rs6000/altivec.h (vec_step): Remove extraneous
7547 parentheses.
7548 (vec_ctu): Cast return.
24ff0b02 7549
b8a21949 75502002-04-23 Alan Modra <amodra@bigpond.net.au>
7551
7552 PR target/6413
7553 * function.h: (struct function): Add profile_label_no field.
7554 (current_function_profile_label_no): Define.
7555 * function.c: (profile_label_no): New static var.
7556 (expand_function_start): Increment it, and copy to
7557 current_function_profile_label_no.
7558 * output.h (profile_label_no): Delete.
7559 * final.c (profile_label_no): Delete.
7560 (profile_function): Use current_function_profile_label_no.
7561 (final_end_function): Don't increment profile_label_no here.
7562 * config/i386/i386.c (ix86_osf_output_function_prologue): Replace
7563 profile_label_no with current_function_profile_label_no.
7564 * config/pa/pa.c (current_function_number): Delete.
7565 (pa_output_function_prologue): Don't output profile label here.
7566 (hppa_profile_hook): Use label_no param rather than
7567 current_function_number.
7568 (FUNC_BEGIN_PROLOG_LABEL): Move to ..
7569 * config/pa/pa.h: .. here.
7570 (FUNCTION_PROFILER): Output profile label here.
7571
57477e83 75722002-04-22 Eric Christopher <echristo@redhat.com>
7573
7574 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Revert
7575 patch of 2002-04-09 due to binutils issues.
7576 (FUNCTION_ARG_REGNO_P): Ensure even numbered float register.
7577
dcea1976 75782002-04-22 Aldy Hernandez <aldyh@redhat.com>
7579
b07ba9ff 7580 * config/rs6000/rs6000.md ("*movv4si_internal"): Change 'm'
7581 constraint to 'o' for m=r and r=m alternatives.
7582 ("*movv8hi_internal1"): Same.
7583 ("*movv16qi_internal1"): Same.
7584 ("*movv4sf_internal1"): Same.
dcea1976 7585
7c25cb91 75862002-04-22 Janis Johnson <janis187@us.ibm.com>
7587
7588 * rtl.h (RTX_FLAG): New macro.
7589 * emit-rtl.c (copy_most_rtx): Use macros to access rtx flags.
7590 * final.c (alter_subreg): Use macro to access rtx flag.
7591 * integrate.c (copy_rtx_and_substitute): Use new access macro.
7592 * print-rtl.c (print_rtx): Use new access macro.
7593
7594 * cse.c (insert): Check rtx code before accessing flag.
7595
7596 * genattrtab.c (ATTR_IND_SIMPLIFIED_P, ATTR_CURR_SIMPLIFIED_P,
7597 ATTR_PERMANENT_P, ATTR_EQ_ATTR_P): New.
7598 (attr_hash_add_string, attr_rtx_1, attr_copy_rtx, check_attr_test,
7599 convert_const_symbol_ref, make_canonical, make_alternative_compare,
7600 evaluate_eq_attr, attr_rtx_cost, simplify_test_exp_in_temp,
7601 simplify_test_exp, optimize_attrs, simplify_by_exploding,
7602 find_and_mark_used_attributes, unmark_used_attributes,
7603 add_values_to_cover, simplify_with_current_value,
7604 simplify_with_current_value_aux, clear_struct_flag, walk_attr_value,
7605 copy_rtx_unchanging, main): Use new access macros.
7606
1f31d3a6 76072002-04-22 Tom Rix <trix@redhat.com>
7608
7609 * expmed.c (init_expmed): Generate shifted constant once.
7610
c2527f80 76112002-04-22 Zack Weinberg <zack@codesourcery.com>
7612
7613 * c-lex.c (lex_charconst): Call convert to get constant in
7614 proper type; don't just smash the type field.
7615 Fixes PR c/6300.
7616
7617 * config.gcc: Add list of obsolete configurations. Disallow
7618 building these without --enable-obsolete.
7619 * doc/install.texi: Document --enable-obsolete and obsoletion
7620 policy. Mention obsoletion of individual targets in
7621 appropriate places.
7622
27cd3daa 76232002-04-22 Richard Henderson <rth@redhat.com>
7624
7625 * config/sparc/sol2-bi.h (ASM_DEBUG_SPEC): New.
7626
76272002-04-22 Mark Mitchell <mark@codesourcery.com>
dcdb0eed 7628
7629 PR f/6138.
7630 * function.c (fixup_memory_subreg): Add promoted_mode parameter.
7631 (walk_fixup_memory_subreg): Likewise.
7632 (fixup_var_refs_insn): Adjust accordingly.
7633 (fixup_var_refs_1): Likewise.
7634
2dd48db5 76352002-04-22 Ulrich Weigand <uweigand@de.ibm.com>
7636
7637 * config/s390/linux.h: (LIBPATH_SPEC, LIBPATH_ARCH31_SPEC,
7638 LIBPATH_ARCH64_SPEC): Define.
7639 (EXTRA_SPECS): Add libpath, libpath_arch31, libpath_arch64.
7640 (STARTFILE_SPEC, ENDFILE_SPEC): Define; use libpath.
7641 (LINK_ARCH31_SPEC): Add libpath_arch31 to search path.
7642 (LINK_ARCH64_SPEC): Add libpath_arch64 to search path.
7643
98b0c990 76442002-04-22 Joel Sherrill <joel@OARcorp.com>
7645
7646 * gthr-rtems.h: Correct prototypes to remove warnings.
7647
d7b592b0 76482002-04-22 Richard Henderson <rth@redhat.com>
7649
7650 PR c/6344
7651 * alias.c (canon_true_dependence): Special case (mem:blk (scratch)).
7652
7653 * gcse.c (free_insn_expr_list_list): New.
7654 (clear_modify_mem_tables): Use it. Fix bit set usage.
7655 (canon_list_insert): Use EXPR_LISTs for expressions.
7656 (record_last_mem_set_info): Factor BLOCK_NUM (insn).
7657
02516fb9 76582002-04-22 Neil Booth <neil@daikokuya.demon.co.uk>
7659
7660 * cppfiles.c (_cpp_pop_file_buffer): Return void. Move
7661 file change and include code to _cpp_pop_buffer.
7662 * cpphash.h (struct pending_option): Predeclare.
7663 (struct cpp_reader): New member next_include_file.
7664 (_cpp_pop_file_buffer): Update.
7665 (_cpp_push_next_buffer): Update, rename.
7666 * cppinit.c (cpp_destroy): Free include chain and pending here.
7667 (cpp_finish_options): Simplify.
7668 (_cpp_push_next_buffer): Rename and clean up.
7669 * cpplib.c (cpp_pop_buffer): Move code from _cpp_pop_file_buffer.
7670 Clarify.
7671 * cppmacro.c (cpp_scan_nooutput): Set return_at_eof here.
7672
f5a309ff 76732002-04-22 Aldy Hernandez <aldyh@redhat.com>
7674
d7b592b0 7675 * config/rs6000/altivec.h (vec_xor): Add variant for both args
7676 being vector signed int.
7677 (vec_andc): Same.
7678 (vec_xor): Add variant for both args being vector signed char.
7679 Remove redundant variant.
7680 (vec_andc): Same.
f5a309ff 7681
1c7ebefd 76822002-04-21 David S. Miller <davem@redhat.com>
7683
7684 * config/sparc/sparc.md (set then compare DI mode peephole2): Fix
7685 compare mode in output RTL.
7686
dcc77132 76872002-04-22 David Edelsohn <edelsohn@gnu.org>
7688
7689 * config/rs6000/rs6000.c (rs6000_override_options): Correct
7690 style and formatting of previous patch.
7691
6205aa68 76922002-04-22 Alan Modra <amodra@bigpond.net.au>
7693
7694 * config/rs6000/rs6000.c (rs6000_override_options): Always clear
7695 flag_pic for ABI_AIX.
7696
b6d18b0a 76972002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
7698
7699 * cppexp.c (struct op, parse_number): Replace U_CHAR with uchar.
7700 * cppfiles.c (read_include_file): Similarly.
7701 * cpphash.h (DSC, U_CHAR, ustrcmp, ustrncmp, ustrlen,
7702 uxstrdup ustrchr, ufputs): Similarly.
7703 * cppinit.c (TRIGRAPH_MAP, cpp_destroy): Similarly.
7704 * cpplex.c (parse_slow, unescaped_terminator_p, save_comment,
7705 cpp_ideq, parse_identifier, parse_number): Similarly.
7706 * cpplib.c (struct directive, dequote_string, D, run_directive,
7707 cpp_push_buffer): Similarly.
7708 * cppmacro.c (new_string_token, builtin_macro, cpp_quote_string,
7709 _cpp_create_definition, check_trad_stringification,
7710 cpp_macro_definition): Similarly.
7711
7e2fc40e 77122002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
7713
7714 * cppmacro.c (funlike_invocation_p): Don't step back
7715 over CPP_EOF.
7716
02c2c577 77172002-04-21 David Edelsohn <edelsohn@gnu.org>
7718
7719 * config/rs6000/rs6000.c (output_profile_hook): Do not increment
7720 labelno.
7721
16cf5b3d 77222002-04-20 Joseph S. Myers <jsm28@cam.ac.uk>
7723
7724 * doc/invoke.texi: Remove Chill references.
7725 * doc/gcc.texi: Update last modified date.
7726
a37ad228 77272002-04-20 Kazu Hirata <kazu@hxi.com>
7728
7729 * config/h8300/lib1funcs.asm (___mulsi3): Remove unnecessary
7730 push and pop. Replace add.l with add.w.
7731
ca92c69c 77322002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
7733
7734 * config/h8300/lib1funcs.asm (___mulsi3): Use hardware
7735 multiply instructions for H8/300H case.
7736
1b19d1e8 77372002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
7738
7739 * config/h8300/lib1funcs.asm (___cmpsi2, ___ucmpsi2):
7740 Bum three instructions from each routine.
7741
c80c4f22 77422002-04-20 Neil Booth <neil@daikokuya.demon.co.uk>
7743
7744 * Makefile.in: Update.
7745 * decl.c (push_c_function_context, pop_c_function_context,
7746 mark_c_function_context): Rename for consistency.
7747 * c-objc-common.c (c_objc_common_init): Langhooks set elsewhere.
7748 * c-tree.h (push_c_function_context, pop_c_function_context,
7749 mark_c_function_context): Rename for consistency.
7750 * c-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
7751 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
7752 * function.c (init_lang_status, save_lang_status,
7753 restore_lang_status, mark_lang_status, free_lang_status):
7754 Move to langhooks.h.
7755 (push_function_context_to, pop_function_context_from,
7756 free_after_parsing, prepare_function_start, ggc_mark_struct_function):
7757 Update.
7758 * function.h (init_lang_status, save_lang_status,
7759 restore_lang_status, mark_lang_status, free_lang_status):
7760 Move to langhooks.h.
7761 * langhooks-def.h (LANG_HOOKS_FUNCTION_INIT,
7762 LANG_HOOKS_FUNCTION_FREE, LANG_HOOKS_FUNCTION_ENTER_NESTED,
7763 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK,
7764 LANG_HOOKS_FUNCTION_INITIALIZER): New.
7765 (LANG_HOOKS_INITIALIZER): Update.
7766 (lhd_do_nothing_f): New.
7767 * langhooks.h (struct lang_hooks_for_functions): New.
7768 (struct lang_hooks): New hooks.
7769 * langhooks.c (lhd_do_nothing_f): New.
7770objc:
7771 * objc-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
7772 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
7773
694a2388 77742002-04-19 David S. Miller <davem@redhat.com>
7775
7776 * config/sparc/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
7777 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Likewise.
7778
a559788c 77792002-04-19 Jakub Jelinek <jakub@redhat.com>
7780
7781 PR optimization/3756
7782 * config/i386/i386.c (ix86_expand_int_movcc): Optimize
7783 x = ((int) y < 0) ? cst1 : cst2.
7784
8839b7f1 77852002-04-19 Jakub Jelinek <jakub@redhat.com>
7786
7787 PR c/6358
7788 * function.c: Reapply patch for c/6358.
7789 (expand_function_end): Copy decl_rtl's mode, not
7790 current_function_return_rtx mode.
7791
77922002-04-19 Joel Sherrill <joel@OARcorp.com>
d08a20ae 7793
7794 * config/rtems.h (STARTFILE_SPEC, ENDFILE_SPEC): Fix for non-ELF
7795 targets.
7796
e70cfab5 77972002-04-19 Tom Tromey <tromey@redhat.com>
7798
7799 * doc/install.texi (Specific): Update status of Solaris 2.8.
7800 For PR libgcj/6158.
7801
04621255 78022002-04-19 Andreas Schwab <schwab@suse.de>
7803
7804 * real.c: Allow sizeof (REAL_VALUE_TYPE) > 2*NE.
7805 (PUT_REAL): Restore old definition.
7806
0b98ad8c 78072002-04-19 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
7808 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7809
7810 * doc/install.texi (Specific, sparc-sun-solaris2*): Mention that
7811 binutils 2.11.2 and higher generate smaller binaries than Sun's
7812 native tools.
7813
3d54653f 78142002-04-19 Mark Mitchell <mark@codesourcery.com>
7815
7816 PR c++/6352
7817 * toplev.c (rest_of_compilation): Do not defer functions for which
7818 TREE_SYMBOL_REFERENCED has already been set.
7819
d7d85b75 7820Fri Apr 19 15:53:03 CEST 2002 Jan Hubicka <jh@suse.cz>
7821
7822 * i386.md (movsi_1, movhi_1): Force reload to use more flexible
7823 alternative.
7824
63c62881 78252002-04-19 Neil Booth <neil@daikokuya.demon.co.uk>
7826
7827 * builtins.c: Include langhooks.h.
7828 (lang_type_promotes_to): Remove.
7829 (expand_builtin_va_arg): Use new hook.
7830 * c-common.c (c_common_nodes_and_builtins): Don't set hook.
7831 (simple_type_promotes_to): Move to c-typeck.c.
7832 * c-common.h (simple_type_promotes_to): Remove.
7833 * c-decl.c (duplicate_decls, grokdeclarator): Update.
7834 * c-format.c: Include langhooks.h.
7835 (check_format_types): Update.
7836 * c-tree.h (c_type_promotes_to): New.
7837 * c-typeck.c (c_type_promotes_to): Move from c-common.c.
7838 (type_lists_compatible_p): Update.
7839 * langhooks-def.h (lhd_type_promotes_to): New.
7840 (LANG_HOOKS_TYPE_PROMOTES_TO): New.
7841 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
7842 * langhooks.c (lhd_type_promotes_to): New.
7843 * langhooks.h (struct lang_hooks_for_types): New hook.
7844 * tree.h (lang_type_promotes_to): Remove.
7845objc:
7846 * objc-lang.c (LANG_HOOKS_TYPE_PROMOTES_TO): Redefine.
7847
5410141b 78482002-04-18 Richard Henderson <rth@redhat.com>
7849
7b185825 7850 * function.c: Revert patch for c/6358.
5410141b 7851
78522002-04-18 Richard Henderson <rth@redhat.com>
7853
7b185825 7854 * ifcvt.c (find_cond_trap): Handle cases with no proper THEN or JOIN
7855 blocks. Handle multiple references to the TRAP block. Handle
7856 non-adjacent THEN and OTHER blocks.
5410141b 7857
7b185825 78582002-04-18 Richard Henderson <rth@redhat.com>
7859
7860 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): Don't
7861 crash with no type for by-mode libcalls.
7862
7863 * config/ia64/ia64.md (conditional_trap): Fix predicate polarity.
5410141b 7864
e17ee7e6 78652002-04-18 Bob Wilson <bob.wilson@acm.org>
7866
7867 * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill,
7868 __xtensa_nonlocal_goto): Use a syscall instructions to flush
7869 the register windows.
7870
71a524be 78712002-04-18 Zack Weinberg <zack@codesourcery.com>
7872
7873 * real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as
7874 appropriate. Document need for extended precision even when
7875 MAX_LONG_DOUBLE_TYPE_SIZE is smaller. Define REAL_WIDTH here,
7876 based on REAL_VALUE_TYPE_SIZE. Use REAL_WIDTH to size
7877 REAL_VALUE_TYPE. Define CONST_DOUBLE_FORMAT here. Use #error
7878 instead of relying on later syntax error when REAL_WIDTH > 5.
7879 * real.c: Define NE based only on whether or not we have a
7880 full 128-bit extended type (not INTEL_EXTENDED_IEEE_FORMAT).
7881 Require sizeof(REAL_VALUE_TYPE) == 2*NE. Unconditionally
7882 define GET_REAL and PUT_REAL as simple memcpy operations; no
7883 need to byteswap or round.
7884 Use #error instead of #ifdef-ing out the entire file, for
7885 prompt error detection.
7886
7887 * rtl.c, gengenrtl.c: No need to calculate CONST_DOUBLE_FORMAT here.
7888
d4f13d24 78892002-04-18 David S. Miller <davem@redhat.com>
7890
7891 * config/sparc/sparc.h (BRANCH_COST): Define.
7892
7893 * fold-const.c (BRANCH_COST): Don't provide default here, expr.h
7894 does it.
7895
4ed2a48b 78962002-04-18 Hans-Peter Nilsson <hp@bitrange.com>
7897
7898 * flow.c (update_life_info): Ignore return value of cleanup_cfg.
7899 Mask out PROP_SCAN_DEAD_CODE | PROP_KILL_DEAD_CODE in
7900 propagate_block calls after relaxation loop using new variable
7901 stabilized_prop_flags.
7902
468c465f 79032002-04-18 Richard Henderson <rth@redhat.com>
7904
7905 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): New.
7906 (ia64_va_arg): Expect variable sized types by reference.
7907 * config/ia64/ia64-protos.h: Update.
71a524be 7908 * config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use
468c465f 7909 ia64_function_arg_pass_by_reference.
7910
0b126525 79112002-04-18 Richard Henderson <rth@redhat.com>
7912
71a524be 7913 * ifcvt.c: Include except.h.
7914 (block_has_only_trap): Break out from find_cond_trap.
7915 (find_cond_trap): Use it. Always delete the trap block.
7916 (merge_if_block): Allow then block null. Be less simplistic about
7917 what insns can end a block.
7918 * Makefile.in (ifcvt.o): Depend on except.h.
fe70d0e3 7919
0b126525 7920 * config/ia64/ia64.md (trap, conditional_trap): New.
7921
3bfb563a 79222002-04-18 Jakub Jelinek <jakub@redhat.com>
7923
7924 PR c/6358
7925 * function.c (assign_parms): Assign hard current_function_return_rtx
7926 register here...
7927 (expand_function_end): ...not here.
7928
1dd25100 79292002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
7930
7931 * c-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
7932 * c-tree.h (c_incomplete_type_error): New.
7933 * c-typeck.c (require_complete_type, build_component_ref): Update.
7934 (incomplete_type_error): Rename.
7935 * langhooks-def.h (lhd_incomplete_type_error): New.
7936 (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): New.
7937 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
7938 * langhooks.c (lhd_incomplete_type_error): New.
7939 * langhooks.h (struct lang_hooks_for_types): New hook.
7940 * tree.c (size_in_bytes): Use new hook.
7941 * tree.h (incomplete_type_error): Remove.
7942objc:
7943 * objc-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
7944
1b2c7c71 79452002-04-18 Zack Weinberg <zack@codesourcery.com>
7946
7947 * config/arc/arc.md: Remove #if HOST_FLOAT_FORMAT !=
7948 TARGET_FLOAT_FORMAT blocks.
7949
25a08c38 79502002-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7951
7952 * doc/install.texi (Downloading the source): Do not mention Chill
7953 any longer, but mention Ada.
7954 (Configuration): Do not mention Chill any longer.
7955
5977cfc6 79562002-04-18 Hans-Peter Nilsson <hp@axis.com>
7957
7958 * config/cris/cris.h (TARGET_VERSION): Remove local version number.
7959
780f86b7 7960Thu Apr 18 17:14:08 CEST 2002 Jan Hubicka <jh@suse.cz>
7961
7962 * i386.h (SSE_FLOAT_MODE_P): Fix bogus conflict resolution
7963 in last patch.
7964
6a7078b0 79652002-04-18 Jakub Jelinek <jakub@redhat.com>
7966
7967 * fold-const.c (fold): Use (*lang_hooks.types.unsigned_type)
7968 instead of unsigned_type.
7969
b48f6143 7970Thu Apr 18 15:49:12 CEST 2002 Jan Hubicka <jh@suse.cz>
7971
7972 * i386.h (SSE_FLOAT_MODE_P): Kill bogus TARGET_SSE_MATH check.
7973 * i386.md (sse_mov?fcc*): Swap operands for cases they will be swapped
7974 later.
7975
2505aad4 79762002-04-18 Bernd Schmidt <bernds@redhat.com>
7977
7978 * attribs.c (vector_type_node_list): New static variable.
7979 (handle_vector_size_attribute): Use it to avoid generating a
7980 new type node each time we are called.
7981
ba06212f 7982 * combine.c (subst): Avoid trying to make a vector mode subreg of
7983 an integer constant.
7984 (gen_lowpart_for_combine): Likewise.
71a524be 7985
4c342eac 79862002-04-18 Roger Sayle <roger@eyesopen.com>
7987 Jakub Jelinek <jakub@redhat.com>
7988
7989 * fold-const.c (fold) [NOP_EXPR]: Convert (T)(x&c) into ((T)x&(T)c)
7990 for integer constant c (if x has unsigned type or sign bit is not
7991 set in c). This folds the zero/sign extension into the bit-wise and
7992 operation.
7993
1adabeec 79942002-04-18 Jakub Jelinek <jakub@redhat.com>
7995
7996 PR middle-end/6205
7997 * config/i386/i386.md (movsf_1): Use pxor only if TARGET_SSE2,
7998 otherwise xorps.
7999
a0c3b6d9 80002002-04-17 NIIBE Yutaka <gniibe@m17n.org>
8001
8002 * config/sh/elf.h: Undefine ASM_OUTPUT_CASE_LABEL.
8003
1686d9b4 80042002-04-17 Nick Clifton <nickc@cambridge.redhat.com>
8005
8006 * gcc.c (read_specs): Detect and fail if an attempt is made to
8007 rename a spec string to an already existing string.
8008
800949fb 80092002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
8010
8011 * config/s390/s390.c (legitimize_pic_address): Do not generate
8012 illegal address constant without CONST.
8013
a0a7d900 80142002-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8015
8016 * sparc/linux64.h (CC1_SPEC): Error for -m32 and -m64.
8017 * sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
8018
c10847b9 80192002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
8020
8021 PR optimization/6305
8022 * config/s390/s390.c (s390_expand_plus_operand): Use find_replacement
8023 to make sure previous reloads are taken into account. Generate
8024 better code if one operand is an in-range immediate constant.
8025
b84b037b 80262002-04-16 Andrew Haley <aph@cambridge.redhat.com>
8027
8028 * doc/install.texi (Building): libgcj requires GNU make.
8029
fbeafc33 80302002-04-17 Jakub Jelinek <jakub@redhat.com>
8031
8032 PR bootstrap/6315
8033 * config/sparc/sparc.md (movtf reg<-reg split): Allow spliting
8034 even if hard quad and register is not floating.
8035 (movtf reg<-mem split): Disallow splitting if hard quad and
8036 register is floating.
8037 (movtf mem<-reg split): Likewise.
8038 * config/sparc/sparc.c (fp_register_operand): New predicate.
8039 * config/sparc/sparc.h (PREDICATE_CODES): Add fp_register_operand.
8040
931c9c00 80412002-04-17 Zack Weinberg <zack@codesourcery.com>
8042
8043 * Makefile.in (PROTO_OBJS): Add cppdefault.o.
8044 (protoize.o): Take $(PREPROCESSOR_DEFINES) off command line.
8045 (unprotoize.o): Ditto. Build from protoize.c. Define
8046 UNPROTOIZE on command line.
8047 * protoize.c: Include cppdefault.h. Delete include_defaults.
8048 (in_system_include_dir): Use cpp_include_defaults (defined in
8049 cppdefault.o).
8050 * unprotoize.c: Delete file.
8051
79fdb20a 80522002-04-17 Aldy Hernandez <aldyh@redhat.com>
8053
71a524be 8054 * config/rs6000/altivec.h (vec_ld): Add array variants.
8055 (vec_lde): Same.
8056 (vec_ldl): Same.
79fdb20a 8057
ee736e8c 80582002-04-17 Alan Matsuoka <alanm@redhat.com>
71a524be 8059 Aldy Hernandez <aldyh@redhat.com>
ee736e8c 8060
71a524be 8061 * config/rs6000/altivec.h: Define __ALTIVEC__.
8062 (bool): New.
8063 (__pixel): New.
8064 (pixel): New.
8065 (vec_cfux): New.
8066 (vec_vmaddfp): New.
8067 (vec_vsldoi): New.
8068 Add parentheses to all macro arguments.
ee736e8c 8069
cd7e4c20 80702002-04-16 Richard Henderson <rth@redhat.com>
8071
8072 PR c++/6320
8073 * except.c (remove_eh_handler): Insert inner regions at beginning
8074 of sibling chain. Refactor expressions.
8075
547381c0 80762002-04-16 Richard Henderson <rth@redhat.com>
8077
b25d9808 8078 * config/sparc/sol2-bi.h (AS_SPARC64_FLAG): New.
8079 * config/sparc/sol2-gas-bi.h: New file.
8080 * config.gcc (sparc*-solaris): Add it as needed.
8081 * configure.in (AS_SPARC64_FLAG): Remove check.
8082 * config.in, configure: Regenerate.
8083
8084 * config/sparc/sol2-bi.h (CC1_SPEC): Error for -m32 and -m64.
8085
80862002-04-16 Richard Henderson <rth@redhat.com>
8087
8088 * config/mips/mips.c (override_options): Don't override N32 for
8089 a 64-bit ISA.
b6e62914 8090
547381c0 8091 PR 6202
8092 * config/mips/mips.md (can_delay): Split out of existing define_delays.
8093 (HILO_delay): Set can_delay false.
8094
9f781781 80952002-04-16 Dale Johannesen <dalej@apple.com>
8096
8097 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Compute
8098 instruction addresses.
8099 (rs6000_output_function_epilogue): Likewise.
8100
f69ec2f4 81012002-04-16 Paolo Carlini <pcarlini@unitus.it>
8102
8103 * c-parse.in (poplevel, compstmt_start,
8104 compstmt_primary_start): Add ending ';', in accordance
8105 with POSIX.
8106
8ed09732 81072002-04-16 Richard Henderson <rth@redhat.com>
8108
8109 * config.gcc (sparcv9-solaris): Configure for 64-bit default.
8110 Adjust tm_file order to get TARGET_DEFAULT set properly.
8111 (sparc-solaris): Configure 2.[78] for 64-bit multilibs.
8112 * doc/install.texi (sparc-solaris): Update.
8113
3d0385fb 81142002-04-16 Dale Johannesen <dalej@apple.com>
8115
8116 * config/rs6000/rs6000.c (rs6000_emit_cmove): Fail if modes of
8117 comparison operands do not match each other or if modes of
8118 conditions do not match result.
8119
ee85965c 81202002-04-16 Hartmut Penner <hpenner@de.ibm.com>
ffa5c9bc 8121
ee85965c 8122 PR target/6305
8123 * config/s390/s390.md (mulsidi3): Set both subregs of the
71a524be 8124 multiword register.
ffa5c9bc 8125
ee85965c 81262002-04-16 Aldy Hernandez <aldyh@redhat.com>
e93986bb 8127
8ed09732 8128 * config/rs6000/altivec.h (vec_addc): Type check.
e93986bb 8129
6db2b7ab 81302002-04-16 Jakub Jelinek <jakub@redhat.com>
8131
8132 PR middle-end/6279
8133 * expr.c (store_expr): Don't copy if DECL_RTL (exp) == target.
8134
8135 * expr.c (safe_from_p): Cleanup: use DECL_RTL_IF_SET.
8136
4d93ed30 81372002-04-15 Richard Henderson <rth@redhat.com>
8138
8139 * config/mips/abi64.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Set
8140 call_really_used_regs too.
8141
35815f41 81422002-04-15 Richard Henderson <rth@redhat.com>
8143
8144 * config/alpha/gnu.h (CPP_PREDEFINES): Underscores for gnu_hurd.
8145
9a3d0fc8 81462002-04-15 David S. Miller <davem@redhat.com>
8147
8148 * rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs
8149 as being CLOBBERed.
8150
0ccb2687 81512002-04-16 Jakub Jelinek <jakub@redhat.com>
8152
8153 PR c/6290
8154 * config/rs6000/rs6000.c (easy_vector_constant): Return 1 if the
8155 CONST_VECTOR is { 0, ... 0 }.
8156
448ee58a 81572002-04-15 Loren J. Rittle <ljrittle@acm.org>
8158
8159 * doc/install.texi (Installing GCC: Configuration): Clarify
8160 the only supported ways to configure gcc.
8161
7698a084 81622002-04-15 Roland McGrath <roland@frob.com>
71a524be 8163
7698a084 8164 * config.gcc (alpha*-*-gnu*): New target configuration.
8165 * config/alpha/gnu.h: New file for it.
8166 * config/gnu.h (TARGET_MEM_FUNCTIONS): #undef before #define.
8167
7e83d989 81682002-04-16 Mark Mitchell <mark@codesourcery.com>
8169
8170 * c-common.h (STMT_EXPR_NO_SCOPE): New macro.
8171 * c-common.c (c_expand_expr): Respect STMT_EXPR_NO_SCOPE.
8172 * tree.h (expand_start_stmt_expr): Update prototype.
8173 * stmt.c (expand_start_stmt_expr): Add has_scope parameter.
8174 * tree-inline.c (expand_call_inline): Set STMT_EXPR_NO_SCOPE
8175 on the STMT_EXPR created for the inline function.
71a524be 8176
407f0434 81772002-04-15 Richard Henderson <rth@redhat.com>
8178
8179 * config/alpha/linux.h, config/arm/linux-elf.h, config/i370/linux.h,
8180 config/i386/linux-aout.h, config/i386/linux-oldld.h,
8181 config/i386/linux.h, config/i386/linux64.h, config/ia64/linux.h,
8182 config/m68k/linux-aout.h, config/m68k/linux.h, config/mips/linux.h,
8183 config/pa/pa-linux.h, config/pj/linux.h, config/s390/linux.h,
8184 config/sh/linux.h, config/sparc/linux-aout.h, config/sparc/linux.h,
8185 config/sparc/linux64.h, config/xtensa/linux.h (CPP_PREDEFINES):
8186 Define __gnu_linux__, not gnu_linux.
8187 * config/rs6000/sysv4.h (CPP_OS_GNU_SPEC): Likewise for gnu_hurd.
8188
5e311636 81892002-04-15 Mark Mitchell <mark@codesourcery.com>
8190
8191 Remove Chill front end.
8192 * gcc.c (default_compilers): Remove Chill entries.
8193 * ch: Remove directory.
8194 * doc/frontends.texi: Remove information about Chill.
8195 * doc/sourcebuild.texi: Likewise.
8196 * doc/standards.texi: Likewise.
8197
5b7ad4b3 81982002-04-15 Douglas B Rupp <rupp@gnat.com>
8199
8200 * config/alpha/vms.h (INCLUDE_DEFAULTS): Add /gnu/lib/gcc-lib/include.
8201 (LONGLONG_STANDALONE): Define.
8202
61f83895 82032002-04-15 David S. Miller <davem@redhat.com>
8204
8205 * config/sparc/sparc.c (sparc_emit_float_lib_cmp):
8206 Call emit_library_call with LCT_NORMAL.
8207 (sparc_initialize_trampoline): Use LCT_foo instead of
8208 magic constant in emit_library_call invocations.
8209 (sparc64_initialize_trampoline): Likewise.
8210 (sparc_profile_hook): Likewise.
8211 * config/sparc/sparc.md: Likewise.
8212
8213 * config/sparc/sparc.c (sparc_extra_constraint_check):
8214 Fix type of argument 'c'.
8215 * config/sparc/sparc-protos.h (sparc_extra_constraint_check):
8216 Likewise.
8217
06c7407c 82182002-04-15 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
8219
8220 * diagnostic.h (output_buffer_state): Redefine.
8221 (output_format_decoder): New macro.
8222 (output_prefixing_rule): Likewise.
8223 (output_line_cutoff): Likewise.
8224 (diagnostic_format_decoder): Adjust.
8225 (diagnostic_prefixing_rule): Likewise.
8226 (diagnostic_line_cutoff): Likewise.
8227 (diagnostic_state): Likewise.
8228 (diagnostic_kind_count): Likewise.
8229 (diagnostic_buffer): Now a macro.
8230
8231 * diagnostic.c (diagnostic_buffer): Remove definition.
8232 (output_is_line_wrapping): Adjust.
8233 (set_real_maximum_length): Likewise.
8234 (output_set_maximum_length): Likewise.
8235 (init_output_buffer): Likewise.
8236 (lhd_print_error_function): Likewise.
8237 (output_do_verbatim): Likewise.
8238
73328dce 82392002-04-14 Neil Booth <neil@daikokuya.demon.co.uk>
8240
8241 * cpperror.c (print_location): Don't print include chain
8242 if line == 0.
8243 (cpp_begin_message): Update to use DL_ macros.
8244 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
8245 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
8246 cpp_notice, cpp_notice_from_errno): Remove.
8247 (cpp_error, cpp_error_with_line): Update to take a diagnostic
8248 level.
8249 (cpp_errno): New.
8250 * cppexp.c (CPP_ICE): Remove.
8251 (SYNTAX_ERROR, SYNTAX_ERROR2, parse_number, parse_defined,
8252 lex, integer_overflow, _cpp_parse_expr): Update.
8253 * cppfiles.c (read_include_file, find_include_file,
8254 handle_missing_header, _cpp_read_file, remap_filename): Update.
8255 * cpphash.h (enum error_type): Remove.
8256 (_cpp_begin_message): Update.
8257 * cppinit.c (append_include_chain, remove_dup_dirs, output_deps,
8258 cpp_handle_option, cpp_post_options): Update.
8259 * cpplex.c (trigraph_p, skip_escaped_newlines, skip_block_comment,
8260 skip_whitespace, parse_identifier, parse_slow, parse_string,
8261 _cpp_lex_direct, cpp_spell_token, maybe_read_ucs, cpp_parse_escape,
8262 cpp_interpret_charconst): Update.
8263 * cpplib.c (check_eol, directive_diagnostics, _cpp_handle_directive,
8264 lex_macro_node, do_undef, glue_header_name, parse_include,
8265 do_include_common, read_flag, do_line, do_linemarker, do_ident,
8266 cpp_register_pragma, do_pragma_once, do_pragma_system_header,
8267 do_pragma_poison, do_pragma_dependency, _cpp_do__Pragma, do_else,
8268 do_elif, do_endif, parse_answer, parse_assertion, do_assert,
8269 _cpp_pop_buffer, do_diagnostic): Update.
8270 * cpplib.h (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN, DL_ERROR,
8271 DL_FATAL, DL_ICE, DL_EXTRACT, DL_WARNING_P): New.
8272 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
8273 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
8274 cpp_notice, cpp_notice_from_errno): Remove.
8275 (cpp_error, cpp_error_with_line): Update to take a diagnostic
8276 level.
8277 (cpp_errno): New.
8278 * cppmacro.c (builtin_macro, stringify_arg, paste_all_tokens,
8279 collect_args, enter_macro_context, save_parameter, parse_params,
8280 _cpp_create_definition, check_trad_stringification,
8281 cpp_macro_definition): Update.
8282 * cppmain.c (cpp_preprocess_file): Update.
8283 * fix-header.c (read_scan_file): Update.
8284
b11856ef 82852002-04-14 Andreas Schwab <schwab@suse.de>
8286
8287 * config/ia64/linux.h (CPP_PREDEFINES): Fix missing backslash.
8288
ad8eb5c5 82892002-04-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
8290
8291 * config/arm/linux-elf.h (CPLUSPLUS_CPP_SPEC): Define.
8292
1d1deae5 82932002-04-13 Mark Mitchell <mark@codesourcery.com>
8294
8295 * config/i386/gnu.h (CPP_PREDEFINES): Define __gnu_hurd__,
8296 not gnu_hurd.
8297
bab60030 82982002-04-13 Hans-Peter Nilsson <hp@axis.com>
8299
8300 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Fix typo.
8301
d3fedea9 83022002-04-13 Joel Sherrill <joel@OARcorp.com>
8303
8304 * config/sparc/t-elf: Enable v8 multilibs. Impacts
8305 sparc-elf and sparc-rtems targets.
8306
99e04ac4 83072002-04-13 Mark Mitchell <mark@codesourcery.com>
8308
8309 * alpha/linux.h: Define __gnu_linux__ wherever __linux__ is
8310 defined, and __gnu_hurd__ wherever __GNU__ is defined.
8311 * arm/linux-elf.h: Likewise.
8312 * cris/aout.h: Likewise.
8313 * cris/linux.h: Likewise.
8314 * i370/linux.h: Likewise.
8315 * i386/gnu.h: Likewise.
8316 * i386/linux-aout.h: Likewise.
8317 * i386/linux-oldld.h: Likewise.
8318 * i386/linux.h: Likewise.
8319 * i386/linux64.h: Likewise.
8320 * ia64/linux.h: Likewise.
8321 * m68k/linux-aout.h: Likewise.
8322 * m68k/linux.h: Likewise.
8323 * mips/linux.h: Likewise.
8324 * pa/pa-linux.h: Likewise.
8325 * pj/linux.h: Likewise.
8326 * rs6000/sysv4.h: Likewise.
8327 * s390/linux.h: Likewise.
8328 * sh/linux.h: Likewise.
8329 * sparc/linux-aout.h: Likewise.
8330 * sparc/linux.h: Likewise.
8331 * sparc/linux64.h: Likewise.
8332 * xtensa/linux.h: Likewise.
8333
e3189f72 83342002-04-13 Richard Sandiford <rsandifo@redhat.com>
8335
8336 * stmt.c (check_unique_operand_names): Expect operand names to
8337 be strings rather than identifiers. Use simple_cst_equal to
8338 compare them.
8339 (resolve_operand_name_1): Make same identifier to string change here.
8340 * c-parse.in (asm_operand): Convert a named operand into a string.
8341 * cp/parse.y (asm_operand): Likewise.
8342
8b0eba67 83432002-04-13 Andreas Schwab <schwab@suse.de>
8344
8345 * config/ia64/ia64.h (CPP_SPEC): Include %(cpp_cpu).
8346
b3609646 83472002-04-12 Mark Mitchell <mark@codesourcery.com>
8348
8349 Revert these changes:
8350
8351 2002-04-06 Mark Mitchell <mark@codesourcery.com>
8352
8353 PR c++/5571
8354 * stor-layout.c (layout_decl): Reset the RTL for the decl.
8355
d5a614bc 83562002-04-12 Richard Henderson <rth@redhat.com>
8357
8358 * config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
8359 (sparc*-*-solaris): Clean up header files.
8360 * configure.in (AS_SPARC64_FLAG): Error out if can't find it
8361 and plan on generating 64-bit code.
8362 * toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2.
8363 * config/sparc/sol2-64.h: Delete and reuse for default 64-bit code.
8364 * config/sparc/sol2-sld-64.h: Rename ...
8365 * config/sparc/sol2-bi.h: ... here. Remove the bits that checked
8366 for AS_SPARC64_FLAG not defined.
8367 * config/sparc/sol2-gld-bi.h: New.
8368 * config/sparc/sol2-sld.h: Remove.
8369 * config/sparc/sol26-sld.h: New.
8370 * config/sparc/sol2.h: Tidy comments.
8371 * doc/install.texi: Document sparc-solaris configury changes.
8372
03035422 83732002-04-12 Richard Henderson <rth@redhat.com>
8374
8375 * recog.c (offsettable_address_p): Match the logic in adjust_address.
8376
8377 * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
8378 in 64-bit mode only. Use only for 32-bit or MEDLOW.
8379
f700d497 83802002-04-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8381
8382 * config/alpha/osf.h (LINK_SPEC): Pass -S to silence ld warnings.
8383
bf9fd117 8384Fri Apr 12 15:42:59 2002 Jeffrey A Law (law@redhat.com)
8385
a943e059 8386 * pa.c (pa_can_combine_p): Call extract_insn before calling
bf9fd117 8387 constrain_operands.
8388
f4518eb4 83892002-04-12 Douglas B Rupp <rupp@gnat.com>
8390
8391 * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define.
8392 (TARGET_ASM_NAMED_SECTION, RETURN_IN_MEMORY) Define.
8393 (DEFAULT_PCC_STRUCT_RETURN): Define as 0.
4eba9e43 8394 (CPP_PREDEFINES): Handle __declspec.
f4518eb4 8395 * config/i386/t-interix (USER_H): Remove.
8396
bc641a6c 83972002-04-12 DJ Delorie <dj@redhat.com>
8398
8399 * integrate.c (compare_blocks): Make comparisons safe for when
8400 sizeof(int) < sizeof(char *).
8401 (find_block): Likewise.
8402
2c290e47 84032002-04-12 Jan Hubicka <jh@suse.cz>
8404 David Edelsohn <edelsohn@gnu.org>
8405
8406 * config/rs6000/rs6000.c (call_operand): Allow LINK and COUNT
8407 registers.
8408 (symbol_ref_operand): New.
8409 * config/rs6000/rs6000.h (PREDICATE_CODES): Add symbol_ref_operand.
8410 * config/rs6000/rs6000.md (call_nonlocal_aix): Use symbol_ref_operand.
8411
f287f030 84122002-04-12 Andreas Schwab <schwab@suse.de>
8413
8414 * config/ia64/ia64.h (ASM_SPEC): Moved from here ...
8415 * config/ia64/sysv4.h (ASM_SPEC): ... to here, so that it
8416 overrides the definition in config/svr4.h.
71a524be 8417
fbeb7d1a 84182002-04-12 Eric Norum <eric.norum@usask.ca>
8419
8420 * config/rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
8421 config/c4x/rtems.h, config/h8300/rtems.h, config/i386/rtems.h,
8422 config/i386/rtemself.h, config/i960/rtems.h, config/m68k/rtems.h,
8423 config/m68k/rtemself.h, config/mips/rtems.h, config/mips/rtems64.h,
8424 config/pa/rtems.h, config/rs6000/rtems.h, config/sh/rtems.h,
8425 config/sh/rtemself.h, config/sparc/rtems.h, config/sparc/rtemself.h,
8426 config/v850/rtems.h (*-rtems*): Cleanup pass to move common
8427 definitions to config/rtems.h and make the targets more similar.
8428
22ee087b 8429Fri Apr 12 08:06:54 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8430
4a836698 8431 * expr.c (expand_assigment): Remove duplicate conversions #ifdef
8432 POINTERS_EXTEND_UNSIGNED.
8433 (store_constructor, expand_expr, case COMPONENT_REF): Likewise.
8434 (store_expr): Use TYPE_MODE (sizetype), not ptr_mode.
8435
22ee087b 8436 * emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET
8437 not specified.
8438
4a1a3f67 8439Fri Apr 12 12:11:26 2002 J"orn Rennecke <joern.rennecke@superh.com>
8440
8441 * sh.c (calc_live_regs, sh_pr_n_sets): Use of PR_MEDIA_REG / PR_REG
8442 depends on TARGET_SHMEDIA, not TARGET_SH5.
8443
42299343 84442002-04-12 Hans-Peter Nilsson <hp@bitrange.com>
8445
8446 * function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>:
8447 For paradoxical (subreg VAR), replace VAR, don't try the subreg.
8448
4ea39690 8449Fri Apr 12 10:51:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
8450
8451 * sh.c (broken_move): Constant 0. / 1. load is OK if there is
8452 no r0 clobber.
8453
be6c399c 84542002-04-12 Andreas Schwab <schwab@suse.de>
8455
8456 * config/ia64/ia64.h (EXTRA_SPECS): Fix missing backslash.
8457
f3cb52fc 84582002-04-12 Richard Henderson <rth@redhat.com>
8459
8460 PR bootstrap/4191
8461 * config/d30v/d30v.h (INIT_SECTION_ASM_OP): Don't undef.
8462
8463 * flow.c (mark_used_reg): Manage reg_cond_dead properly for
8464 modes spanning multiple hard regs.
71a524be 8465
f3cb52fc 8466 * recog.c (peephole2_optimize): Rebuild jump labels as needed.
8467
b70ea764 84682002-04-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
8469
8470 * pa.c (pa_output_function_prologue): Don't accumulate the total
8471 number of code bytes when using TARGET_64BIT, or gas, SOM and not
8472 the portable runtime.
8473 (output_deferred_plabels): Handle 64bit plabels.
8474 (output_cbranch): Use $PIC_pcrel$0 for pc relative relocations when
8475 generating pic code using the GAS assembler for object formats that
8476 are not SOM (ie., ELF32 and ELF64).
8477 (output_millicode_call): Check attribute type if attribute length is 28.
8478 Likewise use $PIC_pcrel$0. Only call get_attr_length and
8479 dbr_sequence_length once.
8480 (output_call): Likewise use $PIC_pcrel$0, and call get_attr_length and
8481 dbr_sequence_length once.
8482 * pa.h (TARGET_SOM): Define if not defined.
8483 * pa.md (pattern to load address of label): Likewise use $PIC_pcrel$0
8484 with GAS and not SOM.
8485 (jump, call_internal_reg, call_value_internal_reg): Likewise.
8486 * som.h (OBJ_SOM): Rename to TARGET_SOM. Undefine before defining.
8487
5c50685b 84882002-04-11 David O'Brien <obrien@FreeBSD.org>
8489
8490 * config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value.
8491 (DEFAULT_PCC_STRUCT_RETURN) Do not redefine.
8492 (USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP,
8493 DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
8494 elfos.h and dbxelf.h values are fine now.
8495 * config/i386/freebsd.h, config/alpha/freebsd.h
8496 (DEFAULT_PCC_STRUCT_RETURN): Define to 0.
8497
463e830e 84982002-04-11 David O'Brien <obrien@FreeBSD.org>
8499
8500 * config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__
8501 or set Acpu or Amachine. Reformat.
8502 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
8503 define.
8504 (LINK_SPEC): Do not need to undef.
8505 * config/ia64/elf.h (ASM_EXTRA_SPEC): Define.
8506 * config/ia64/freebsd.h (LINK_SPEC): Do not need to undef.
8507 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
8508 define.
8509 * config/ia64/hpux.h (ASM_EXTRA_SPEC): Define.
8510 (ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead.
8511 (LINK_SPEC): Do not need to undef.
8512 (DONT_USE_BUILTIN_SETJMP): Do not define.
8513 * config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add.
8514 (CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine. Remove -Dia64.
8515 (DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define.
8516 Remove trailing spaces.
8517 * config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__,
8518 __ELF__, or set Acpu or Amachine. Reformat.
8519 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
8520 define.
8521
0670e09b 85222002-04-11 David O'Brien <obrien@FreeBSD.org>
8523
8524 * config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
8525 all other *-*-freebsd* targets.
8526
2640e80a 85272002-04-11 Richard Henderson <rth@redhat.com>
8528
8529 * config.gcc (alpha*-*-linux*ecoff): Detect and reject.
8530
f75effa0 85312002-04-11 David O'Brien <obrien@FreeBSD.org>
8532
8533 * config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms):
8534 Include {cpu}/{cpu}.h thru tm_file.
8535 (alpha*-*-linux*ecoff): Remove target.
8536 * config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__.
8537 (LINK_SPEC): Remove, is not OS independent.
8538 * config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__.
8539 (LINK_SPEC): Do not need to #undef any longer.
8540 * config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef
8541 any longer.
8542 * config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define
8543 __ELF__.
8544 (LINK_SPEC): Moved here from alpha/elf.h.
8545 * config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of
8546 SUB_CPP_PREDEFINES.
8547 * config/alpha/linux-ecoff.h: Remove.
8548 * config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__.
8549 (CPP_SPEC): Define _POSIX_SOURCE as needed.
8550 (CPP_SUBTARGET_SPEC): Do not define.
8551 (LINK_SPEC): Do not need to #undef any longer.
8552 * config/alpha/openbsd.h: Do not directly include alpha/alpha.h.
8553 * config/alpha/vms.h: Likewise.
8554
f3cb52fc 85552002-04-11 Richard Sandiford <rsandifo@redhat.com>
34ce6f4d 8556
8557 * doc/extend.texi: Remove old claim that typedefs cannot have
8558 an alignment attribute.
8559
963043a6 85602002-04-11 Jakub Jelinek <jakub@redhat.com>
8561
8562 PR optimization/6177
8563 * expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if
8564 bitpos is 0 and bitsize CONCAT size.
8565
886bca0a 85662002-04-11 Jakub Jelinek <jakub@redhat.com>
8567
8568 PR c/6223
8569 * combine.c (if_then_else_cond): Use trunc_int_for_mode on nz.
8570
931d8bb3 85712002-04-10 David O'Brien <obrien@FreeBSD.org>
8572
8573 * config/alpha/freebsd.h: Minor reformatting.
8574 (CPP_SPEC): Define ELF and add cpp_subtarget.
8575 (ASM_SPEC): No longer needed.
8576
5fd280eb 85772002-04-11 Richard Henderson <rth@redhat.com>
8578
8579 * config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative.
8580 (movdi_insn_sp32_v9): Likewise. Only allow stx with aligned memory.
8581 (dimode mem/zero splitter): New.
8582
0fb176ea 85832002-04-11 Hans-Peter Nilsson <hp@axis.com>
8584
8585 * config/cris/cris.c (cris_override_options): Tweak error message
8586 for PIC not implemented.
8587
8588 * config/cris/cris.h: Tweak comments related to parameter-passing.
8589
8590 * t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here.
8591
017cb544 85922002-04-10 Richard Henderson <rth@redhat.com>
8593
8594 * except.c (add_ehl_entry): Allow duplicates after landing pad
8595 creation.
8596
c0211d6b 85972002-04-10 David Edelsohn <edelsohn@gnu.org>
8598
8599 * config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64.
8600
175f3f99 86012002-04-10 Toon Moene <toon@moene.indiv.nluug.nl>
8602
8603 * c-decl.c (c_init_decl_processing): Move generation of
8604 decls for g77_integer_type_node and friends from here ...
8605 * c-common.c (c_common_nodes_and_builtins): ... to here.
8606
6f813137 86072002-04-10 Ulrich Weigand <uweigand@de.ibm.com>
8608
8609 * reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
8610 is only used as frame pointer when frame_pointer_needed is true.
8611
dd080cc9 86122002-04-10 Richard Earnshaw <rearnsha@arm.com>
8613
8614 PR target/817
8615 * arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
8616 for the fact that the pool entry uses two words.
8617 (movdf_hard_insn): Similarly. Also, ADR instruction can span
8618 1k bytes.
8619 (movdf_soft_insn): Similarly.
8620 (movxf_hard_insn): Adjust neg_pool_range attribute to allow
8621 for the fact that the pool entry uses three words.
8622
6e45d906 86232002-04-10 Richard Sandiford <rsandifo@redhat.com>
8624
8625 * config/mips/mips.c (mips_va_arg): When using the struct version
8626 of the EABI va_list, allow arguments in the register save area to
8627 take up less room than a stack argument.
8628
f64482cc 86292002-04-10 Richard Henderson <rth@redhat.com>
8630
8631 * expr.c (expand_expr) [INTEGER_CST]: Don't force into registers
8632 if EXPAND_INITIALIZER.
8633
05b07808 86342002-04-09 Richard Henderson <rth@redhat.com>
8635
8636 * config/alpha/alpha.md (movdi_er_maybe_g): New.
8637 * config/alpha/alpha.c (alpha_expand_mov): Use it.
8638
ef15379a 86392002-04-10 Alan Modra <amodra@bigpond.net.au>
8640
8641 PR optimization/6233
8642 * rtlanal.c (pure_call_p): New function.
8643 * rtl.h (pure_call_p): Declare.
8644 * loop.c (prescan_loop): Use it to set has_nonconst_call.
8645 * gcse.c (store_killed_in_insn): Use pure_call_p here too.
8646
a87d8cb5 86472002-04-09 Eric Christopher <echristo@redhat.com>
8648
8649 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional
8650 information to .comm directive.
8651
9998b6a9 86522002-04-09 Richard Henderson <rth@redhat.com>
8653
8654 PR c/5078
8655 * expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers.
8656
8f8dcce4 86572002-04-09 Richard Henderson <rth@redhat.com>
8658
8659 * basic-block.h (flow_delete_block_noexpunge): Declare.
8660 (expunge_block_nocompact): Declare.
8661 * cfg.c (expunge_block_nocompact): Split out from ...
8662 (expunge_block): ... here.
8663 * cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels.
8664 (flow_delete_block_noexpunge): Split out from ...
8665 (flow_delete_block): ... here.
8666 * cfgcleanup.c (delete_unreachable_blocks): Compact while
8667 removing dead blocks.
8668 * except.c (exception_handler_labels): Remove.
8669 (exception_handler_label_map): New.
8670 (struct eh_region): Add aka member.
8671 (mark_ehl_map_entry, mark_ehl_map, free_region): New.
8672 (ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New.
8673 (for_each_eh_label, for_each_eh_label_1): New.
8674 (init_eh): Register exception_handler_label_map.
8675 (free_eh_status): Use free_region.
8676 (find_exception_handler_labels): Use the map, not the list.
8677 (remove_exception_handler_label): Likewise.
8678 (maybe_remove_eh_handler): Likewise.
8679 (remove_eh_handler): Use the region aka bitmap.
8680 * except.h (exception_handler_labels): Remove.
8681 (for_each_eh_label): Declare.
8682 * jump.c (rebuild_jump_labels): Don't check exception_handler_labels.
8683 * loop.c (invalidate_loops_containing_label): New.
8684 (find_and_verify_loops): Use it. Use for_each_eh_label.
8685 * sched-rgn.c (is_cfg_nonregular): Use
8686 current_function_has_exception_handlers.
8687
739c050b 86882002-04-09 Richard Henderson <rth@redhat.com>
8689
8690 * sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b,
8691 sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c):
8692 Do not return changed status.
8693 (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg,
8694 sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg):
8695 New functions that do return changed status.
8696 * sbitmap.h: Update decls.
8697 * gcse.c, lcm.c: Use _cg functions as needed.
8698
3f67d569 8699Tue Apr 9 19:15:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
8700
8701 * config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
8702 (sh64-*-elf*, sh-*-rtemself*): Likewise.
8703 * config/sh/embed_bb.c: New file.
8704 * config/sh/embed-elf.h: New file.
8705 * sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__
8706 if -m[12345]* option is given. Don't use subtarget_cpp_ptr_spec.
8707 (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
8708 __PTRDIFF_TYPE__ .
8709 (SUBTARGET_CPP_PTR_SPEC): Don't define.
8710 (EXTRA_SPECS): Remove subtarget_cpp_ptr_spec.
8711 Add subtarget_asm_endian_spec.
8712 (ASM_SPEC): Use subtarget_asm_endian_spec.
8713 (SUBTARGET_ASM_ENDIAN_SPEC): Define.
8714 (RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5.
8715 (WCHAR_UNSIGNED): Define.
8716 (SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define.
8717 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
8718 (ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5.
8719 Fix value.
8720 * sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5.
8721 (sh_adjust_cost): Likewise.
8722 sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
8723 __PTRDIFF_TYPE__ .
8724 (SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define.
8725 (WCHAR_TYPE_SIZE): Likewise.
8726 (ASM_SPEC): Use subtarget_asm_endian_spec.
8727 (SH_ELF_WCHAR_TYPE): #undef/ #define.
8728 (MAX_WCHAR_TYPE_SIZE): Don't #undef.
8729 * config/sh/elf.h (WCHAR_UNSIGNED): #undef .
8730 (MAX_WCHAR_TYPE_SIZE): Don't #define .
8731 (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define .
8732 (USER_LABEL_PREFIX): Don't #undef /#define .
8733 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
8734 * config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define .
8735 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise.
8736 (ASM_SPEC): Likewise.
8737 (SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define .
8738 (CC1_SPEC): don't supply -m3 for -m4*, -m5*.
8739 * t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE.
8740 (LIB2FUNCS_EXTRA): Define.
8741 * t-sh64 (LIB2FUNCS_EXTRA): Define.
8742 * config/sh/t-linux (LIB1ASMFUNCS): Don't redefine.
8743 (LIB1ASMFUNCS_CACHE): Define.
8744 (LIB2FUNCS_EXTRA): Redefine empty.
8745
045a0eef 87462002-04-08 Richard Henderson <rth@redhat.com>
8747
8748 * reorg.c (get_branch_condition): Use reversed_comparison_code.
8749
105e74c2 87502002-04-09 Stephane Carrez <Stephane.Carrez@worldnet.fr>
8751
8752 * config/m68hc11/larith.asm (__map_data_section): Fix condition
8753 and optimize for size.
8754 (__do_global_ctors): Fix pointer comparison.
8755 (__do_global_dtors): Likewise.
8756
3dcaebeb 87572002-04-09 David S. Miller <davem@redhat.com>
8758
8759 * config/sparc/sparc.c (sparc_extra_constraint_check): New
8760 function, implementing EXTRA_CONSTRAINTS. For memory constraints,
8761 allow reloading pseudos.
8762 * config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it.
8763 * config/sparc/sparc-protos.h: Declare it.
8764
8765 * config/sparc/sparc.c (const64_is_2insns): Kill signed vs.
8766 unsigned comparison warning.
8767 (output_restore_regs): Mark leaf_function as unused.
8768
67c68e45 8769Tue Apr 9 09:35:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8770
8771 * expr.c (is_aligning_offset): New function.
8772 (expand_expr, case COMPONENT_EXPR): Call it.
8773
87515218 87742002-04-08 David S. Miller <davem@redhat.com>
8775
8776 PR target/6082
8777 * config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW
8778
8779 Make init_priority work on Sparc when using GNU ld.
8780 * config/sparc/linux.h, config/sparc/linux64.h,
8781 config/sparc/netbsd-elf.h, config/sparc/freebsd.h
8782 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine.
8783 * config/sparc/sol2-gld.h: New file to do the same.
8784 * config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add
8785 sparc/sol2-gld.h to tm_file.
8786
8787 PR optimization/4328
8788 * config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'.
8789 * doc/md.texi: Document it.
8790 * config/sparc/sparc.md (movdi_insn_sp64_novis,
8791 movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis,
8792 movdf_insn_v9only_vis, movdf_insn_sp64_novis,
8793 movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers.
8794 * config/sparc/sparc.c (mem_min_alignment): Fix comment.
8795
9e03c9f8 87962002-04-08 Andreas Jaeger <aj@suse.de>
8797
8798 * stmt.c (expand_asm_operands): Revert last patch from Richard
8799 Henderson.
8800
6b129de1 88012002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8802
8803 * doc/contrib.texi (Contributors): Add John David Anglin and Loren
8804 J. Rittle (the latter also to Testers). Update David O'Brien's entry.
8805
88062002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8807
8808 * doc/contrib.texi (Contributors): Add David O'Brien.
8809
ab3470ec 88102002-04-08 Alan Modra <amodra@bigpond.net.au>
8811
8812 * configure.in (auto-build.h): Use target_alias and build_alias
8813 when running configure.
8814 (gcc_cv_as, gcc_cv_ld): Search install paths when build != host too.
8815 (gcc_cv_nm, gcc_cv_objdump): Set for build != host too.
8816 * configure: Regenerate.
8817
0b8c20bf 88182002-04-07 David S. Miller <davem@redhat.com>
8819
8820 * config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.
8821
a6bf437a 88222002-04-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
8823
8824 PR 5933
8825 * pa.h (ASM_OUTPUT_MI_THUNK): Use indirect jump to target function when
8826 generating 32-bit pic code.
8827
d3f7919d 88282002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
8829
8830 * cppinit.c (cpp_create_reader): Initialize
8831 discard_comments_in_macro_exp.
8832 (COMMAND_LINE_OPTIONS): Add "-CC" option.
8833 (cpp_handle_option): Handle "-CC" option.
8834 * cpplex.c (save_comment): If saving a C++ comment in
8835 a directive, convert it to a C comment.
8836 (_cpp_lex_direct): Pass second comment start character to
8837 save_comment to indicate comment type.
8838 * cpplib.c (_cpp_handle_directive): If processing
8839 a "#define" directive and discard_comments_in_macro_exp
8840 is false, re-enable saving of comments.
8841 (lex_macro_node): If discard_comments_in_macro_exp is false,
8842 discard any comments before the macro identifier.
8843 * cpplib.h (struct cpp_options): Add discard_comments_in_macro_exp
8844 member.
8845 * cppmacro.c (cpp_get_token): If expanding a macro while
8846 processing a directive, discard any comments we might encounter.
8847 (parse_params): If discard_comments_in_macro_exp is false,
8848 ignore comments in the macro parameter list.
8849 * gcc.c (cpp_unique_options): Add "-CC" option.
8850 (option_map): Map "--comments-in-macros" to "-CC".
8851 * doc/cppopts.texi: Document "-CC" option.
8852 * f/lang-specs.h: Add "-CC" option.
8853 * testsuite/gcc.dg/cpp/maccom1.c: New test.
8854 * testsuite/gcc.dg/cpp/maccom2.c: New test.
8855 * testsuite/gcc.dg/cpp/maccom3.c: New test.
8856 * testsuite/gcc.dg/cpp/maccom4.c: New test.
8857 * testsuite/gcc.dg/cpp/maccom5.c: New test.
8858 * testsuite/gcc.dg/cpp/maccom6.c: New test.
8859
d872fdb9 88602002-04-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
8861
8862 PR middle-end/6180
8863 * reorg.c (dbr_schedule): Don't reposition prologue and epilogue notes.
8864
99b12e3f 88652002-04-06 Mark Mitchell <mark@codesourcery.com>
8866
242fc35c 8867 PR c++/5571
8868 * stor-layout.c (layout_decl): Reset the RTL for the decl.
8869
99b12e3f 8870 PR opt/5120
8871 * sibcall.c (optimize_sibling_and_tail_recursive_call): Clear
8872 RTX_UNCHANGING_P for the functions arguments when a tail call
8873 is made.
8874
a14bc987 88752002-04-06 Jason Merrill <jason@redhat.com>
8876
8877 * toplev.c (flag_no_inline, flag_really_no_inline): Default to 2.
8878 (parse_options_and_default_flags): Set them appropriately.
8879 * c-common.c (c_common_post_options): Don't set flag_really_no_inline.
8880
adcdc3d7 88812002-04-06 Hans-Peter Nilsson <hp@bitrange.com>
8882
8883 * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc
8884 here.
8885
8886 * config/mmix/mmix.h (INITIAL_ELIMINATION_OFFSET): Remove spurious
8887 semicolon.
8888
8889 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Variable-size
8890 types come in by-reference. Fix typo in comment.
8891
8c9facdb 88922002-04-05 David S. Miller <davem@redhat.com>
8893
8894 * config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
8895 * config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos,
8896 sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*,
8897 {sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file.
8898
88992002-04-05 David S. Miller <davem@redhat.com>
8900
8901 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we
8902 are not going to emit return instructions, emit at least a nop
8903 for the sake of sane backtraces.
8904
3986e66f 89052002-04-05 Richard Henderson <rth@redhat.com>
8906
8907 * doc/rtl.texi (Regs and Memory): Document (mem:BLK (scratch)).
8908
940383f5 89092002-04-05 Jakub Jeilnek <jakub@redhat.com>
8910
8911 * mklibgcc.in: Use $tmpmapfile, not tmp-$@.
8912
7dd3befd 89132002-04-05 Alexandre Oliva <aoliva@redhat.com>
8914
8915 * config/mips/mips.h (ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE,
8916 ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
8917 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Disable if TARGET_MIPS16.
8918
a69f4a27 89192002-04-05 Andreas Schwab <schwab@suse.de>
8920
a23487e4 8921 * c-convert.c: Include c-common.h.
a69f4a27 8922 * Makefile.in (c-convert.o): Updated.
8923
48b37790 89242002-04-05 Jakub Jelinek <jakub@redhat.com>
8925
8926 * mklibgcc.in: Use separate libgcc.map for each multilib.
8927 * Makefile.in (distclean): Don't remove libgcc.map here.
8928
7a94134d 89292002-04-05 Jakub Jelinek <jakub@redhat.com>
8930
8931 * Makefile.in (s-mlib): Handle --disable-multilib by separate
8932 genmultilib invocation.
8933
e87dac45 89342002-04-04 Richard Sandiford <rsandifo@redhat.com>
8935
8936 * config/mips/mips.h (CUMULATIVE_ARGS): Rename fp_regs to num_fprs
8937 to avoid clash with Irix header file sys/ucontext.h. Rename gp_regs
8938 to num_gprs for symmetry.
8939 * config/mips/mips.c: Adjust accordingly.
8940
24ade6d8 89412002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
8942
8943 * c-common.c (truthvalue_conversion): Rename, update.
8944 * c-common.h (c_common_truthvalue_conversion): New.
8945 * c-convert.c (convert): Update.
8946 * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
8947 * c-parse.in (expr_no_commas, if_prefix, select_or_iter_stmt): Update.
8948 * c-typeck.c (build_binary_op, build_unary_op,
8949 build_conditional_expr): Update.
8950 * fold-const.c (constant_boolean_node, fold): Use langhook.
8951 * langhooks-def.h (LANGHOOK_INITIALIZER): Update.
8952 * langhooks.h (struct lang_hooks): New hook.
8953 * stmt.c (expand_decl_cleanup): Use langhook.
8954 * tree.h (truthvalue_conversion): Remove.
8955objc:
8956 * objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
8957
88a4e075 89582002-04-05 Alan Modra <amodra@bigpond.net.au>
8959
8960 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtsavres.o
8961 Add rules to make null object file.
8962
3a68fd94 89632002-04-04 Jim Blandy <jimb@redhat.com>
8964
8965 * cppmacro.c (cpp_macro_definition): Do not emit spaces after
8966 macro formal parameter names.
8967
04d6fcf8 89682002-04-04 David S. Miller <davem@redhat.com>
8969
8970 * calls.c (store_one_arg): If ECF_SIBCALL, use tail_call_reg.
8971
cf9d8568 89722002-04-04 Richard Henderson <rth@redhat.com>
8973
8974 PR middle-end/5099
8975 * stmt.c (expand_asm_operands): Validate outputs vs asm_operand_ok.
8976 Support copies into and out of memory. Don't accept allows_reg
8977 and allows_mem as gospel.
8978
a57f4c4d 89792002-04-04 Richard Henderson <rth@redhat.com>
8980
8981 PR opt/6165
8982 * alias.c (true_dependence): Force (mem:blk (scratch)) to conflict.
8983 (write_dependence_p): Likewise.
8984
322fc845 89852002-04-04 Richard Henderson <rth@redhat.com>
8986
8987 * predict.c (estimate_bb_frequencies): Do frequency calculation
8988 with a volatile temporary.
8989
7065cca2 89902002-04-04 Ulrich Weigand <uweigand@de.ibm.com>
8991
8992 * config/s390/linux.h (LOCAL_LABEL_PREFIX): Define.
8993
2627f83a 89942002-04-04 Jakub Jelinek <jakub@redhat.com>
8995
8996 PR c++/6119
8997 * final.c (final_start_function): Don't bump profile_label_no here...
8998 (final_end_function): ...but here.
8999
02b9b9f1 90002002-04-04 Jakub Jelinek <jakub@redhat.com>
9001
9002 * config/sparc/sparc.md (pic): New attribute.
9003 (do_builtin_setjmp_setup): Save %fp, %i7 and %l7 for TARGET_V9
9004 into stack slots.
9005 (split after do_builtin_setjmp_setup): New.
9006
7551ff59 90072002-04-04 Jakub Jelinek <jakub@redhat.com>
9008
9009 PR fortran/6106
9010 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Backout 2001-01-01
9011 change.
9012
992443f3 90132002-04-04 Jakub Jelinek <jakub@redhat.com>
9014
9015 * config/sparc/sparc.c (sparc_va_arg): Adjust va_list by
9016 UNITS_PER_WORD for zero sized aggregates.
9017
06449996 90182002-04-03 David S. Miller <davem@redhat.com>
9019
9020 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new
9021 one-character spec for this, just use %(link_gcc_c_sequence).
9022
b60608ad 90232002-04-03 David S. Miller <davem@redhat.com>
9024
9025 * config/sparc/crtfastmath.c (FPRS_NS): Delete bogus little-endian
9026 handling.
9027
a584fe8a 90282002-04-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
9029
9030 * pa-linux.h (INCOMING_RETURN_ADDR_RTX): Move.
9031 (DWARF_FRAME_RETURN_COLUMN): Move.
9032 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
9033 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Define.
9034 * pa.c (except.h, predict.h): Include.
9035 (FRP): Delete.
9036 (store_reg_modify, set_reg_plus_d): Revise prototypes.
9037 (output_ascii): Add cast.
9038 (store_reg_modify): Revise to add frame notes.
9039 (set_reg_plus_d): Likewise.
9040 (compute_frame_size): Include space for eh data registers in frame if
9041 the current function calls eh_return.
9042 (hppa_expand_prologue): Ensure register %r2 is saved if the current
9043 function calls eh_return. Save eh data registers if the current
9044 function calls eh_return. Fix code to add frame notes. Emit
9045 blockage to prevent insns with frame notes being scheduled in the
9046 delay slot of calls.
9047 (hppa_expand_epilogue): Restore eh data registers and do final stack
9048 adjustment if the current function calls eh_return. Don't add frame
9049 notes.
9050 (output_call): Revise for change in length of call insn. Don't do
9051 return pointer adjustment for an unconditional jump in the delay slot
9052 of a call when using frame notes.
9053 * pa.h (EH_RETURN_DATA_REGNO): Revise for TARGET_64BIT compatibility.
9054 (EH_RETURN_HANDLER_RTX): Use saved value on stack.
9055 (ARG_POINTER_CFA_OFFSET): Define.
9056 * pa.md (return_external_pic): New pattern.
9057 (prologue): Correct formatting. Use return_external_pic if current
9058 function calls eh_return.
9059 (call_internal_symref, call_value_internal_symref,
9060 sibcall_internal_symref, sibcall_value_internal_symref): Change default
9061 lengths of short, long non-pic, and long pic calls to 8, 68, and 84,
9062 respectively.
9063 (exception_receiver): Use hppa_pic_save_rtx () to restore pic register.
9064
9065 * configure.in ("assembler dwarf2 debug_line support"): Add hppa*-*-* to
9066 list of targets to check using "nop" insn.
9067 * configure: Rebuilt.
9068
9ff1ea9a 90692002-04-04 Alan Modra <amodra@bigpond.net.au>
9070
9071 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Define.
9072
da98d114 90732002-04-03 David S. Miller <davem@redhat.com>
9074
9075 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): New spec to override the gcc/c
9076 library sequence passed to the linker.
9077 (LINK_COMMAND_SPEC): Use it.
9078 * doc/tm.texi: Document it, and mention from LINK_COMMAND_SPEC as
9079 a macro a target can use to avoid overriding LINK_COMMAND_SPEC.
9080 * config/sparc/sparc.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
9081
a9bc793b 90822002-04-03 Jason Merrill <jason@redhat.com>
9083
9084 * except.c (struct eh_status): Remove protect_list.
9085 (begin_protect_partials, end_protect_partials): Remove.
9086 (add_partial_entry): Remove.
9087 * except.h: Remove prototypes.
9088
9089 * expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
9090 expand_decl_cleanup_eh.
9091
9092 PR c++/5636
9093 * tree.h (CLEANUP_EH_ONLY): New macro.
9094 * stmt.c (expand_decl_cleanup_eh): New fn.
9095 (expand_cleanups): Check CLEANUP_EH_ONLY.
9096 * c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
9097 Use expand_decl_cleanup_eh.
9098 (expand_stmt): Adjust.
9099 * c-common.h: Adjust prototype.
9100
edce0255 91012002-04-04 Hans-Peter Nilsson <hp@axis.com>
9102
9103 * config/cris/cris.c (cris_target_asm_function_prologue): Cast
9104 uses of PIC_OFFSET_TABLE_REGNUM to int to silence warnings.
9105 (cris_target_asm_function_epilogue): Ditto.
9106 (cris_initial_frame_pointer_offset): Ditto.
9107 (cris_simple_epilogue): Ditto.
9108 (cris_expand_builtin_va_arg): Variable-size types come in
9109 by-reference.
9110
21612212 91112002-04-03 David S. Miller <davem@redhat.com>
9112
9113 * config/sparc/crtfastmath.c (FPRS_NS): Get it right for
9114 little-endian.
9115 (set_fast_math): Correct 'fsr' type.
9116
8d58a5a7 91172002-04-03 Richard Henderson <rth@redhat.com>
9118
f99eba19 9119 PR opt/3569
8d58a5a7 9120 * langhooks.h (lang_hooks.decls.warn_unused_global): New.
9121 * toplev.c (check_global_declarations): Use it.
9122 * langhooks-def.h (lhd_warn_unused_global_decl): Declare.
9123 (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
9124 (LANG_HOOKS_DECLS): Add it.
9125 * langhooks.c (lhd_warn_unused_global_decl): New.
9126 * c-decl.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
9127 * c-objc-common.c (c_warn_unused_global_decl): New.
9128 * c-tree.h (c_warn_unused_global_decl): Declare.
9129 * objc/objc-lang.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
9130
d1f6c8f2 91312002-04-03 Neil Booth <neil@daikokuya.demon.co.uk>
9132
9133 * langhooks-def.h (lhd_set_decl_assembler_name,
9134 LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
9135 (LANG_HOOKS_INITIALIZER): Update.
9136 * langhooks.c (lhd_set_decl_assembler_name): New, from tree.c
9137 * langhooks.h (struct lang_hooks): New hook.
9138 * tree.c (set_decl_assembler_name): Move to langhooks.c.
9139 (lang_set_decl_assembler_name): Remove.
9140 (init_obstacks): Don't set hook.
9141 (decl_assembler_name): New function.
9142 * tree.h (DECL_ASSEMBLER_NAME): Turn into a function call.
9143 (decl_assembler_name): New.
9144 (lang_set_decl_assembler_name): Remove.
9145
e715c863 91462002-04-03 Jakub Jelinek <jakub@redhat.com>
9147
9148 * configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32()
9149 works properly with .hidden symbols.
9150 * configure: Rebuilt.
9151 * config.in: Rebuilt.
9152 * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
9153 DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work
9154 properly with .hidden symbols.
9155
2d04533c 91562002-04-03 Jakub Jelinek <jakub@redhat.com>
9157
9158 PR middle-end/6102
9159 * df.c (df_insn_refs_record): Use XEXP not SET_DEST to access
9160 USE argument.
9161
cbf780cc 91622002-04-03 Richard Henderson <rth@redhat.com>
9163
9164 PR opt/4120
9165 * sched-rgn.c (sets_likely_spilled): New.
9166 (sets_likely_spilled_1): New.
9167 (add_branch_dependences): Use it.
9168
893ff8a6 91692002-04-02 Richard Henderson <rth@redhat.com>
9170
9171 PR opt/4311
9172 * loop.h (LOOP_FIRST_PASS): New.
9173 * loop.c (strength_reduce): Mind it when deciding to unroll.
9174 * toplev.c (rest_of_compilation): Set it.
9175
a3c7ab5f 91762002-04-02 David S. Miller <davem@redhat.com>
9177
9178 * config/sparc/sparc.md (ldd peephole2s): Fix final arg to
9179 mems_ok_for_ldd_peep when the order of the loads being examined
9180 is reversed.
9181 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Expand upon
9182 existing comment to increase comprehension of this situation.
9183
9b1d697e 91842002-04-02 Zack Weinberg <zack@codesourcery.com>
9185
9186 * config/sh/sh.md: Don't use union real_extract.
9187
adeae8b0 91882002-04-02 Richard Henderson <rth@redhat.com>
9189
9190 * libgcc2.c (__bb_exit_func): Revert 03-31 change.
9191
d2307a72 91922002-04-02 David O'Brien <obrien@FreeBSD.org>
9193
9194 * config.gcc (i386-dg-dgux, i386-go32-msdos , i386-go32-rtems,
9195 i386-ibm-aix, i386-moss-msdos, i386-ncr-sysv4, i386-next-,
9196 i386-pc-msdosdjgpp, i386-sequent-bsd, i386-sequent-ptx1,
9197 i386-sequent-ptx2, i386-sequent-ptx4, i386-sun-sunos,
9198 i386-wrs-vxworks, i386-*-aout, i386-*-beoself, i386-*-bsd,
9199 i386-*-bsdi, i386-*-chorusos, i386-*-coff, i386-*-elf,
9200 i386-*-freebsd5, i386-*-freebsd-aout, i386-*-gnu, i386-*-interix,
9201 i386-*-interix3, i386-*-isc, i386-*-linux, i386-*-linuxaout,
9202 i386-*-linuxoldld, i386-*-lynxos, i386-*-mach, i386-*-mingw32,
9203 i386-*-netbsd, i386-*-netbsdelf, i386-*-netware, i386-*-openbsd,
9204 i386-*-osf1, i386-*-osfrose, i386-*-pe , i386-*-rtems,
9205 i386-*-rtemscoff, i386-*-sco3.2v5, i386-*-solaris2, i386-*-sysv,
9206 i386-*-sysv4, i386-*-sysv5, i386-*-udk, i386-*-uwin, i386-*-vsta,
9207 i386-*-win32, x86_64-*-freebsd5, x86_64-*-linux, x86_64-*-netbsd):
9208 Include as many configury headers via tm_file as possible. This
9209 includes among others i386/unix.h, i386/bsd.h, i386/gas.h.
9210 * config/openbsd-oldgas.h: New file.
9211 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/att.h,
9212 config/i386/bsd.h, config/i386/djgpp.h, config/i386/freebsd-aout.h,
9213 config/i386/gas.h, config/i386/gstabs.h, config/i386/i386-aout.h,
9214 config/i386/i386-coff.h, config/i386/i386-interix.h,
9215 config/i386/iscdbx.h, config/i386/linux-aout.h,
9216 config/i386/linux-oldld.h, config/i386/lynx-ng.h, config/i386/lynx.h,
9217 config/i386/mach.h, config/i386/netbsd.h, config/i386/next.h,
9218 config/i386/openbsd.h, config/i386/osfelf.h, config/i386/osfrose.h,
9219 config/i386/sco5.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h,
9220 config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h,
9221 config/i386/sun386.h, config/i386/svr3dbx.h, config/i386/svr3gas.h,
9222 config/i386/sysv3.h, config/i386/uwin.h, config/i386/vsta.h,
9223 config/i386/vxi386.h: Do not directly include configury headers.
9224 * config/i386/cygwin.h, config/i386/djgpp.h, config/i386/win32.h:
9225 Directly include configury headers that are no longer automatically
9226 included by the above headers.
9227 * config/i386/att.h, config/i386/bsd.h (TARGET_VERSION): Do not define.
9228 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/cygwin.h,
9229 config/i386/djgpp.h, config/i386/i386-aout.h, config/i386/i386-coff.h,
9230 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mach.h,
9231 config/i386/netbsd.h, config/i386/openbsd.h, config/i386/rtems.h,
9232 config/i386/seq-sysv3.h, config/i386/sequent.h, config/i386/svr3gas.h,
9233 config/i386/sysv3.h, config/i386/vsta.h, config/i386/vxi386.h
9234 (TARGET_VERSION): Define.
9235 * config/i386/beos-elf.h, config/i386/freebsd.h,
9236 config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h,
9237 config/i386/linux64.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h,
9238 config/i386/osfelf.h, config/i386/osfrose.h, config/i386/ptx4-i.h,
9239 config/i386/sco5.h, config/i386/sysv4.h
9240 (TARGET_VERSION): Do not need to protect.
9241 * config/i386/freebsd64.h (TARGET_VERSION): Fix style.
9242 * config/i386/386bsd.h, config/i386/cygwin.h, config/i386/djgpp.h,
9243 config/i386/freebsd-aout.h, config/i386/i386-aout.h,
9244 config/i386/i386-interix.h, config/i386/linux-aout.h,
9245 config/i386/linux-oldld.h, config/i386/mach.h, config/i386/netbsd.h,
9246 config/i386/openbsd.h, config/i386/vsta.h, config/i386/win32.h
9247 (YES_UNDERSCORES): Do not define - not needed.
9248 * config/i386/bsd.h, config/i386/gas.h (LPREFIX,
9249 ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
9250 USER_LABEL_PREFIX): Do not handle the "NO_UNDERSCORES" case.
9251 * config/i386/i386-coff.h, config/i386/lynx.h, config/i386/lynx-ng.h
9252 (LPREFIX, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
9253 USER_LABEL_PREFIX): Define. (handles the "NO_UNDERSCORES" case)
9254 * config/i386/isc.h: Preserve comment from config/i386/isccoff.h.
9255 * config/i386/isccoff.h, config/i386/v3gas.h: Remove.
9256
567c22a9 92572002-04-02 Eric Botcazou <ebotcazou@multimania.com>
9258 Richard Henderson <rth@redhat.com>
9259
9260 PR c/5484
9261 * function.c (assign_temp): Accept either type or decl argument.
9262 Detect variables whose size is too large to fit into an integer.
9263 * stmt.c (expand_decl): Pass the decl, not the type.
9264
ffbee6f8 92652002-04-02 David O'Brien <obrien@FreeBSD.org>
9266
9267 * protoize.c: Match include directory usage with cppdefault.c.
9268
295f9df5 92692002-04-03 Jeffrey A Law (law@redhat.com)
f3cb52fc 9270 Hans-Peter Nilsson <hp@bitrange.com>
295f9df5 9271
9272 * combine.c (simplify_comparison): Avoid narrowing a comparison
9273 with a paradoxical subreg when doing so would drop signficant bits.
9274
4cd21437 92752002-04-02 Steve Ellcey <sje@cup.hp.com>
9276
9277 * builtins.c (expand_builtin_prefetch): Force op0 pointer to Pmode
9278 if POINTERS_EXTEND_UNSIGNED is defined.
9279
d46792c2 92802002-04-02 Richard Henderson <rth@redhat.com>
9281
9282 PR opt/3967
9283 * local-alloc.c (contains_replace_regs): LO_SUM may contain
9284 replace regs.
9285
d5fdb6fc 92862002-04-02 Richard Henderson <rth@redhat.com>
9287
9288 * doc/standards.texi: Document required freestanding libc entry points.
9289
f1dffec8 92902002-04-02 Alan Modra <amodra@bigpond.net.au>
9291
9292 * config/rs6000/rs6000.md (ctrdi*): Add FPR constraint and
9293 associated splitter. Remove MQ constraint.
9294 (ctrdi_internal4): Correct CCmode clobber.
9295
f288a74f 92962002-04-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
9297
9298 * milli64.S ($$dyncall): New function.
9299 * t-linux (LIB1ASMFUNCS): Revise module list.
9300 (LIB1ASMSRC): Use pa/milli64.S.
9301
bffe0cfe 93022002-04-02 Richard Henderson <rth@redhat.com>
9303
9304 * fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and
9305 rename solaris_sys_varargs_h.
9306
b0cfa32c 9307Tue Apr 2 06:47:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9308
9309 * stor-layout.c (layout_type, case ARRAY_TYPE): Give one-element array
9310 the same mode as its component.
9311
a8fb9348 93122002-04-02 Richard Henderson <rth@redhat.com>
9313
9314 PR opt/190
9315 * final.c (this_is_asm_operands): Export.
9316 * output.h (this_is_asm_operands): Declare.
9317 * config/i386/i386.c (print_operand): Error odd asm operands.
9318
1ee5bf27 93192002-04-02 Richard Henderson <rth@redhat.com>
9320
9321 PR opt/420
9322 * config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.
9323
28bac34e 93242002-04-01 Richard Henderson <rth@redhat.com>
9325
9326 PR target/1538
9327 * fixinc/inclhack.def (solaris_sys_varargs_h): New.
9328 * fixinc/fixincl.x: Rebuild.
9329
d20514a0 93302002-04-01 Richard Henderson <rth@redhat.com>
9331
9332 * config/ia64/unwind-ia64.c: Include ia64intrin.h.
9333 (atomic_alloc, atomic_free): New.
9334 (SIZE, MASK_FOR, PTR_IN): New.
9335 (emergency_reg_state, emergency_reg_state_free): New.
9336 (emergency_labeled_state, emergency_labeled_state_free): New.
9337 (reg_state_alloced, labeled_state_alloced): New.
9338 (alloc_reg_state, free_reg_state): New.
9339 (alloc_label_state, free_label_state, free_label_states): New.
9340 (push, pop, dup_state_stack, free_state_stack): Use them.
9341 (desc_label_state): Likewise.
9342 (uw_frame_state_for): Free label states and state stack.
9343 (uw_update_reg_address): Eliminate warnings.
9344
399bdaf0 93452002-04-01 Vladimir Makarov <vmakarov@redhat.com>
9346
9347 * config/pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON,
f3cb52fc 9348 ASM_OUTPUT_ALIGNED_LOCAL): Redefine them.
399bdaf0 9349
9b86eec0 93502002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
9351
9352 * c-decl.c (grokdeclarator): Update.
9353 * c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
9354 * c-tree.h (c_mark_addressable): New.
9355 * c-typeck.c (default_function_array_conversion, build_unary_op,
9356 build_array_ref, convert_for_assignment): Update.
9357 (mark_addressable): Rename.
9358 * calls.c (try_to_integrate, expand_call): Use langhook.
9359 * expr.c (expand_expr): Use langhook.
9360 * langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
9361 * langhooks.h (struct lang_hooks): New hook.
9362 * stmt.c (expand_asm_operands): Use langhook.
9363 * tree.h (mark_addressable): Remove.
9364objc:
9365 * objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
9366
4588bbd8 93672002-04-01 Bob Wilson <bob.wilson@acm.org>
9368
f3cb52fc 9369 * config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning
9370 in previous change.
4588bbd8 9371
89d4bc5e 93722002-04-01 Bob Wilson <bob.wilson@acm.org>
9373
9374 * config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments
9375 for which MUST_PASS_IN_STACK is true (e.g., variable-sized types).
9376
4070745f 93772002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
9378
9379 * c-common.c (unsigned_conversion_warning, convert_and_check,
9380 unsigned_type, signed_type, shorten_compare,
9381 c_common_get_alias_set, c_common_nodes_and_builtins): Use new hooks.
9382 (unsigned_type, signed_type, signed_or_unsigned_type): Rename.
9383 * c-common.h (unsigned_type, signed_type, signed_or_unsigned_type):
9384 New.
9385 * c-decl.c (grokdeclarator): Update.
9386 * c-format.c (check_format_types): Update.
9387 * c-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
9388 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
9389 * c-typeck.c (build_binary_op, convert_for_assignment): Update.
9390 * convert.c (convert_to_integer): Use new hooks.
9391 * expmed.c (make_tree): Use new hooks.
9392 * expr.c (store_expr): Use new hooks.
9393 * fold-const.c (operand_equal_for_comparison_p, build_range_check,
9394 all_ones_mask_p, unextend, fold): Use new hooks.
9395 * langhooks.h (struct lang_hooks_for_types): New hooks.
9396 * tree.h (signed_or_unsigned_type, signed_type,
9397 unsigned_type): Remove.
9398objc:
9399 * objc-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
9400 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
9401
2898f3a4 94022002-03-31 Richard Henderson <rth@redhat.com>
9403
9404 * config/ia64/unwind-ia64.c (alloc_spill_area): Fix offset.
9405 (desc_frgr_mem): Fix reference to f16-f31.
9406
861589fe 94072002-03-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9408
9409 * rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
9410 RTVEC_ELT): Const-ify.
182b8a5c 9411 * varray.h (VARRAY_CHECK): Const-ify.
9412 * ggc.h (ggc_mark_rtx, ggc_mark_tree, ggc_mark_nonnull_tree,
9413 ggc_mark_rtvec, ggc_mark): Const-ify.
861589fe 9414
98b07039 94152002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
9416
9417 * diagnostic.c: Include langhooks-def.h.
9418 * Makefile.in (diagnostic.o): Update.
9419
ee23fd7b 94202002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
9421
9422 * c-common.c (c_unsafe_for_reeval): Rename.
9423 * c-common.h (c_unsafe_for_reeval): Rename.
9424 * c-decl.c (finish_incomplete_decl): Rename.
9425 (c_init_decl_processing): Don't set langhook.
9426 * c-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
9427 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
9428 * c-objc-common.c (c_objc_common_init): Don't set langhook.
9429 * c-tree.h (finish_incomplete_decl): Rename.
9430 * langhooks-def.h (lhd_unsafe_for_reeval): New.
9431 (LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
9432 (LANG_HOOKS_INITIALIZER): Update.
9433 * langhooks.c (lhd_unsafe_For_reeval): New.
9434 * langhooks.h (struct langhooks): New hooks.
9435 * toplev.c (incomplete_decl_finalize_hook): Remove.
9436 (wrapup_global_declarations): Update.
9437 * tree.c (lang_unsafe_for_reeval): Remove.
9438 (unsafe_for_reeval): Update.
9439 * tree.h (lang_unsafe_for_reeval, incomplete_decl_finalize_hook):
9440 Remove.
9441objc:
9442 * objc-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
9443 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
9444
6c7ff025 94452002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
9446
9447 * diagnostic.c (print_error_function): Remove.
9448 (default_print_error_function): Rename.
9449 (report_error_function): Update.
9450 * diagnostic.h (print_error_function): Remove.
9451 (default_print_error_function): Remove.
9452 * langhooks-def.h (struct diagnostic_context): Predeclare.
9453 (lhd_print_error_function, LANG_HOOKS_PRINT_ERROR_FUNCTION): New.
9454 (LANG_HOOKS_INITIALIZER): Update.
9455 * langhooks.h (struct diagnostic context): Predeclare.
9456 (struct lang_hooks): New hook.
9457
479d644a 94582002-03-31 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
9459
9460 * config/rs6000/rs6000.h (RS6000_PIC_OFFSET_TABLE_REGNUM): New.
9461 (PIC_OFFSET_TABLE_REGNUM): Use it and return INVALID_REGNUM if
9462 !flag_pic.
9463 (CONDITIONAL_REGISTER_USAGE): Adjust accordingly.
9464 * config/rs6000/rs6000.h: Use RS6000_PIC_OFFSET_TABLE_REGNUM instead
9465 of PIC_OFFSET_TABLE_REGNUM thruout.
9466 * config/rs6000/rs6000.md: Likewise.
9467 * config/rs6000/darwin.h: Likewise.
9468
f4aee538 9469Sun Mar 31 14:43:24 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9470
9471 * emit-rtl.c (adjust_address_1, offset_address): Cast value to
9472 unsigned HOST_WIDE_INT, not unsigned int.
9473
80563b56 94742002-03-31 Jakub Jelinek <jakub@redhat.com>
9475
9476 PR middle-end/6096, middle-end/6098, middle-end/6099
9477 * reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
9478 CODE_LABELs.
9479 (fill_slots_from_thread): Likewise.
9480
d85b9058 94812002-03-31 Jakub Jelinek <jakub@redhat.com>
9482
9483 * config/sparc/sparc.c (function_arg_record_value_1): Pass complex
9484 floating fields in float regs.
9485 (function_arg_record_value_2): Likewise.
9486
edf97d06 94872002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
9488
9489 * config/mmix/mmix.md (define_constants): Remove misleading
9490 FIXME. Add MMIX_fp_rO_OFFSET.
9491 ("nonlocal_goto_receiver"): Don't have stack-frame address of
9492 saved rO as part of the pattern. Remove FIXME.
9493 ("*nonlocal_goto_receiver_expanded"): Similar. Generate address
9494 here, at output-time.
9495
c3037f18 94962002-03-31 Jakub Jelinek <jakub@redhat.com>
9497
9498 PR middle-end/6100
9499 * config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not
9500 REG_BR_PRED.
9501 (output_v9branch): Likewise.
9502
21eaebc3 95032002-03-31 Alexandre Oliva <aoliva@redhat.com>
9504
9505 * gcc.c: Revert previous patch for now.
9506 * config/i386/djgpp.h: Likewise.
9507
d0a422dd 95082002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
a01c9af7 9509
9510 * config/mmix/crti.asm (_init): Register _fini with atexit.
9511 * config/mmix/crtn.asm (_fini): Add omitted "POP 0,0".
9512
e7669934 95132002-03-31 Richard Henderson <rth@redhat.com>
9514
9515 PR target/3997
9516 * config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy.
9517 (ASM_OUTPUT_DEF_FROM_DECLS): New.
9518
5fd3940f 95192002-03-31 Richard Henderson <rth@redhat.com>
9520
9521 * libgcc2.c (__bb_exit_func): Make static.
9522
f3cb52fc 9523 * config/alpha/alpha.md (trap): New.
d9fe31ee 9524
a0ef1725 95252002-03-31 Richard Henderson <rth@redhat.com>
9526
9527 * builtins.c (expand_builtin_va_arg): Give warnings not errors for
9528 promoted argument types; build trap.
9529 (expand_builtin_trap): New.
9530 (expand_builtin): Use it.
9531 * stmt.c (expand_nl_goto_receivers): Likewise.
9532 * expr.h (expand_builtin_trap): Declare.
9533 * libfuncs.h (LTI_abort, abort_libfunc): New.
9534 * optabs.c (init_optabs): Init abort_libfunc.
9535
72db4d53 95362002-03-31 Alexandre Oliva <aoliva@redhat.com>
9537
9538 * gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
9539 (LINK_COMMAND_SPEC): ... from here.
a87d8cb5 9540 (init_gcc_specs): Duplicate it here too, omitting
72db4d53 9541 shared_name in the second copy.
9542 (init_spec): Test for duplicate
9543 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'.
9544
a7414e44 95452002-03-30 David S. Miller <davem@redhat.com>
9546
9547 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
9548 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise.
9549
d9246aca 95502002-03-30 Roger Sayle <roger@eyesopen.com>
f3cb52fc 9551 Richard Henderson <rth@redhat.com>
d9246aca 9552
f3cb52fc 9553 * regmove.c (combine_stack_adjustments_for_block): Avoid
9554 emitting a stack adjustment of zero bytes. Let delete_insn
9555 update bb->head.
d9246aca 9556
8b7a298d 95572002-03-30 Richard Henderson <rth@redhat.com>
9558
9559 * config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE.
9560 (sparc_emitting_epilogue): New.
9561 (leaf_label, output_return, sparc_return_peephole_ok): Remove.
9562 * config/sparc/sparc-protos.h: Update.
9563 * config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove.
9564 (TARGET_SWITCHES): Update.
9565 * config/sparc/sparc.md (return): Remove.
9566 (return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE.
9567 * config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h,
9568 config/sparc/liteelf.h, config/sparc/netbsd-elf.h,
9569 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
9570 config/sparc/sp64-aout.h, config/sparc/sp64-elf.h,
9571 config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h,
9572 config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT):
9573 Remove MASK_EPILOGUE.
9574 * doc/invoke.texi: Update.
9575
0aa31c95 95762002-03-30 Daniel Berlin <dan@dberlin.org>
9577
9578 * dwarf2out.c (dwarf2out_define): Remove start_source_file call,
9579 CPP will start the file for us.
a87d8cb5 9580
b8536bfb 95812002-03-30 Richard Henderson <rth@redhat.com>
9582
9583 PR target/5446
9584 * config/ia64/ia64.c (group_barrier_needed_p): Special case
9585 prologue_allocate_stack.
9586 (ia64_single_set): Use insn codes for recognition of special
9587 cases, not rtl matching.
9588 * config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.
9589
c025b1a6 9590Sat Mar 30 23:48:41 CET 2002 Jan Hubicka <jh@suse.cz>
9591
9592 * cfgbuild.c (find_basic_blocks_1): Clear aux for blocks.
9593
06ac282f 95942002-03-30 Richard Henderson <rth@redhat.com>
9595
9596 PR target/6032
9597 * config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic
9598 or -fomit-frame-pointer with profiling.
9599 (SUBTARGET_OVERRIDE_OPTIONS): Remove.
9600 (FUNCTION_PROFILER): Do nothing.
9601 (PROFILE_HOOK): New.
9602 * config/sparc/sparc.c (sparc_override_options): Don't check
9603 code models for profiling.
9604 (sparc_function_profiler): Remove.
9605 (sparc_profile_hook): New.
9606 * config/sparc/sparc-protos.h: Update.
9607
8fb100fd 96082002-03-30 Jakub Jelinek <jakub@redhat.com>
9609
9610 PR optimization/6086
9611 * combine.c (combine_simplify_rtx): If simplify_rtx failed because
9612 of SUBREG of volatile MEM or because the MEM was mode dependent,
9613 return CLOBBER instead of unmodified SUBREG.
9614
73e2b81c 9615Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
9616
06ac282f 9617 * local-alloc.c (local_alloc): Avoid call of update_equiv_regs
9618 when not optimizing.
73e2b81c 9619
9620 * toplev.c (rest_of_compilation): Cann mark_constant_function
9621 only when optimizing.
9622
06ac282f 9623 * flow.c (calculate_global_regs_live): Ensure that all AUX fields
9624 are NULL.
73e2b81c 9625
9626 * cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
9627 (thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
9628 (try_optimize_cfg): clear all AUX fields.
9629
9630 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
9631 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
9632 (ix86_address_cost): Be prepared for SUBREGed registers.
9633 (legitimate_address_p): Accept SUBREGed registers.
9634
00e465b1 96352002-03-29 Richard Henderson <rth@redhat.com>
9636
9637 PR target/5672
9638 * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.
9639
72c94675 96402002-03-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
9641
9642 * config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
9643 for aggregate and TFmode types.
9644
9ff774e6 96452002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
9646
9647 * cfg.c (dump_flow_info): Guard against NULL regno_reg_rtx[i].
9648
93bec868 96492002-03-29 Richard Henderson <rth@redhat.com>
9650
11e7c681 9651 PR target/5886
93bec868 9652 * config/ia64/aix.h (CPP_PREDEFINES): Add -D_LP64.
9653 * config/ia64/hpux.h, config/ia64/linux.h: Likewise.
9654
2ae5c77d 96552002-03-29 Richard Henderson <rth@redhat.com>
9656
11e7c681 9657 PR target/6041
2ae5c77d 9658 * config/i386/i386.c (x86_arch_always_fancy_math_387): New.
9659 (override_options): Disable NO_FANCY_MATH_387 if the arch allows.
9660 * config/i386/i386.h (x86_arch_always_fancy_math_387): New.
9661 * config/i386/i386.md (sqrtxf2, sqrtextendsfxf2, sinxf2): Fix
9662 conditional.
9663 * docs/invoke.texi: Update -mno-fancy-math-387 docs.
9664
0e6137dd 96652002-03-29 Dale Johannesen <dalej@apple.com>
9666
9667 * loop.c (combine_movables): Do allow combination of pseudos.
9668
bf13a391 96692002-03-29 Loren J. Rittle <ljrittle@acm.org>
9670
9671 * config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
9672 * config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
9673 No functional change except ...
9674 * config/t-slibgcc-nolc-override (SHLIB_LC): Override it. New file.
9675 * doc/install.texi (*-*-freebsd*): Document port configuration.
9676
771d21fa 96772002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
9678
9679 * Makefile.in (convert.o, calls.o, expmed.o): Update.
9680 * attribs.c (handle_mode_attribute, handle_vector_size_attribute):
9681 Use new hooks.
9682 * builtin-types.def (BT_PTRMODE): Update.
9683 * c-common.c (type_for_size): Rename c_common_type_for_size.
9684 (type_for_mode): Similarly.
9685 (shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
9686 Use new hook.
9687 * c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
9688 * c-decl.c (finish_enum, build_enumerator): Use new hooks.
9689 * c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
9690 Redefine.
9691 * c-typeck.c (common_type, comptypes, default_conversion):
9692 Use new hooks.
9693 * calls.c: Include langhooks.h.
9694 (emit_library_call_value_1): Use new hooks. Avoid redundant
9695 calls.
9696 * convert.c: Include langhooks.h
9697 (convert_to_pointer, convert_to_integer): Use new hooks.
9698 * except.c (init_eh): Similarly.
9699 * expmed.c: Include langhooks.h.
9700 (expand_mult_add): Use new hooks.
9701 * expr.c (store_expr, store_constructor, expand_expr, do_jump,
9702 try_casesi): Similarly.
9703 * fold-const.c (optimize_bit_field_compare, make_range,
9704 decode_field_reference, fold_truthop, fold): Similarly.
9705 * function.c (assign_stack_local_1, assign_stack_temp_for_type,
9706 put_var_into_stack): Similarly.
9707 * langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
9708 LANG_HOOKS_TYPE_FOR_SIZE): New.
9709 (LANG_HOOKS_TYPES_INITIALIZER): Update.
9710 * langhooks.h (lang_hooks_for_types): New hooks.
9711 * stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
9712 * tree.c (get_unwidened, get_narrower): Similarly.
9713 * tree.h (type_for_mode, type_for_size): Remove.
9714 * varasm.c (force_const_mem): Use new hooks.
9715 * utils2.c (nonbinary_modular_operation): Update.
9716objc:
9717 * objc-act.c (handle_impent): Update.
9718 * objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
9719 Redefine.
9720
736414ab 97212002-03-29 Steve Ellcey <sje@cup.hp.com>
9722
9723 * config/ia64/ia64.md (*ptr_extend_plus_1, *ptr_extend_plus_2): New.
9724 * config/ia64/ia64.c (basereg_operand): New.
9725 * config/ia64/ia64-protos.h (basereg_operand): Declare.
9726 * config/ia64/ia64.h (PREDICATE_CODES): Add basereg_operand.
9727
5c3d1711 97282002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
9729
9730 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Correct
9731 unwind information when frame_pointer_needed.
9732 (mmix_assemble_integer): Tweak wording in comment.
9733
a1f71e15 97342002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
9735
9736 * Makefile.in (except.o): Update.
9737 * except.c: Include langhooks.h.
9738 (init_eh): Use langhook.
9739 * langhooks-def.h (LANG_HOOKS_MAKE_TYPE,
9740 LANG_HOOKS_FOR_TYPES_INITIALIZER): New.
9741 (LANG_HOOKS_INITIALIZER): Update.
9742 * langhooks.h (lang_hooks_for_types): New.
9743 (struct lang_hooks): Add it.
9744 * tree.c (make_lang_type_fn, make_lang_type): Remove.
9745 * tree.h (make_lang_type_fn, make_lang_type): Remove.
9746config:
9747 * alpha/alpha.c: Include langhooks.h.
9748 (alpha_build_va_list): Use langhook.
9749 * d30v/d30v.c: Include langhooks.h.
9750 (d30v_build_va_list): Use langhook.
9751 * i386/i386.c: Include langhooks.h.
9752 (ix86_build_va_list): Use langhook.
9753 * rs6000/rs6000.c (rs6000_build_va_list): Use langhook.
9754 * s390/s390.c: Include langhooks.h.
9755 (s390_build_va_list): Use langhook.
9756 * stormy16/stormy16.c: Include langhooks.h.
9757 (stormy16_build_va_list): Use langhook.
9758
258103e3 97592002-03-29 Jakub Jelinek <jakub@redhat.com>
9760
9761 PR c++/5964
9762 * config/sparc/sparc.md (empty_delay_slot, branch_type): New
9763 attributes.
9764 (length): Compute variable length for branches/calls/jumps here.
9765 (branch, inverted_branch, normal_fp_branch, inverted_fp_branch,
9766 normal_fpe_branch, inverted_fpe_branch): Remove length attribute,
9767 define branch_type attribute.
9768 (divsi3_sp32): Maximum length is 6 not 7.
9769 (call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
9770 call_address_untyped_struct_value_sp32,
9771 call_symbolic_untyped_struct_value_sp32): Set length to 3 not 2.
9772 * config/sparc/sparc.c (empty_delay_slot): New function.
9773 * config/sparc/sparc.h (ADJUST_INSN_LENGTH): Remove.
9774 * config/sparc/sparc-protos.h (empty_delay_slot): Add prototype.
9775
faecad48 97762002-03-29 Jakub Jelinek <jakub@redhat.com>
9777
9778 * combine.c (set_nonzero_bits_and_sign_copies): Don't call
9779 nonzero_bits if not needed.
9780 (nonzero_bits) [XOR]: Likewise.
9781 (nonzero_bits) [REG]: Use reg_last_set_nonzero_bits even if
9782 reg_last_set_mode and mode are both MODE_INT, but not equal.
9783 (record_value_for_reg): Compute reg_last_set_nonzero_bits
9784 in nonzero_bits_mode for MODE_INT modes.
9785
94dc5941 97862002-03-28 Richard Henderson <rth@redhat.com>
9787
9788 PR target/5715
9789 * config/alpha/osf.h (ASM_SPEC): Don't pass any special options
9790 to GAS. Correct drift between alternatives.
9791
5fad51c9 97922002-03-28 Richard Henderson <rth@redhat.com>
9793
9794 PR target/6087
9795 * reload1.c (fixup_abnormal_edges): Move insn to edge via sequence.
9796
db3a628d 97972002-03-28 Alexandre Oliva <aoliva@redhat.com>
9798
9799 * config/i386/freebsd.h (LINK_SPEC): Don't pass default
9800 emulation to the linker.
9801
98022002-03-28 Loren J. Rittle <ljrittle@acm.org>
9803
9804 * config/alpha/freebsd.h (LINK_SPEC): Likewise.
9805 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
9806
6ee1791f 9807Thu Mar 28 16:35:31 2002 Jeffrey A Law (law@redhat.com)
9808
9809 * combine.c (simplify_and_const_int): Make sure to apply mask
9810 when force_to_mode returns a constant integer. PR3311.
9811
0a78afa6 98122002-03-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
9813
9814 * pa-linux.h (LOCAL_LABEL_PREFIX): Define.
9815
74443372 98162002-03-28 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9817
9818 * doc/invoke.texi (Warning Options): Refer to C++ Dialect Options
9819 and Objective-C Dialect Options.
9820
a92123e9 98212002-03-28 Richard Henderson <rth@redhat.com>
9822
9823 * config/alpha/alpha.c (alpha_emit_conditional_branch): TFmode NE
9824 comparison should be done vs !=0 not >0 return code. Tidy cases.
9825
b3f7c02f 98262002-03-28 Richard Henderson <rth@redhat.com>
9827
9828 * c-decl.c (finish_function): New arg can_defer_p. Pass it
9829 on to c_expand_body.
9830 * c-tree.h (finish_function): Update decl.
9831 * c-objc-common.c, c-parse.in, objc/objc-act.c: Update calls.
9832
099a9fb1 9833Thu Mar 28 19:13:36 CET 2002 Jan Hubicka <jh@suse.cz>
9834
9835 * ifcvt.c (if_convert): Clear aux_for_blocks early enought.
9836
350b17ef 9837Thu Mar 28 13:21:53 CET 2002 Jan Hubicka <jh@suse.cz>
9838
9839 * rtlanal.c: Include flags.h
9840 (may_trap_p): Do not mark FP operations if trapping
9841 if !flag_trapping_math
9842 * Makefile.in (rtlanal.o): Add dependency on flag.h
9843 * ifcvt.c (noce_operand_ok): Avoid the lameness.
9844
ddd1d5b8 98452002-03-27 Zack Weinberg <zack@codesourcery.com>
9846
9847 * mips.md: Use dconst1, not 1.0, as first argument of
9848 REAL_VALUE_LDEXP. Don't use union real_extract.
9849
3290bc33 98502002-03-28 Alan Modra <amodra@bigpond.net.au>
9851
9852 * configure.in (gcc_cv_as): Use $target_alias in directory searchs
9853 rather than $target. Heed program_prefix and
9854 program_transform_name. Search for gas in cross-compiler case too.
9855 "test -x" rather than "test -f".
9856 (gcc_cv_ld): Likewise.
9857 (gcc_cv_nm): Heed program_prefix and program_transform_name.
9858 (gcc_cv_objdump): Likewise.
9859 * configure: Regenerate.
9860
26ca6c20 98612002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
9862
9863 * Makefile.in (attribs.o): Update.
9864 * attribs.c: Include langhooks.h.
9865 (decl_attributes): Use langhook.
9866 * c-decl.c (insert_default_attributes): Rename.
9867 * c-tree.h (c_insert_default_attributes): New.
9868 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES):New.
9869 (LANG_HOOKS_INITIALIZER): Update.
9870 * langhooks.h (struct lang_hooks): New hook.
9871 * tree.h (insert_default_attributes): Remove.
9872objc:
9873 * objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Redefine.
9874
550db37c 98752002-03-27 Andreas Schwab <schwab@suse.de>
9876
9877 * config/i386/i386.c (classify_argument): Also check for
9878 QUAL_UNION_TYPE.
9879
dd96b1d1 98802002-03-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9881
9882 * doc/install.texi (alpha*-dec-osf*): Don't need --enable-libgcj
9883 any more.
9884
4712c7d6 9885Wed Mar 27 23:19:30 CET 2002 Jan Hubicka <jh@suse.cz>
9886
9887 * i960.md (ret): Set PC.
9888 (nonlocal_goto): Fix expander.
9889 * builtins.c (epxand_builin_longjmp): Check that we've emitted
9890 some jump or call.
9891
0814fb51 9892Wed Mar 27 23:11:35 CET 2002 Jan Hubicka <jh@suse.cz>
9893
9894 * optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting
9895 of libcall regions.
9896
06f08bd2 9897Wed Mar 27 22:54:14 CET 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9898
9899 * cfgrtl.c (merge_blocks_nomove): Use set_block_for_insn instead of
9900 assigning to BLOCK_FOR_INSN directly.
9901
474f6c19 9902Wed Mar 27 22:33:05 CET 2002 Jan Hubicka <jh@suse.cz>
9903
9904 * i386.c (ix86_output_addr_diff_elt): Remove binutils bug workaround.
9905
b467ecc1 99062002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
9907
9908 * c-common.c (c_expand_expr): Fix prototype.
9909 * c-common.h (c_expand_expr): Always declare, update.
9910 * c-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
9911 * c-objc-common.c (c_objc_common_init): No global hook.
9912 * expr.c (expand_expr): Use langhook.
9913 * expr.h (enum expand_modifier): Conditionally declare.
9914 * langhooks-def.h (lhd_expand_expr, LANG_HOOKS_EXPAND_EXPR): New.
9915 (LANG_HOOKS_INITIALIZER): Update.
9916 * langhooks.c (lhd_expand_expr): New.
9917 * langhooks.h (struct lang_hooks): New hook.
9918 * toplev.c (lang_expand_expr_t, lang_expand_expr): Delete.
9919 (lang_independent_init): Don't default hook.
9920objc:
9921 * objc-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
9922
1c8a3b46 99232002-03-27 Richard Henderson <rth@redhat.com>
9924
9925 PR target/6054
9926 * config/ia64/ia64.c (ia64_expand_call): Use pic patterns for
9927 TARGET_CONST_GP. Simplify conditions.
9928
ea81ed57 99292002-03-27 Richard Henderson <rth@redhat.com>
9930
9931 * config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
9932 config/sparc/netbsd-elf.h, config/sparc/pbd.h, config/sparc/sol2.h,
9933 config/sparc/vxsim.h (LOCAL_LABEL_PREFIX): Define.
9934
543b8b44 99352002-03-27 Danny Smith <dannysmith@users.sourceforge.net>
9936
9937 * config/i386/cygwin.h (TARGET_DLL, TARGET_WIN32,
9938 TARGET_CYGWIN, TARGET_WINDOWS): Remove unused switches.
9939 (MASK_DLL, MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS):
9940 Remove unnecessary masks.
9941 (MASK_NOP_FUN_DLLIMPORT): Use an unused an bit.
9942 (SUBTARGET_SWITCHES): Use empty masks for -mwin32, -mcygwin,
9943 -mwindows, -mdll switches and their negations.
9944
914e1fee 99452002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
9946
9947 * gcc-common.c (lang_mark_false_label_stack): Remove.
9948 * ggc.h (lang_mark_false_label_stack): Similarly.
9949
a87d8cb5 99502002-03-26 Vladimir Makarov <vmakarov@redhat.com>
8ae6d183 9951
9952 * pa/pa-pro-end.h (CPP_PREDEFINES): Add -D__pro__.
9953
9954 * pa/lib2funcs.asm: Don't use .SPACE and .SUBSPACE if __pro__
9955 or __rtems_ is defined.
9956
b8585446 99572002-03-26 Richard Henderson <rth@redhat.com>
9958
9959 * config/alpha/alpha.c (alpha_emit_set_const): Add a REG_EQUAL note
9960 if a non-trivial load was emitted.
9961 (alpha_emit_set_const_1): Remove obsolete extension. Fix thinko
9962 in high+extra+low case.
9963
3ea738fb 99642002-03-26 Richard Henderson <rth@redhat.com>
9965
9966 * config.gcc (sparc*-solaris): Use float_format=sparc.
9967
7b42580a 99682002-03-26 Richard Henderson <rth@redhat.com>
9969
9970 * config/sparc/sparc.h (MAX_WCHAR_TYPE_SIZE): Don't define.
9971 * config/sparc/linux-aout.h (MAX_WCHAR_TYPE_SIZE): Don't undef.
9972 * config/sparc/linux.h, config/sparc/linux64.h: Likewise.
9973 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Redefine.
9974 (WINT_TYPE_SIZE): Fix at 32.
9975
09a6a91b 99762002-03-26 Richard Henderson <rth@redhat.com>
9977
9978 * toplev.c (rest_of_compilation): Delay emit_initial_value_sets
9979 until after eh landing pad generation.
9980 * config/alpha/alpha.c (alpha_gp_save_rtx): Use gen_mem_addressof.
9981 * config/alpha/alpha.md (exception_receiver_2): Only accept MEMs.
9982
4de3dc32 99832002-03-26 Richard Henderson <rth@redhat.com>
9984
9985 * expr.h (ADD_PARM_SIZE): One more convert for INC.
9986
2d9c8715 99872002-03-26 Phil Edwards <pme@gcc.gnu.org>
9988
9989 * gcc.c (cpp_options): Preserve relative ordering of -pedantic
9990 and warning switches.
9991 (cc1_options): Likewise.
9992
8546dce9 99932002-03-26 Hans Boehm <Hans_Boehm@hp.com>
4de3dc32 9994
8546dce9 9995 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR):
9996 Restore more of the signal context. Set no_reg_stack_frame.
9997 * config/ia64/unwind-ia64.c (unw_state_record):
9998 Add no_reg_stack_frame, comments.
9999 (uw_frame_state_for): Initialize when field to UNW_WHEN_NEVER.
10000 (uw_update_context): Adjust bsp when unwinding from leaf,
10001 but not signal frame.
10002
c7d62300 100032002-03-26 David Edelsohn <edelsohn@gnu.org>
10004
10005 * config/rs6000/aix51.h (WCHAR_TYPE): Define.
10006
dd52a190 100072002-03-26 Bob Wilson <bob.wilson@acm.org>
10008
10009 * config/xtensa/xtensa.c (xtensa_va_arg): Handle variable-sized types.
10010
4d7a8451 100112002-03-26 Richard Earnshaw <rearnsha@arm.com>
10012
10013 PR target/5621
10014 * arm.md (define_asm_attributes): Reapply patch of Thu Sep 9, 1999:
10015 "Add a pool_range attribute", which was lost during the ARM/Thumb
10016 merge.
10017
141e2ef6 100182002-03-26 Bob Wilson <bob.wilson@acm.org>
10019
10020 * config/xtensa/xtensa.c (xtensa_valid_move): Allow move from
10021 a register into the MAC16 accumulator.
10022
7dc61659 100232002-03-26 Andrew Cagney <ac131313@redhat.com>
10024
10025 * doc/invoke.texi (Option Summary): Mention -Wswitch-enum.
10026 (Warning Options): Document -Wswitch-enum.
10027 * toplev.c (W_options): Add -Wswitch-enum. Update comment on
10028 -Wswitch.
10029 (warn_switch_enum): Define variables.
10030 * flags.h (warn_switch_enum): Declare variables.
10031 * stmt.c (expand_end_case_type): When warn_switch_enum /
10032 -Wswitch-enum, perform switch checks.
10033 Fix PR c/5044.
a87d8cb5 10034
03db811c 100352002-03-26 Richard Earnshaw <rearnsha@arm.com>
10036
10037 * arm.md (reload_mulsi3, reload_mulsi_compare0, reload_muladdsi)
10038 (reload_mulsi_compare0_scratch, reload_muladdsi_compare0)
10039 (reload_muladdsi_compare0_scratch): Delete.
10040
1db16875 100412002-03-26 Loren J. Rittle <ljrittle@acm.org>
10042
10043 * doc/install.texi (*-*-freebsd*): Update.
10044
a719ae01 100452002-03-26 Richard Henderson <rth@redhat.com>
10046
714b4dd3 10047 * expr.h (ADD_PARM_SIZE): Cast INC to ssizetype.
10048 (SUB_PARM_SIZE): Cast DEC to ssizetype.
10049
10050 * config/alpha/alpha.c (alpha_va_arg): Read MUST_PASS_IN_STACK
10051 types from the normal argument frame.
10052
a719ae01 10053 * config/sparc/sparc.c (function_arg_pass_by_reference): Pass
10054 variable sized objects by reference.
10055 (sparc_va_arg): Receive them by reference too.
10056
43935856 100572002-03-26 Hartmut Penner <hpenner@de.ibm.com>
10058
10059 * config/s390/s390.c (s390_emit_epilogue): Change epilogue
a87d8cb5 10060 code to not restoring global registers.
43935856 10061
6d26a3ee 100622002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
10063
10064 * Makefile.in (ggc-common.o): Update.
10065 * c-decl.c (lang_mark_tree): Rename c_mark_tree.
10066 * c-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
10067 * c-tree.h (c_mark_tree): New.
10068 * ggc-common.c: Include langhooks.h.
10069 (gcc_mark_trees): Use new langhook.
10070 * ggc-callbacks.c: Delete file.
10071 * ggc.h (lang_mark_tree): Remove.
10072 * langhooks-def.h (LANG_HOOKS_MARK_TREE): New.
10073 (LANG_HOOKS_INITIALIZER): Update.
10074 * langhooks.h (struct lang_hooks): New hook.
10075objc:
10076 * objc-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
10077
4f111a84 100782002-03-25 Zack Weinberg <zack@codesourcery.com>
10079
10080 * doc/cpp.texi: Exclude entire Top node from printed manual.
10081 Move option index after directive index. Insert page breaks
10082 before GFDL and concept index. Index environment variables
10083 with command line options.
10084 * doc/cppenv.texi: Use @vtable for environment variable list.
10085 Add paragraph explaining semantics of empty elements in path
10086 variables. Exclude a cross-reference to Fishkill from the
10087 manpage. Remove an unnecessary cross-reference of the entry
10088 right above the referer. Don't use @anchor in text that goes
10089 into manpage.
10090 * doc/cppopts.texi: Cross-reference the environment variables
10091 section, not the specific environment variable, for consistency.
10092
4a65aac4 100932002-03-25 Richard Henderson <rth@redhat.com>
10094
10095 * recog.c (peephole2_optimize): Distribute EH_REGION -1 notes
10096 anywhere in the block. Don't refer to insns that have been
10097 removed from the chain. Iterate backward through the new insns.
10098 Don't refer to edges that have been removed.
10099
c0fe441c 101002002-03-26 Alan Modra <amodra@bigpond.net.au>
10101
10102 * combine.c (simplify_comparison <ASHIFTRT, LSHIFTRT>): Correct
10103 test for overflow of constant.
10104
0a666055 101052002-03-25 Richard Earnshaw <rearnsha@arm.com>
10106
10107 PR target/2623
10108 * arm.md (loadhi_preinc, loadhi_predec, loadhi_shiftpreinc)
10109 (loadhi_shiftpredec, loadhi-with-writeback peephole): Don't use
10110 these patterns on arm_archv4.
10111
2a966961 101122002-03-25 Danny Smith <dannysmith@sourceforge.users.net>
10113
10114 * config/i386/mingw32.h (WINT_TYPE): Define as "short unsigned
10115 int".
10116
536f5fb1 101172002-03-25 Zack Weinberg <zack@codesourcery.com>
10118
10119 * toplev.c: Don't include setjmp.h. Kill float_handler_set,
10120 float_handled, float_handler, float_signal, set_float_handler,
10121 and do_float_handler. Set handler for SIGFPE to crash_signal.
10122 * toplev.h: Don't prototype do_float_handler.
10123
10124 * c-lex.c: Fold parse_float into lex_number. Make warning
10125 about portability of hex float constants more informative, and
10126 don't issue it on top of a syntax error.
10127 * fold-const.c: Fold const_binop_1 and fold_convert_1 into
10128 their callers.
10129 * real.h: Define REAL_VALUE_ABS here...
10130 * simplify-rtx.c: ... not here. Fold check_fold_consts,
10131 simplify_unary_real, simplify_binary_real, and
10132 simplify_binary_is2orm1 into their callers.
10133 * tree.c: Fold build_real_from_int_cst_1 into caller.
10134
10135 * doc/tm.texi: Document REAL_VALUE_ABS and REAL_VALUE_NEGATIVE.
10136
10137 * tsystem.h: Include float.h here...
10138 * libgcc2.c: ... not here.
10139
52fdc102 101402002-03-25 Nick Clifton <nickc@cambridge.redhat.com>
10141
10142 Fixes for: PR bootstrap/3591, target/5676
10143 * config/mcore/mcore.h (CC1_SPEC): Define only if not already
10144 defined. Do not disable exceptions or rtti.
10145 * config/mcore/mcore-pe.h (CC1_SPEC): Define before including
10146 mcore.h. Disable exceptions and rtti, since they are not
10147 supported by EPOC.
10148
04745efb 101492002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
10150
10151 * c-decl.c (maybe_build_cleanup): Remove.
10152 * expr.c (expand_expr): Use langhook.
10153 * langhooks-def.h (lhd_return_null_tree,
10154 LANG_HOOKS_MAYBE_BUILD_CLEANUP): New.
10155 (LANGHOOKS_INITIALIZER): Update.
10156 * langhooks.c (lhd_return_null_tree): New.
10157 * langhooks.h (struct lang_hooks): New hook.
10158 * tree-inline.c (initialize_inlined_parameters): Use langhook.
10159 * tree.h (maybe_build_cleanup): Remove.
10160
1172d780 101612002-03-25 Jakub Jelinek <jakub@redhat.com>
10162
10163 * regrename.c (build_def_use): Move recog_memoized
10164 before extract_insn.
10165
463e3bf7 101662002-03-25 Jakub Jelinek <jakub@redhat.com>
10167
10168 PR target/6043
10169 * expr.c (emit_group_store): Handle storing into CONCAT.
10170
eff62531 101712002-03-25 Jakub Jelinek <jakub@redhat.com>
10172
10173 * regrename.c (build_def_use): Share RTL between MATCH_OPERATOR and
10174 corresponding MATCH_DUP.
10175
a17466fa 101762002-03-24 Richard Henderson <rth@redhat.com>
10177
0458bddc 10178 * unroll.c (unroll_loop): Zero label_map.
10179
a17466fa 10180 * gcse.c: Include except.h.
10181 * Makefile.in (gcse.o): Update.
10182
14eefc17 101832002-03-24 Richard Henderson <rth@redhat.com>
10184
10185 * varasm.c (asm_emit_uninitialised): Revert 2002-03-14 change.
10186 Do resolve_unique_section before shared data clause.
10187
ee6b11b0 101882002-03-24 Richard Henderson <rth@redhat.com>
10189
10190 * config/alpha/elf.h (STARTFILE_SPEC): Use crtbeginT with -static.
10191
029de010 101922002-03-24 Richard Henderson <rth@redhat.com>
10193
536f5fb1 10194 * recog.c (peephole2_optimize): Split blocks when EH insns are
029de010 10195 generated in the middle of a block. Do global life update if
10196 zapped EH edges.
10197
9bb22e77 101982002-03-24 Richard Henderson <rth@redhat.com>
10199
10200 * mips.c (mips_function_value): Only promote_mode for non-libcalls.
10201
d8dd302a 102022002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
10203
10204 preprocessor/3951
536f5fb1 10205 * gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.
d8dd302a 10206 * cppinit.c (cpp_handle_option): Set no_ouput if -MD or -MMD.
10207 (init_dependency_output): Don't make no_output decision here.
10208
29800930 102092002-03-24 Andrew Cagney <ac131313@redhat.com>
10210
10211 * stmt.c (check_for_full_enumeration_handling): Remove tests of
10212 warn_switch. Update description.
10213 (expand_end_case_type): Call check_for_full_enumeration_handling
10214 when warn_switch.
10215
b26aafcd 102162002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
10217
10218 * config/m68hc11/m68hc11.c (m68hc11_autoinc_compatible_p): New function.
10219 (m68hc11_split_move): Call it to see if the source and destination
10220 operands use the same direction auto inc/dec mode, otherwise make the
4f54fd09 10221 source an offsetable memory operand and generate an add.
b26aafcd 10222
38735756 102232002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
10224
10225 * config/m68hc11/m68hc11.md ("*subsi3_zero_extendhi"): Allow address
10226 register for operand 2.
10227 ("*subsi3_zero_extendqi"): Likewise.
10228 ("*iorhi3_gen"): Do the operation on the upper bits and then lower
10229 bits so that it is compatible with a pop.
10230 ("*andhi3_gen"): Likewise.
10231 ("xorhi3"): Likewise.
10232
e85db6f8 102332002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
10234
10235 * cppinit.c (cpp_handle_option): Set warn_endif_labels if
10236 -pedantic here...
10237 (cpp_post_options): ... not here.
10238
ffd56b21 102392002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
10240 Aldy Hernandez <aldyh@redhat.com>
10241
10242 Removal of separate preprocessor cpp0.
10243
10244 * Makefile.in (GCC_PASSES, STAGESTUFF, LIBCPP_OBJS,
10245 cpp0, install-common): Update.
10246 * c-common.c (flag_preprocess_only): New.
10247 (c_common_init): Preprocess for -E.
10248 * c-common.h (flag_preprocess_only): New.
10249 * c-decl.c (c_decode_option): Handle -E and -std=c++98.
10250 * c-objc-common.c (c_init_decl_processing): Exit quickly
10251 for NULL return from c_common_init.
10252 * cpplib.h (cpp_preprocess_file): New.
10253 * cppmain.c (main, general_init, pfile, progname): Remove.
10254 (do_preprocessing): Rename cpp_preprocess_file, don't call
10255 cpp_finish. Don't close stdout here.
10256 (setup_callbacks): Update prototype.
10257 * gcc.c (trad_capable_cpp, cpp_unique_options, default_compilers):
10258 Update.
10259 * tradcpp.c (main): Ignore -quiet.
10260objc:
10261 * lang-specs.h (default_compilers): Preprocess with cc1obj.
10262
881ac6b8 102632002-03-24 Richard Henderson <rth@redhat.com>
10264
10265 PR optimization/5742
10266 * machmode.def: Add inner mode field to complex modes.
10267 * config/mips/mips.c (mips_function_value): Always define. Add
10268 new argument to handle libcalls.
10269 * config/mips/mips.h (LIBCALL_VALUE): Use mips_function_value.
10270 (FUNCTION_VALUE): Likewise.
10271 * config/mips/abi64.h (FUNCTION_VALUE): Remove.
10272 * config/mips/mips-protos.h: Update.
10273
eef858ab 102742002-03-23 Richard Henderson <rth@redhat.com>
10275
10276 * config/sparc/sparc.c (sparc_emit_floatunsdi): New.
10277 * config/sparc/sparc-protos.h: Update.
10278 * config/sparc/sparc.md (floatunsdisf2, floatunsdidf2): New.
10279
5783534d 102802002-03-23 Richard Henderson <rth@redhat.com>
10281
10282 * config/sparc/gmon-sol2.c (internal_mcount): Assume either
10283 _start or _init begins the text segment.
10284
83cd69b0 102852002-03-23 David Edelsohn <edelsohn@gnu.org>
10286
10287 * config/rs6000/rs6000.h (RETURN_IN_MEMORY): Cast to HOST_WIDE_INT
10288 not HOST_WIDEST_INT.
10289 (RS6000_ARG_SIZE): Remove unsigned cast of int_size_in_bytes.
10290
5db468b7 102912002-03-23 Richard Earnshaw <rearnsha@arm.com>
10292
10293 PR java/5489
10294 * arm.md (return, sibcall_epilogue): Pass const_true_rtx as the
10295 operand argument to output_return_instruction.
536f5fb1 10296 * arm.c (arm_print_operand, case 'd'): If the operand is
5db468b7 10297 const_true_rtx then just return.
10298 (arm_print_operand, case 'D'): If the operand is const_true_rtx
10299 then abort.
10300
91b18148 103012002-03-23 Andrew Cagney <ac131313@redhat.com>
10302
10303 * doc/invoke.texi (Option Summary): Mention -Wswitch-default.
10304 (Warning Options): Document -Wswitch-default.
10305 * toplev.c (W_options): Add -Wswitch-default. Update comment on
10306 -Wswitch.
10307 (warn_switch_default): Define variable.
10308 (warn_switch): Update comment.
10309 * flags.h (warn_switch_default): Declare variable.
10310 (warn_switch): Update comment.
10311 * stmt.c (expand_end_case): Check for and, when
10312 warn_switch_no_default, warn of a missing default case.
536f5fb1 10313
786f554f 103142002-03-23 Alan Modra <amodra@bigpond.net.au>
10315
749feb5e 10316 * real.h (N): Special case 128 bit doubles.
10317
786f554f 10318 * combine.c (simplify_comparison): When widening modes, ignore
10319 sign extension on CONST_INTs.
10320
aac632cd 103212002-03-22 Bob Wilson <bob.wilson@acm.org>
10322
10323 * config/xtensa/xtensa.c (print_operand): Fix incorrect mode
10324 passed to adjust_address. Fix comment formatting.
10325
10326
badfe841 103272002-03-22 Zack Weinberg <zack@codesourcery.com>
10328
10329 * real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
10330 Always make REAL_VALUE_TYPE a struct containing an array of
10331 HOST_WIDE_INT, not a double. Tidy up the code deciding how
10332 big it is. Don't declare or use union real_extract.
10333
10334 * emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
10335 decode_rtx_const, output_constant_pool), config/a29k/a29k.c
10336 (print_operand), config/arm/arm.c (output_move_double),
10337 config/arm/arm.md (consttable_4, consttable_8),
10338 config/romp/romp.c (output_fpops), config/s390/s390.h
10339 (ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
10340 (xtensa_output_literal): Don't use union real_extract.
10341
10342 * config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
10343 (sfmode_constant_to_ulong), config/ns32k/merlin.h
10344 (PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
10345 config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
10346 (PRINT_OPERAND): Don't use local version of union
10347 real_extract.
10348
10349 * config/convex/convex.c (check_float_value), config/vax/vax.c
10350 (vax_float_literal), config/m88k/m88k.md (divdf3),
10351 config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
10352 config/pdp11/pdp11.c (output_move_quad): Don't do host
10353 arithmetic on target floating point quantities.
10354
10355 * config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
10356 (output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.
10357
10358 * fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
10359 Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.
10360
10361 * real.c (earith): Test INFINITY rather than REAL_INFINITY;
10362 NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
10363 INFINITY.
10364 * print-rtl.c (print_rtx): Disable code which needs
10365 floating-point emulator.
10366 * libgcc2.c: Include float.h and use DBL_MANT_DIG,
10367 FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
10368 depending on HOST_FLOAT_FORMAT to be defined properly.
10369
10370 * config/1750a/1750a.c (get_double, float_label): Delete.
10371 (print_operand): Delete huge commented-out chunk. Use
10372 REAL_VALUE_TO_DECIMAL.
10373 * config/1750a/1750a-protos.h: Delete prototypes of deleted
10374 functions.
10375 * config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
10376 IEEE_FLOAT_FORMAT.
10377 * config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
10378 Use REAL_VALUE_TO_DECIMAL as ELF version does.
10379 * config/m88k/m88k.c (real_power_of_2_operand,
10380 legitimize_operand): Take the REAL_VALUE_TYPE and/or union
10381 real_extract out of the union; run the input through
10382 REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
10383 from that into the union.
10384 * config/pdp11/pdp11.c (output_move_double): Rearrange
10385 parentheses to make automatic indenter happy.
10386
10387 * doc/tm.texi (Cross-compilation): Rename node to "Floating
10388 Point" and rewrite to describe current situation. Also adjust
10389 documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
10390 match code.
10391 * doc/rtl.texi: Adjust cross reference.
10392
fc12fa10 103932002-03-22 Bob Wilson <bob.wilson@acm.org>
10394
10395 * config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove.
10396 (xtensa_valid_move, xtensa_preferred_reload_class): Define.
10397 * config/xtensa/xtensa.c (non_acc_reg_operand): Remove.
10398 (xtensa_valid_move, xtensa_preferred_reload_class): Define to
10399 prevent use of sp as a reload register.
10400 (xtensa_emit_move_sequence): Use xtensa_valid_move instead of
10401 non_acc_reg_operand.
10402 * config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand.
10403 (PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class.
10404 * config/xtensa/xtensa.md (movsi_internal, movhi_internal,
10405 movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand.
10406
34cf330f 104072002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
10408
badfe841 10409 * cpphash.h (struct cpp_reader): Remove mls_line and mls_col.
10410 * cpplex.c (unterminated): Delete.
10411 (parse_string): No string literal may extend over multiple
10412 lines. Suppress the error when preprocessing assembly.
34cf330f 10413 * cppmain.c (scan_translation_unit): Strings are single-line.
10414
badfe841 10415 * doc/cpp.texi: Update to match.
34cf330f 10416
0837bbb7 104172002-03-22 Jakub Jelinek <jakub@redhat.com>
10418
10419 PR optimization/5854
10420 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0.
10421 Shut up warnings.
10422 (CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0.
10423 (EXTRA_CONSTRAINT): Use S for non-push memory operand.
10424 * config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from
10425 const0 if scratch register was not allocated.
10426 (m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart,
10427 m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...)
10428 with GEN_INT (...).
10429 (m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs.
10430 * config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...)
10431 with GEN_INT (...) everywhere. Remove constraints in define_split
10432 patterns.
10433 (movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't
10434 require scratch register for setting 0 into regs/non-pushable memory.
10435
1a6a6dab 104362002-03-22 Alexandre Oliva <aoliva@redhat.com>
10437
10438 * config/mips/mips.h (MASK_RETURN_ADDR): Define.
10439 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
10440
923acdd5 104412002-03-22 Phil Edwards <pme@gcc.gnu.org>
10442
10443 * cpplib.h (struct cpp_options): New member, warn_endif_labels.
10444 * cppinit.c (cpp_create_reader): On by default.
10445 (cpp_handle_option): Handle -W[no-]endif-labels.
10446 (cpp_post_options): Also enable if -pedantic.
10447 * cpplib.c (do_else): Use it.
10448 (do_endif): Likewise.
10449 * doc/cppopts.texi: Document new option.
10450 * doc/invoke.texi: Document new option.
10451
51b76077 104522002-03-22 Lars Brinkhoff <lars@nocrew.org>
10453
10454 * config/i386/i386.c, config/i386/i386.md: Change all occurences
10455 of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...).
10456
1707315d 104572002-03-22 Alexandre Oliva <aoliva@redhat.com>
10458
10459 * flow.c (calculate_global_regs_live): Clear aux fields of
10460 ENTRY and EXIT.
10461
e2c2ccf6 104622002-03-22 Jakub Jelinek <jakub@redhat.com>
10463
10464 * config/v850/v850.c (v850_reorg): Only call alter_subreg on
10465 REG or MEM subregs, pass rtx * instead of rtx to it.
10466 * config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass
10467 rtx * instead of rtx to alter_subreg.
10468 * config/m32r/m32r.c (gen_split_move_double): Likewise.
10469 * config/pj/pj.c (pj_output_rval): Likewise.
10470
3a7c3680 104712002-03-22 Richard Henderson <rth@redhat.com>
10472
10473 PR target/3177
10474 * config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs.
10475 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update.
10476 * config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs.
10477 (ia64_expand_prologue): Look at int_regs, not words, for number
10478 of incomming int regs.
10479
d20c8e15 104802002-03-22 Andrew MacLeod <amacleod@redhat.com>
10481
10482 * expr.c (expand_expr): A RESULT_DECL is part of a call.
10483
598a47d6 10484Fri Mar 22 16:30:42 CET 2002 Jan Hubicka <jh@suse.cz>
10485
10486 * toplev.c (flag_loop_optimize, flag_crossjumping):
10487 New static variables.
10488 (rest_of_compilation): Conditionalize crossjumping and
10489 loop optimizer.
10490 (parse_options_and_default_flags): Default loop_optimize and
10491 crossjumping.
10492 (lang_independent_options): Add -fcrossjumping and -floop-optimize
10493 * invoke.texi (crossjumping, loop-optimize): Document.
10494
a360050d 104952002-03-22 Richard Sandiford <rsandifo@redhat.com>
10496
10497 * real.c (eiisneg): Move outside #ifdef NANS.
10498
26fb1781 10499Fri Mar 22 12:08:36 CET 2002 Jan Hubicka <jh@suse.cz>
10500
10501 * cfgcleanup.c (outgoing_edges_math): Fix condition; relax
10502 frequencies match; avoid match on different loop depths.
10503 (try_crossjump_to_bb): Kill tests that no longer brings time
10504 savings.
10505 * cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
10506 updating code.
10507 (split_edge): Likewise.
10508
10509 * flow.c (update_life_info_in_dirty_blocks): Fix uninitialized
10510 variable.
10511
10512 * Makefile.in (cfgrtl): Add insn-config.h depenendency.
10513 * cfgrtl.c: Include insn-config.h
10514 (split_block) Dirtify block in presence of conditional execution
10515
09a41b31 105162002-03-22 Richard Sandiford <rsandifo@redhat.com>
10517
10518 * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
10519 * config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
10520 (function_arg): Constify CUMULATIVE_ARGS.
10521 (function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
10522 * config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
10523 (UNITS_PER_DOUBLE): New macro.
10524 (SETUP_INCOMING_VARARGS): Define. Use mips_setup_incoming_varargs.
10525 (CUMULATIVE_ARGS): Reformat. Remove num_adjusts workaround and
10526 last_arg_fp field. Replace arg_words and fp_arg_words with gp_regs,
10527 fp_regs and stack_words.
10528 (EABI_FLOAT_VARARGS_P): New macro.
10529 * config/mips/mips.c (struct mips_arg_info): New.
10530 (mips_arg_info): New function.
10531 (function_arg_advance): Use it. Add adjustment instructions here
10532 rather than in function_arg.
10533 (function_arg): Constify CUMULATIVE_ARGS. Use mips_arg_info. Check
10534 for VOIDmode at the beginning of the function.
10535 (function_partial_nregs): Constify CUMULATIVE_ARGS. Use mips_arg_info.
10536 (function_arg_pass_by_reference): Likewise.
10537 (mips_setup_incoming_varags): New, largely based on old abi64.h code.
10538 (mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
10539 (mips_va_start): Likewise. Use the new stack_words field of
10540 CUMULATIVE_ARGS to set up overflow area. Reformat.
10541 (mips_va_arg): Test EABI_FLOAT_VARARGS_P. Unify EABI handling of
10542 doubles and other types, aligning the overflow pointer for non-doubles
10543 too. Remove some code duplication. Replace hard-coded constants.
10544
f1b1bcc4 105452002-03-22 Richard Sandiford <rsandifo@redhat.com>
10546
10547 * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Simplify.
10548 (CLASS_UNITS): Undefine.
10549 (CLASS_MAX_NREGS): Use FP_INC.
10550 * config/mips/mips.c (compute_frame_size): Likewise.
10551 (override_options): Use FP_INC and UNITS_PER_FPVALUE.
10552
78a11351 105532002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
10554
10555 * cpplex.c (parse_identifier_slow): Rename parse_slow, adjust
10556 prototype, and handle lexing numbers and identifiers.
10557 (parse_identifier): Update to new form of parse_slow.
10558 (parse_number): Fast path only, use parse_slow otherwise.
10559 (_cpp_lex_direct): Update calls to parse_number.
10560
12c94d25 105612002-03-21 DJ Delorie <dj@redhat.com>
10562
10563 * bb-reorder.c (make_reorder_chain_1): Protect against
10564 when redundant edges are omitted.
10565 * predict.c (dump_prediction): Likewise.
10566
91eb7bbc 105672002-03-21 Richard Henderson <rth@redhat.com>
10568
10569 PR target/5996
10570 * fixinc/inclhack.def (solaris_stdio_tag): New.
10571 * fixinc/fixincl.x: Regenerate.
10572
cad0b4b0 105732002-03-21 Eric Botcazou <ebotcazou@multimania.com>
10574
10575 PR c/5597
10576 * c-typeck.c (process_init_element): Flag non-static
10577 initialization of a flexible array member as illegal.
10578
c4f7b734 105792002-03-22 Alan Modra <amodra@bigpond.net.au>
10580
10581 * config/rs6000/t-linux64: New.
10582 * config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
10583 t-ppccomm. Use t-rs6000 and t-linux64.
10584 (powerpc64-*-gnu* <tmake_file>): Likewise.
1a17e78f 10585 * mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
10586 * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
10587 * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
c4f7b734 10588
c31da6e7 105892002-03-21 Aldy Hernandez <aldyh@redhat.com>
10590
cad0b4b0 10591 * langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check
10592 flag_really_no_inline instead of optimize == 0.
c31da6e7 10593
cad0b4b0 10594 * c-objc-common.c (c_cannot_inline_tree_fn): Same.
c31da6e7 10595
cad0b4b0 10596 * cp/tree.c (cp_cannot_inline_tree_fn): Same.
c31da6e7 10597
cad0b4b0 10598 * flags.h (flag_really_no_inline): New.
c31da6e7 10599
a9bc793b 10600 * c-common.c (c_common_post_options): Initialize
cad0b4b0 10601 flag_really_no_inline.
c31da6e7 10602
cad0b4b0 10603 * toplev.c (flag_really_no_inline): New.
c31da6e7 10604
5bcbe7f8 106052002-03-21 Jakub Jelinek <jakub@redhat.com>
10606
10607 * config/avr/avr.md (length): Fix length computation for
10608 conditional branches.
10609
20325f61 106102002-03-21 Neil Booth <neil@daikokuya.demon.co.uk>
10611
10612 * Makefile.in (fold-const.o, stor-layout.o, stmt.o,
10613 sdbout.o, profile.o): Update.
10614 * c-common.c (c_common_nodes_and_builtins): Use pushdecl
10615 langhook.
10616 * c-common.h (gettags): Move here from tree.h.
10617 * c-tree.h (pushdecl, pushlevel, poplevel, set_block,
10618 insert_block, getdecls, kept_level_p, global_bindings_p): New.
10619 * dbxout.c (dbxout_init): Use getdecls langhook.
10620 * expr.c (expand_expr): Use insert_block langhook.
10621 * fold-const.c: Include langhooks.h.
10622 (fold_range_test, fold_binary_op_with_conditional_arg,
10623 fold): Use global_bindings_p langhook.
10624 * integrate.c (expand_inline_function): Use insert_block langhook.
10625 * langhooks-def.h (LANG_HOOKS_DECLS, LANG_HOOKS_PUSHLEVEL,
10626 LANG_HOOKS_POPLEVEL, LANG_HOOKS_GLOBAL_BINDINGS_P,
10627 LANG_HOOKS_INSERT_BLOCK, LANG_HOOKS_SET_BLOCK, LANG_HOOKS_PUSHDECL,
10628 LANG_HOOKS_GETDECLS): New.
10629 (LANG_HOOKS_INITIALIZER): Update.
10630 * langhooks.c (lhd_clear_binding_stack): Use global_bindings_p
10631 langhook.
10632 * langhooks.h (struct lang_hooks_for_decls): New.
10633 (struct lang_hooks): Update.
10634 * profile.c: Include langhooks.h.
10635 (output_func_start_profiler): Use new langhooks.
10636 * sdbout.c: Include langhooks.h.
10637 (sdbout_init, sdbout_finish): Use getdecls langhook.
10638 * stmt.c: Include langhooks.h.
10639 (expand_fixup, fixup_gotos): Use new langhooks.
10640 * stor-layout.c: Include langhooks.h.
10641 (variable_size): Use global_bindings_p langhook.
10642 * toplev.c (compile_file): Use getdecls langhook.
10643 * tree-inline.c (remap_block): Use insert_block langhook.
10644 * tree.h (pushdecl, pushlevel, poplevel, set_block, gettags,
10645 insert_block, getdecls, kept_level_p, global_bindings_p): Remove.
10646
12f6b618 106472002-03-21 Richard Henderson <rth@redhat.com>
10648
10649 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic
10650 constants in .data when -fpic.
10651
f35b9ec5 106522002-03-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10653
10654 * doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux
10655 where appropriate.
10656
e47a07bc 106572002-03-21 Tom Tromey <tromey@redhat.com>
10658
10659 * config/i386/sol2.h (ASM_QUAD): Undef. Fixes PR bootstrap/5948.
10660
98f4973a 10661Thu Mar 21 09:50:48 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10662
f42870f5 10663 * config/ia64/ia64.c (hfa_element_mode, case ARRAY_TYPE): Recurse.
0beeb343 10664
98f4973a 10665 * expr.c (emit_group_store): Don't copy const0_rtx to a CONCAT.
10666
da3ac634 106672002-03-21 Eric Botcazou <ebotcazou@multimania.com>
10668 Richard Henderson <rth@redhat.com>
10669
10670 PR c/5354
10671 * c-common.c (c_expand_expr): Preserve result of a statement
10672 expression if needed.
10673
e4e139d3 106742002-03-21 Jakub Jelinek <jakub@redhat.com>
10675
10676 PR bootstrap/4195
10677 * genrecog.c (maybe_both_true_mode): Remove.
10678 (maybe_both_true_2, write_switch): Revert 2001-07-17 changes.
10679 * machmode.def (Pmode): Likewise.
10680
c352cbc7 10681Thu Mar 21 01:55:06 EST 2002 John Wehle (john@feith.com)
10682
10683 * alias.c: (nonlocal_mentioned_p): Use for_each_rtx.
10684 (nonlocal_mentioned_p_1): New function.
10685 (nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise.
10686 (nonlocal_set_p, nonlocal_set_p_1): Likewise.
10687 (mark_constant_function): Recognize pure functions.
10688 * rtl.h (global_reg_mentioned_p): New prototype.
10689 * rtlanal.c (global_reg_mentioned_p,
10690 global_reg_mentioned_p_1): New function.
10691
03112946 106922002-03-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10693
10694 * fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64
10695 UNIX assert.h.
10696 * fixinc/fixincl.x: Regenerate.
10697
9f61d572 106982002-03-20 Jason Merrill <jason@redhat.com>
10699
10700 * config/i386/cygwin.h (DWARF2_UNWIND_INFO): Define to 0.
10701
d345230a 107022002-03-20 Michael Meissner <meissner@redhat.com>
10703
10704 * doc/invoke.texi (Optimize Options): Document that -O2 sets
10705 -fstrict-aliasing.
10706
efa381d9 107072002-03-20 Bob Wilson <bob.wilson@acm.org>
10708
10709 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Emit a
10710 ".literal_position" directive before the constant pool.
10711
b4260534 107122002-03-20 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10713
10714 * doc/contrib.texi (Contributors): Update Geoffrey Keating.
10715 Add Craig Rodrigues.
10716 Add Brad Lucier to testers.
10717
c00688b9 107182002-03-20 Jakub Jelinek <jakub@redhat.com>
10719
10720 PR target/4792
10721 * config/arc/arc.md (movsicc, movdicc, movsfcc, movdfcc): Add mode
10722 to if_then_else.
10723 (movsicc_insn, movdicc_insn, movsfcc_insn, movdfcc_insn): Likewise.
10724 * config/arc/arc.c (arc_final_prescan_insn): Use extract_insn_cached
10725 instead of insn_extract.
10726
c1caaef5 107272002-03-20 Jakub Jelinek <jakub@redhat.com>
10728
10729 PR bootstrap/4192
c00688b9 10730 * config/fr30/fr30.md (jump): Remove clobber of fixed register.
c1caaef5 10731
10732 * genemit.c (output_added_clobbers_hard_reg_p): Only output return
10733 stmt if some case has been output.
10734
ed16175e 107352002-03-20 Jakub Jelinek <jakub@redhat.com>
10736
10737 PR c/5972
10738 * config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc,
10739 movsfcc_1, movdfcc_1): Add %O2.
10740 * config/i386/i386.c (print_operand): Handle %ON.
10741 Print . before float condition codes in Sun as cmov syntax.
10742 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as.
10743 * config.gcc (i[34567]86-*-solaris2*): Remove comment which is
10744 no longer true.
10745
5023f286 107462002-03-20 Philip Blundell <pb@nexus.co.uk>
10747
10748 * config/arm/arm.c (arm_output_epilogue): Don't generate separate
10749 return instruction if PC was popped.
10750
42a92fdf 107512002-03-20 Bob Wilson <bob.wilson@acm.org>
10752
10753 * config/xtensa/xtensa.md: Remove unused type attributes.
10754 (adddi_carry, subddi_carry): Change type attribute to "multi".
10755
ed16175e 107562002-03-19 Dale Johannesen <dalej@apple.com>
fe1b1167 10757
10758 PR optimization/5999, middle-end/5731
10759 * expr.c (expand_expr) [RDIV_EXPR]: Only convert real divisions into
10760 multiplications by reciprocals.
10761
96554925 107622002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
10763
10764 * Makefile.in: Update.
10765 * c-common.c: Include langhooks.h.
10766 (inline_forbidden_p): Use new hook.
10767 * diagnostic.c: Include langhooks.h.
10768 (format_with_decl, announce_function,
10769 default_print_error_function): Use new hook.
10770 * dwarf2out.c (dwarf2_name): Use new hook.
10771 * function.c: Include langhooks.h.
10772 (init_function_start): Use new hook.
10773 * langhooks-def.h (lhd_decl_printable_name): New.
10774 (LANGHOOKS_DECL_PRINTABLE_NAME): New.
10775 (LANGHOOKS_INITIALIZER): Update.
10776 * langhooks.c (lhd_decl_printable_name): New.
10777 * langhooks.h (struct lang_hooks): New hook.
10778 * toplev.c (decl_name, decl_printable_name): Remove.
10779 (open_dump_file): Use new hook.
10780 (process_options): Remove old hook.
10781 * tree.h (decl_printable_name): Remove.
10782objc:
10783 * objc-act.c (objc_init): Remove old hook.
10784 (objc_printable_name): Export.
10785 * objc-act.h (objc_printable_name): New.
10786 * objc-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
10787
d645d87a 107882002-03-19 Jim Blandy <jimb@redhat.com>
10789
10790 * c-lex.c (cb_file_change): Pass the #inclusion's line number to
10791 the start_source_file debug hook, not the current line number.
10792
1c6bdf07 107932002-03-19 Richard Henderson <rth@redhat.com>
10794
10795 * flow.c (EH_USES): Provide default.
10796 (calculate_global_regs_live): Use it for EH edges and noreturn calls.
10797 * doc/tm.texi (EH_USES): New.
10798
10799 * config/ia64/ia64.c (ia64_eh_uses): New.
10800 * config/ia64/ia64-protos.h: Update.
10801 * config/ia64/ia64.h (EH_USES): New.
10802
23e7e0fe 108032002-03-19 Richard Henderson <rth@redhat.com>
10804
10805 * varasm.c (output_constant_def): Fix stupid typo.
10806
7cb6ef9c 108072002-03-19 Richard Henderson <rth@redhat.com>
10808
447fd9a6 10809 PR 5879
7cb6ef9c 10810 * except.c (current_function_has_exception_handlers): New.
10811 * except.h: Declare it.
10812 * sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
10813 Combine tests that disable all sibcalls for the function.
10814
0b5e8ccd 108152002-03-19 Olivier Hainque <hainque@act-europe.fr>
10816
10817 * varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO
10818 for INTEGER_CST.
10819
5b2a5245 108202002-03-19 Richard Henderson <rth@redhat.com>
10821
341e9754 10822 PR 5977, 5991
5b2a5245 10823 * config/ia64/ia64.c: Revert 2002-03-01 patch.
10824 * config/ia64/ia64.h (INIT_EXPANDERS): New.
10825
920e5093 108262002-03-19 Jim Blandy <jimb@redhat.com>
10827
10828 * cppmacro.c (cpp_macro_definition): Emit a space after the macro
10829 name, even if the replacement list contains no tokens, as required
10830 by Dwarf.
10831
007bab64 108322002-03-19 Jason Merrill <jason@redhat.com>
10833
2a9997f3 10834 * varasm.c (globalize_decl): Get the name from the RTL, not
10835 DECL_ASSEMBLER_NAME.
10836
007bab64 10837 * Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g.
10838
e52ea370 108392002-03-19 Bob Wilson <bob.wilson@acm.org>
10840
10841 * config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3,
10842 subdi_carry): Define.
10843
8abd1171 108442002-03-19 David Edelsohn <edelsohn@gnu.org>
10845
10846 * config/rs6000/rs6000.c (rs6000_override_options): Only warn
10847 about -fpic/-fPIC if extra_warnings set.
10848
506664d9 108492002-03-19 David Edelsohn <edelsohn@gnu.org>
10850
10851 * expr.c (expand_expr): Sign-extend CONST_INT generated from
10852 TREE_STRING_POINTER.
cb19c5ed 10853 * fold-const.c (fold): Delete #if 0 ARRAY_REF case.
506664d9 10854
1508f037 10855Tue Mar 19 14:12:32 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10856
10857 * config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
10858 in favor of SP if FRAME_POINTER_REQUIRED is false.
10859
2d232d05 108602002-03-19 Lars Brinkhoff <lars@nocrew.org>
10861
10862 * emit-rtl.c (gen_int_mode): New function.
10863 * rtl.h: Prototype for it.
10864 * combine.c (make_extraction, simplify_comparison), expmed.c
10865 (store_bit_field, expand_mult_highpart, expand_divmod), expr.c
10866 (convert_modes, store_field), optabs.c (expand_fix),
10867 simplify-rtx.c (neg_const_int, simplify_unary_real),
10868
10869 * config/rs6000/rs6000.c, config/rs6000/rs6000.md:
10870 Use it instead of GEN_INT (trunc_int_for_mode (...)).
10871
78b80426 108722002-03-19 Jakub Jelinek <jakub@redhat.com>
10873
10874 PR c/5656
10875 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
10876 convert_parm_for_inlining.
10877 * c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
10878 Define.
10879 * langhooks-def.h: Likewise.
10880 * objc/objc-lang.c: Likewise.
10881 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New
10882 function.
10883 * tree-inline.c (initialize_inlined_parameters):
10884 Call convert_parm_for_inlining lang hook if needed.
10885 * c-typeck.c (c_convert_parm_for_inlining): New function.
10886 * c-tree.h (c_convert_parm_for_inlining): Add prototype.
10887
10ab549e 108882002-03-18 Mark Mitchell <mark@codesourcery.com>
10889
badfe841 10890 * calls.c (precompute_arguments): Do not assume that temporaries
10ab549e 10891 can be destroyed after expanding the argument.
10892 (expand_call): Likewise.
10893
534bddd8 108942002-03-15 Eric Christopher <echristo@redhat.com>
10895
10896 * config/mips/mips.md (movdf_internal2): Add two new move constraints.
10897 Fix register preference on last change.
10898 * config/mips/mips.c (mips_return_in_memory): New function.
10899 * config/mips/mips.h (RETURN_IN_MEMORY): Use.
10900 * config/mips/mips-protos.h: Declare.
10901 * config/mips/abi64.h (RETURN_IN_MEMORY): Remove. Add to above.
10902 * config/mips/elf64.h: Add #ifndef/#endif brackets around defaults.
10903
d04e6ab6 109042002-03-18 Alexandre Oliva <aoliva@redhat.com>
10905
e7f722c0 10906 * config/mips/mips.md (andsi3) [TARGET_MIPS16]: Force operand 1 to
10907 a register too.
10908 (anddi3, iorsi3): Likewise.
10909
8b1f17c6 10910 * config/mips/mips.h (ENCODE_SECTION_INFO) [TARGET_MIPS16]: Don't
10911 use %gprel for symbols that are going to be placed in linkonce
10912 sections.
10913
d04e6ab6 10914 * config/mips/mips.h (ELIMINABLE_REGS): Can't eliminate
10915 RETURN_ADDRESS_POINTER_REGNUM to $ra.
10916 (CAN_ELIMINATE): Only eliminate it to $sp if a frame pointer is
10917 not needed. Disregard leaf_function_p().
10918 (INITIAL_ELIMINATION_OFFSET): Adjust for elimination of rap to
10919 mips16 frame pointer.
10920 * config/mips/mips.md (store ra): Only to small SP offsets.
10921 2001-08-22 Graham Stott <grahams@redhat.com>
10922 * config/mips/mips.h (RETURN_ADDR_RTX): For a leaf function
10923 return a REG rtx for the return address register.
10924
7ad1c420 109252002-03-18 Bob Wilson <bob.wilson@acm.org>
10926
10927 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Treat
10928 constant-pool addresses as "mode-dependent".
10929 (GO_IF_LEGITIMATE_ADDRESS): Rename macro arguments.
10930
4c183732 109312002-03-18 Jakub Jelinek <jakub@redhat.com>
10932
10933 PR target/5740
10934 * expr.c (emit_group_load): Use extract_bit_field if
10935 needed for CONCAT arguments.
10936
fd957ef3 109372002-03-18 Richard Earnshaw <rearnsha@arm.com>
10938
5c29d853 10939 PR target/4863
fd957ef3 10940 * arm.md (tablejump): Make this a define_expand. For PIC add the
10941 offset to the base of the table.
10942 (thumb_tablejump): Matcher for Thumb tablejump insn.
10943 * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
10944 as the difference of two labels.
10945 * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
10946 * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
10947 tables in the code.
10948 * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
10949 * arm.c (get_jump_table_size): If the table is not in the text
10950 section, return zero.
534bddd8 10951
9e8503e6 109522002-03-18 Bernd Schmidt <bernds@redhat.com>
10953
10954 * config/arm/arm.c (arm_gen_movstrqi): Use gen_lowpart instead
10955 of gen_rtx_SUBREG.
10956 (arm_reload_out_hi): Use gen_lowpart instead of
10957 gen_rtx_SUBREG to access QImode components.
10958 * config/arm/arm.md: Disable zero_extend split for QImode
10959 subregs in BIG_ENDIAN mode.
10960 (storehi_bigend): Match use of least significant byte.
10961 (storeinthi): Remove extraneous SUBREG.
5606b4a6 10962 Add missing construction of operands[2].
9e8503e6 10963 (movhi): Use gen_lowpart in place of gen_rtx_SUBREG.
10964 (movqi): Use gen_lowpart in place of gen_rtx_SUBREG.
10965 Replace gen_rtx (SUBREG) with gen_rtx_SUBREG.
10966
44c08f4f 109672002-03-18 Aldy Hernandez <aldyh@redhat.com>
10968
2d232d05 10969 * config/rs6000/rs6000.h (PREDICATE_CODES): Add PARALLEL to
10970 any_operand.
44c08f4f 10971
301416af 109722002-03-17 Richard Henderson <rth@redhat.com>
10973
10974 * config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns
10975 explicitly.
10976
00e2a1ff 109772002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
10978
10979 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI
10980 (unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)).
10981
81ee4ed6 109822002-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10983
d980ce5a 10984 * ifcvt.c (dead_or_predicable): Fix uninitialized variable.
10985
81ee4ed6 10986 * predict.c (estimate_bb_frequencies): Delete unused variables.
10987
59ec9229 109882002-03-17 Richard Henderson <rth@redhat.com>
10989
10990 * config/ia64/ia64.c (ia64_attribute_table): Move before
10991 targetm definition. Make static.
10992
b78207a0 109932002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
10994
10995 * c-common.h (yyparse, c_common_parse_file): New.
10996 * c-lang.c: Include c-common.h.
10997 (LANG_HOOKS_PARSE_FILE): Redefine.
10998 * c-lex.c: Include c-common.h.
10999 (yyparse): Rename c_common_parse_file. Call yyparse.
11000 * c-parse.in (yyparse): Remove macro.
11001 * c-tree.h (yyparse_1): Remove.
11002 * langhooks-def.h (LANG_HOOKS_PARSE_FILE): New.
11003 (LANG_HOOKS_INITIALIZER): Update.
11004 * langhooks.h (struct lang_hoooks): New hook parse_file.
11005 * toplev.c (compile_file): Use parse_file hook.
11006 * tree.h (yyparse): Remove.
59ec9229 11007 * objc/objc-lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
b78207a0 11008
d3988102 110092002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
11010
a96d9926 11011 * config/mmix/mmix.md ("truncdfsf2"): Correct operator is
11012 float_truncate, not fix.
11013 ("*truncdfsf2_real"): Ditto.
11014 ("*nonlocal_goto_receiver_expanded"): Fix output template formatting.
11015
d3988102 11016 * config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define.
11017
b83113dd 110182002-03-16 Alexandre Oliva <aoliva@redhat.com>
11019
c7a20c1f 11020 * config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
11021 (s8), but rather HARD_FRAME_POINTER_REGNUM. Add parentheses
11022 where appropriate. Make the second reference to
11023 leaf_function_p a function call, as intended. Reindented.
11024
daef6af6 11025 * config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
11026 * config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'.
11027
7505da85 11028 * config/mips/mips.md (addsi3, adddi3): Use scratch register to
11029 add register to non-constant into sp.
11030
b83113dd 11031 * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): New.
11032 * config/mips/mips.h (embedded_pic_fnaddr_rtx): Lose.
11033 (mips16_gp_pseudo_rtx): Lose.
11034 (INIT_EXPANDERS): Deleted.
11035 * config/mips/mips.c (mips_init_machine_status): New.
11036 (mips_free_machine_status): New.
11037 (mips_mark_machine_status): New.
11038 (override_options): Set them.
11039 (embedded_pic_fnaddr_rtx, mips16_gp_pseudo_rtx): Moved to...
11040 (struct machine_function): ... new. Replaced all references.
11041 (mips_add_gc_roots): Don't mark them.
11042 (embedded_pic_fnaddr_reg): New, extracted from...
11043 (embedded_pic_offset): ... here.
11044 * config/mips/mips.md (movdi): Call embedded_pic_fnaddr_reg.
11045 (movsi): Likewise.
11046
9ec9f6b6 110472002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
11048
11049 * cppinit.c: Revert -MD removal.
11050
d781471b 110512002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
11052
11053 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use
11054 soft registers by default for 68HC12.
11055 (m68hc11_conditional_register_usage): Don't use Z register for 68HC12
11056 when compiling with -fomit-frame-pointer.
11057 (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12.
11058 (expand_epilogue): Likewise.
11059 (m68hc11_gen_rotate): Use exg when rotating by 8.
11060
b8168c4c 110612002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
11062
11063 * config/m68hc11/m68hc11-protos.h (ix_reg): Declare.
11064 * config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources.
11065 (splits): Remove unused add splits.
11066 ("*addhi3_68hc12"): Tune constraints.
11067 ("addhi_sp"): Try to use X instead of Y in all cases and if the
11068 constant fits in 8-bits and D is dead use abx/aby instructions.
11069 ("*addhi3"): Remove extern declaration of ix_reg.
11070 ("*subsi3"): Optimize and provide new split.
11071 ("subhi3"): Cleanup.
11072 ("*subhi3_sp"): Avoid saving X if we know it is dead.
11073 (arith splits): For 68hc12 save the address register on the stack
11074 and do the arithmetic operation with a pop.
11075
af03ef00 110762002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
11077
11078 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid
11079 allocating QImode in address registers.
11080 ("*movqi_m68hc11"): Likewise.
11081
5b9c5bf5 11082Sat Mar 16 12:57:28 CET 2002 Jan HUbicka <jh@suse.cz>
11083
11084 * cfgcleanup.c (cleanup_cfg): Fix updating of liveness.
11085
779370e8 110862002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
11087
11088 * cppinit.c (print_help): Display -MD and -MMD.
11089 Don't display usage string. Update assertion syntax and
11090 typo.
11091 (COMMAND_LINE_OPTIONS): Remove OPT_MD, OPT_MMD.
11092 (cpp_handle_option): Update.
11093
8a48b8c8 110942002-03-15 Chris Demetriou <cgd@broadcom.com>
11095
11096 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an
11097 MEABI case for each definition of SUBTARGET_CPP_SIZE_SPEC,
11098 and define it so that regardless of target CPU size,
11099 __SIZE_TYPE__ and __PTRDIFF_TYPE__ are defined in terms
11100 of "int" rather than "long."
11101
0514cfdc 111022002-03-15 Richard Henderson <rth@redhat.com>
11103
11104 * config/alpha/alpha.c (alpha_va_arg): Manipulate the type
11105 size as a tree.
11106
8ffe78c7 111072002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
11108
11109 * config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.
11110 ("tstqi" split): Avoid using memory for tstqi on address register.
11111 (splits): Remove constraints.
11112 ("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12.
11113 ("cmpdf", "cmpsf"): Remove since not used.
11114 ("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2.
11115 (peephole2): New peepholes to optimize tstqi and pre inc/dec addressing.
11116
0bae8829 111172002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
11118
11119 * config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case.
11120 ("neghi2"): Tighten constraints.
11121 ("one_cmplsi2"): Optimize and simplify split.
11122 * config/m68hc11/larith.asm (__negsi2): Likewise for library.
11123
cae3e7b9 111242002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
11125
11126 * config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints
11127 and split of AND operation to clear the upper bits.
11128 ("*logicalsi3_zextqi"): Likewise.
11129 ("*logicallhi3_zexthi_ashift8"): Likewise.
11130 ("*logicalsi3_silshr16"): Likewise.
11131 ("logicalsi3_silshl16"): Likewise.
11132 ("anddi3", "iordi3", "xordi3" splits): Remove constraints.
11133
690a8e84 111342002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
11135
11136 * config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function.
11137 (m68hc11_indirect_p): New function.
11138 (m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12.
11139 (m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of
11140 TARGET_M6812.
11141 (asm_print_register): Likewise.
11142 * config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare.
11143 (m68hc11_indirect_p): Declare.
11144 * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'.
11145 (TARGET_NO_DIRECT_MODE, TARGET_RELAX): New.
11146 (TARGET_SWITCHES): New option -mrelax.
11147 * config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for
11148 destination.
11149 ("iorsi3", "xorsi3"): Likewise.
11150 ("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand.
11151 ("*andhi3_mem"): New to handle destination in memory with bclr
11152 and a scratch register.
11153 ("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise.
11154 ("*andhi3_const"): New when operand2 is constant.
11155 ("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise.
11156 ("*andhi3_gen"): Cleanup of the old "andhi3".
11157 ("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise.
11158 ("xorqi3"): Update constraints.
11159
1a5f82e2 111602002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
11161
11162 * config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look
11163 for reg_equiv_memory_loc when the operand is a register that does
11164 not get a hard register (stack location).
11165 (tst_operand): After reload, accept all memory operand.
11166 (symbolic_memory_operand): Fix detection of symbolic references.
11167 * config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12
11168 accept symbols and any constant.
11169
ea1cd8de 111702002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
11171
11172 * config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC
11173 note on the insn that sets the soft frame register.
11174 (must_parenthesize): ix and iy are also reserved names.
11175 (print_operand_address): One more place where parenthesis are required
11176 to avoid confusion with register names.
11177 (m68hc11_gen_movhi): Allow push of stack pointer.
11178 (m68hc11_check_z_replacement): Fix handling of parallel with a
11179 clobber.
11180 (m68hc11_z_replacement): Must update the REG_INC notes to tell what
11181 the replacement register is.
11182 * config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS
11183 and D8_REGS classes.
11184 (MODES_TIEABLE_P): All modes are tieable except QImode.
11185
3f340f35 111862002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
11187
11188 * config/m68hc11/larith.asm (___adddi3): Optimize saving of result.
11189 (___subdi3): Likewise.
11190 (__mulsi3, __mulhi32): Avoid using _.tmp scratch location.
11191 (__map_data_section): Optimize 68hc11 case.
11192
f836d492 111932002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
11194
11195 * config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher
11196 than a shift to avoid adding a register with itself.
11197 (m68hc11_memory_move_cost): Take into account NO_REGS.
11198 (m68hc11_register_move_cost): Update and use memory move cost
11199 for soft registers.
11200 (m68hc11_address_cost): Make cost of valid offset not 0 so that
11201 it gives more opportunities to cse to optimize.
11202 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode.
11203 * config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update.
11204
7b6facbf 112052002-03-15 Mark Mitchell <mark@codesourcery.com>
11206
11207 * c-common.c (statement_code_p): Handle CLEANUP_STMT.
11208 * c-common.def (CLEANUP_STMT): New tree node.
11209 * c-common.h (CLEANUP_DECL): New macro.
11210 (CLEANUP_EXPR): Likewise.
11211 * c-semantics.c (expand_stmt): Handle CLEANUP_STMT.
11212 * expr.c (expand_expr): Tidy.
11213 * tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT.
11214 * tree-inline.c (initialize_inlined_parameters): Clean up
11215 new local variables.
11216
075f5855 112172002-03-15 Jakub Jelinek <jakub@redhat.com>
11218
11219 PR bootstrap/4128
11220 * config/sparc/sparc.c (gen_v9_scc): Move early clobber test
11221 before movrXX only, use reg_overlap_mentioned_p.
11222 Only special case NE if just one insn can be generated.
11223
6959d2c2 112242002-03-15 Jason Merrill <jason@redhat.com>
11225
11226 * varasm.c (assemble_variable): Call resolve_unique_section before
11227 checking DECL_SECTION_NAME. Use zeros for a decl with DECL_INITIAL
11228 of error_mark_node.
11229
f5b3169c 112302002-03-15 Richard Earnshaw <rearnsha@arm.com>
11231
11232 PR target/5170
11233 * arm.md (split pattern for thumb shiftable immediates): Add comment
11234 explaining non-obvious test.
11235
9aec9406 112362002-03-15 Richard Earnshaw <rearnsha@arm.com>
11237
11238 PR target/5712
11239 * arm.md (movaddr, movaddr_insn): Delete.
11240
c4c3877b 112412002-03-15 Jason Merrill <jason@redhat.com>
11242
11243 * toplev.c (wrapup_global_declarations): Clarify variable handling.
11244 -fkeep-static-consts doesn't apply to comdats.
11245
5626f4cd 112462002-03-14 Richard Henderson <rth@redhat.com>
11247
11248 * c-decl.c: Include c-pragma.h.
11249 (start_decl, start_function): Invoke maybe_apply_pragma_weak.
11250 (finish_function): Tidy.
11251 * c-pragma.c: Include c-common.h.
11252 (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
11253 (handle_pragma_weak): Use them.
11254 (init_pragma): Register pending_weaks.
11255 * c-pragma.h (maybe_apply_pragma_weak): Declare.
11256 * print-tree.c (print_node): Print DECL_WEAK.
11257 * varasm.c (mark_weak_decls): Remove.
11258 (remove_from_pending_weak_list): Remove.
11259 (add_weak): Remove.
11260 (asm_emit_uninitialised): Call globalize_decl for weak commons.
11261 (weak_decls): Make a tree_list.
11262 (declare_weak): Cons weak_decls directly.
11263 (globalize_decl): Remove weak_decls elements directly.
11264 (weak_finish): Simplify weak_decls walk. Don't weaken unused
11265 symbols. Don't pretend to handle aliases.
11266 (init_varasm_once): Update weak_decls registry.
11267 * Makefile.in: Update dependencies.
11268
60e8331c 112692002-03-14 Richard Henderson <rth@redhat.com>
11270
11271 PR target/5312
11272 * config/ia64/ia64.c: Include tm_p.h last.
11273 (gen_nop_type): Remove duplicate definition.
11274 (cycle_end_fill_slots): Set sched_data for second L slot.
11275 (maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
11276 (nop_cycles_until): Fix typos.
11277
f456a8bd 112782002-03-15 Jakub Jelinek <jakub@redhat.com>
11279
11280 PR optimization/5891
11281 * unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.
11282
a3a14c95 112832002-03-14 David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com>
11284
11285 * config/ia64/unwind-ia64.c: Handle copy_state and label_state
11286 descriptors correctly.
11287
0b11ae2e 112882002-03-14 Michael Meissner <meissner@redhat.com>
11289
11290 * params.def (PARAM_MAX_UNROLLED_INSNS): New macro, default to
11291 100, allowing MAX_UNROLLED_INSNS to be overridden.
11292
11293 * params.h (MAX_UNROLLED_INSNS): Define so it can be overridden by
11294 --param.
11295
11296 * unroll.c (params.h): Include.
11297 (MAX_UNROLLED_INSNS): Delete, now in params.h.
11298
11299 * doc/invoke.texi (--param max-unroll-insns): Document.
11300
11301 * Makefile.in (unroll.o): Add $(PARAMS_H) dependency.
11302
a058e94a 113032002-03-14 Richard Earnshaw <rearnsha@arm.com>
11304
11305 * arm.md: Fix warnings about constraints in peepholes and splits.
11306
604b7b22 113072002-03-14 Zack Weinberg <zack@codesourcery.com>
11308
11309 * cpphash.h (struct lexer_state): Remove line_extension member.
11310 * cpplib.c (dequote_string, do_linemarker): New functions.
11311 (linemarker_dir): New data object.
11312 (DIRECTIVE_TABLE): No longer need to interpret #line in
11313 preprocessed source. Delete obsolete comment about return
11314 values of handlers.
11315 (end_directive, directive_diagnostics, _cpp_handle_directive):
11316 Don't muck with line_extension.
11317 (directive_diagnostics): No need to issue warnings for
11318 linemarkers here.
11319 (_cpp_handle_directive): Issue warnings for linemarkers here,
11320 when appropriate. Dispatch linemarkers to do_linemarker, not
11321 do_line.
11322 (do_line): Code to handle linemarkers split out to do_linemarker.
11323 Convert escape sequences in filename argument, both places.
11324
11325 * cppmacro.c (quote_string): Rename cpp_quote_string and
11326 export. All callers changed.
11327 * cpplib.h (cpp_quote_string): Prototype.
11328 * cppmain.c (print_line): Call cpp_quote_string on to_file
11329 before printing it.
11330
11331 * doc/cpp.texi: Document that escapes are now interpreted in
11332 #line and in linemarkers, and that non-printing characters are
11333 converted to octal escapes when linemarkers are generated.
11334
11335Thu Mar 14 19:04:29 CET 2002 Jan Hubicka <jh@suse.cz>
0f43048e 11336
11337 * emit-rtl.c (try_split): Use delete_insns.
11338 * recog.c (split_all_insns): Fix terminating condition.
11339
73dd1c00 113402002-03-14 Richard Earnshaw <rearnsha@arm.com>
11341 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
11342
11343 PR target/5828
11344 * arm.c (arm_output_epilogue): Fix floating-point register save
11345 adjustment when using a frame pointer.
11346
8c9bf23a 113472002-03-14 Richard Sandiford <rsandifo@redhat.com>
11348
11349 * config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros.
11350 * config/mips/mips.c (compute_frame_size): Retrofit them here.
11351 (save_restore_insns, mips_expand_epilogue): And here.
11352 (build_mips16_call_stub): And here.
11353 (mips_function_value): Use the new macros to decide whether a single
11354 or complex float can be returned in floating-point registers. Return
11355 a parallel rtx in the complex case.
11356
b65ae28b 11357Thu Mar 14 11:03:12 CET 2002 Jan Hubicka <jh@suse.cz>
11358
11359 * toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup
11360 call after liveness analysis.
11361
11362 * recog.c (split_insn): Use delete_insn_and_edges.
11363
11364 * cfgrtl.c (verify_flow_info): Be permisive about non-any_condjump
11365 instructions to have branch prediction notes.
11366 * ia64reorg.c (ia64_reorg): Do not rebuild CFG.
11367
89d762ad 113682002-03-14 Geoffrey Keating <geoffk@redhat.com>
11369
11370 * configure.in: Don't pass -Wno-long-long to a ADA compiler
11371 that doesn't support it.
11372 * configure: Regenerate.
11373
ebd2c2bf 113742002-03-13 Jakub Jelinek <jakub@redhat.com>
11375
11376 PR target/5626
11377 * config/sparc/sparc.md (normal_branch, inverted_branch,
11378 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
11379 inverted_fp_branch): Adjust calls to output_cbranch.
11380 Set length attribute.
11381 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to
11382 output_v9branch. Set length attribute.
11383 * config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New
11384 predicates.
11385 (noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode.
11386 (output_cbranch): Likewise. Handle far branches.
11387 (output_v9branch): Handle far branches.
11388 * config/sparc/sparc-protos.h (output_cbranch, output_v9branch):
11389 Adjust prototypes.
11390 * config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and
11391 noov_compare64_op predicates.
11392
cee68eb1 113932002-03-13 Jason Merrill <jason@redhat.com>
11394
11395 * gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
11396 into the function and constify it.
11397 * gthr-dce.h, gthr-solaris.h: Likewise.
11398
04c6ce8b 113992002-03-13 David Edelsohn <edelsohn@gnu.org>
11400
11401 * config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define.
11402 * config/rs6000/rs6000.c (rs6000_va_arg): Use
11403 std_expand_builtin_va_arg if not ABI_V4.
11404
1fbd58a2 114052002-03-13 Jason Merrill <jason@redhat.com>
11406
11407 * varasm.c (globalize_decl): New fn.
11408 (assemble_start_function): Use it.
11409 (asm_emit_uninitialized): Use it.
11410 (assemble_alias): Use it.
11411 (assemble_variable): Use it.
11412
082203db 114132002-03-13 Hans-Peter Nilsson <hp@axis.com>
11414
11415 * config/cris/cris.c (cris_target_asm_function_prologue): Revert
604b7b22 11416 2002-03-12 internal visibility change.
082203db 11417 (cris_encode_section_info): Consider MODULE_LOCAL_P when encoding
11418 visibility into SYMBOL_REF_FLAG.
11419
701cbdec 114202002-03-13 Ulrich Weigand <uweigand@de.ibm.com>
11421
11422 * expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with
11423 VOIDmode operand. Add compile-time optimization for constant results.
11424
3ecb65ec 114252002-03-12 Jason Merrill <jason@redhat.com>
11426
11427 * c-typeck.c (convert_for_assignment): Don't allow conversions
11428 between pointers and references. Only allow lvalues to convert to
11429 reference.
11430
ecfe03ce 114312002-03-13 Hartmut Penner <hpenner@de.ibm.com>
11432
604b7b22 11433 * config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code
11434 before prologue, to avoid scheduling problems.
ecfe03ce 11435
937b2058 114362002-03-13 Jakub Jelinek <jakub@redhat.com>
11437
11438 * config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
11439 (ELIMINABLE_REGS): Add sfp->sp.
11440 (INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too.
11441
114422002-03-13 Jakub Jelinek <jakub@redhat.com>
5e60cbe4 11443
11444 PR optimization/5892
11445 * config/ia64/ia64.c (rotate_one_bundle): Update current packet.
11446
73b69176 114472002-03-13 Jakub Jelinek <jakub@redhat.com>
11448
11449 * loop.c (basic_induction_var): Don't call convert_modes if mode
11450 classes are different.
11451
df9f5cf8 114522002-03-12 Richard Henderson <rth@redhat.com>
11453
5c0913b4 11454 PR optimization/5901
11455 * function.c (reposition_prologue_and_epilogue_notes): Position
11456 the markers after/before the last/first insn not deleted.
11457
114582002-03-12 Richard Henderson <rth@redhat.com>
11459
11460 PR optimization/5878
df9f5cf8 11461 * config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
11462 config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
11463 (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
11464
11465 * config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
11466 config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
11467 PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.
11468
11469 * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
11470 * config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
11471 (arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
11472 also. Don't set it if not flag_pic.
11473 * config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
11474 to be INVALID_REGNUM when not used.
11475
edc4f1e8 114762002-03-13 Aldy Hernandez <aldyh@redhat.com>
11477
df9f5cf8 11478 * expmed.c (store_bit_field): Reset alias set for memory.
11479 (extract_bit_field): Same.
edc4f1e8 11480
ab1a776d 114812002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11482
11483 * c-common.c (c_tree_code_type, c_tree_code_length,
11484 c_tree_code_name, add_c_tree_codes): Delete.
11485 * c-common.h (add_c_tree_codes): Delete.
11486 * c-lang.c (tree_code_type, tree_code_length, tree_code_name):
11487 Define.
11488 * c-objc-common.c (c_objc_common_init): Don't call
11489 add_c_tree_codes, instead set lang_unsafe_for_reeval.
11490 * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
11491 objc_tree_code_name, add_objc_tree_codes): Delete.
11492 (objc_init): Don't call add_objc_tree_codes.
11493 * objc/objc-lang.c (tree_code_type, tree_code_length,
11494 tree_code_name): Define.
11495 * toplev.c (lang_independent_init): Don't set
11496 tree_code_length[IDENTIFIER_NODE].
11497 * tree.c (tree_code_type, tree_code_length, tree_code_name):
11498 Delete definitions, moved to language front-ends.
11499 * tree.def (IDENTIFIER_NODE): Hardwire the length.
11500 * tree.h (tree_code_type, tree_code_length, tree_code_name):
11501 Const-ify.
11502 (tree_code_length): Change type to unsigned char.
11503
387fa9f2 115042002-03-12 Richard Henderson <rth@redhat.com>
11505
11506 * config/i386/i386.c (ix86_expand_prologue): Revert 2002-03-03
11507 internal visibility change.
11508
9c56a8c5 115092002-03-12 Bob Wilson <bob.wilson@acm.org>
11510
11511 * config/xtensa/xtensa.c (xtensa_expand_block_move): Use
11512 validize_mem() instead of change_address to avoid clobbering
11513 memory attributes.
11514
3d196c8b 115152002-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
11516
11517 * c-lex.h (position_after_whitespace): Remove.
11518
2f6ec5fe 115192002-03-12 Jakub Jelinek <jakub@redhat.com>
11520
11521 * c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
11522 (lex_string): Use unsigned char pointers.
11523
295a8b81 115242002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
11525
11526 * reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent
11527 is not a valid memory_operand.
11528
9c45dd90 115292002-03-12 Bob Wilson <bob.wilson@acm.org>
11530
11531 * config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
11532 * config/xtensa/lib1funcs.asm: Fix copyright to include
11533 special case for libgcc files.
11534 (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
11535 (__divsi3): Likewise.
11536 (__umodsi3): Likewise.
11537 (__modsi3): Likewise.
11538 * config/xtensa/lib2funcs.S: Fix copyright to include
11539 special case for libgcc files.
11540
02159c3f 115412002-03-12 Tom Rix <trix@redhat.com>
11542
11543 * collect2.c (resolve_lib_name): Move outside of
604b7b22 11544 OBJECT_FORMAT_COFF ifdef.
02159c3f 11545 (ignore_library): Same.
11546
9f58be3b 115472002-03-12 Bob Wilson <bob.wilson@acm.org>
11548
11549 * config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define.
11550
9703ff3b 115512002-03-12 Bob Wilson <bob.wilson@acm.org>
11552
11553 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch
11554 to function_section before writing out the constant pool.
11555
77638b48 115562002-03-12 David Edelsohn <edelsohn@gnu.org>
11557
11558 * config/rs6000/rs6000.h (PREDICATE_CODES): Add any_operand and
11559 zero_constant.
11560 * config/rs6000/rs6000.c (easy_fp_constant): Fix formatting.
11561
115622002-03-12 Alan Modra <amodra@bigpond.net.au>
11563
11564 * config/rs6000/rs6000.md (addsi3): Optimize sign extension.
11565 (adddi3): Likewise.
11566 (movdf): Likewise.
11567 (movdi): Likewise.
11568 (cmpsi splitter): Likewise.
11569 (modsi3): Fail if <= 0.
11570 * config/rs6000/rs6000.c (reg_or_add_cint64_operand): Remove
11571 redundant test when HOST_BITS_PER_WIDE_INT != 32.
11572 (reg_or_sub_cint64_operand): Likewise.
11573 (num_insns_constant_wide): Optimize sign extension.
11574 (rs6000_legitimize_address): Likewise.
11575
a204a355 115762002-03-12 Andrew MacLeod <amacleod@redhat.com>
11577
11578 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
11579 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
11580
a32f0634 115812002-03-12 Andrew MacLeod <amacleod@redhat.com>
11582
11583 * config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in
11584 address calculation.
11585
dc4951d9 115862002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
11587
11588 * config/s390/s390.md (reload_insi, reload_indi): Change mode of
11589 scratch register to DImode / TImode.
11590 config/s390/s390.c (s390_expand_plus_operand): Make sure scratch
11591 register used does not overlap the target.
11592
e42f6423 115932002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11594
11595 * Makefile.in (debug.o): Depend on debug.h.
11596 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Const-ify.
11597 * debug.c (do_nothing_debug_hooks): Likewise.
11598 * debug.h (debug_hooks, do_nothing_debug_hooks, dbx_debug_hooks,
11599 sdb_debug_hooks, xcoff_debug_hooks, dwarf_debug_hooks,
11600 dwarf2_debug_hooks, vmsdbg_debug_hooks): Likewise.
11601 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
11602 * dwarfout.c (dwarf_debug_hooks): Likewise.
11603 * integrate.c (output_inline_function): Likewise.
11604 * objc/objc-act.c (synth_module_prologue): Likewise.
11605 * sdbout.c (sdb_debug_hooks): Likewise.
11606 * toplev.c (debug_hooks): Likewise.
11607 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
11608
3cf24182 116092002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11610
11611 * 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h,
11612 dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h,
11613 m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h,
11614 ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h,
11615 v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete.
11616 * defaults.h (POINTER_SIZE): Define.
11617 * doc/tm.texi (POINTER_SIZE): Document default.
11618
d7f9cd15 116192002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11620
11621 * mn10200.h (PTRDIFF_TYPE): Change it to a signed type.
11622
c8003097 116232002-03-11 Richard Henderson <rth@redhat.com>
11624
11625 * toplev.c (rest_of_compilation): Call purge_all_dead_edges
11626 if rebuild_label_notes_after_reload.
11627
3dfc21d3 116282002-03-12 Hans-Peter Nilsson <hp@axis.com>
11629
11630 * config/cris/cris.c (cris_target_asm_function_prologue): Do not
11631 emit pic register load if "internal" visibility.
11632 (cris_print_operand): Avoid traditional-warning for 0xffffffff.
11633 (cris_expand_builtin_va_arg): Do all computations on trees.
11634
aee989f5 116352002-03-11 Richard Henderson <rth@redhat.com>
11636
11637 * rtlanal.c: Include recog.h.
11638 (keep_with_call_p): Fix thinko.
11639 * Makefile.in (rtlanal.o): Update dependencies.
11640
337057dd 116412002-03-11 Chris Meyer <cmeyer@gatan.com>
11642
11643 * genflags.c (gen_insn): Use IS_VSPACE.
11644 * genoutput.c (output_insn_data): Likewise.
11645 (process_template): Likewise.
11646
c013f26c 116472002-03-11 Richard Henderson <rth@redhat.com>
11648
11649 * toplev.c (rest_of_compilation): Don't compile if we've had errors.
11650
deb88e7d 116512002-03-11 Neil Booth <neil@daikokuya.demon.co.uk>
11652
11653 * Makefile.in: Update.
c013f26c 11654 * doc/cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
deb88e7d 11655 Update documentation.
c013f26c 11656 * doc/gcc.texi: Include cppopts.texi and cppenv.texi.
11657 * doc/cpp.texi: Include cppopts.texi and cppenv.texi.
deb88e7d 11658
278d27f5 116592002-03-11 Zack Weinberg <zack@codesourcery.com>
11660
11661 * Makefile.in: Give texi2pod its input file as a command line
11662 argument, not on stdin.
11663
c5d44e2f 116642002-03-11 Dan Nicolaescu <dann@ics.uci.edu>
11665 Daniel Berlin <dan@dberlin.org>
11666
11667 C++ alias analysis improvement.
604b7b22 11668 * alias.c (record_component_aliases): Record aliases for base
c5d44e2f 11669 classes too.
11670
77638b48 116712002-03-11 Ulrich Weigand <uweigand@de.ibm.com>
11672
6adfb8f8 11673 * config/s390/s390.h (REG_ALLOC_ORDER): Add missing register.
11674
3ce510d2 116752002-03-11 Douglas B Rupp <rupp@gnat.com>
11676
d0307f64 11677 * toplev.c (vms_fopen): Remove, not needed.
11678
a69c2678 11679 * vmsdbgout.c (lookup_filename): Adjust creation date for GMT.
11680
67ced5ab 11681 * config/alpha/xm-vms.h (__UNIX_FWRITE): Define.
11682
2ab60bb1 11683 * config/alpha/alpha.c (alpha_sa_size, VMS): Don't reserve space
11684 for FP, already done later.
11685
3ce510d2 11686 * toplev.c (debug_args): Add entry for VMS_DEBUG.
11687 * vmsdbgout.c (vmsdbgout_init): Fix typo in call to xmalloc.
11688
68d65858 116892002-03-11 Richard Sandiford <rsandifo@redhat.com>
11690
11691 * defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO): New.
11692 (MODE_HAS_NANS, MODE_HAS_INFINITIES): Evaluate to false if
11693 LARGEST_EXPONENT_IS_NORMAL for the given mode.
11694 (MODE_HAS_SIGN_DEPENDENT_ROUNDING): False when ROUND_TOWARDS_ZERO.
11695 * real.c (eadd1): Make rounding dependent on !ROUND_TOWARDS_ZERO.
11696 (ediv, emul, eldexp, esqrt): Likewise.
11697 (etoe113, etoe64, etoe53, etoe24, etodec, etoibm, etoc4x): Likewise.
11698 (e24toe): Only check NaNs & infinities if !LARGEST_EXPONENT_IS_NORMAL.
11699 (saturate): New function.
11700 (toe53, toe24): Saturate on overflow if LARGEST_EXPONENT_IS_NORMAL.
11701 (make_nan): Use a saturation value instead of a NaN if
11702 LARGEST_EXPONENT_IS_NORMAL. Warn when this happens.
11703 * fp-bit.c (pack_d): Saturate on NaN, infinite or overflowing
11704 inputs if LARGEST_EXPONENT_IS_NORMAL. Represent subnormals as
11705 zero if NO_DENORMALS. Only round to nearest if !ROUND_TOWARDS_ZERO.
11706 (unpack_d): No NaNs or infinities if LARGEST_EXPONENT_IS_NORMAL.
11707 (_fpmul_parts, _fpdiv_parts): Only round to nearest if
11708 !ROUND_TOWARDS_ZERO.
11709 * doc/tm.texi (LARGEST_EXPONENT_IS_NORMAL): Document.
11710 (ROUND_TOWARDS_ZERO): Document.
11711
7d3bbd11 117122002-03-11 Andreas Jaeger <aj@suse.de>
11713
11714 * cfg.c (dump_flow_info): Remove unused variable.
11715
39e4b33f 117162002-03-11 Hans-Peter Nilsson <hp@bitrange.com>
11717
11718 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Do all
11719 computations on trees.
11720
8e2f6d6b 117212002-03-10 Richard Henderson <rth@redhat.com>
11722
1fcf59fa 11723 PR 5693:
8e2f6d6b 11724 * reload.c (copy_replacements_1): New.
11725 (copy_replacements): Use it to recurse through the rtx.
11726
3864028d 117272002-03-10 Richard Henderson <rth@redhat.com>
11728
11729 * loop.c (strength_reduce): Compute number of iterations as
11730 unsigned HOST_WIDE_INT.
11731
cbaab9a3 117322002-03-10 Richard Henderson <rth@redhat.com>
11733
11734 * sched-rgn.c (add_branch_dependences): Don't allow insns that throw
11735 to move away from the end of the block.
11736
49eb929e 117372002-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
11738
11739 PR preprocessor/5899
11740 * cppinit.c (init_dependency_output): Don't ignore -dM etc.
7d3bbd11 11741
40265b77 117422002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11743
ed156d8b 11744 * mbchar.c (JIS_state_table, JIS_action_table): Const-ify.
11745
40265b77 11746 * attribs.c (decl_attributes): Fix signed/unsigned warning.
11747
af08e904 117482002-03-10 Hans-Peter Nilsson <hp@bitrange.com>
11749
11750 * config/mmix/mmix.c: Improve comments.
11751 (mmix_target_asm_function_prologue): Drop variable
11752 empty_stack_frame. Don't allocate unused slot above fp.
11753 (mmix_target_asm_function_epilogue): Mirror prologue changes.
11754 * config/mmix/mmix.h (MMIX_GNU_ABI_REG_ALLOC_ORDER): Don't have
11755 brace in first column.
11756 (enum reg_class): Ditto.
11757 (FIRST_PARM_OFFSET): Now 0.
11758 (USER_LABEL_PREFIX): Remove #if 0:d definition.
11759
a0cbb03c 117602002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11761
11762 * combine.c (make_extraction): Fix error in last change.
11763
c8834c5f 117642002-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11765
11766 * c4x.c (c4x_fp_reglist): Const-ify.
11767 * cris.c (cris_print_operand): Likewise.
11768 * i386.c (ix86_va_arg): Likewise.
11769 * ia64/unwind-ia64.c (unw_decode_table): Likewise.
11770 * m32r.c (m32r_hard_regno_mode_ok): Likewise.
11771 * m32r.h (m32r_hard_regno_mode_ok): Likewise.
11772 * mcore.c (regno_reg_class, mcore_unique_section): Likewise.
11773 * mcore.h (regno_reg_class): Likewise.
11774 * mips.c (gen_int_relational): Likewise.
11775 * ns32k.c (ns32k_reg_class_contents, regclass_map): Likewise.
11776 * ns32k.h (ns32k_reg_class_contents, regclass_map): Likewise.
2fdc3887 11777 * pdp11.c (move_costs): Likewise.
c8834c5f 11778 * pj.h (INITIALIZE_TRAMPOLINE): Likewise.
11779 * s390.c (s390_branch_condition_mnemonic, regclass_map):
11780 Likewise.
11781 * s390.h (regclass_map): Likewise.
11782 * sh.c (shift_amounts): Likewise.
2fdc3887 11783 * sh.md (rotlsi3): Likewise.
c8834c5f 11784
1b6747c3 117852002-03-09 Geoffrey Keating <geoffk@redhat.com>
11786
11787 * config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER.
11788 (ne0+5): Use new clobber to generate proper shift pattern.
11789 Patch by Michael Matz <matz@kde.org>.
11790
c2a9dd1b 117912002-03-09 Andreas Schwab <schwab@suse.de>
11792
11793 * gcc.c (validate_all_switches): Also handle `%W{...}'.
11794
f18ce937 117952002-03-09 Geoffrey Keating <geoffk@redhat.com>
11796
11797 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Don't define.
11798
fe93cfe6 117992002-03-09 Jakub Jelinek <jakub@redhat.com>
11800
11801 PR middle-end/5877
11802 * expr.c (highest_pow2_factor): Check TREE_INT_CST_LOW
11803 even for non-representable constants.
11804
dbd8525d 11805Sat Mar 9 07:20:01 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11806
dd367d39 11807 * emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
11808 * function.c (fixup_var_refs): Add MAY_SHARE parameter.
11809 (fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
11810 (fixup_var_refs_insn, fixup_var_refs_1): Likewise.
11811 (pop_function_context): Compute MAY_SHARE parameter for
11812 fixup_var_refs.
11813 (fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
11814 (gen_mem_addressof): Call fixup_var_refs with new parm.
11815
dbd8525d 11816 * combine.c (make_extraction): Don't make extension of CONST_INT.
11817
bfe3e4b4 118182002-03-09 Alexandre Oliva <aoliva@redhat.com>
11819
aeaa7ebf 11820 * config/mips/mips.c (function_arg_pass_by_reference): Force to 0
11821 in o32 and o64 ABIs.
11822 * config/mips/abi64.h (MUST_PASS_IN_STACK): Define as in expr.h,
11823 but getting fixed-size structs passed in registers regardless of
11824 padding in o32 and o64 ABIs.
11825
bfe3e4b4 11826 * config/mips/mips.c (mips_va_arg): Apply big-endianness address
11827 offset before loading address of argument passed by transparent
11828 reference.
11829
f636c6f8 118302002-03-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
11831
11832 * t-pa64 (LIB1ASMFUNCS, LIB1ASMSRC): Delete.
11833
8be74258 118342002-03-09 Alexandre Oliva <aoliva@redhat.com>
11835
11836 * config/mips/mips.c (mips_expand_prologue): Set regno of vararg
11837 marker such that registers after it are saved.
11838
56c1f669 118392002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11840
11841 * sparc.c (arith_4096_operand): Fix error in last change.
11842
e02a1a96 118432002-03-08 Alexandre Oliva <aoliva@redhat.com>
11844
11845 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Remove duplicate
11846 defaults for MEABI.
11847
ceed8fc4 118482002-03-08 Aldy Hernandez <aldyh@redhat.com>
11849
df9f5cf8 11850 * config/rs6000/rs6000.c (rs6000_va_arg): Fix alignment for
11851 vectors.
ceed8fc4 11852
23d90bc4 118532002-03-08 Aldy Hernandez <aldyh@redhat.com>
11854
df9f5cf8 11855 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Change for altivec.
23d90bc4 11856
461eeb14 11857Fri Mar 8 21:27:49 CET 2002 Jan Hubicka <jh@suse.cz>
11858
11859 * cfgrtl.c (purge_dead_edges): Set BB_DRITY flags if edge has been
11860 removed; fix return value.
11861 * combine.c (combine_instructions): Dirtify blocks where we failed to
11862 update liveness; purge dead edges; use update_life_info_in_dirty_blocks.
11863 * toplev.c (rest_of_compilation): Do not purge_dead_edges after combine.
11864
e9f3819b 118652002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11866
11867 * gcse.c (insert_insn_end_bb): Fix typo in last change.
11868
fbf81687 11869Fri Mar 8 21:08:52 CET 2002 Jan Hubicka <jh@suse.cz>
11870
11871 * recog.c (peephole2_optimize): Re-distribute EH edges.
11872
1d347c23 118732002-03-08 Neil Booth <neil@daikokuya.demon.co.uk>
11874
11875 * expr.c (expand_expr): Use unsave lang hook.
11876 * langhooks-def.h (LANG_HOOKS_UNSAVE): New.
11877 (LANG_HOOKS_INITIALIZER): Update.
11878 * langhooks.h (struct lang_hooks): New hook unsave.
11879 * tree.c (lang_unsave, lang_unsave_expr_now): Remove.
11880 (unsave_expr_1): Remove unused lang_unsave_expr_now.
11881 (unsave_expr_now_r): Rename lhd_unsave. Update. Return input.
11882 (unsave_expr_now): Remove.
11883 * tree.h (unsave_expr_now, lang_unsave,
11884 lang_unsave_expr_now): Remove.
11885 (lhd_unsave): New.
11886
77353e4f 118872002-03-08 Andreas Jaeger <aj@suse.de>
11888
11889 * flow.c (propagate_block_delete_insn): Remove unused variable.
11890
320e354f 118912002-03-08 Kazu Hirata <kazu@hxi.com>
11892
11893 * config/h8300/h8300.c (h8300_adjust_insn_length): Tighten
11894 insn length for memory load/store.
11895
e9cf3fd5 118962002-03-08 Craig Rodrigues <rodrigc@gcc.gnu.org>
77353e4f 11897
e9cf3fd5 11898 * doc/install.texi (--with-libiconv-prefix): Document.
11899
10f0cf8a 119002002-03-08 Michael Y. Brukman <myb2@cornell.edu>
11901
11902 * doc/sourcebuild.texi: Fix typo.
11903
91f95e00 119042002-03-08 Jakub Jelinek <jakub@redhat.com>
11905
11906 PR c/3711
11907 * builtins.c (std_expand_builtin_va_arg): Do all computations on
11908 trees.
11909
c15aa775 11910Fri Mar 8 06:48:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11911
11912 * rtl.c (copy_most_rtx): Move from here ...
11913 * emit-rtl.c (copy_most_rtx): ... to here.
11914
0f86aaad 119152002-03-08 Alexandre Oliva <aoliva@redhat.com>
11916
565fd2f8 11917 * config/mips/mips.h (LONG_MAX_SPEC): Rewrite, along with
11918 SUBTARGET_CPP_SIZE_SPEC.
11919 * config/mips/abi64.h (LONG_MAX_SPEC): Delete.
11920
0f86aaad 11921 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Simplify.
11922
6a81282b 119232002-03-07 Matt Hiller <hiller@redhat.com>
11924
11925 * gensupport.c (first_dir_md_include): Renamed from include;
11926 change all references.
11927 (last_dir_md_include): Renamed from last_include; change all
11928 references.
11929 (init_md_reader): Unconditionally initialize base_dir whether or
11930 not filename is a relative path.
11931
c81364d2 119322002-03-07 Alexandre Oliva <aoliva@redhat.com>
11933
f4a030ba 11934 * config/fp-bit.c (_unord_f2): Compile it in even if
11935 US_SOFTWARE_GOFAST is enabled.
11936
c81364d2 11937 * config/gofast.h (GOFAST_RENAME_LIBCALLS): Set gt and ge as
11938 NULL_RTX. Set all HFmode operations as NULL_RTX.
11939 * optabs.c (prepare_float_lib_cmp) <GT, GE, LT, LE>: If libfunc is
11940 NULL_RTX, try reversing the comparison and the operands.
11941
0605fce2 119422002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
11943
11944 * genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
11945 genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP
11946 and MATCH_OP_DUP.
11947
fee25a27 11948Thu Mar 7 16:54:10 CET 2002 Jan Hubicka <jh@suse.cz>
11949
11950 * reload1.c (reload_cse_delete_noop_set): Purge dead edges.
11951
17a54dac 11952Thu Mar 7 16:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
11953
11954 * basic-block.h (fixup_abnormal_edges): Declare.
11955 * reload1.c (fixup_abnormal_edges): New function.
11956 * reg-stack.c (convert_regs): Use it.
11957
11958 * gcse.c (insert_insn_end_bb): Handle trapping insns.
11959
11960 * gcse.c (hash_scan_set): Refuse instructions with EH edges.
11961
920d0fb5 119622002-03-07 Richard Sandiford <rsandifo@redhat.com>
11963
11964 * defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES): New.
11965 (MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): New.
11966 * flags.h (HONOR_NANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS): New.
11967 (HONOR_SIGN_DEPENDENT_ROUNDING): New.
11968 * builtins.c (expand_builtin_mathfn): Use HONOR_NANS.
11969 * c-common.c (truthvalue_conversion): Reduce x - y != 0 to x != y
11970 unless x and y could be infinite.
11971 (expand_unordered_cmp): New, mostly split from expand_tree_builtin.
11972 Check that the common type of both arguments is a real, even for
11973 targets without unordered comparisons. Allow an integer argument
11974 to be compared against a real.
11975 (expand_tree_builtin): Use expand_unordered_cmp.
11976 * combine.c (combine_simplify_rtx): Use the new HONOR_... macros.
11977 * cse.c (fold_rtx): Likewise. Fix indentation.
11978 * fold-const.c (fold_real_zero_addition_p): New.
11979 (fold): Use it, and the new HONOR_... macros.
11980 * ifcvt.c (noce_try_minmax): Use the new HONOR_... macros.
11981 * jump.c (reversed_comparison_code_parts): After searching for
11982 the true comparison mode, use HONOR_NANS to decide whether it
11983 can be safely reversed.
11984 (reverse_condition_maybe_unordered): Remove IEEE check.
11985 * simplify-rtx.c (simplify_binary_operation): Use the new macros
11986 to decide which simplifications are valid. Allow the following
11987 simplifications for IEEE: (-a + b) to (b - a), (a + -b) to (a - b),
11988 and (a - -b) to (a + b).
11989 (simplify_relational_operation): Use HONOR_NANS.
11990 * doc/tm.texi: Document the MODE_HAS_... macros.
11991
b77df330 119922002-03-07 Richard Earnshaw <rearnsha@arm.com>
11993
11994 * combine.c (simplify_comparison): If simplifying a logical shift
11995 right and compare with constant, force the comparison to unsigned.
11996
04b78509 119972002-03-07 Aldy Hernandez <aldyh@redhat.com>
11998
df9f5cf8 11999 * doc/invoke.texi: Add documentation for -mabi=no-altivec.
04b78509 12000
df9f5cf8 12001 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Add
12002 -mabi=no-altivec
12003 (alt_reg_names): Remove % for vrsave.
04b78509 12004
eeddd58f 120052002-03-06 Richard Henderson <rth@redhat.com>
12006
a195030a 12007 PR optimization/5844
eeddd58f 12008 * genemit.c (gen_exp): New argument used. Invoke copy_rtx
12009 if used indicates we've already emitted one copy of an operand.
12010 (gen_insn, gen_expand, output_add_clobbers): Supply a null used.
12011 (gen_split): Supply a non-null used.
12012
907bb1cf 120132002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
12014
df9f5cf8 12015 * reload1.c (reload): Unshare all rtl after reload is done.
907bb1cf 12016
77353e4f 12017 * simplify-rtx.c (simplify_plus_minus): Do not abort,
907bb1cf 12018 but simply fail if the expression is too complex to simplify.
12019 (simplify_gen_binary): Handle simplify_plus_minus failures.
12020
f760eb7d 12021Wed Mar 6 20:32:09 CET 2002 Jan Hubicka <jh@suse.cz>
12022
12023 * toplev.c (rest_of_compilation): Do jump threading before SSA path;
12024 consistently call delete_trivially_dead_insns after CSE and GCSE;
12025 fix DFI_life dumping; do jump threading after liveness; do crossjumping
12026 after liveness2; update comment in last crossjumping.
12027 * cfgcleanup.c (try_crossjump_to_edge): Dirtify block.
12028
34f7b915 12029Wed Mar 6 12:27:10 2002 Jeffrey A Law (law@redhat.com)
12030
1a7cfed3 12031 * ssa-ccp.c (ssa_fast_dce): Update the DF def-use chains
12032 after completing fast dead code elimination.
12033
34f7b915 12034 * m68k.h (CONST_COSTS): Lower cost of 0.0 when used inside a
12035 COMPARE operator.
77353e4f 12036
f479a6f2 120372002-03-06 Phil Edwards <pme@gcc.gnu.org>
12038
12039 * version.c: Fix misplaced leading blanks on first line.
12040
7440f6f4 12041Wed Mar 6 19:08:03 CET 2002 Jan Hubicka <jh@suse.cz>
12042
12043 * cfgrtl.c (verify_flow_info): Accept RESX as EH edge source.
12044
4ccdad8e 12045Wed Mar 6 18:14:43 CET 2002 Jan Hubicka <jh@suse.cz>
12046
12047 * cfgcleanup.c (mentions_nonequal_regs): New function.
12048 (thread_jump): Use it.
12049 * toplev.c (rest_of_compilation): Run jump threading after
12050 liveness.
12051
0aba1273 120522002-03-06 Jakub Jelinek <jakub@redhat.com>
12053
12054 * ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05
12055 patch.
12056
7a569e8f 12057Wed Mar 6 11:28:19 CET 2002 Jan Hubicka <jh@suse.cz>
12058
12059 * predict.c (estimate_bb_frequencies): Do not reload the
12060 frequencies from notes.
12061
fb20d6fa 12062Wed Mar 6 10:59:39 CET 2002 Jan Hubicka <jh@suse.cz>
12063
12064 * cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New.
12065 * rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare
12066
12067 * basic-block.h (update_life_info, update_life_info_in_dirty_blocks,
12068 delete_noop_moves): Return indeger.
12069 * flow.c (ndead): New variable.
12070 (propagate_block_delete_insn): Use delete_insn_and_edges; remove
12071 BB argument; update callers.
12072 (propagate_block_delete_libcall): Use delete_insn_chain_and_edges.
12073 (life_analysis): Do not call purge_all_dead_edges.
12074 (update_life_info): Return number of deleted insns; print statistics.
12075 (update_life_info_in_dirty_blocks): likewise.
12076 (delete_noop_moves): Use delete_insn_and_edges; print statistics;
12077 return number of insns deleted.
12078
12079 * cse.c: Include timevar.h
12080 (delete_trivially_dead_insns): Kill preserve_basic_blocks argument;
12081 iterate until stabilizes; print statistics; return number of killed
12082 insns.
12083 * Makefile.in: (cse.o): Add timevar.h dependency
12084 * rtl.h (delete_trivially_dead_insns): New.
12085 * timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer.
12086 * toplev.c (rest_of_compilation): Update callers.
12087
12088 * cfgcleanup.c (try_optimize_cfg): Kill blocks.
12089 (try_optimize_cfg): Do not update liveness.
12090 (cleanup-cfg): Loop until try_optimize_cfg and dead code
12091 removal stabilizes; use delete_trivially_dead_insns.
12092
12093 * cfgrtl.c (verify_flow_info): Sanity check outgoing edges.
12094
3c40011e 120952002-03-05 Zack Weinberg <zack@codesourcery.com>
12096
12097 * cppmain.c (setup_callbacks): Disable #pragma and #ident
12098 callbacks when processing assembly language.
12099
a052da6f 121002002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
12101
12102 * pa.h (ASM_FILE_END): Define.
12103 * som.h (ASM_FILE_END): Delete.
12104
12105 * pa.c (function_arg): Don't pass floats in general registers in
12106 indirect calls if TARGET_ELF32.
12107
7a1463d6 121082002-03-05 Richard Henderson <rth@redhat.com>
12109
12110 * config/i386/i386.md (floatsidf2): Conditionalize on hard-float.
12111
b8dd27f3 121122002-03-05 Danny Smith <dannysmith@users.sourceforge.net>
12113
12114 * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Define.
12115
a826398d 121162002-03-05 Jakub Jelinek <jakub@redhat.com>
12117
12118 * mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc
12119 -r command line. Don't hide any symbols if not building
12120 shared libgcc.
12121
a2e42321 12122Tue Mar 5 18:31:27 CET 2002 Jan Hubicka <jh@suse.cz>
12123
12124 * cfg.c (dump_flow_info): Warn about profile mismatches.
12125 * cfgrtl.c (verify_flow_info): Few aditional sanity checks.
12126 (purge_dead_edges): Remove REG_BR_PROB notes on simplejumps.
12127
de2dd2b0 121282002-03-05 Jakub Jelinek <jakub@redhat.com>
12129
12130 * expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
12131 wide volatile memory by parts.
12132
301d4551 121332002-03-05 Jakub Jelinek <jakub@redhat.com>
12134
12135 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def
12136 is NULL.
12137
1daf4caa 121382002-03-05 Richard Henderson <rth@redhat.com>
12139
df9f5cf8 12140 * rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error.
1daf4caa 12141
a39bc6f7 121422002-03-04 Geoffrey Keating <geoffk@redhat.com>
12143
12144 * toplev.c (documented_lang_options): Document more
12145 language-specific options.
12146 * doc/invoke.texi (Warning Options): Correct documentation for
12147 -Wno-multichar, -Wno-div-by-zero, and -Wsystem-headers.
12148 * c-decl.c (c_decode_option): Use a table to handle warning options.
12149
ae484cc8 121502002-03-05 Hans-Peter Nilsson <hp@bitrange.com>
12151
12152 * config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second
12153 parameter to mmix_encode_section_info.
12154 (LINK_SPEC): Don't defsym __.MMIX.start..text if linking
12155 relocatably. Always produce ELF, not mmo if linking relocatably.
12156 * config/mmix/mmix.c (mmix_encode_section_info): If new parameter
12157 first is non-zero, don't add symbol prefix.
12158 * config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak
12159 prototype accordingly.
12160
7eab7b2a 121612002-03-04 Krister Walfridsson <cato@df.lth.se>
12162
12163 * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.
12164
62357fc7 121652002-03-05 Joseph S. Myers <jsm28@cam.ac.uk>
12166
12167 * configure.in: Increase required makeinfo version to 4.1.
12168 * configure: Regenerate.
12169
1f347f18 121702002-03-04 Geoffrey Keating <geoffk@redhat.com>
12171
12172 * .cvsignore: Remove *.info* and genrtl*; these files are generated
12173 elsewhere now.
12174
a06a3d20 121752002-03-04 Joseph S. Myers <jsm28@cam.ac.uk>
12176
12177 * doc/include/texinfo.tex: Update to version 2002-03-01.06.
12178 * doc/invoke.texi: Fix @math uses.
12179
8325b48b 12180Mon Mar 4 15:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
12181
12182 * toplev.c (rest_of_compilation): Cleanup CFG after dead jumptables
12183 removal
12184
5d916180 121852002-03-03 Aldy Hernandez <aldyh@redhat.com>
12186
df9f5cf8 12187 * config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian.
12188 (powerpc-*-eabisimaltivec*): Same.
5d916180 12189
df9f5cf8 12190 * config/rs6000/t-ppcendian: New.
5d916180 12191
ffb0737e 121922002-03-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
12193
12194 * c4x-protos.h, c4x.h, c4x.c, c4x.md: Add new functions
12195 nonimmediate_src_operand and nonimmediate_lsrc_operand to
12196 disallow ZERO_EXTEND with CONST_INT or CONST_DOUBLE.
12197
7bc16a7d 121982002-03-03 Richard Henderson <rth@redhat.com>
12199
12200 * toplev.c (rest_of_decl_compilation): Revert last two changes.
12201
4268f174 122022002-03-03 Zack Weinberg <zack@codesourcery.com>
12203
12204 * emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
12205 print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
12206 tree.c, config/m68k/m68k.c:
12207 Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
12208 REAL_ARITHMETIC blocks unconditional. Delete some further
12209 #ifdef blocks predicated on REAL_ARITHMETIC.
12210 * flags.h, toplev.c: Delete remaining references to
12211 flag_pretend_float.
12212
12213 * doc/invoke.texi: Remove documentation of -fpretend-float.
12214 * doc/tm.texi: Describe the various REAL_* macros as provided by
12215 real.h, not by the target configuration files.
12216
12217 * config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
12218 config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
12219 config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
12220 config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
12221 config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
12222 config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
12223 config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
12224 config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
12225 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
12226 config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
12227 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
12228 config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
12229 config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
12230 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
12231 config/xtensa/xtensa.h:
12232 Do not define, undefine, or mention in comments any of
12233 REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
12234 REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
12235 REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
12236 REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
12237 REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
12238 REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
12239 REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
12240 REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
12241 REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
12242
6c11cad6 122432002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12244
6852ad78 12245 * 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h,
12246 convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h,
12247 i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h,
12248 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
12249 pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h,
12250 stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD):
12251 Delete.
12252 * defaults.h (BITS_PER_WORD): Define.
4268f174 12253 * doc/tm.texi (BITS_PER_WORD): Document default value.
6852ad78 12254
6c11cad6 12255 * 1750a.h, avr.h, convex.h, d30v.h, dsp16xx.h, fr30.h, ia64.h,
12256 m68hc11.h, m88k.h, mips.h, pdp11.h, rs6000.h, sparc.c,
12257 stormy16.h, xtensa.h, vmsdbgout.c (CHAR_TYPE_SIZE): Delete.
12258
3585dac7 122592002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12260
12261 * attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in
12262 lieu of explicit sizeof/sizeof.
12263 * i386.c (override_options, ix86_init_mmx_sse_builtins,
12264 ix86_expand_builtin): Likewise.
12265 * mips.c (mips_add_gc_roots): Likewise.
12266 * mmix.c (mmix_output_condition): Likewise.
12267 * rs6000.c (rs6000_override_options, altivec_expand_builtin,
12268 altivec_init_builtins): Likewise.
12269 * sparc.c (mark_ultrasparc_pipeline_state): Likewise.
12270 * cppexp.c (Nsuff, parse_number): Likewise.
12271 * cppinit.c (builtin_array_end): Likewise.
12272 * gcc.c (n_default_compilers, process_command): Likewise.
12273 * genpreds.c (output_predicate_decls): Likewise.
12274 * ggc-page.c (NUM_EXTRA_ORDERS): Likewise.
12275 * lcm.c (N_ENTITIES): Likewise.
12276 * stor-layout.c (set_sizetype): Likewise.
4268f174 12277
822729d2 122782002-03-03 Richard Henderson <rth@redhat.com>
12279
12280 * toplev.c (rest_of_decl_compilation): Do not invoke make_decl_rtl
12281 for types or labels.
12282
64fe11e2 122832002-03-03 Richard Henderson <rth@redhat.com>
12284
12285 * c-decl.c (start_decl): Initialized variables are not common.
12286
5609b23b 122872002-03-02 Per Bothner <per@bothner.com>
12288
12289 * gcc.c (option_map): Suport new --bootclasspath option.
12290 --CLASSPATH is now just an alias for --classpath.
12291
21a24508 122922002-03-02 Richard Henderson <rth@redhat.com>
12293
12294 * config/i386/i386.h (ix86_expand_prologue): Do not emit pic register
12295 load if "internal" visibility.
12296 * doc/extend.texi: Document visibility meanings.
12297
73d953ec 122982002-03-02 Richard Henderson <rth@redhat.com>
12299
12300 * config/i386/i386.h (ENCODE_SECTION_INFO): MODULE_LOCAL_P applies
12301 to functions as well.
12302
01694f08 123032002-03-02 Richard Henderson <rth@redhat.com>
12304
12305 * attribs.c (handle_alias_attribute): Don't call assemble_alias.
12306 (handle_visibility_attribute): Don't call assemble_visibility.
12307 * toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even
12308 without asmspec. Invoke assemble_alias when needed.
12309 * varasm.c (maybe_assemble_visibility): New.
12310 (assemble_start_function, assemble_variable, assemble_alias): Use it.
12311
41eb471c 123122002-03-02 Richard Henderson <rth@redhat.com>
12313
12314 * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;
12315 invoke ENCODE_SECTION_INFO with first call flag.
12316
12317 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
12318 config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
4268f174 12319 config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h,
41eb471c 12320 config/arm/arm.h, config/arm/pe.c, config/arm/pe.h,
12321 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
12322 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
12323 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
12324 config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h,
12325 config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h,
12326 config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c,
12327 config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
12328 config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h,
4268f174 12329 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
12330 config/m68hc11/m68hc11.h, config/m88k/m88k.h,
41eb471c 12331 config/mcore/mcore-protos.h, config/mcore/mcore.c,
12332 config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h,
12333 config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h,
4268f174 12334 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
41eb471c 12335 config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h,
12336 config/sh/sh.h, config/sparc/sparc.h,
12337 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
12338 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h,
12339 config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes
12340 FIRST argument. As needed, examine it and do nothing.
12341
4268f174 12342 * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h,
41eb471c 12343 config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
12344 config/mcore/mcore.h: Remove REDO_SECTION_INFO_P.
12345
12346 * config/arm/t-pe (pe.o): Add dependencies.
12347
adb7ce73 123482002-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12349
12350 * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,
12351 cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h,
12352 i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h,
12353 mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h,
12354 pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h,
12355 vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete.
12356 * defaults.h (BITS_PER_UNIT): Define.
12357 * doc/tm.texi (BITS_PER_UNIT): Document default value.
12358
484c1e8d 123592002-03-02 Kazu Hirata <kazu@hxi.com>
12360
12361 * config/h8300/h8300-protos.h: Add a prototype for
12362 compute_a_shift_length.
12363 * config/h8300/h8300.c (h8300_asm_insn_count): New.
12364 (compute_a_shift_length): Likewise.
12365 (h8300_adjust_insn_length): Do not adjust insn length of shift
12366 insns.
12367 * config/h8300/h8300.md (anonymous shift patterns): Use
12368 compute_a_shift_length.
12369
430816ab 12370Sat Mar 2 06:30:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12371
a262ec1f 12372 * config/sparc/sparc.c (sparc_initialize_trampoline): Use
12373 trunc_int_for_mode.
12374
430816ab 12375 * emit-rtl.c (offset_address): Call update_temp_slot_address.
12376
e19896a4 123772002-03-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12378
12379 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
12380 * doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
12381 * flags.h (flag_zero_initialized_in_bss): Declare.
12382 * toplev.c (flag_zero_initialized_in_bss): New flag.
12383 (lang_independent_options): Add flag_zero_initialized_in_bss.
12384 * tree.c (initializer_zerop): New function.
12385 * tree.h (initializer_zerop): Declare.
12386 * varasm.c (assemble_variable): If we can emit bss, put zero
12387 initializers in the bss section.
12388
88aaa055 123892002-03-02 Alan Modra <amodra@bigpond.net.au>
12390
12391 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't
12392 like more than one symbol per .weak directive.
12393
26ddabcd 123942002-03-01 Richard Henderson <rth@redhat.com>
12395
12396 * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
12397 adjust argument_pointer by pretend_args_size.
12398 (ia64_va_start): Adjust va_start address by -pretend_args_size.
12399
21c71966 124002002-03-01 Kazu Hirata <kazu@hxi.com>
12401
12402 * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.
12403
2c3b2bf1 12404Fri Mar 1 20:59:14 CET 2002 Jan Hubicka <jh@suse.cz>
12405
12406 * toplev.c (rest_of_compilation): Delete dead jumptables before
12407 loop.
12408 * flow.c (delete_dead_jumptables): Make global.
12409 * rtl.h (delete_dead_jumptables): Declare.
12410
2740149d 124112002-03-01 David Edelsohn <edelsohn@gnu.org>
12412
12413 * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
12414 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
cb19c5ed 12415 * config/rs6000/xcoff.h (COLLECT_EXPORT_LIST): Delete.
2740149d 12416
f2702e8a 124172002-03-01 Kazu Hirata <kazu@hxi.com>
12418
12419 * config/h8300/h8300-protos.h: Fix formatting.
12420 * config/h8300/h8300.c: Likewise.
12421 * config/h8300/h8300.h: Likewise.
12422
58b67d36 124232002-03-01 Kazu Hirata <kazu@hxi.com>
12424
12425 * config/h8300/h8300.c (print_operand): Support 16-bit
12426 constant addresses.
12427 * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New.
12428
ead227c9 124292002-02-28 Richard Henderson <rth@redhat.com>
12430
12431 * expmed.c (store_bit_field): Prevent generation of CONCATs;
12432 pun complex values as integers; use gen_lowpart instead of
12433 gen_rtx_SUBREG.
12434 (extract_bit_field): Likewise.
12435
ee0125fb 124362002-03-01 Alan Modra <amodra@bigpond.net.au>
12437 David Edelsohn <edelsohn@gnu.org>
12438
12439 * doc/tm.texi (ASM_WEAKEN_DECL): Document.
12440 (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
12441 (SUPPORTS_WEAK): Likewise.
12442 * output.h (add_weak): Add tree param.
12443 * varasm.c (add_weak): Likewise. Save decl.
12444 (struct weak_syms): Add decl field.
12445 (mark_weak_decls): New function.
12446 (init_varasm_once): ggc_add_root mark_weak_decls.
12447 (assemble_start_function): Use ASM_WEAKEN_DECL.
12448 (assemble_variable): Likewise.
12449 (assemble_alias): Likewise.
12450 (declare_weak): Pass decl to add_weak.
12451 (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl.
12452 (remove_from_pending_weak_list): Declare and define for
12453 ASM_WEAKEN_DECL.
12454 * c-pragma.c (handle_pragma_weak): Adjust add_weak call.
12455 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
12456 * defaults.h (SUPPORTS_WEAK): Likewise.
12457 * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
12458 .weak for code sym. Do emit .size for descriptor sym.
12459 (ASM_DECLARE_FUNCTION_SIZE): Define.
12460 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
12461 (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here. Don't output
12462 .lglobl unless TARGET_XCOFF. Formatting fixes.
12463 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
12464 .weak for code sym.
12465 (HANDLE_PRAGMA_WEAK): Remove.
12466 (ASM_WEAKEN_LABEL): Remove.
12467 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
12468
7ebc28e0 124692002-03-01 Jason Merrill <jason@redhat.com>
12470
12471 * tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros.
12472 (TARGET_EXPR_CLEANUP): New macro.
12473
bfd242e8 124742002-02-28 Steve Ellcey <sje@cup.hp.com>
12475
12476 * doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
12477 to take ptr_extend into account as third type of extension.
12478 (SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
12479 fields used by SUBREG_PROMOTED_UNSIGNED_P.
12480 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
12481 (SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
12482 * calls.c (precompute_arguments): Use new macro.
12483 (expand_call): Ditto.
12484 * combine.c (nonzero_bits): Ditto.
12485 (record_promoted_value): Ditto.
12486 * expr.c (store_expr): Ditto.
12487 (expand_expr): Ditto.
12488 * function.c (assign_parms): Ditto.
12489
7e96c74a 124902002-02-28 Alexandre Oliva <aoliva@redhat.com>
12491
12492 * gcc.c (init_gcc_specs): Get -static and -static-libgcc to
12493 override -shared and -shared-libgcc.
12494
68345096 124952002-02-28 David O'Brien <obrien@FreeBSD.org>
12496
12497 * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
12498 of "ultrasparc".
12499 * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS. It appears
12500 to be broken.
12501
ea90c459 125022002-02-28 Richard Henderson <rth@redhat.com>
12503
12504 * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
12505 4 cycle latency from MM producers.
12506 (ia64_internal_sched_reorder): Likewise with pipeline flush.
12507
5fb1cdaf 125082002-02-28 Jakub Jelinek <jakub@redhat.com>
12509
12510 * mklibgcc.in: Don't use GNU make extension.
12511
d799a7a0 125122002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
12513
12514 * c-parse.in (STATIC): New terminal.
12515 (scspec): New non-terminal. Update productions accordingly.
12516 (program): Remove bogus ifc / end ifc.
12517 (array_declarator): Simplify production using STATIC.
12518
0b3481a4 125192002-02-28 Jim Meyering <meyering@lucent.com>
12520
12521 * cpplex.c (cpp_parse_escape): Restore mistakenly-removed code:
12522 \a still means TARGET_BELL.
12523
0b923690 125242002-02-28 Richard Henderson <rth@redhat.com>
12525
12526 * haifa-sched.c (sched_emit_insn): New.
12527 (schedule_block): Use last_scheduled_insn to track last insn.
12528 * sched-int.h (sched_emit_insn): Prototype.
12529 * config/ia64/ia64.c (last_issued): Remove.
12530 (ia64_variable_issue): Don't set it.
12531 (nop_cycles_until): Use sched_emit_insn.
12532
d5819eb8 125332002-02-28 Andrew MacLeod <amacleod@redhat.com>
12534
12535 * config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
12536 extended constants.
12537
b44470aa 125382002-02-28 Kazu Hirata <kazu@hxi.com>
12539
12540 * config/h8300/h8300.c: Fix formatting.
12541 * config/h8300/h8300.h: Likewise.
12542
fdd6a205 125432002-02-28 Marek Michalkiewicz <marekm@amelek.gda.pl>
12544
12545 * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
12546 which may overwrite the high byte of the frame pointer.
12547
e9390a94 125482002-02-28 Bo Thorsen <bo@suse.de>
12549
12550 * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
12551 (STARTFILE_SPEC): Add 64 bit files.
12552 (ENDFILE_SPEC): Likewise.
12553
7ebc28e0 125542002-02-28 Jason Merrill <jason@redhat.com>
4edb3605 12555
12556 * c-decl.c (finish_function): Only warn about missing return
12557 statement with -Wreturn-type.
12558
11808932 12559Don Feb 28 11:24:30 CET 2002 Jan Hubicka <jh@suse.cz>
12560
12561 * cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
12562
12563 * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
12564 PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
12565
308f9b79 12566Don Feb 28 11:07:36 CET 2002 Jan Hubicka <jh@suse.cz>
12567
12568 * basic-block.h (BB_REACHABLE): Renumber.
12569 (BB_DIRTY, BB_NEW): New flags.
12570 (clear_bb_flags): Declare.
12571 (update_life_info_in_dirty_blocks): Declare.
12572 * cfg.c (clear_bb_flags): New function.
12573 * cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
12574 * emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
12575 reorder_insns, emit_insn_after): Mark block as dirty.
12576 * flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
12577 (update_life_info_in_dirty_blocks): New function.
12578 * recog.c (apply_change_group): Dirtify block.
12579
12580 * cse.c (cse_insn): Reorder emitting of jump insn to keep
12581 cfg consistent.
12582 * gcse.c (delete_null_pointer_checks): Likewise.
12583
12584 * toplev.c (dump_file_index): Move cse2 after bp,
12585 add DFI_null
12586 (dump_file_info): Similary.
12587 (rest_of_compilation): Avoid most of CFG rebuilds;
12588 do first if converision after null pointer checks, do cse2
12589 after branch prediction; avoid full liveness rebuild after
12590 initializing subregs.
12591 * invoke.texi (-d options): Document -du, renumber.
12592
12593 * cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
12594 (notice_new_block): Do not set BB_UPDATE_LIFE.
12595 (try_forward_edges, merge_blocks_move_predecessor_nojumps,
12596 merge_blocks_move_successor_nojumps, merge_blocks,
12597 try_crossjump_to_edge): Likewise.
12598 (try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
12599 * cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
12600 * ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
12601 (merge_of_block): Do not use life_data_ok.
12602 (find_if_case_1): Do not use SET_UPDATE_LIFE.
12603 (if_convert): Use BB_DIRTY mechanizm to update life.
12604 * lcm.c (optimize_mode_switching): Update
12605 update_life_info_in_dirty_blocks
12606
dbc42b78 126072002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
12608
12609 * Makefile.in (integrate.o): Update.
12610 * c-decl.c (copy_lang_decl): Rename.
12611 * c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
12612 * integrate.c: Include langhooks.h.
12613 (copy_decl_for_inlining): Update to use langhook.
12614 * langhooks-def.h (lhd_do_nothing_t,
12615 LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
12616 (LANG_HOOKS_INITIALIZER): Update.
12617 * langhooks.c (lhd_do_nothing_t): New.
12618 * langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
12619 * tree.h (copy_lang_decl): Remove.
12620objc:
12621 * objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
12622
052c7a5c 126232002-02-27 Andrew MacLeod <amacleod@redhat.com>
12624
4268f174 12625 * dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
052c7a5c 12626 POST_DEC, and POST_MODIFY.
12627
3496a6b8 126282002-02-27 Zack Weinberg <zack@codesourcery.com>
12629
12630 * c-typeck.c (digest_init): Remove unused parameter; all
12631 callers changed.
12632
80cf4c75 126332002-02-27 Geoffrey Keating <geoffk@redhat.com>
12634
12635 * expmed.c (expand_shift): Correctly test for low part of a
12636 subreg.
12637
a8ef833a 126382002-02-27 Ulrich Weigand <uweigand@de.ibm.com>
12639
12640 * config/s390/s390.c (s390_chunkify_pool): Do not confuse
12641 insn UIDs with insn addresses.
12642
455730ef 126432002-02-27 Zack Weinberg <zack@codesourcery.com>
12644
12645 * c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
12646 c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
12647 cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
12648 builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
12649 gcc.c, toplev.c: Delete code implementing -traditional mode.
12650
12651 * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
12652 doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
12653 Document removal of -traditional mode for compilation, and
12654 remove documentation only relevant to that mode.
12655
12656 * config/nextstep.h, config/ptx4.h, config/svr4.h,
12657 config/convex/convex.h, config/d30v/d30v.h,
12658 config/i386/dgux.h, config/i386/osf1elf.h,
12659 config/i386/osfelf.h, config/i386/osfrose.h,
12660 config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
12661 config/m68k/hp310.h, config/m88k/dgux.h,
12662 config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
12663 config/m88k/m88k.h, config/m88k/openbsd.h,
12664 config/mips/abi64.h, config/mips/osfrose.h,
12665 config/mips/svr4-5.h, config/mips/svr4-t.h,
12666 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
12667 config/stormy16/stormy16.h: Remove all references to
12668 -traditional from target specs. Delete all mention of the
12669 no-longer-necessary TRADITIONAL_RETURN_FLOAT macro. Also
12670 delete a couple of commented-out definitions of
12671 DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
12672 to -traditional.
12673
12674 * system.h: Poison TRADITIONAL_RETURN_FLOAT.
12675 * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
12676
4c19a415 126772002-02-27 Zack Weinberg <zack@codesourcery.com>
12678
12679 * mklibgcc.in: Don't use \n in a line subject to
12680 interpretation by echo.
12681
c0924abf 126822002-02-27 Graham Stott <grahams@redhat.com>
12683
43422803 12684 * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
12685 Constify NAME.
12686
dfb8ebb3 12687 * loop.c (prescan_loop): Handle PARALLEL.
12688
3a64bedc 12689 * unroll.c (loop_iterations): Return 0 if the add_val for
12690 a BIV is REG.
12691
0d8434b0 12692 * final.c (output_operand_lossage): Constify PFX_STR.
12693
c0924abf 12694 * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
12695
2e97c9b7 12696Wed Feb 27 10:45:19 CET 2002 Jan Hubicka <jh@suse.cz>
12697
12698 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
12699 * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.
12700
7fedc09d 12701Wed Feb 27 10:39:20 CET 2002 Jan Hubicka <jh@suse.cz>
12702
12703 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
12704
d6af0368 127052002-02-27 Neil Booth <neil@daikokuya.demon.co.uk>
12706
12707 * cpplex.c (_cpp_lex_token): Handle directives in macro
12708 arguments.
12709 * cpplib.c (_cpp_handle_directive): Save and restore state
12710 if parsing macro args when entering a directive.
12711 * cppmacro.c (collect_args): No need to handle directives
12712 in macro arguments.
12713 (enter_macro_context, replace_args): Use the original macro
12714 definition in case it was redefined whilst collecting arguments.
12715doc:
12716 * cpp.texi: Update.
12717
fc54b737 127182002-02-26 David Edelsohn <edelsohn@gnu.org>
12719
12720 * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
12721 * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
12722 * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
12723 method on AIX.
12724 * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
12725 (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
12726 (load_toc_v4_PIC_2): Same.
12727
127282002-02-26 Alan Modra <amodra@bigpond.net.au>
12729
12730 * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
12731
eb415e91 127322002-02-26 Richard Henderson <rth@redhat.com>
12733
12734 * config/alpha/alpha.md (ashldi_se): Re-enable.
12735
c67ce487 127362002-02-26 Richard Henderson <rth@redhat.com>
12737
12738 * config/alpha/alpha.c (alpha_encode_section_info): Examine
12739 MODULE_LOCAL_P; improve commentary.
12740
e22e0554 127412002-02-26 Zack Weinberg <zack@codesourcery.com>
12742
12743 * doc/cpp.texi: Clarify documentation of relationship between
12744 #line and #include.
12745
6ad7df02 127462002-02-26 Kazu Hirata <kazu@hxi.com>
12747
12748 * config/h8300/h8300-protos.h: Update the prototype for
12749 compute_logical_op_length. Add the prototype for
12750 compute_logical_op_cc.
12751 * config/h8300/h8300.c (compute_logical_op_length): Figure out
12752 code from operands.
12753 (compute_logical_op_cc): New.
12754 * config/h8300/h8300.md: Combine all the logical op patterns
12755 in HImode and SImode. Use compute_logical_op_cc.
12756
4fc5f895 127572002-02-26 Kelley Cook <kelleycook@comcast.net>
12758
12759 * config/i386/i386.c (print_operand): Don't append ATT-style
12760 length suffixs to x87 opcodes when in Intel mode.
12761
89dd3424 127622002-02-26 Ryan T. Sammartino <ryants@shaw.ca>
12763
12764 * emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
12765 (init_emit_once): Update calls.
12766 * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
12767 (init_syntax_once): Prototype.
12768
57985e3a 127692002-02-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
12770
12771 * pa-linux.h (LIB_SPEC): Update definition.
12772 * pa32-linux.h (LINK_COMMAND_SPEC): Delete.
12773
2e2347b5 127742002-02-26 Richard Henderson <rth@redhat.com>
12775
12776 * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
12777 if we emitted a stop bit.
12778
e8c2499b 127792002-02-26 Jakub Jelinek <jakub@redhat.com>
12780
12781 * configure.in (libgcc_visibility): Substitute.
12782 * configure: Rebuilt.
12783 * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
12784 defined symbols .hidden.
12785
b4cf9ec1 127862002-02-26 Jakub Jelinek <jakub@redhat.com>
12787
12788 * attribs.c (c_common_attribute_table): Add visibility.
12789 (handle_visibility_attribute): New function.
12790 * varasm.c (assemble_visibility): New function.
12791 * output.h (assemble_visibility): Add prototype.
12792 * tree.h (MODULE_LOCAL_P): Define.
12793 * crtstuff.c (__dso_handle): Use visibility attribute.
12794 * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
12795 for MODULE_LOCAL_P symbols too.
12796 * config/ia64/ia64.c (ia64_encode_section_info): Handle
12797 MODULE_LOCAL_P symbols the same way as local symbols.
12798 Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
12799 into .sdata/.sbss by the user.
12800 * doc/extend.texi (Function Attributes): Document visibility
12801 attribute.
12802
7e032860 128032002-02-26 Jakub Jelinek <jakub@redhat.com>
12804
12805 PR debug/5770
12806 * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
12807 STRING_CST initializer spanning the whole variable without
12808 embedded zeros.
12809 If expand_expr returned MEM, don't use it.
12810
6e1e0aa6 128112002-02-26 Alexandre Oliva <aoliva@redhat.com>
12812
12813 * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
12814 generate a die for the lexical block.
12815
359e4f59 128162002-02-26 Kazu Hirata <kazu@hxi.com>
12817
12818 * config/h8300/h8300-protos.h: Add a prototype for
12819 compute_logical_op_length.
12820 * config/h8300/h8300.c (compute_logical_op_length): New.
12821 * config/h8300/h8300.md (anonymous logical patterns): Use
12822 compute_logical_op_length for length.
12823
d5b04d83 128242002-02-26 Aldy Hernandez <aldyh@redhat.com>
12825
4fc5f895 12826 * dwarf2out.c (modified_type_die): Do not call type_main_variant
12827 for vectors.
12828 (gen_type_die): Same.
d5b04d83 12829
4fc5f895 12830 * attribs.c (handle_vector_size_attribute): Set debug information.
d5b04d83 12831
019f2e94 128322002-02-26 Daniel Egger <degger@fhm.edu>
12833
4fc5f895 12834 * config/rs6000/rs6000.md: Swap define_insn attributes to
12835 fix incorrect generation of merge high instructions instead
12836 of merge low.
019f2e94 12837
e4cd04dc 128382002-02-26 Aldy Hernandez <aldyh@redhat.com>
12839
4fc5f895 12840 * c-typeck.c (really_start_incremental_init): Use
12841 bitsize_zero_node for vectors.
e4cd04dc 12842
d0100867 128432002-02-26 Aldy Hernandez <aldyh@redhat.com>
12844
4fc5f895 12845 * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
12846 ("*set_vrsave_internal"): Same.
d0100867 12847
78e5555a 128482002-02-25 Richard Henderson <rth@redhat.com>
12849
12850 * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
12851 in EXPAND_SUM case. Use host_integerp/tree_low_cst.
12852
ab5922bb 128532002-02-25 Jakub Jelinek <jakub@redhat.com>
12854
12855 PR target/5755
12856 * config/i386/i386.c (ix86_return_pops_args): Only pop
12857 fake structure return argument if it was passed on the stack.
12858
e56de52f 128592002-02-25 Jason Merrill <jason@redhat.com>
12860
12861 * attribs.c (decl_attributes): Also re-layout PARM_DECL and
12862 RESULT_DECL.
12863
48285a3c 128642002-02-25 Alexandre Oliva <aoliva@redhat.com>
12865
12866 * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
12867 link with shared_name only.
12868 * doc/invoke.texi (Link Options): Document new behavior.
12869
b345b1ff 128702002-02-25 Aldy Hernandez <aldyh@redhat.com>
12871
4fc5f895 12872 * c-typeck.c (push_init_level): Handle vectors.
b345b1ff 12873
73e0f929 128742002-02-25 Alexandre Oliva <aoliva@redhat.com>
12875
12876 * config/sparc/sparc.c (const64_high_operand): Zero-extend
12877 operands of SPARC_SETHI_P.
12878 (input_operand): Likewise.
12879 (sparc_emit_set_const32): Likewise.
12880 * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
12881 (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
12882 (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'. Add `N' as SETHI.
12883 * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
12884 (movdi_insn_sp64_vis): Likewise.
12885 (movdi split, movdf split): Use SETHI32.
12886 * doc/md.texi: Document SPARC constraints L, M and N.
12887
894a5e3b 128882002-02-25 Aldy Hernandez <aldyh@redhat.com>
12889
4fc5f895 12890 * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
12891 ("*set_vrsave_internal"): use mfspr for Darwin.
894a5e3b 12892
4fc5f895 12893 * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
12894 gen_get_vrsave_internal.
894a5e3b 12895
8b315642 12896Sun Feb 24 16:38:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12897
12898 * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
12899
b3a9482f 129002002-02-24 Neil Booth <neil@daikokuya.demon.co.uk>
12901
12902 * cpplex.c (cpp_interpret_charconst): Get signedness or
12903 otherwise of wide character constants correct.
12904 * cppexp.c (lex): Get signedness of wide charconsts correct.
12905
e99172f2 12906Sun Feb 24 07:41:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12907
12908 * optabs.c (widen_operand): Only call convert_modes for
12909 promoted SUBREG if signedness matches.
12910 * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
12911
92b1c81a 129122002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
12913
12914 * cpplib.c (glue_header_name): Use local buffer to build up
12915 header name.
12916
809ec257 129172002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
12918
12919 * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
12920
7ef78393 129212002-02-23 Kazu Hirata <kazu@hxi.com>
12922
12923 * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
12924 H8/300[HS] separately.
12925 * config/h8300/h8300.md: Remove the early clobber constraint
12926 from bit field patterns.
12927
4a1ea6f4 129282002-02-23 Kazu Hirata <kazu@hxi.com>
12929
12930 * config/h8300/h8300.md (mulqihi3): Tighten predicates to
12931 register_operand.
12932 (mulhisi3): Likewise.
12933 (umulqisi3): Likewise.
12934 (umulhisi3): Likewise.
12935
9d4c611a 129362002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
12937
12938 * cppinit.c (output_deps): Correct test for stdout output.
12939 (init_dependency_output): Cure warning.
12940
8ffee379 12941Sat Feb 23 08:42:47 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12942
12943 * expr.c (store_expr): When converting expression to promoted
12944 equivalent type, allow using SUBREG_REG of TARGET as the target
12945 of the expansion of EXP.
12946 * loop.c (basic_induction_var, case SUBREG): Always look inside.
12947 * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
12948 (alpha_emit_set_const): Handle SImode when can't make new pseudos.
12949 (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
12950 * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
12951
228c5b30 129522002-02-23 Joseph S. Myers <jsm28@cam.ac.uk>
12953
12954 * doc/contribute.texi, doc/extend.texi, doc/install.texi,
12955 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
12956 doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
12957
5f2a9f4c 129582002-02-23 Jakub Jelinek <jakub@redhat.com>
12959
12960 PR optimization/5747
12961 * loop.c (scan_loop): Update reg info if move_movables created new
12962 pseudos.
12963
4a7d68d1 129642002-02-23 David Edelsohn <edelsohn@gnu.org>
12965
12966 * gcc.c (init_gcc_spec): Revert last change.
12967
3bc7190a 129682002-02-23 David Edelsohn <edelsohn@gnu.org>
12969
12970 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
12971 gpc_reg_operand constraint.
12972
129732002-02-23 Alan Modra <amodra@bigpond.net.au>
12974
12975 * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
12976 Simplify comparison of `low'.
12977 (add_operand): Fix formatting.
12978 (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
56f833c0 12979 (mask_operand): Disallow mask to wrap in 64-bit mode.
3bc7190a 12980 (rs6000_stack_info): Remove redundant test setting push_p.
12981 (output_toc): Fix formatting.
12982 * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
12983 cc_reg_not_cr0_operand constraint.
12984 (booldi3, boolcdi3 splitters): Same.
12985
60385b36 129862002-02-23 Aldy Hernandez <aldyh@redhat.com>
12987
4fc5f895 12988 * config/rs6000/altivec.h: Add extra level of parentheses on casts.
60385b36 12989
e0d9f0c0 129902002-02-22 David Edelsohn <edelsohn@gnu.org>
12991
12992 * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
12993 gcc invoked with -shared-libgcc.
12994
2ed38b79 129952002-02-22 Jakub Jelinek <jakub@redhat.com>
12996
12997 PR c++/5748
12998 * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
12999 decl if any of elements was TREE_USED.
13000
fb124916 130012002-02-22 Alexandre Oliva <aoliva@redhat.com>
13002
13003 * config/sparc/sol2.h: Don't include sys/mman.h.
13004 * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
13005 (arith_4096_operand): Don't throw high bits away.
13006 (const64_operand): Take sign extension of CONST_INTs into account.
13007 (const64_high_operand, sparc_emit_set_const32): Likewise.
13008 (GEN_HIGHINT64): Likewise.
13009 (sparc_emit_set_const64_quick1): Likewise.
13010 (const64_is_2insns): Likewise.
13011 (print_operand): Use trunc_int_for_mode for sign extension.
13012 * config/sparc/sparc.h (SMALL_INT32): Likewise.
13013 * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
13014 chars. Assume CONST_INT is already properly sign-extended.
13015 (movdi split): Sign-extend each SImode part.
13016 (andsi3 split): Don't mask high bits off, so that result
13017 remains properly sign-extend.
13018 (iorsi3 split): Likewise.
13019 (xorsi3 split): Likewise.
13020
857e6cf0 130212002-02-22 Richard Sandiford <rsandifo@redhat.com>
13022
13023 * fold-const.c (fold): Fix typo in comments.
13024
688a134e 130252002-02-21 Diego Novillo <dnovillo@redhat.com>
13026
13027 * Makefile.in (langhooks.o): Update dependencies.
13028
341c61b7 130292002-02-21 Diego Novillo <dnovillo@redhat.com>
13030
13031 * langhooks.c: Include flags.h.
13032
af87ad83 130332002-02-21 Aldy Hernandez <aldyh@redhat.com>
13034
13035 * testsuite/gcc.dg/attr-alwaysinline.c: New.
13036
13037 * c-common.c (c_common_post_options): Set inline trees by
13038 default.
13039
13040 * doc/extend.texi (Function Attributes): Document always_inline
13041 attribute.
13042 Update documentation about inlining when not optimizing.
13043
13044 * cp/decl.c (duplicate_decls): Merge always_inline attribute.
13045
13046 * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
13047 unless DECL_ALWAYS_INLINE.
13048
13049 * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
13050 unless DECL_ALWAYS_INLINE.
13051 (c_disregard_inline_limits): Disregard if always_inline set.
13052
13053 * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
13054 Disregard if always_inline set.
13055 (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
13056 unless DECL_ALWAYS_INLINE.
13057
13058 * attribs.c (handle_always_inline_attribute): New.
13059 (c_common_attribute_table): Add always_inline.
13060
13061 * config/rs6000/altivec.h: Add prototypes for builtins
13062 requiring the always_inline attribute.
13063
a4194ff7 130642002-02-21 Eric Christopher <echristo@redhat.com>
13065
13066 * expmed.c (store_bit_field): Try to simplify the subreg
13067 before generating a new one when when the mode size of
13068 value is less than maxmode.
13069
fac6aae6 130702002-02-21 Richard Henderson <rth@redhat.com>
13071
13072 * emit-rtl.c (offset_address): Use simplify_gen_binary rather
13073 than gen_rtx_PLUS to form the sum.
13074 * explow.c (force_reg): Rearrange to not allocate new pseudo
13075 when force_operand returns a register.
13076 * expr.c (expand_assignment): Allow offset_rtx expansion to
13077 return a sum. Do not force addresses into registers.
13078 (expand_expr): Likewise.
13079 * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
13080 to canonicalize arithmetic that didn't simpify.
13081 (simplify_plus_minus): New argument force; update
13082 all callers. Don't split CONST unless we can do something with it,
13083 and wouldn't lose the constness of the operands.
13084
13085 * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
13086 that we generated earlier.
13087
bfba49c6 130882002-02-21 Tom Tromey <tromey@redhat.com>
13089
13090 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
13091 (output_line_info): Use constant `1', with a long explanatory
13092 comment.
13093 * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
13094
7f8c3466 13095Thu Feb 21 22:43:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
13096
13097 * jump.c (redirect_jump): If old label has no UID, don't try to
13098 delete it.
13099
b06aca5f 13100Thu Feb 21 21:17:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
13101
13102 * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
13103 If input is constant, do shifts at compile time.
13104
8bdbaccf 131052002-02-21 Joseph S. Myers <jsm28@cam.ac.uk>
13106
13107 * doc/extend.texi: Fix some more overfull hboxes.
13108
cf3dc086 131092002-02-21 Jakub Jelinek <jakub@redhat.com>
13110
13111 PR optimization/4994
13112 * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
13113 register moves.
13114
131152002-02-21 Jakub Jelinek <jakub@redhat.com>
6de9716c 13116
13117 PR c++/4574
13118 * expr.h (expand_and): Add mode argument.
13119 * expmed.c (expand_and): Add mode argument.
13120 (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
13121 * expr.c (store_field, expand_expr, do_store_flag): Likewise.
13122 * except.c (expand_builtin_extract_return_addr): Likewise.
13123 * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
13124 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
13125 * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
13126 Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
13127 * config/c4x/c4x.md: Use GEN_INT (x) instead of
13128 gen_rtx (CONST_INT, VOIDmode, x).
13129
47ed174f 131302002-02-21 Jakub Jelinek <jakub@redhat.com>
13131
13132 PR c/4697:
13133 * stmt.c (warn_if_unused_value): Move side effects test once more.
13134
78498602 131352002-02-20 Torbjorn Granlund <tege@swox.com>
13136
13137 * config/avr/avr.md: Add more patterns for mized-mode add and subtract
4fc5f895 13138 (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
78498602 13139
11896b36 13140Thu Feb 21 16:20:46 2002 Alexandre Oliva <aoliva@redhat.com>
13141
13142 * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
13143 SUBREG or ZERO_EXTEND.
13144
bf622d7d 13145Thu Feb 21 15:35:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
13146
13147 * sh.h (current_function_anonymous_args): Remove.
13148 (SETUP_INCOMING_VARARGS): Don't set it - just check that one
13149 of current_function_varargs and current_function_stdarg is set.
13150 * sh.c (sh_expand_prologue): Check current_function_varargs /
13151 current_function_stdarg / TARGET_SH5 instead of
13152 current_function_anonymous_args.
13153
13154 * sh64.h (TARGET_VERSION): Define.
13155
6007cde0 131562002-02-20 David Edelsohn <edelsohn@gnu.org>
13157
13158 * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
13159 VRSAVE_REGNO on TARGET_ALTIVEC.
13160
131612002-02-20 Alan Modra <amodra@bigpond.net.au>
13162
13163 * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
13164 bits of SImode const_int.
13165 (includes_rshift_p): Likewise.
13166 (print_operand): Call mask_operand and mask64_operand with correct
a4194ff7 13167 mode.
6007cde0 13168 (rs6000_output_function_epilogue): Pad traceback table to word.
13169 * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
13170 (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
13171 mask64_operand with correct mode.
6007cde0 13172 (FUNCTION_ARG_REGNO_P): Correct parentheses.
13173
7ad1c520 131742002-02-20 Jakub Jelinek <jakub@redhat.com>
13175
13176 PR debug/4461
13177 * varasm.c (get_pool_constant_mark): New.
13178 * rtl.h (get_pool_constant_mark): Add prototype.
13179 * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
13180 be represented if it has not been output.
13181
bd72d0ee 131822002-02-20 Alexandre Oliva <aoliva@redhat.com>
13183
13184 * combine.c (do_SUBST): Sanity check substitutions of
13185 CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
13186 (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
13187 CONST_INT into its operand.
13188 (known_cond): Likewise, for ZERO_EXTEND.
13189 * simplify-rtx.c (simplify_unary_operation): Fix condition to
13190 allow for simplification of wide modes. Reject CONST_INTs in
13191 ZERO_EXTEND when their actual mode is not given.
13192
e3a2e745 131932002-02-20 Alexandre Oliva <aoliva@redhat.com>
13194
13195 * c-decl.c (pushdecl): If no global declaration is found for an
13196 extern declaration in block scope, try a limbo one.
13197
1c26100f 131982002-02-20 Jakub Jelinek <jakub@redhat.com>
13199
13200 PR c++/4401
13201 * c-common.c (pointer_int_sum): Moved from...
13202 * c-typeck.c (pointer_int_sum): ...here.
13203 * c-common.h (pointer_int_sum): Add prototype.
13204
9accf3d9 132052002-02-20 Jakub Jelinek <jakub@redhat.com>
13206
13207 PR c++/5713
13208 * c-decl.c (duplicate_decls): Return 0 if issued error about
13209 redeclaration.
13210
c53485bb 132112002-02-20 Roger Sayle <roger@eyesopen.com>
13212 Jakub Jelinek <jakub@redhat.com>
13213
13214 PR c/4389
13215 * tree.c (host_integerp): Ensure that the constant integer is
13216 representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
13217 when pos is zero or non-zero respectively. Clarify comment.
13218 * c-format.c (check_format_info_recurse): Fix host_integerp
13219 usage; the pos argument should be zero when assigning to a
13220 signed HOST_WIDE_INT.
13221
36747d13 132222002-02-20 Richard Henderson <rth@redhat.com>
13223
13224 * config/i386/i386.c (ix86_expand_vector_move): Use the mode
13225 of the operand, rather than assuming TImode.
13226 (ix86_expand_binop_builtin): Cope with commutative patterns
13227 using nonimmediate_operand for both operands.
13228 (ix86_expand_timode_binop_builtin): Likewise.
13229 (ix86_expand_store_builtin): Validate operand 1.
13230 (ix86_expand_unop1_builtin): Likewise.
13231
1012b320 132322002-02-20 Philip Blundell <philb@gnu.org>
a4194ff7 13233
1012b320 13234 PR 5705
13235 * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
13236
4f520835 132372002-02-20 Richard Henderson <rth@redhat.com>
13238
13239 PR c/5615
13240 * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
13241
f21ce30d 132422002-02-20 Tom Tromey <tromey@redhat.com>
13243
13244 * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
13245 * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
13246 * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
13247 * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
13248 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
13249 unconditionally.
13250
2784c617 13251Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
13252
13253 * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
13254 for (const_int 0) in X not just INTVAL.
13255
8e1103d3 132562002-02-20 Joseph S. Myers <jsm28@cam.ac.uk>
13257
13258 * doc/extend.texi: Avoid or reduce overfull hboxes.
13259
5e862a70 132602002-02-20 Diego Novillo <dnovillo@redhat.com>
13261
13262 * expmed.c (store_bit_field): Do not store bit fields using SUBREG
13263 operations if the field does not start at a mode boundary.
13264
6cedc59a 132652001-02-20 Joel Sherrill <joel@OARcorp.com>
13266
13267 * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
13268 config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
13269 Also done for -Acpu and -Amachine.
13270
5ca8af9f 132712002-02-20 Neil Booth <neil@daikokuya.demon.co.uk>
13272
13273 * cppinit.c (init_dependency_output): Take deps output file
13274 from -o if none given with -MF. Suppress normal output.
a4194ff7 13275 * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
5ca8af9f 13276 * doc/cpp.texi, doc/invoke.texi: Update.
13277
686ddf2e 132782002-02-19 Zack Weinberg <zack@codesourcery.com>
13279
13280 * toplev.c (output_quoted_string): Write unprintable
13281 characters with octal escapes.
13282
5785723a 132832002-02-19 David Edelsohn <edelsohn@gnu.org>
13284
13285 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
13286 really_call_used[VRSAVE_REGNO] if not Altivec.
13287
132882002-02-19 Alan Modra <amodra@bigpond.net.au>
a4194ff7 13289
5785723a 13290 * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
13291 MODE_MASK.
13292 (constant_pool_expr_1): Fix formatting.
13293 (rs6000_legitimize_reload_address): Likewise.
13294
93b33a73 13295Tue Feb 19 20:13:57 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13296
13297 * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
13298 now that we have one.
13299
20f2763e 133002002-02-19 Zack Weinberg <zack@codesourcery.com>
13301
13302 * tree.h (struct tree_common): Remove aux. Add unused_0 at
13303 end of first block of bitfields (which was only seven bits);
13304 rename dummy to unused_1; remove comment which is no longer true.
13305
b523e5a0 133062002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
13307
13308 * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
13309
1675c6e9 133102002-02-19 Philip Blundell <pb@nexus.co.uk>
13311
0ea7b219 13312 PR 5399
1675c6e9 13313 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
13314 if generating PIC.
13315
13316 PR 5054
13317 * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
13318 arm_is_longcall_p rather than inspecting call-type cookie
13319 directly.
13320 (call_value_insn) [TARGET_THUMB]: Likewise.
13321
78a23ef4 133222002-02-19 Graham Stott <grahams@redhat.com>
13323
13324 * config/i386/i386.c (ix86_expand_builtin): Fix typo.
13325
3c6e13d9 133262002-02-19 David Edelsohn <edelsohn@gnu.org>
13327
13328 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
13329 ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
268ae5e9 13330 (FP_SAVE_INLINE): Delete.
3c6e13d9 13331
13332 * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
13333 * config/rs6000/eabi.asm: Remove ABI save restore routines.
13334 * config/rs6000/t-ppccomm: Build crtsavres.o.
13335 * config/rs6000/crtsavres.asm: New file.
13336
4a5f62e2 133372002-02-19 Philip Blundell <philb@gnu.org>
13338
13339 * config/arm/arm.c (use_return_insn): Don't reject interrupt
13340 functions.
13341 (arm_compute_save_reg_mask): Save LR for interrupt functions too.
13342 (output_return_instruction): Allow interrupt functions to return with
13343 ldmfd sp!, {... pc}^. Use LDR to restore any single register.
13344 (arm_expand_prologue): Subtract 4 before stacking LR in an
13345 interrupt function.
13346
77744024 133472002-02-19 Philip Blundell <pb@nexus.co.uk>
13348
13349 * config/arm/arm.c (arm_encode_call_attribute): Operate on any
13350 decl, not just FUNCTION_DECL.
13351 (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
13352 (arm_assemble_integer): Likewise.
13353 * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
13354 marked local.
a4194ff7 13355
1897a3df 133562002-02-19 matthew green <mrg@eterna.com.au>
13357
13358 * config.gcc (sparc-*-netbsdelf*): Enable target.
13359 (sparc64-*-netbsd*): New target.
13360 * config/sparc/netbsd-elf.h: New file.
13361 * config/sparc/t-netbsd64: New file.
13362
77f0d102 133632002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
13364
13365 * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
13366
6c311a26 133672002-02-19 Ryan T. Sammartino <ryants@shaw.ca>
13368
13369 * doc/invoke.texi: explicitly list the style guidelines that
13370 -Weffc++ checks for.
13371
33bb1b3f 13372Tue Feb 19 12:37:23 CET 2002 Jan Hubicka <jh@suse.cz>
13373
13374 * regmove.c (regmove_optimize): Avoid increasing of register pressure.
13375
f89781d7 133762002-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
13377
13378 PR other/5718
13379 * gcc.c (cpp_unique_options): Treat -o as indicating object file
13380 only if not -E. If -E, pass -o through to the preprocessor.
13381
fc78530c 133822002-02-19 Kazu Hirata <kazu@hxi.com>
13383
13384 * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
13385 register number with an appropriate macro.
13386
e981b81b 133872002-02-19 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
13388
13389 * doc/rtl.texi (Constants): Close @code tag.
13390
e4757a47 133912002-02-19 Aldy Hernandez <aldyh@redhat.com>
13392
13393 * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
13394 ("mmx_uavgv4hi3"): Same.
13395 ("pmulhrwv4hi3"): Same.
13396
13397 * tree-inline.c (walk_tree): Handle vectors.
13398
13399 * c-common.c (constant_expression_warning): Handle vectors.
13400 (overflow_warning): Same.
13401
13402 * sched-deps.c (sched_analyze_2): Handle vectors.
13403
13404 * rtlanal.c (rtx_unstable_p): Handle vectors.
13405 (rtx_varies_p): Same.
13406 (count_occurrences): Same.
13407 (regs_set_between_p): Same.
13408 (modified_between_p): Same.
13409 (modified_in_p): Same.
13410 (volatile_insn_p): Same.
13411 (volatile_refs_p): Same.
13412 (side_effects_p): Same.
13413 (may_trap_p): Same.
13414 (inequality_comparisons_p): Same.
13415 (replace_regs): Same.
13416 (computed_jump_p_1): Same.
13417
13418 * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
13419 argument.
13420 (inner_mode_array): New.
13421 (copy_rtx): Handle vectors.
13422 (copy_most_rtx): Same.
13423 (rtx_equal_p): Same.
13424 (get_mode_alignment): Adjust for vectors.
13425
13426 * resource.c (mark_referenced_resources): Handle vectors.
13427 (mark_set_resources): Same.
13428
13429 * reload1.c (eliminate_regs): Handle vectors.
13430 (elimination_effects): Same.
13431 (scan_paradoxical_subregs): Same.
13432
13433 * reload.c (subst_reg_equivs): Handle vectors.
13434
13435 * regrename.c (scan_rtx): Handle vectors.
13436
13437 * regclass.c (reg_scan_mark_refs): Handle vectors.
13438
13439 * recog.c (find_single_use_1): Handle vectors.
13440
13441 * local-alloc.c (equiv_init_varies_p): Handle vectors.
13442 (contains_replace_regs): Same.
13443 (memref_referenced_p): Same.
13444
13445 * integrate.c (copy_rtx_and_substitute): Handle vectors.
13446 (subst_constants): Same.
13447
13448 * genattrtab.c (attr_copy_rtx): Handle vectors.
13449 (encode_units_mask): Same.
13450 (clear_struct_flag): Same.
13451 (count_sub_rtxs): Same.
13452
13453 * gcse.c (want_to_gcse_p): Handle vectors.
13454 (oprs_unchanged_p): Same.
13455 (hash_expr_1): Same.
13456 (oprs_not_set_p): Same.
13457 (expr_killed_p): Same.
13458 (compute_transp): Same.
13459 (store_ops_ok): Same.
13460
13461 * function.c (purge_addressof_1): Do not allow paradoxical subregs
13462 of vectors.
13463 (fixup_var_refs_1): Same.
13464 (instantiate_virtual_regs_1): Same.
13465
13466 * fold-const.c (operand_equal_p): Handle vectors.
13467 (fold): Same.
13468 (rtl_expr_nonnegative_p): Same.
13469
13470 * flow.c (mark_used_regs): Handle vectors.
13471
13472 * df.c (df_uses_record): Handle vectors.
13473
13474 * cselib.c (cselib_subst_to_values): Handle vectors.
13475 (cselib_mem_conflict_p): Same.
13476 (hash_rtx): Same.
13477
13478 * cse.c (canon_reg): Handle vectors.
13479 (fold_rt): Same.
13480 (cse_process_notes): Same.
13481 (count_reg_usage): Same.
13482 (canon_hash): Same.
13483
13484 * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
13485
13486 * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
13487
13488 * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
13489 (gen_rtx): Handle CONST_VECTOR.
13490 (gen_const_vector_0): New.
13491 (copy_rtx_if_shared): CONST_VECTORs can be shared.
13492 (reset_used_flags): Same.
13493 (copy_insn_1): Same.
13494 (initializer_constant_valid_p): Handle VECTOR_CST.
13495
13496 * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
13497
13498 * doc/rtl.texi (Constants): Document const_vector.
13499 (CONST0_RTX): Update for vectors.
13500 (RTL sharing): Same.
13501
13502 * print-tree.c (print_node): Add case for VECTOR_CST.
13503
13504 * tree.h (TREE_VECTOR_CST_ELTS): New.
13505 (struct tree_vector): New.
13506 (union tree_node): Add vector node.
13507 (build_vector): Add prototype.
13508
13509 * tree.def (VECTOR_CST): New.
13510
13511 * tree.c (build_vector): New.
13512
13513 * expmed.c (make_tree): Handle CONST_VECTOR.
13514
13515 * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
13516 (CONST_VECTOR_ELT): New.
13517 (CONST_VECTOR_NUNITS): New.
13518
13519 * machmode.h (GET_MODE_INNER): New.
13520 (DEF_MACHMODE): Accept 8th arg.
13521
13522 * machmode.def: Add 8th argument for vector inner mode.
13523 Add inner vector modes for vectors.
13524
13525 * rtl.def (VEC_CONST): Remove.
13526 (CONST_VECTOR): New.
13527
13528 * expr.c (clear_storage): Allow vectors.
13529 (is_zeros_p): Handle VECTOR_CST.
13530
13531 * varasm.c (output_constant_pool): Handle vectors.
13532 (rtx_const): Add veclo and vechi fields.
13533 (kind): Add RTX_VECTOR.
13534 (decode_rtx_const): Add case for vector.
13535
13536 * config/rs6000/rs6000-protos.h: Add zero_constant.
a4194ff7 13537
e4757a47 13538 * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
13539 constants. Force easy vector constants into memory.
13540 (easy_vector_constant): New.
13541 (emit_easy_vector_constant): New.
13542 (rs6000_legitimize_reload_address): Do not generate bad reloads on
13543 darwin.
13544
13545 * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
13546 instruction does.
13547 ("altivec_lvxl"): Same.
13548 (altivec_lvebx): Same.
13549 (altivec_lvehx): Same.
13550 (altivec_lvewx): Same.
13551 ("*movv4si_const0"): New.
13552 ("*movv4sf_const0"): New.
13553 ("*movv8hi_const0"): New.
13554 ("*movv16qi_const0"): New.
13555
ad992f91 135562002-02-18 Kazu Hirata <kazu@hxi.com>
13557
13558 * config/h8300/h8300.c (notice_update_cc): Use
13559 cc_status.value2.
13560
ec708c23 135612002-02-18 Kazu Hirata <kazu@hxi.com>
13562
13563 * config/h8300/h8300.md (divmod patterns): Change the
13564 constraints for operands[1] to register_operand.
13565
a7b07d19 135662002-02-18 Kazu Hirata <kazu@hxi.com>
13567
13568 * config/h8300/h8300-protos.h: Remove the prototype for
13569 p_operand.
13570 * config/h8300/h8300.c (p_operand): Remove.
13571 * config/h8300/h8300.md: Replace p_operand with
13572 const_int_operand.
13573
71d934e9 135742002-02-18 Philip Blundell <pb@nexus.co.uk>
13575
13576 * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
13577 comment.
13578 (output_return_instruction): Allow use of LDR to unstack
13579 return addresss even for interrupt handlers or when
13580 interworking. If compiling for ARMv5, use interworking-safe
13581 return instructions by default. Remove duplicated code and
13582 lengthy "strcat" sequences.
13583
079c4432 135842002-02-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
13585
13586 * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
13587 (LINK_EH_SPEC): Define.
13588 * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
13589
7bbebc45 135902002-02-18 Ulrich Weigand <uweigand@de.ibm.com>
13591
13592 * config/s390/s390.c (s390_emit_prologue): Do not set the
13593 frame_related flag for call-clobbered registers.
13594
484e4581 13595Mon Feb 18 15:07:35 CET 2002 Jan Hubicka <jh@suse.cz>
13596
13597 * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
13598 (construct_container): Fix handling of SSE operands.
13599 (ix86_expand_builtin): Fix handling of 64bit pointers.
13600 (mmx_maskmovq_rex): New pattern.
13601
00e8d5e7 13602Mon Feb 18 11:55:55 CET 2002 Jan Hubicka <jh@suse.cz>
13603
13604 * regrename.c (kill_set_value): Handle subregs properly.
13605
15f81125 136062002-02-18 David Billinghurst <David.Billinghurst@riotinto.com>
13607
13608 * objc/objc-act.c (handle_impent): Remove leading '*'
a4194ff7 13609 from objc_class_name.
15f81125 13610
792433e3 136112002-02-17 Richard Henderson <rth@redhat.com>
13612
13613 * config/alpha/alpha.c (some_small_symbolic_operand,
13614 some_small_symbolic_operand_1, split_small_symbolic_operand,
13615 split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
13616 Handle small SYMBOL_REFs anywhere, not just inside memories.
13617 * config/alpha/alpha-protos.h: Update.
13618 * config/alpha/alpha.h (PREDICATE_CODES): Update.
13619 * config/alpha/alpha.md (small symbolic operand splitter): Update.
13620
fca26bb8 136212002-02-17 Roland McGrath <roland@frob.com>
13622
13623 * config.gcc (powerpc-*-gnu-gnualtivec*,
13624 powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
13625 * config/rs6000/gnu.h: New file.
13626 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
13627 Grok "gnu" in rs6000_abi_name.
13628 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
13629 CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
13630 Grok -mcall-gnu analogous to -mcall-linux et al.
13631 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
13632 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
13633 (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
13634
ca982002 136352002-02-17 Jakub Jelinek <jakub@redhat.com>
13636
13637 PR c/3444:
13638 * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
13639 shortening.
13640
a3b8e004 136412002-02-17 Philipp Thomas <pthomas@suse.de>
13642
13643 * config/cris/cris.h: Undefine STARTFILE_SPEC and
13644 ENDFILE_SPEC before (re)defining them.
13645
81c3eb11 136462002-02-17 Kazu Hirata <kazu@hxi.com>
13647
13648 * config/h8300/h8300.c: Fix formatting.
13649 * config/h8300/h8300.h: Likewise.
13650
516726bd 136512002-02-17 Philipp Thomas <pthomas@suse.de>
13652
13653 * doc/tm.texi: Explain why empty strings should not be
13654 marked for translation.
13655
a1657b95 136562002-02-17 Philipp Thomas <pthomas@suse.de>
13657
13658 * final.c (output_operand_lossage): Changed to accept
13659 printf style arguments. Change calls where necessary.
13660 * output.h (output_operand_lossage): Change declaration
13661 accordingly. Update copyright.
13662 * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
13663 config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
13664 Update copyright date where necessary.
a4194ff7 13665
a1657b95 13666 * config/i386/i386.c (print_operand): Likewise. Remove use of
13667 sprintf.
13668
13669 * config/cris/cris.c (cris_operand_lossage): Likewise.
13670 Rename parameter so that exgettext recognizes it as
13671 translatable message.
13672 (LOSE_AND_RETURN): Rename parameter to msgid.
13673
914c4f2c 136742002-02-17 Kazu Hirata <kazu@hxi.com>
13675
13676 * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
13677 hard coded register number with an appropriate macro.
13678 (HARD_REGNO_MODE_OK): Likewise.
13679 (ARG_POINTER_REGNUM): Likewise.
13680 (STATIC_CHAIN_REGNUM): Likewise.
13681 (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
13682 * config/h8300/h8300.md (define_constants): Define more
13683 register numbers.
13684
959b27f3 136852002-02-17 Philipp Thomas <pthomas@suse.de>
13686
13687 * config/i386/i386.h: Don't mark empty strings for translation.
13688
32702958 136892002-02-16 H.J. Lu <hjl@gnu.org>
13690
13691 * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
13692
f7ee0e54 136932002-02-16 Zack Weinberg <zack@codesourcery.com>
13694
13695 * cppinit.c (merge_include_chains): Check for brack being
13696 NULL before attempting to merge it with qtail.
13697
4a19b412 136982002-02-16 Andrew Cagney <ac131313@redhat.com>
13699
13700 * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
13701 DBX_DEBUG.
13702
f2e37906 137032002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
13704
13705 * pa/t-pa, pa/t-pro, som.h: Revert last patch.
13706
cd98951e 137072002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
13708
13709 * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
13710 * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
13711 * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
13712
9ba94287 13713Sat Feb 16 13:48:50 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13714
b26f60fe 13715 * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
9ba94287 13716 now only if !TARGET_FIX.
13717 (*movsi_nt_vms_fix): New pattern.
13718
b19d7ab1 137192002-02-16 Douglas B Rupp <rupp@gnat.com>
13720
13721 * config/alpha/alpha.c: Implement null frame procedure types on VMS.
13722 (alpha_procedure_type): Replaces alpha_is_stack_procedure.
13723 (alpha_sa_mask, alpha_sa_size): Reflect above change.
13724 (alpha_pv_save_size, alpha_expand_prologue): Likewise.
13725 (alpha_start_function, alpha_expand_epilogue): Likewise.
13726 (unicosmk_gen_dsib): Likewise.
13727
cbbc8e6a 13728Sat Feb 16 13:39:09 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13729
13730 * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
13731
479ca6e8 137322002-02-16 Ulrich Weigand <uweigand@de.ibm.com>
13733
a4194ff7 13734 * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
479ca6e8 13735 check_and_change_labels, s390_final_chunkify): Delete.
13736 (s390_split_branches, s390_chunkify_pool): New functions.
13737 (s390_function_prologue): Call them.
a4194ff7 13738
479ca6e8 13739 * config/s390/s390.h (S390_REL_MAX): Delete.
13740 (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
13741
a4194ff7 13742 * config/s390/s390.md (cjump, icjump, jump): Fix length
479ca6e8 13743 attribute calculation.
13744
13745
19d4f8a9 137462002-02-15 David Edelsohn <edelsohn@gnu.org>
13747
13748 * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
13749 * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
13750
78e01a1f 137512002-02-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
13752
13753 * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
13754 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
13755 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
13756
aeb814bb 137572002-02-15 Richard Sandiford <rsandifo@redhat.com>
13758
13759 * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
13760
b2656069 137612002-02-15 Richard Sandiford <rsandifo@redhat.com>
13762
13763 * reload.c (find_dummy_reload): Check that an output register
13764 is valid for its mode.
13765
2aa75f60 137662002-02-14 Alexandre Oliva <aoliva@redhat.com>
13767
826402d7 13768 * combine.c (known_cond): After replacing the REG of a SUBREG, try
13769 to simplify it.
13770
2aa75f60 13771 * function.c (assign_parms): Demote promoted argument passed by
13772 transparent reference.
13773
cb753661 137742001-02-14 Joel Sherrill <joel@OARcorp.com>
13775
13776 * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
13777 -Acpu() and -Amachine() to eliminate warnings.
13778
d1e8a831 137792002-02-14 Ulrich Weigand <uweigand@de.ibm.com>
13780
13781 * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
13782
e8d82641 137832002-02-14 Kazu Hirata <kazu@hxi.com>
13784
13785 * config/h8300/h8300-protos.h: Update the prototype for
13786 const_costs.
13787 * config/h8300/h8300.c (const_costs): Treat SET as a little
13788 more expensive operation.
13789 * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
13790 reference to const_costs.
13791
dfaadc1e 137922002-02-14 Hans-Peter Nilsson <hp@axis.com>
13793
13794 * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
13795
7a6b670a 137962002-02-14 Jakub Jelinek <jakub@redhat.com>
13797
13798 PR c/5503:
13799 * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
13800 use arguments from newtype.
13801
e2534d93 138022002-02-13 Eric Christopher <echristo@redhat.com>
13803
13804 * config/mips/mips.c (override_options): Add check for march/mipsX
13805 on the same command line. Fix error message in cpu processing.
13806 Remove architecture and ISA checks.
13807
1daca59d 138082002-02-14 Aldy Hernandez <aldyh@redhat.com>
13809
4fc5f895 13810 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
1daca59d 13811
4fc5f895 13812 * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
1daca59d 13813
a0222b01 138142002-02-14 Aldy Hernandez <aldyh@redhat.com>
13815
4fc5f895 13816 * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
13817 alternatives.
13818 ("*movv8hi_internal1"): Same.
13819 ("*movv16qi_internal1"): Same.
13820 ("*movv4sf_internal1"): Same.
a0222b01 13821
4fc5f895 13822 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
13823 not push_reload for altivec modes.
a0222b01 13824
7a6b670a 138252002-02-13 Joel Sherrill <joel@OARcorp.com>
214507b9 13826
13827 * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
13828 all RTEMS targets including removal of #includes from config/*/rtems*.h
13829 file and adding them to tm_file setting. Added xm_defines=POSIX to
13830 many targets.
13831 * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
13832 * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
13833 * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
13834 * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
13835 * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
13836 config/m68k/rtemself.h: Ditto.
13837 * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
13838 config/mips/rtems64.h: Ditto.
13839 * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
13840 * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
13841 Ditto.
13842 * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
13843 config/sparc/rtemself.h: Ditto.
13844 * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
13845 * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
13846 arm-rtems stanza closer to other arm-elf targets and made arm-rtems
13847 more like arm-elf.
13848 * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
13849 config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
13850 target made more similar to i386-elf.
13851 * config/i386/t-rtems-i386: Added soft float support and multilibs.
13852 * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
13853 be similar to config/m68k/t-m68kelf.
13854 * gthr-rtems.h: Encapsulate with extern "C" for C++.
13855
bd6bc33d 13856Wed Feb 13 23:41:15 CET 2002 Jan Hubicka <jh@suse.cz>
13857
13858 * regmove.c (kill_value): Handle subregs.
13859
5edf31bc 13860Wed Feb 13 23:34:30 CET 2002 Jan Hubicka <jh@suse.cz>
13861
13862 * i386.md (mul patterns): Allow memory operand to be first;
13863 add expanders where needed; fix constraints.
13864 (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
13865 Allow memory operand to be the first.
13866
13867 * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
13868 operands.
13869
c5e81ca5 138702002-02-13 Jakub Jelinek <jakub@redhat.com>
13871
13872 PR c/5681:
13873 * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
13874 GET_MODE (x).
13875
3c6ed5ba 138762002-02-13 Jakub Jelinek <jakub@redhat.com>
13877
13878 PR optimization/5547:
13879 * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
13880 all valid IA-32 address modes involving non-scaled %ebx and
13881 GOT/GOTOFF as displacement.
13882
9fa6d5d9 138832002-02-13 Ulrich Weigand <uweigand@de.ibm.com>
13884
13885 * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
13886 after emitting ltorg insns.
13887
13888 * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
13889 *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
13890 *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
13891 *abssf2): Fix "op_type" attribute.
13892
e7d5cd82 138932002-02-13 Douglas B Rupp <rupp@gnat.com>
13894
568b9110 13895 * mkconfig.sh: Avoid using a subshell redirect.
13896 ($output.T): Change to $(output)T.
13897 (ENABLE_NLS): Remove unneeded undef.
13898
3536e14d 13899 * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
13900 * config/alpha/x-vms (libsubdir): Define.
13901
3eaf7912 13902 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
13903 register frame procedures. Optimize retrieving context.
13904
e7d5cd82 13905 * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
13906 (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
13907 * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
13908
5104ef69 13909Wed Feb 13 09:45:08 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13910
13911 * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
13912 Make same change as for find_base_value.
13913
7953f686 139142002-02-13 Kazu Hirata <kazu@hxi.com>
13915
13916 * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
13917 of QImode and SImode.
13918
16ff02f6 139192002-02-13 Kazu Hirata <kazu@hxi.com>
13920
13921 * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
13922 length computation of movsi.
13923 * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
13924
7be90177 139252002-02-13 Kazu Hirata <kazu@hxi.com>
13926
13927 * config/h8300/h8300.md (subqi3): Tighten the predicate for
13928 operands[2] to register_operand.
13929
0f0f0d50 13930Wed Feb 13 10:35:56 CET 2002 Jan Hubicka <jh@suse.cz>
13931
13932 * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
13933
4625cc70 139342002-02-12 Aldy Hernandez <aldyh@redhat.com>
13935
4fc5f895 13936 * config/rs6000/rs6000.md: Use predicate altivec_register_operand
13937 for altivec_lvx* and altivec_stvx*.
13938 ("*movv4si_internal"): Add constraint for loading from GPRs.
13939 ("*movv8hi_internal1"): Same.
13940 ("*movv16qi_internal1"): Same.
13941 ("*movv4sf_internal1"): Same.
4625cc70 13942
4fc5f895 13943 * config/rs6000/rs6000.c (altivec_register_operand): New.
4625cc70 13944
4fc5f895 13945 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
13946 altivec_register_operand.
4625cc70 13947
60bb373d 139482002-02-13 Hans-Peter Nilsson <hp@bitrange.com>
13949
13950 * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
13951 handle SYMBOL_REF.
13952
0ad236c2 139532002-02-13 Stan Shebs <shebs@apple.com>
13954
4fc5f895 13955 * c-typeck.c (digest_init): Handle vectors.
13956 (really_start_incremental_init): Same.
13957 (pop_init_level): Same.
13958 (process_init_element): Same.
0ad236c2 13959
4fc5f895 13960 * varasm.c (output_constant): Same.
0ad236c2 13961
4fc5f895 13962 * expr.c (clear_storage): Same.
13963 (store_constructor): Same.
0ad236c2 13964
6be48139 139652002-02-12 Eric Christopher <echristo@redhat.com>
13966
13967 * explow.c (hard_function_value): Add comment explaining
13968 signed/unsigned comparison.
13969
5b154f04 139702002-02-12 Jakub Jelinek <jakub@redhat.com>
13971
13972 * jump.c (never_reached_warning): Add finish argument.
13973 If finish is NULL, stop on CODE_LABEL, otherwise stop before first
13974 real insn after end.
13975 * rtl.h (never_reached_warning): Adjust prototype.
13976 * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
13977 * cfgrtl.c (flow_delete_block): Pass b->end as finish to
13978 never_reached_warning.
13979
18434c1e 139802002-02-12 Graham Stott <grahams@redhat.com>
13981
13982 * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
13983
f76e2664 139842002-02-12 Kazu Hirata <kazu@hxi.com>
13985
13986 * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
13987 logical shifts on H8/300.
13988 (shift_alg_si): Improve several shifts on H8/300.
13989 (get_shift_alg): Likewise.
13990
fc1fb057 139912002-02-12 Graham Stott <grahams@redhat.com>
13992
13993 * config/pa/pa.c (compute_movstrsi_length): Fix typos.
13994
d01410d3 13995Tue Feb 12 10:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13996
13997 * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
13998 Handle #ifdef POINTERS_EXTEND_UNSIGNED.
13999
4f4e478d 140002002-02-11 Hans-Peter Nilsson <hp@bitrange.com>
14001
14002 * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
14003 non-CONST_INT through default_assemble_integer.
14004 <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
14005 <case 8>: Abort for CONST_DOUBLE.
14006
4515af0b 140072002-02-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
14008
14009 * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
14010 is specified.
14011 * config/pa/pa-linux.h (LIB_SPEC): Delete.
14012 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
14013
690d3235 140142002-02-11 Andrew Haley <aph@cambridge.redhat.com>
14015
14016 * config/stormy16/stormy16.md (zero_extendqihi2): New.
14017
de79a9e1 140182002-02-11 Alexandre Oliva <aoliva@redhat.com>
14019
5ee24cd9 14020 * regrename.c (regrename_optimize): Don't accept a
14021 part-clobbered register if the replaced register is not part
14022 clobbered.
14023
d5c9a99f 14024 * calls.c (store_one_arg): In the non-BLKmode non-partial case,
14025 take padding into account when computing the argument value.
14026
56fbb2d4 14027 * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
14028
de79a9e1 14029 * combine.c (try_combine): Apply substitutions in
14030 CALL_INSN_FUNCTION_USAGE too.
14031
d688971e 140322002-02-11 Aldy Hernandez <aldyh@redhat.com>
14033
6c311a26 14034 * config/rs6000/rs6000.c (altivec_init_builtins): Handle
14035 __builtin_altivec_abs*.
14036 (bdesc_abs): New.
d688971e 14037
6c311a26 14038 * config/rs6000/rs6000.h (rs6000_builtins): Add
14039 ALTIVEC_BUILTIN_ABS*.
d688971e 14040
6c311a26 14041 * config/rs6000/altivec.h: Use const char for builtins expecting
14042 literals.
14043 (vec_abs): New versions for C and C++.
14044 (vec_abss): Same.
d688971e 14045
80f7466f 140462002-02-10 Kazu Hirata <kazu@hxi.com>
14047
14048 * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
14049 using Pmode.
14050
2e9dc773 140512002-02-10 Kazu Hirata <kazu@hxi.com>
14052
14053 * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
14054 constant definition from h8300.md.
14055 (FRAME_POINTER_REGNUM): Likewise.
14056 * config/h8300/h8300.md (define_constants): Add FP_REG.
14057
b99f3ebb 140582002-02-10 Kazu Hirata <kazu@hxi.com>
14059
14060 * config/h8300/h8300.c (print_operand): Remove redundant code.
14061
7198848c 140622002-02-10 Kazu Hirata <kazu@hxi.com>
14063
14064 * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
14065 * config/h8300/h8300.c (byte_reg): Make it static.
14066
e40a1d5c 140672002-02-10 Richard Henderson <rth@redhat.com>
14068
14069 PR c/5623
14070 * c-typeck.c (incomplete_type_error): Handle flexible array members.
14071
4b186f02 140722002-02-10 Richard Henderson <rth@redhat.com>
14073
14074 PR c++/5624
14075 * tree.c (append_random_chars): Don't abort if main_input_filename
14076 does not exist.
14077
a5b59592 140782002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
14079
14080 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
14081
47ec1949 140822002-02-10 Kazu Hirata <kazu@hxi.com>
14083
4b186f02 14084 * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
47ec1949 14085 (pushhi1): Likewise.
14086
6df54749 140872002-02-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
14088
14089 * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
14090 * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
14091
bed0172c 140922002-02-09 David O'Brien <obrien@FreeBSD.org>
14093
14094 * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
14095 remove MASK_VIS.
14096 (ASM_CPU_DEFAULT_SPEC): Remove. Default setting is fine.
14097
a9d986d9 140982002-02-09 Kazu Hirata <kazu@hxi.com>
14099
14100 * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
14101 a half of an SImode register on H8/300.
14102
f46279ed 14103Sat Feb 9 18:28:02 CET 2002 Jan Hubicka <jh@suse.cz>
14104
14105 * i386.md (movdi_2): Add missing '!'.
14106
24efb2a8 141072002-02-09 Kazu Hirata <kazu@hxi.com>
14108
14109 * config/h8300/h8300.h: Fix formatting. Remove commented-out
14110 definitions.
14111
a625f574 141122002-02-09 Kazu Hirata <kazu@hxi.com>
14113
14114 * config/h8300/h8300.md (length): Correct the distance valid
14115 for the short branch.
14116
93028baa 141172002-02-09 Kazu Hirata <kazu@hxi.com>
14118
14119 * config/h8300/h8300.md (iorhi3): Tighten the predicates.
14120
e27e52e0 141212002-02-09 Alexandre Oliva <aoliva@redhat.com>
14122
fcd4cb57 14123 * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
14124 registers in SImode.
14125 (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
14126 part-clobbered.
14127
87708ea5 14128 * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
14129 patch.
6be48139 14130
87e19636 14131 Contribute sh64-elf.
14132 2002-02-09 Alexandre Oliva <aoliva@redhat.com>
14133 * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
14134 (sh_cannot_modify_jumps_p): New function.
14135 2002-02-05 Alexandre Oliva <aoliva@redhat.com>
14136 * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
14137 (sh_ms_bitfield_layout_p): New function.
14138 2002-02-04 Alexandre Oliva <aoliva@redhat.com>
14139 Zack Weinberg <zack@codesourcery.com>
14140 * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
14141 expand_simple_binop instead of expand_binop.
14142 2002-02-03 Alexandre Oliva <aoliva@redhat.com>
14143 * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
14144 use of .quad and .uaquad.
14145 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
14146 TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
14147 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
14148 * config/sh/sh.md (movdi_const, movdi_const_32bit,
14149 movdi_const_16bit): Make sure all CONSTs have modes.
14150 (sym2PIC): Ditto, but by adjusting all callers.
14151 * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
14152 if the prologue calls the SHmedia argument decoder or register
14153 saver.
14154 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
14155 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
14156 (TARGET_ASM_ALIGNED_DI_OP): Likewise.
14157 (sh_expand_epilogue): Don't emit USE of return target register.
14158 (prepare_move_operands): Legitimize DImode PIC addresses.
14159 (sh_media_register_for_return): Skip tr0, used to initialize the
14160 PIC register.
14161 (sh_expand_prologue): Remove explicit USE of return register.
14162 (nonpic_symbol_mentioned_p): PC is non-PIC. Don't recurse in
14163 CONST_DOUBLEs. UNSPEC_GOTPLT is PIC.
14164 * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
14165 (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
14166 (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
14167 EXTRA_CONSTRAINT_T.
14168 (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
14169 (MOVI_SHORI_BASE_OPERAND_P): New.
14170 (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
14171 (EXTRA_CONSTRAINT_T): Define in terms of them.
14172 (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
14173 * config/sh/sh.md (movsi_media, movsi_media_nofpu,
14174 movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
14175 alternatives supporting TARGET_REGS.
14176 (UNSPEC_GOTPLT): New constant.
14177 (movdi split): Move incrementing of LABEL_NUSES...
14178 (movdi_const, movdi_const_32bit): Here. Use
14179 MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
14180 (movdi_const_16bit): New.
14181 (call, call_value) [flag_pic]: Use GOTPLT.
14182 (call_pop, call_value_pop): New expands.
14183 (call_pop_compact, call_pop_rettramp): New insns.
14184 (call_value_pop_compact, call_value_pop_rettramp): New insns.
14185 (sibcall) [flag_pic]: Use GOT.
14186 (builtint_setjmp_receiver): Remove bogus, unused expand.
14187 (GOTaddr2picreg): Implement for SHcompact and SHmedia.
14188 (*pt, *ptb, ptrel): New insns.
14189 (sym2GOT): Handle DImode GOT.
14190 (sym2GOTPLT, symGOTPLT2reg): New expands.
14191 (sym2PIC): New expand.
14192 (shcompact_return_tramp): Use GOTPLT to return trampoline.
14193 (shcompact_return_tramp_i): Use return register explicitly.
14194 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
14195 disable flag_reorder_blocks.
14196 2002-01-19 Alexandre Oliva <aoliva@redhat.com>
14197 * config/sh/sh.md (sibcall_compact): Reorder return, uses and
14198 clobbers, for clarity.
14199 (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
14200 restoring of r0 in macl as MAYBE_DEAD.
14201 2002-01-18 Alexandre Oliva <aoliva@redhat.com>
14202 * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
14203 * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
14204 alter_subreg all over.
14205 (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
14206 reload, instead of emitting instructions that would require
14207 reloading.
14208 (casesi_load_media): Add missing modes.
14209 2001-11-09 Alexandre Oliva <aoliva@redhat.com>
14210 * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
14211 as used if the argument decoder is called.
14212 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
14213 * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
14214 Pmode, then extend it to DImode if necessary.
14215 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
14216 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
14217 constants in FPU-enabled SHmedia, let them be loaded from memory.
14218 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
14219 * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
14220 Adjust whitespace in assembly output templates.
14221 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
14222 * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
14223 mode of if_then_else.
14224 2001-08-04 Alexandre Oliva <aoliva@redhat.com>
14225 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
14226 sh.h.
14227 2001-07-26 Andrew Haley <aph@cambridge.redhat.com>
14228 Joern Rennecke <amylaar@redhat.com>
14229 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
14230 (SUBTARGET_CPP_PTR_SPEC): New.
14231 (SUBTARGET_CPP_SPEC): Remove.
14232 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
14233 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
14234 Fix typo in previous checkin.
14235 2001-07-11 Chandrakala Chavva <cchavva@redhat.com>
14236 * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
14237 2001-07-10 Chandrakala Chavva <cchavva@cygnus.com>
14238 Alexandre Oliva <aoliva@redhat.com>
14239 * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
14240 what single FP register can hold for SHmedia target.
14241 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
14242 Alexandre Oliva <aoliva@redhat.com>
14243 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
14244 Do not split into SUBREG.
14245 2001-06-14 Alexandre Oliva <aoliva@redhat.com>
14246 * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
14247 and added new functions as specified in SH5 ABI r9.
14248 2001-06-04 Alexandre Oliva <aoliva@redhat.com>
14249 * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
14250 8-byte boundary.
14251 2001-06-03 Alexandre Oliva <aoliva@redhat.com>
14252 * config/sh/sh.c (dump_table): Add const0_rtx in calls of
14253 gen_consttable_4 and gen_consttable_8. Emit multiple labels
14254 and consttable_window_ends.
14255 2001-06-03 Graham Stott <grahams@redhat,com>
14256 * config/sh/sh.md (movdi split): Remove unused variable last_insn.
14257 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
14258 * config/sh/sh.c (print_operand): Handle floating-point pair,
14259 vector and matrix registers.
14260 * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
14261 vector modes into account.
14262 * config/sh/sh.md (movv2sf): Split move between registers into
14263 movdf.
14264 (movv4sf, movv16sf): Introduce insns that get split only after
14265 reload.
14266 * config/sh/shmedia.h: Fix Copyright dates.
14267 * config/sh/ushmedia.h: Likewise. Move loop counter
14268 declarations into conditionals that uses them.
14269 (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
14270 loop boundary.
14271 * config/sh/sshmedia.h: Fix Copyright dates.
14272 (sh_media_PUTCFG): Fix constraints.
14273 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
14274 * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
14275 ptrmemfunc_vbit_in_delta for SH5.
14276 2001-05-08 Alexandre Oliva <aoliva@redhat.com>
14277 * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
14278 * invoke.texi: Likewise.
14279 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
14280 * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
14281 GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
14282 GCC_pop_shmedia_regs_nofpu): New global symbols.
14283 * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
14284 * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
14285 * config/sh/sh.c (calc_live_regs): Account for PR's saving in
14286 compact function with nonlocal labels.
14287 (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
14288 (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
14289 (initial_elimination_offset): Account for their stack space.
14290 * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
14291 * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
14292 movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
14293 movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
14294 least one of the operands to be a register.
14295 (movv2sf): Likewise. Renamed to movv2sf_i.
14296 (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
14297 prepare_move_operands() before emitting SHmedia insns.
14298 2001-04-03 Alexandre Oliva <aoliva@redhat.com>
14299 * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
14300 Don't save nor initialize r12. Don't mis-align the stack.
14301 Pad the code with a nop.
14302 * config/sh/crti.asm: Don't restore r12. Don't mis-align the
14303 stack.
14304 2001-03-13 Alexandre Oliva <aoliva@redhat.com>
14305 * gcc/longlong.h (__umulsidi3, count_leading_zeros)
14306 [__SHMEDIA__]: Implement.
14307 2001-03-11 Alexandre Oliva <aoliva@redhat.com>
14308 * config/sh/sh.md: Set latency of `pt' closer to reality.
14309 (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
14310 movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
14311 Set move, load and store type attributes.
14312 * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
14313 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
14314 profiling.
14315 * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
14316 * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
14317 * config/sh/sh.c (sh_media_register_for_return): New function.
14318 (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
14319 branch-target register.
14320 (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
14321 * config/sh/sh.md (return_media_i): Use any call-clobbered
14322 branch-target register.
14323 (return_media): If r18 wasn't copied in the prologue, copy it
14324 here.
14325 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
14326 Clear class FP0_REGS.
14327 * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
14328 from elf.h.
14329 2001-03-08 DJ Delorie <dj@redhat.com>
14330 * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
14331 2001-02-09 Alexandre Oliva <aoliva@redhat.com>
14332 * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
14333 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
14334 * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
14335 2001-02-03 Alexandre Oliva <aoliva@redhat.com>
14336 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
14337 return value correctly for call_cookie.
14338 2001-02-01 Alexandre Oliva <aoliva@redhat.com>
14339 * config/sh/crt1.asm (start): Modified so as to call
14340 ___setup_argv_and_call_main.
14341 2001-01-26 Alexandre Oliva <aoliva@redhat.com>
14342 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
14343 SHmedia mode.
14344 2001-01-20 Alexandre Oliva <aoliva@redhat.com>
14345 * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
14346 (STRIP_NAME_ENCODING): Use it.
14347 (ASM_OUTPUT_LABELREF): Likewise. Don't call assemble_name().
14348 2001-01-19 Alexandre Oliva <aoliva@redhat.com>
14349 * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
14350 prepare_scc_operands().
14351 * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
14352 (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
14353 2001-01-17 Alexandre Oliva <aoliva@redhat.com>
14354 * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
14355 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
14356 * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
14357 * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
14358 used in shcompact_incoming_args.
14359 * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
14360 change.
14361 * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
14362 mode.
14363 * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
14364 Adjust accordingly.
14365 * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
14366 Simplify. Adjust. Add sanity check.
14367 * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
14368 FPU_SINGLE_BIT.
14369 * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
14370 TARGET_SHCOMPACT.
14371 (udivsi3, divsi3): Use them.
14372 (force_mode_for_call): New insn.
14373 (call, call_value, sibcall_value): Emit it before SHcompact
14374 calls.
14375 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
14376 * config/sh/sh.md (call, call_value, sibcall): Make sure the
14377 call cookie is non-NULL before taking its value.
14378 2001-01-10 Alexandre Oliva <aoliva@redhat.com>
14379 * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
14380 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
14381 * config/sh/sh.md (shcompact_incoming_args): Set argument memory
14382 block.
14383 * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
14384 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
14385 temporary for stack adjusts. Use MACL and MACH to pass
14386 arguments to shcompact_incoming_args.
14387 * config/sh/sh.md (shcompact_incoming_args): Adjust. Don't
14388 clobber r1.
14389 * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
14390 (nested_trampoline): Load static chain address into r1.
14391 * config/sh/sh.md (movdi_media splits): Fix sign-extension.
14392 2001-01-07 Alexandre Oliva <aoliva@redhat.com
14393 * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
14394 fp_arith_reg_operand().
14395 2001-01-06 Alexandre Oliva <aoliva@redhat.com>
14396 * config/sh/sh.md (casesi): Sign-extend the first two operands,
14397 and use signed compares for them.
14398 * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
14399 4-byte ones. Instead, inter-leave them, maintaining the 8-byte
14400 ones properly aligned.
14401 (find_barrier): Account for extra alignment needed for 8-byte wide
14402 constants.
14403 (machine_dependent_reorg): Require a label for the second 4-byte
14404 constant after an 8-byte one.
14405 * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
14406 change.
14407 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
14408 * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
14409 last_float when switching float modes.
14410 * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
14411 auto-increment for general-purpose registers.
14412 * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
14413 result.
14414 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
14415 for stack adjust.
14416 * config/sh/sh.c (sh_builtin_saveregs): Support using all
14417 registers for varargs.
14418 2001-01-01 Alexandre Oliva <aoliva@redhat.com>
14419 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
14420 * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
14421 CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
14422 (CALL_COOKIE_INT_REG_SHIFT): Adjust.
14423 (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK. Adjust
14424 call_cookie accordingly.
14425 (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
14426 (SHCOMPACT_BYREF): Likewise.
14427 (SHCOMPACT_FORCE_ON_STACK): New macro.
14428 * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
14429 (sh_builtin_saveregs): Likewise.
14430 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
14431 shcompact_incoming_args): Use new shift values. Support
14432 sequences of consecutive and non-consecutive pushes/pops.
14433 * config/sh/sh.md (return): Don't explicitly use PR_REG.
14434 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
14435 * config/sh/sh.h (TEXT_SECTION): Define.
14436 * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
14437 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
14438 * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
14439 * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
14440 return values on FPU-enabled SHmedia.
14441 (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
14442 FPU-enabled SHmedia.
14443 (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
14444 value is returned in a non-FP reg and is not returned by
14445 reference.
14446 * config/sh/sh.md (shcompact_return_tramp_i): Change type to
14447 jump_ind.
14448 2000-01-04 Alexandre Oliva <aoliva@redhat.com>
14449 * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
14450 (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
14451 quad-aligned to be passed by callee-copy reference.
14452 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
14453 * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
14454 * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
14455 2001-01-02 Alexandre Oliva <aoliva@redhat.com>
14456 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
14457 copying low-numbered FP regs to r7 and r8.
14458 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
14459 FP regs to general-purpose regs only if the copy was passed on the
14460 stack.
14461 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
14462 copying FP reg to r9.
14463 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
14464 copy FP regs to general-purpose regs only in outgoing calls.
14465 * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
77353e4f 14466 change from 2000-10-30. Adjust for 64-bit (or 32-bit)
87e19636 14467 HOST_WIDE_INT.
14468 * config/sh/sh.h (struct sh_args): Document all fields.
14469 (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
14470 passed partially on the stack should not consider making
14471 sibcalls.
14472 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
14473 stack_regs only for incoming calls. When passing FP args,
14474 make sure there are FP regs available before modifying
14475 call_cookie.
14476 (SHCOMPACT_BYREF): Pass double args in general-purpose
14477 registers by reference.
14478 2000-12-30 Alexandre Oliva <aoliva@redhat.com>
14479 * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
14480 attempt to generate sibcalls if the caller got any arguments
14481 by reference.
14482 * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
14483 * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
14484 to 8-byte boundaries.
14485 * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
14486 * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
14487 * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
14488 stored in the stack.
14489 * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
14490 for the offsets to have the ISA bit set.
14491 (shcompact_call_trampoline): Document. Swap r0 and r1, to match
14492 invocation. Use beq instead of bgt to mark end of sequence of
14493 loads.
14494 (shcompact_incoming_args): Fix store of r2. Use beq instead of
14495 bgt to mark end of sequence of stores.
14496 * config/sh/sh.c (arith_operand): Don't check whether
14497 CONST_OK_FOR_J for now.
14498 * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
14499 instead of long for conversion.
14500 2000-12-29 Alexandre Oliva <aoliva@redhat.com>
14501 * config/sh/sh.c (print_operand_address): Convert INTVAL to int
14502 before passing it to fprintf.
14503 2000-12-28 Alexandre Oliva <aoliva@redhat.com>
14504 * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
14505 Call set_fpscr before reading/writing SR.
14506 * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
14507 Call set_fpscr.
14508 * config/sh/lib1funcs.asm: Add `.align 2' directives before
14509 SHmedia code.
14510 (FMOVD_WORKS): Define on SH5 with FPU.
14511 (set_fpscr): Define on SH5. Remove separate _fpscr_values
14512 setting.
14513 * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
14514 _fpscr_values.
14515 2000-12-28 Hans-Peter Nilsson <hpn@cygnus.com>
14516 * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
14517 address.
14518 (ia_main_table): Ditto.
14519 2000-12-27 Alexandre Oliva <aoliva@redhat.com>
14520 * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
14521 * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
14522 the definitions from sh.h.
14523 * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
14524 TARGET_SH5.
14525 (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
14526 * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
14527 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
14528 2000-12-26 Alexandre Oliva <aoliva@redhat.com>
14529 * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
14530 Increment LABEL_NUSES.
6be48139 14531
87e19636 14532 * config/sh/sh.h (SIZE_TYPE): Define as conditional on
14533 TARGET_SH5.
14534 (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
14535 defined.
14536 * config/sh/elf.h (SIZE_TYPE): Likewise.
14537 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
14538 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
14539 shcompact_incoming_args): Load switch table addresses using
14540 datalabel.
14541 * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
14542 (NO_BUILTIN_SIZE_TYPE): Define.
14543 (SIZE_TYPE): Don't define.
14544 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
14545 * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
14546 definition of __SH5__=32 for -m5-compact-nofpu.
14547 * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
14548 ADDR_DIFF_VEC.
14549 2000-12-24 Alexandre Oliva <aoliva@redhat.com>
14550 * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
14551 2000-12-23 Alexandre Oliva <aoliva@redhat.com>
14552 * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
14553 (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
14554 (INSN_LENGTH_ALIGNMENT): Likewise.
14555 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
14556 * config/sh/sh.md (call, call_value, sibcall): Simplify
14557 copying of non-branch-target register.
14558 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
77353e4f 14559 * glimits.h (__LONG_MAX__): Revert 2000-12-13's patch.
87e19636 14560 * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
14561 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
14562 * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
14563 floating-point values as structs.
14564 (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
14565 (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
14566 general-purpose register.
14567 (SH5_PROTOTYPED_FLOAT_ARG): New macro.
14568 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
14569 * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
14570 * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
14571 * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
14572 (ENCODE_SECTION_INFO): Enclose variables and constants in
14573 DATALABEL unspecs.
14574 (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
14575 (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
14576 (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
14577 * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
14578 only for LABEL_REFs. For SYMBOL_REFs, prepend
14579 SH_DATALABEL_ENCODING to the symbol name.
14580 * config/sh/sh.md (indirect_jump): Use SUBREG instead of
14581 convert_mode().
14582 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
14583 * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
14584 UNSPEC_DATALABEL.
14585 * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
14586 * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
14587 (DATALABEL_REF_P): Don't require CONST.
14588 (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
14589 REL label.
14590 2000-12-19 Alexandre Oliva <aoliva@redhat.com>
14591 * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
14592 right.
14593 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
14594 * config/sh/sh.md (movsi_media, call, call_value, sibcall):
14595 Use shallow_copy_rtx and PUT_MODE to change the mode of
14596 SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
14597 * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
14598 on SHmedia using GENERAL_REGs.
14599 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
14600 bltu_media_i): Fix reversion of conditions.
14601 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
14602 * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
14603 * config/sh/sh.c (output_far_jump): Save r13 in macl.
14604 2000-12-17 Alexandre Oliva <aoliva@redhat.com>
14605 * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
14606 2000-12-16 Alexandre Oliva <aoliva@redhat.com>
14607 * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
14608 (GCC_nested_trampoline): Likewise.
14609 * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
14610 * config/sh/sh.c (gen_datalabel_ref): Define.
14611 * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
14612 (INITIALIZE_TRAMPOLINE): Likewise.
14613 (TRAMPOLINE_ADJUST_ADDRESS): Define.
14614 (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
14615 (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
14616 (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
14617 * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
14618 (ic_invalidate): Adjust for SH5.
14619 (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
14620 * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
14621 _nested_trampoline.
14622 2000-12-15 Alexandre Oliva <aoliva@redhat.com>
14623 * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
14624 (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
14625 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
14626 * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
14627 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
14628 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
14629 * config/sh/sh.c (target_reg_operand): Match only target-branch
14630 registers and pseudos that aren't virtual registers.
14631 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
14632 Copy operands that don't match target_reg_operand to pseudos.
14633 (call_media, call_value_media, sibcall_media): Use
14634 target_reg_operand instead of target_operand.
14635 2000-12-13 Alexandre Oliva <aoliva@redhat.com>
6be48139 14636 * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
87e19636 14637 * config/sh/sh.c (target_reg_operand): Match hardware registers
14638 other than branch-target registers.
14639 * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
14640 * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
14641 (fpscr_values) [SH5 == 32]: Define.
14642 * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
14643 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
14644 Handle function addresses coming in SUBREGs.
14645 2000-12-12 Alexandre Oliva <aoliva@redhat.com>
14646 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
14647 shcompact_return_trampoline): Use datalabel where appropriate.
14648 2000-12-09 Alexandre Oliva <aoliva@redhat.com>
14649 * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
14650 general-purpose register to copy one branch-target register to
14651 another.
14652 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
14653 * config/sh/sh.c (target_operand): Accept LABEL_REFs and
14654 SYMBOL_REFs with VOIDmode.
14655 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
14656 bltu_media_i): New insns.
14657 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
14658 * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
14659 (INIT_CUMULATIVE_ARGS): Likewise.
14660 2000-12-01 Alexandre Oliva <aoliva@redhat.com>
14661 * machmode.def (V16SFmode): New mode.
14662 * c-common.c (type_for_mode): Support V2SF and V16SF.
14663 * tree.c (build_common_tree_nodes_2): Likewise.
14664 * tree.h (tree_index): Likewise.
14665 * calls.c (emit_call_1): Take args_so_far. Adjust all
14666 callers. Introduce CALL_POPS_ARGS.
14667 * tm.texi (CALL_POPS_ARGS): Document.
14668 * config/sh/crt1.asm: Implement in SHmedia mode.
14669 * config/sh/crti.asm, config/sh/crtn.asm: Likewise
14670 * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
14671 (DBX_REGISTER_NUMBER): Renumber registers for SH5.
14672 * config/sh/lib1funcs.asm: Disable functions unused in SH5.
14673 Implement divsi and udivsi in SHmedia mode. Introduce
14674 SHcompact trampolines.
14675 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
14676 only in SHmedia64.
14677 (regno_reg_class): Rewrite.
14678 (fp_reg_names): Remove.
14679 (sh_register_names, sh_additional_register_names): New.
14680 (print_operand): Added `u'. Support SUBREGs in addresses.
14681 Add parentheses around shifted CONSTs.
14682 (output_file_start): Output .mode and .abi directives.
14683 (shiftcosts, addsubcosts, multcosts): Adjust.
14684 (output_stack_adjust): Compute alignment. Sanity-check SIZE.
14685 (push_regs): Take array of HOST_WIDE_INTs. Adjust callers.
14686 (calc_live_regs): Output to array of HOST_WIDE_INTs. Count
14687 bytes, not registers. Take into account the need for the
14688 SHcompact incoming args trampoline. Adjust all callers.
14689 (sh_expand_prologue): Take stack_regs into account. Call
14690 incoming args trampoline. Keep stack aligned as per SH5 ABI.
14691 (sh_expand_epilogue): Take stack_regs into accoutn. Keep
14692 stack aligned as per SH5 ABI.
14693 (sh_builtin_saveregs): Support SH5 ABI.
14694 (sh_build_va_list, sh_va_start): Likewise.
14695 (initial_elimination_offset): Take alignment into account.
14696 Compute location of PR according to the SH5 stack frame.
14697 (arith_reg_operand): Reject branch-target registers.
14698 (shmedia_6bit_operand): New.
14699 (logical_operand): Use CONST_OK_FOR_P on SHmedia.
14700 (target_reg_operand): Match DImode only. Accept SUBREGs.
14701 (target_operand): New.
14702 * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
14703 (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI. Initialize
14704 SIBCALL_REGS for SHmedia.
14705 (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
14706 (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
14707 (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
14708 (TARGET_SWITCHES): New SH5 flags.
14709 (OVERRIDE_OPTIONS): Set SH5-specific options. Use
14710 VALID_REGISTER_P to disable unsupported registers.
14711 (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
14712 (POINTER_SIZE, PARM_BOUNDARY): Adjust.
14713 (FUNCTION_ARG_PADDING): Define.
14714 (FASTEST_ALIGNMENT): Adjust.
14715 (SH_REGISTER_NAMES_INITIALIZER): New.
14716 (sh_register_names): Declare.
14717 (DEBUG_REGISTER_NAMES): Define.
14718 (REGISTER_NAMES): Define based on sh_register_names.
14719 (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
14720 (sh_additional_register_names): Declare.
14721 (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
14722 (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
14723 (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
14724 (REGISTER_NATURAL_MODE): Define.
14725 (FIRST_PSEUDO_REGISTER): Adjust.
14726 (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
14727 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
14728 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
14729 (VECTOR_MODE_SUPPORTED_P): Define.
14730 (REG_CLASS_CONTENTS): Adjust.
14731 (SMALL_REGISTER_CLASSES): Adjust.
14732 (REG_ALLOC_ORDER): Adjust.
14733 (INDEX_REG_CLASS): Adjust.
14734 (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
14735 (CONST_OK_FOR_LETTER_P): Adjust.
14736 (PREFERRED_RELOAD_CLASS): Adjust.
14737 (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
14738 (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
14739 (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
14740 (FIRST_FP_PARM_REG): Adjust.
14741 (CALL_POPS_ARGS): Define.
14742 (FUNCTION_ARG_REGNO_P): Adjust.
14743 (struct sh_args): New fields.
14744 (GET_SH_ARG_CLASS): Adjust.
14745 (INIT_CUMULATIVE_ARGS): Adjust.
14746 (INIT_CUMULATIVE_INCOMING_ARGS): Define.
14747 (FUNCTION_ARG_ADVANCE): Adjust.
14748 (FUNCTION_ARG): Adjust.
14749 (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
14750 (FUNCTION_ARG_CALLEE_COPIES): Define.
14751 (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
14752 (STRICT_ARGUMENT_NAMING): Define.
14753 (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
14754 (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
14755 (SH5_WOULD_BE_PARTIAL_NREGS): Define.
14756 (SETUP_INCOMING_VARARGS): Adjust.
14757 (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
14758 (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
14759 (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
14760 (SUBREG_OK_FOR_INDEX_P): Adjust.
14761 (EXTRA_CONSTRAINT_S): Update.
14762 (EXTRA_CONSTRAINT_T): New.
14763 (EXTRA_CONSTRAINT): Adjust.
14764 (GO_IF_LEGITIMATE_INDEX): Adjust.
14765 (GO_IF_LEGITIMATE_ADDRESS): Adjust.
14766 (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
14767 (MOVE_MAX): Adjust.
14768 (MAX_MOVE_MAX): Define.
14769 (Pmode): Adjust.
14770 (CONST_COSTS): Adjust.
14771 (REGISTER_MOVE_COST): Adjust.
14772 (BRANCH_COST): Adjust.
14773 (TEXT_SECTION_ASM_OP): Adjust.
14774 (DBX_REGISTER_NUMBER): Adjust.
14775 (ASM_OUTPUT_DOUBLE_INT): New.
14776 (UNALIGNED_DOUBLE_INT_ASM_OP): New.
14777 (PREDICATE_CODES): Adjust.
14778 (PROMOTE_MODE): Adjust.
14779 (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
14780 * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
14781 (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
14782 (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
14783 (DR0_REG, DR2_REG, DR4_REG): Renumber.
14784 (TR0_REG, TR1_REG, TR2_REG): New.
14785 (XD0_REG): Renumber.
14786 (UNSPEC_COMPACT_ARGS): New.
14787 (type): Added pt and ptabs.
14788 (length): Default to 4 on SHmedia. Default pt length to 12
77353e4f 14789 and 20 on SHmedia32 and SHmedia64, respectively.
87e19636 14790 (pt): New function unit.
14791 (movdi, movsi): Add types pt and ptabs. Don't increment LABEL_NUSES.
14792 Add whitespace between operands of SHmedia instructions.
14793 (movdicc): Fix.
14794 (adddi3_media, addsi3_media): Adjust constraints.
14795 (subsi3) [SHmedia]: Force operand 1 into a register.
14796 (udivsi3_i1_media, udivsi3_i4_media): New.
14797 (udivsi3): Support SHmedia.
14798 (divsi3_i1_media, divsi3_i4_media): New.
14799 (divsi3): Support SHmedia.
14800 (anddi3, iordi3, xordi3): Adjust constraints.
14801 (zero_extendhidi2, zero_extendqidi2): New.
14802 (extendsidi2, extendhidi2, extendqidi2): New.
14803 (push, pop, push_e, push_fpul, push_4): Disable on SH5.
14804 (pop_e, pop_fpul, pop_4): Likewise.
14805 (movsi_media): Support FP and BT registers.
14806 (movsi_media_nofpu): New. Adjust splits to DImode.
14807 (lduw, ldub): Renamed to zero_extend* above.
14808 (movqi_media): Fix typo.
14809 (movdi_media): Support FP and BT registers.
14810 (movdi_media_nofpu): New. Adjust splits for SHmedia32.
14811 (movdi_const_32bit): New.
14812 (shori_media): Require immediate operand. Use `u' for output.
14813 (movdf_media, movsf_media): Simplified.
14814 (movdf_media_nofpu, movsf_media_nofpu): New.
14815 (movdf, movsf): Adjust
14816 (movv2sf, movv2sf, movv16sf): New.
14817 (beq_media, beq_media_i): Adjust constraints. Don't use
14818 scratch BT register.
14819 (bne_media, bne_media_i): Likewise.
14820 (bgt_media, bgt_media_i): Likewise.
14821 (bge_media, bge_media_i): Likewise.
14822 (bgtu_media, bgtu_media_i): Likewise.
14823 (bgeu_media, bgeu_media_i): Likewise.
14824 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
14825 bunordered): Emit jump insn. Force operands to registers when
14826 needed.
14827 (jump_media, jump): Simplify.
14828 (call_compact, call_compact_rettramp): New.
14829 (call_value_compact, call_value_compact_rettramp): New.
14830 (call_media, call_value_media): Simplify.
14831 (sibcall_compact, sibcall_media): New.
14832 (call, call_value): Adjust for SHmedia and SHcompact.
14833 (sibcall, sibcall_value, untyped_call): Likewise.
14834 (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
14835 (indirect_jump): Adjust for SHmedia.
14836 (casesi_jump_media): New.
14837 (nop): Re-enable for SHmedia.
14838 (call_site): Restrict to SH1.
14839 (casesi): Adjust for SHmedia.
14840 (casesi_shift_media, casesi_load_media): New.
14841 (return): Explicitly use PR register. Call return trampoline
14842 on SHcompact.
14843 (return_i): Explicitly use PR register.
14844 (shcompact_return_tramp, shcompact_return_tramp_i): New.
14845 (return_media): Adjust.
14846 (shcompact_incoming_args): New.
14847 (epilogue): Adjust.
14848 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
14849 (movstrsi): Disable on SH5.
14850 (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
14851 (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
14852 (subsf3, subsf3_media): Likewise.
14853 (mulsf3, mulsf3_media, mac_media): Likewise.
14854 (divsf3, divsf3_media): Likewise.
14855 (floatdisf2, floatsisf2_media): Likewise. Adjust constraints.
14856 (floatsisf2, fux_truncsfsi2): Likewise.
14857 (fix_truncsfdi2, fix_truncsfsi2_media): Likewise. Adjust
14858 constraints.
14859 (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
14860 (cmpunsf_media, cmpsf): Likewise.
14861 (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
14862 (abssf2, abssf2_media): Likewise.
14863 (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
14864 (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
14865 (floatdidf2, floatsidf2_media): Likewise. Adjust constraints.
14866 (floatsidf2, fix_truncdfsi2): Likewise.
14867 (fix_truncdfdi2, fix_truncdfsi2_media): Likewise. Adjust
14868 constraints.
14869 (cmpeqdf_media, cmpgtdf_media): Likewise.
14870 (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
14871 (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
14872 (absdf2, absdf2_media): Likewise.
14873 (extendsfdf2, extendsfdf2_media): Likewise.
14874 (truncsfdf2, truncsfdf2_media): Likewise.
14875 * config/sh/sh64.h: New file.
14876 * config/sh/t-sh64: New file.
14877 * config/sh/shmedia.h: New file.
14878 * config/sh/ushmedia.h: New file.
14879 * config/sh/sshmedia.h: New file.
14880 * configure.in: Added sh64-*-elf.
14881 * configure: Rebuilt.
14882 2000-10-10 Alexandre Oliva <aoliva@redhat.com>
14883 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
14884 (reg_class_from_letter): Use `b' for TARGET_REGS.
14885 (print_operand): Support `%M', `%m', `AND' and
14886 `ASHIFTRT'. Do not precede constants with `#' on SHmedia.
14887 (andcosts): Adjust for SHmedia.
14888 (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
14889 Likewise.
14890 (target_reg_operand): New function.
14891 * config/sh/sh-protos.h (target_reg_operand): Declare.
14892 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
14893 FP registers on SH5.
14894 (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
14895 on SH4.
14896 (TARGET_REGISTER_P): New macro.
14897 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
14898 (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
14899 (EXTRA_CONSTRAINT_S): New macro.
14900 (EXTRA_CONSTRAINT): Adjust.
14901 (FLOAT_TYPE_SIZE): Define to 32.
14902 (Pmode): DImode on SHmedia.
14903 (CONST_COSTS): Adjust for SHmedia literals.
14904 (PREDICATE_CODES): Added target_reg_operand.
14905 (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
14906 * config/sh/sh.md: Remove all attrs from SHmedia insns.
14907 (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
14908 (cmpdi): Accept SHmedia.
14909 (movdicc_false, movdicc_true): New insns.
14910 (movdicc): New expand.
14911 (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
14912 no_new_pseudos.
14913 (addsi3_media): Match `S' constraint.
14914 (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
14915 (negdi2): Expand for SHmedia.
14916 (one_cmpldi2): New expand.
14917 (zero_extendsidi2): Change from expand to insn.
14918 (extendsidi2): Add constraints.
14919 (movdi_media, movsi_media): Change `%x' to `%M'. Use `%m' for
14920 LD/ST address. Fix SI immediate loading split.
14921 (movhi_media, movqi_media, lduw, ldub): New insns.
14922 (movhi, movqi): Accept SHmedia.
14923 (shori_media, movdi_media): Relax input constraints. Split
14924 symbolic constants.
14925 (movdf_media, movsf_media): New insn. New split to movdi.
14926 (movdf, movsf): Match on SHmedia.
14927 (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
14928 bgeu_media): New insns and splits. New insns with `_i' suffix.
14929 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
14930 (bunordered): New expand.
14931 (jump_compact): Renamed from `jump'.
14932 (jump_media): New insn.
14933 (jump): New expand.
14934 (call_media, call_value_media): New insns.
14935 (call, call_value): Adjust.
14936 (indirect_jump_compact): Renamed from `indirect_jump'.
14937 (indirect_jump_media): New insn.
14938 (indirect_jump): New expand.
14939 (untyped_call, return): Accept SHmedia.
14940 (return_media): New insn.
14941 (prologue, epilogue, blockage): Accept SHmedia.
14942 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
14943 (sunordered): New expand.
14944 (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
14945 cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
14946 (addsf3_media, subsf3_media, mulsf3_media, mac_media,
14947 divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
14948 fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
14949 cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
14950 abssf2_media): New insns.
14951 (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
14952 cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
14953 (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
14954 floatdidf2, floatsidf2_media, fix_truncdfdi2,
14955 fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
14956 cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
14957 absdf2_media): New insns.
14958 (extendsfdf2, truncdfsf2): Adjust for SHmedia.
14959 (extendsfdf2_media, truncdfsf2_media): New insns.
14960 2000-09-14 Alexandre Oliva <aoliva@redhat.com>
14961 * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
14962 * config/sh/sh.h (CONST_OK_FOR_J): Document.
14963 (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
14964 * config/sh/sh.md (adddi3): New expand.
14965 (adddi3_media, adddi3z_media): New insns.
14966 (adddi3_compact): Renamed from adddi3.
14967 (addsi3_media): Use add.l r63 to add constant zero.
14968 (subdi3): New expand.
14969 (subdi3_media): New insn.
14970 (subdi3_compact): Renamed from subdi3.
14971 (mulsidi3): New expand.
14972 (mulsidi3_media): New insn.
14973 (mulsidi3_compact): Renamed from mulsidi3.
14974 (umulsidi3): New expand.
14975 (umulsidi3_media): New insn.
14976 (umulsidi3_compact): Renamed from umulsidi3.
14977 (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
14978 (ashlsi3, ashrsi3, lshrsi3): Use them.
14979 (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
14980 (ashldi3, ashrdi3, lshrdi3): Use them.
14981 (zero_extendsidi2): New expand.
14982 (extendsidi2): New insn.
14983 (movsi_media): New insn. Split to movdi to load constants.
14984 (movsi): Enable for shmedia.
14985 (movdi_media): New insn. Use shori_media to load wide constants.
14986 (short_media): New insn.
14987 (movdi): Enable for shmedia.
14988 2000-09-08 Alexandre Oliva <aoliva@redhat.com>
14989 * config/sh/sh.h (CPP_SPEC): Added `m5'.
14990 (SUBTARGET_CPP_SPEC): Added `!m5'.
14991 (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
14992 (TARGET_SWITCHES): Added `5' and `5-compact'. Added SH1_BIT
14993 to all other SH variants.
14994 (TARGET_DEFAULT): Set to SH1_BIT.
14995 (OVERRIDE_OPTIONS): Recognize sh5 CPU.
14996 (BITS_PER_WORD): Raise to 64 on shmedia.
14997 (MAX_BITS_PER_WORD): Change to 64.
14998 (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
14999 (INT_TYPE_SIZE): Keep as 32.
15000 (UNITS_PER_WORD): Raise to 8 on shmedia.
15001 (MIN_UNITS_PER_WORD): Keep as 4.
15002 (POINTER_SIZE): Raise to 64 on shmedia.
15003 (CONST_OK_FOR_J): New macro.
15004 (CONST_OK_FOR_LETTER_P): Use it.
15005 (processor_type): Add PROCESSOR_SH5.
15006 * config/sh/sh.md: Conditionalize all expands, insns and
15007 splits to TARGET_SH1.
15008 (cpu): Added sh5.
15009 (addsi3_compact): Renamed from...
15010 (addsi3): Now an expand.
15011 (addsi3_media, subsi3_media): New insns.
15012 (subsi3): Don't negate constants with SHmedia.
15013
e27e52e0 15014 * hooks.c: New file.
15015 * hooks.h: New file.
15016 * Makefile.in (HOOKS_H): New.
15017 (TARGET_DEF_H): Added $(HOOKS_H).
15018 (OBJS): Added hooks.o.
15019 (cfgcleanup.o, bb-reorder.o): Added target.h.
15020 (hooks.o): Added dependencies.
15021 * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
15022 (TARGET_INITIALIZER): this.
15023 * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
15024 * target.h (struct gcc_target): Added cannot_modify_jumps_p.
15025 * bb-reorder.c: Include target.h.
15026 (reorder_basic_blocks): Skip if cannot modify jumps.
15027 * cfgcleanup.c: Include target.h.
15028 (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
15029
edef0027 150302002-02-08 Chris Demetriou <cgd@broadcom.com>
15031
4fc5f895 15032 * config/mips/mips.md (casesi_internal, casesi_internal_di):
15033 Protect jump delay slot instructions with .set noreorder and
15034 .set nomacro.
edef0027 15035
150362002-02-08 Chris Demetriou <cgd@broadcom.com>
47ea8fe4 15037
15038 * config/mips/mips.md (casesi_internal_di): Calculate
15039 the index into the target offset table correctly.
15040
5b1bb114 150412002-02-08 Richard Henderson <rth@redhat.com>
15042
15043 * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
15044 * final.c (output_addr_const): Accept and discard SUBREG.
15045 * varasm.c (decode_addr_const): Don't abort on unknown expressions --
15046 mark them unknown instead.
15047 (simplify_subtraction): Handle RTX_UNKNOWN.
15048 (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
15049
668e259a 150502002-02-08 David Edelsohn <edelsohn@gnu.org>
15051
15052 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
15053
cd0751f1 150542002-02-08 Richard Henderson <rth@redhat.com>
15055
15056 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
15057
f600b94d 150582002-02-08 Andreas Jaeger <aj@suse.de>
15059
15060 * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
15061 * config/i386/t-linux64: New file.
15062
64fbdcbf 150632002-02-08 Jakub Jelinek <jakub@redhat.com>
15064
15065 * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
15066 * c-parse.in (compstmt): Clear last_expr_type.
15067
d2aa2d17 150682002-02-07 Richard Henderson <rth@redhat.com>
15069
15070 * loop.c (strength_reduce): Sink final_value when not
15071 eliminating a biv.
15072
ea809976 150732002-02-07 David O'Brien <obrien@FreeBSD.org>
15074
15075 * config/sparc/freebsd.h: Fix mismatched spec {.
15076
088f179c 150772002-02-07 Richard Henderson <rth@redhat.com>
15078
15079 * cfgrtl.c: Include recog.h and insn-config.h.
15080 (keep_with_call_p): Fix general_operand invocation.
15081 * Makefile.in (cfgrtl.o): Update dependencies.
15082
c5599633 150832002-02-07 Kazu Hirata <kazu@hxi.com>
15084
15085 * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
15086 comment. Accept HImode only if TARGET_H8300.
15087
dae05141 150882002-02-07 Eric Christopher <echristo@redhat.com>
15089
15090 * config/mips/crtn.asm: Cleanup #ifdefs.
15091
150922002-02-07 Eric Christopher <echristo@redhat.com>
15093
15094 * config/mips/crti.asm: Add changes for mips16. mips16 uses
15095 register 7 as RA instead of $31.
15096 * config/mips/crtn.asm: Ditto.
15097 * config/mips/mips.c (mips_move_2words): Add case for
15098 TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
15099 (compute_frame_size): Fix typo.
15100 (save_restore_insns): Ditto. Make documentation about using
15101 register $7 as return register more precise.
15102 (mips_expand_epilogue): Fix comment. Add code to work around not
15103 being able to add to the stack pointer directly.
15104 * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
15105 to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
15106 epilogue.
15107
f86ef5aa 151082002-02-07 Tom Rix <trix@redhat.com>
15109
dae05141 15110 * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
f86ef5aa 15111 immediates in ldu and stdu DS opcode field.
15112 * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
15113 * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
15114 * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
15115
9b2e8d38 151162002-02-07 Jeff Sturm <jsturm@one-point.com>
15117
15118 * config/sparc/sparc.c (compute_frame_size): Don't correct frame
15119 offset for stack bias.
15120
bc18a051 151212002-02-07 H.J. Lu <hjl@gnu.org>
15122
15123 * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
15124
59a893a8 151252002-02-07 Ulrich Weigand <uweigand@de.ibm.com>
15126
15127 * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
15128
717db2f5 15129Thu Feb 7 12:14:17 CET 2002 Jan Hubicka <jh@suse.cz>
15130
15131 * i386-protos.h (x86_order_regs_for_local_alloc): Declare
15132 * i386.c (x86_order_regs_for_local_alloc): New global function.
15133 * i386.h (REG_ALLOC_ORDER): CLeanup.
15134 (ORDER_REGS_FOR_LOCAL_ALLOC): New.
15135
9464d436 151362002-02-07 Richard Henderson <rth@redhat.com>
15137
303f86ec 15138 PR optimization/2463
9464d436 15139 * alias.c (find_base_value): Recall base values for fixed hard regs.
15140 * loop.c (loop_regs_update): Don't use single_set on non-insns.
15141
f8a0c1f2 151422002-02-07 Alexandre Oliva <aoliva@redhat.com>
15143
15144 * config/mips/mips.md (define_delay) [mips16]: Adjust required
15145 length.
15146
db4c0bc2 151472002-02-06 Richard Henderson <rth@redhat.com>
15148
15149 PR c/5609
15150 * stmt.c (resolve_operand_name_1): Take more care with mixed
15151 named and unnamed operands.
15152
56b6134d 151532002-02-06 Janis Johnson <janis187@us.ibm.com>
15154 Jan Hubicka <jh@suse.cz>
15155
15156 * loop.c (remove_constant_addition): Avoid clobbering a shared
15157 CONST expression.
15158
8994bd9e 151592002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
15160
15161 * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
15162 * config/s390/t-linux64: New file.
15163 * config/s390/libgcc-glibc.ver: New file.
15164
d50213e6 151652002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
15166
15167 * config/s390/linux64.h: Delete file.
15168 * config/s390/s390x.h: New file.
15169 * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
15170 as target header file.
15171 * config/s390/linux.h (TARGET_VERSION): Define depending on
15172 DEFAULT_TARGET_64BIT.
15173 (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
15174 (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
15175 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
15176 (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
15177 (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
15178 (EXTRA_SPEC): New define.
15179 * config/s390/s390.h (TARGET_VERSION): Define depending on
15180 DEFAULT_TARGET_64BIT.
15181 (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
15182
af857942 151832002-02-06 Jason Merrill <jason@redhat.com>
15184
15185 * c-decl.c (finish_function): Warn about a non-void function with
15186 no return statement and no abnormal exit.
15187 (current_function_returns_abnormally): New variable.
15188 (start_function): Clear it.
15189 (struct c_language_function): Add returns_abnormally.
15190 (push_c_function_context): Save it.
15191 (pop_c_function_context): Restore it.
15192 (builtin_function): Set TREE_THIS_VOLATILE on return fns.
15193 (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
15194 an explicit return type.
15195 * c-tree.h: Declare current_function_returns_abnormally.
15196 (C_FUNCTION_IMPLICIT_INT): New macro.
15197 * c-typeck.c (build_function_call): Set it.
15198 (c_expand_return): Set current_function_returns_value even if the
15199 value is erroneous.
15200
0e62d8da 152012002-02-06 Jakub Jelinek <jakub@redhat.com>
15202
15203 PR c/5420:
15204 * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
15205 unsafe for reevaluation.
15206
5fc77c6c 152072002-02-06 Jakub Jelinek <jakub@redhat.com>
15208
15209 PR c/5482:
15210 * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
15211 EXPR_STMT, but COMPOUND_STMT, recurse into it.
15212
9ddc1858 152132002-02-06 Richard Henderson <rth@redhat.com>
15214
15215 * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
15216 be a general_operand. Dest for function value must be a pseudo.
15217
a96a05e6 152182002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
15219
15220 * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
15221 as SYMBOL_REFs from the constant pool.
15222
08ba4893 152232002-02-06 Alexandre Oliva <aoliva@redhat.com>
15224
15225 * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
15226 passed by invisible reference.
15227
394e2618 152282002-02-05 Richard Henderson <rth@redhat.com>
15229
15230 * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
15231
f0b228a5 152322002-02-06 Hans-Peter Nilsson <hp@bitrange.com>
15233
15234 Implement using "base addresses" in insn operands as default.
15235 * config/mmix/mmix.c (mmix_conditional_register_usage): if
15236 -mabi=gnu, modify fixed_regs to fit the GNU ABI.
15237 (mmix_extra_constraint): Use 'R' to indicate that GETA should be
15238 used to read the rtx value.
15239 (mmix_target_asm_function_epilogue): Fix spacing.
15240 (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
15241 (mmix_legitimate_address): Ditto.
15242 (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
15243 should be loaded with a GETA insn. Don't allocate needless extra
15244 char for nul termination and fix misleading comment.
15245 (mmix_print_operand_address): Handle constants if
15246 TARGET_BASE_ADDRESSES.
15247 (mmix_output_register_setting): Use base addressing if
15248 TARGET_BASE_ADDRESSES and the number of insns is 3.
15249 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
15250 * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
15251 to use R as constraint, add LDA to match s.
15252 * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
15253 (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
15254 (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
15255 (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
15256 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
15257 order with other fixed registers.
15258 (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
15259 other parameter/call-clobbered registers.
15260 * doc/invoke.texi (Option Summary) <MMIX Options>: Add
15261 -mbase-addresses, -mno-base-addresses.
15262 (MMIX Options): Ditto.
15263
55bfeac3 152642002-02-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
15265
15266 * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
15267
aac0536f 152682002-02-06 Aldy Hernandez <aldyh@redhat.com>
15269
4fc5f895 15270 * config/rs6000/altivec.h: Change elem to _S_elem.
aac0536f 15271
788aa53e 152722002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
15273
15274 * config/netbsd.h (WCHAR_TYPE): Define.
15275 (WCHAR_TYPE_SIZE): Ditto.
15276 (WINT_TYPE): Ditto.
15277 * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
15278 (WCHAR_UNSIGNED): Ditto.
15279 (WCHAR_TYPE_SIZE): Ditto.
15280 (WINT_TYPE): Ditto.
15281 * config/arm/netbsd.h: Likewise.
15282 * config/i386/netbsd-elf.h: Likewise.
15283 * config/i386/netbsd.h: Likewise.
15284 * config/m68k/netbsd-elf.h: Likewise.
15285 * config/m68k/netbsd.h: Likewise.
15286 * config/ns32k/netbsd.h: Likewise.
15287 * config/sparc/netbsd.h: Likewise.
15288 * config/vax/netbsd.: Likewise.
15289
f04f096b 152902002-02-05 Alexandre Oliva <aoliva@redhat.com>
15291
15292 * target.h (struct gcc_target): Added ms_bitfield_layout_p.
15293 * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New. Added to...
15294 (TARGET_INITIALIZER): this.
15295 * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
15296 (BITFIELD_NBYTES_LIMITED): Markup fix.
15297 * tree.h (default_ms_bitfield_layout_p): Declare.
15298 (record_layout_info): Added prev_field.
15299 * tree.c (default_ms_bitfield_layout_p): New fn.
15300 * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
15301 PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
15302 * stor-layout.c: Include target.h.
15303 (start_record_layout): Initialize prev_field.
15304 (place_field): Handle MS bit-field layout, and disregard
15305 EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
15306 PCC_BITFIELD_TYPE_MATTERS in this case. Update prev_field.
15307 * Makefile.in (stor-layout.o): Adjust dependencies.
15308
c6d86b63 153092002-02-05 Jason Merrill <jason@redhat.com>
15310
c6d86b63 15311 * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
15312
71fcebb2 153132002-02-05 Andreas Jaeger <aj@suse.de>
15314
15315 * crtstuff.c: Fix comments.
15316
0a8301be 153172002-02-05 Richard Henderson <rth@redhat.com>
15318
115bceb9 15319 PR fortran/3393
15320 * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
15321 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
15322
0a8301be 15323 PR fortran/3392
15324 * config/mips/mips.c (function_arg): Handle TImode.
15325 (function_arg_advance): Likewise.
15326
6ec6ead4 153272002-02-05 Aldy Hernandez <aldyh@redhat.com>
15328
c6d86b63 15329 * config/rs6000/altivec.h (vec_step_help): Rename to
15330 __vec_step_help.
6ec6ead4 15331
78bab5bb 153322002-02-05 Aldy Hernandez <aldyh@redhat.com>
15333
c6d86b63 15334 * config/rs6000/altivec.h: Fix typos.
78bab5bb 15335
7c9e4aae 153362002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
15337
15338 * config/arm/netbsd.h: Correct a comment.
15339
391c48ec 153402002-02-05 Aldy Hernandez <aldyh@redhat.com>
15341
c6d86b63 15342 * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
15343 building void typed builtins.
391c48ec 15344
c6d86b63 15345 * config/rs6000/altivec.h (vec_ld*): Fix typos.
15346 (vec_step): Implement for C++.
391c48ec 15347
c6d86b63 15348Mon Feb 4 19:23:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
0d3c91d4 15349
15350 * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
15351
842e01df 153522002-02-04 Richard Henderson <rth@redhat.com>
15353
15354 * combine.c (nonzero_bits): Re-introduce special case for
15355 sp/fp/ap wrt REGNO_POINTER_ALIGN.
15356
15e5a1c8 153572002-02-05 Aldy Hernandez <aldyh@redhat.com>
15358
c6d86b63 15359 * doc/extend.texi: Warn about unsupported usage of altivec
15360 builtins.
15e5a1c8 15361
c6d86b63 15362 * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
15363 (altivec_predicate_*): New.
15e5a1c8 15364
c6d86b63 15365 * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
15366 Add C++ version of vec_*() functions.
15e5a1c8 15367
c6d86b63 15368 * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
15369 (bdesc_2arg): Remove altivec predicates.
15370 (altivec_expand_builtin): Handle predicates.
15371 (altivec_init_builtins): Handle predicates.
15372 (altivec_expand_predicate_builtin): New.
15e5a1c8 15373
6a2c16d6 153742002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
15375
15376 * pa.c (DO_FRAME_NOTES): Move forward.
15377 (store_reg): Revise handling of frame notes.
15378 (load_reg): Likewise.
15379 (set_reg_plus_d): Likewise.
15380 (hppa_expand_prologue): Likewise.
15381 (hppa_expand_epilogue): Likewise.
dae05141 15382
8f248ced 153832002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
15384
15385 * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
15386
79dc3b8e 153872002-02-04 Jakub Jelinek <jakub@redhat.com>
15388
15389 PR c/4475, c++/3780:
15390 * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
15391 * c-common.h (SWITCH_TYPE): Define.
15392 * c-typeck.c (c_start_case): Set SWITCH_TYPE.
15393 * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
15394 Rename spareness variable to sparseness.
15395 (expand_end_case_type): Renamed from expand_end_case, use orig_type
15396 if non-NULL instead of TREE_TYPE (orig_index).
15397 * tree.h (expand_end_case_type): Renamed from expand_end_case.
15398 (expand_end_case): Define using expand_end_case_type.
15399 * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
15400 to expand_end_case_type.
15401 * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
15402
5c56a3a9 154032002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
15404
15405 * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
15406 (BIGGEST_ALIGNMENT): Change to 128.
15407
ac5c955b 154082002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
15409
15410 * pa32-linux.h (LINK_COMMAND_SPEC): Define.
15411
39bf1bf0 154122002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
15413
15414 * pa.md (call_internal_reg_64bit): Remove unused variable.
15415
71904594 154162002-02-04 Nick Clifton <nickc@cambridge.redhat.com>
15417
15418 * config/arm/arm.h (machine_function): Add uses_anonymous_args
15419 field.
4fc5f895 15420 (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
71904594 15421 * config/arm/arm.c (current_function_anonymous_args): Delete,
4fc5f895 15422 replace uses with cfun->machine->uses_anonymous_args.
15423 (arm_reorg): Do not reset uses_anonymous_args.
71904594 15424
15425 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
15426 any geenral register.
dae05141 15427
9e8503e6 154282001-02-04 Bernd Schmidt <bernds@redhat.com>s
76cc9616 15429
15430 * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
15431 the entry block.
15432
04a917bf 154332002-02-04 Richard Henderson <rth@redhat.com>
15434
15435 * combine.c (force_to_mode): Remove STACK_BIAS code.
15436 (nonzero_bits): Likewise. Replace sp/fp special case with
15437 REGNO_POINTER_ALIGN.
15438
15439 * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
15440 (HARD_FRAME_POINTER_REGNUM): New.
15441 (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
15442 (FIXED_REGS, CALL_USED_REGS): Update.
15443 (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
15444 (CONDITIONAL_REGISTER_USAGE): Update for HFP.
15445 (HARD_REGNO_NREGS): Update for SFP.
15446 (STACK_POINTER_OFFSET): Include bias here ...
15447 (FIRST_PARM_OFFSET): ... not here.
15448 (STACK_BIAS): Remove.
15449 (INIT_EXPANDERS): New.
15450 (STARTING_FRAME_OFFSET): Do not include bias.
15451 (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
15452 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
15453 (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
15454 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
15455 * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
15456 * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
15457 (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
15458 (MUST_SAVE_REGISTER): Likewise.
15459 (sparc_flat_function_prologue): Likewise.
15460 (sparc_flat_function_epilogue): Likewise.
15461 (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
15462 (sparc_init_modes): SFP is GENERAL_REGS.
15463 (sparc_builtin_saveregs): SFP does not have bias applied.
15464
961d6ddd 154652002-02-04 Richard Henderson <rth@redhat.com>
15466
15467 * config/alpha/alpha.c (current_function_is_thunk): Don't check
15468 current_function_is_thunk.
15469 (alpha_sa_mask): Distinguish between current_function_is_thunk
15470 called from ASM_OUTPUT_MI_THUNK and not.
15471 (alpha_does_function_need_gp): Thunks always need gp.
15472 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
15473 (alpha_output_mi_thunk_osf): New.
15474 * config/alpha/alpha-protos.h: Update.
15475 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
15476
43674c99 154772002-02-04 Richard Sandiford <rsandifo@redhat.com>
15478
15479 * c-typeck.c (build_c_cast): Warn when qualifiers are added to
15480 function types, not when they're taken away.
15481
869fe49e 15482Mon Feb 4 09:05:58 2002 Jeffrey A Law (law@redhat.com)
15483
15484 * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
15485 CODE_LABEL and jump table when replacing a table jump with a
15486 simple jump.
15487
64f977d6 154882002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
15489
15490 * config/s390/s390-protos.h (legitimize_la_operand,
15491 s390_secondary_input_reload_class, s390_plus_operand,
15492 s390_expand_plus_operand): Add prototypes.
15493
15494 config/s390/s390.c (s390_secondary_input_reload_class,
15495 s390_plus_operand, s390_expand_plus_operand): New functions.
15496
15497 (struct s390_address): New member 'pointer'.
15498 (s390_decompose_address): Compute it.
15499 (legitimate_la_operand_p): Use it.
15500 (legitimize_la_operand): New function.
15501 (movti, movdi, movdf splitters): Call it.
15502
15503 config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
15504 (PREDICATE_CODES): Add s390_plus_operand.
15505
15506 config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
15507 (la_ccclobber): Allow GENERAL_REGS as output operand.
15508
15509 (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
15510 *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
15511 (*la_64, *la_31, reload_indi, reload_insi): ... these.
15512
b442c5a9 155132002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
15514
15515 * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
15516 register names for regular asm () construct.
15517
03ce3f23 155182002-02-04 Jakub Jelinek <jakub@redhat.com>
15519
15520 * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
15521 registers.
15522
c679a3d3 155232002-02-04 Jakub Jelinek <jakub@redhat.com>
15524
15525 * combine.c (recog_for_combine): Create a dummy insn with PATTERN
15526 pat for recog.
15527
5d9a3aea 155282002-02-04 Hartmut Penner <hpenner@de.ibm.com>
15529
4fc5f895 15530 * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
15531 constant pool to be identical by string address and index.
5d9a3aea 15532
2ab08d57 155332002-02-04 Anthony Green <green@redhat.com>
15534
15535 * output.h (SECTION_OVERRIDE): Define.
15536 * varasm.c (named_section): Obey SECTION_OVERRIDE.
15537
f470dade 155382002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
15539
15540 * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
15541 by existing arm*-*-netbsd* (a.out) target.
15542 (ns32k-*-netbsdelf*): Likewise.
15543 (sparc-*-netbsdelf*): Likewise.
15544 (vax-*-netbsdelf*): Likewise.
15545
5a1890fd 155462002-02-03 Danny Smith <dannysmith@users.sourceforge.net>
61dcce9c 15547
15548 * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
15549 headers and libobjc headers.
15550
155512002-02-03 Mumit Khan <khan@nanotech.wisc.edu>
15552
15553 * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
15554 (_mingw.h): Remove duplicate include.
15555
124c3198 155562002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
15557
15558 * config.gcc: Set cpu_type to m68k for 68010, as well.
15559 (m68010-*-netbsdelf*): New...
15560 (m68k*-*-netbsdelf*): ...targets.
15561 * config/m68k/netbsd-elf.h: New file.
15562
70a21926 155632002-02-02 Kazu Hirata <kazu@hxi.com>
15564
15565 * config/h8300/h8300.c (hand_list): Move inside function_arg.
15566
1592a00c 155672002-02-02 Kazu Hirata <kazu@hxi.com>
15568
15569 * config/h8300/h8300.c (h8_push_ops): Move inside
15570 h8300_init_once.
15571 (h8_pop_ops): Likewise.
15572 (h8_move_ops): Likewise.
15573
8ba450ad 155742002-02-02 Kazu Hirata <kazu@hxi.com>
15575
15576 * config/h8300/h8300.c (os_task): Make it static.
15577 (monitor): Likewise.
15578 (pragma_saveall): Likewise.
15579
78464229 155802002-02-02 Alexandre Oliva <aoliva@redhat.com>
15581
15582 * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
15583 constant is a valid sign-extension for Pmode.
15584
ded3e58c 155852002-02-02 Kazu Hirata <kazu@hxi.com>
15586
15587 * config/h8300/h8300.c: Fix formatting.
15588
5eb937e3 155892002-02-02 Kazu Hirata <kazu@hxi.com>
15590
15591 * config/h8300/h8300.md: Fix formatting.
15592
d43b4593 155932002-02-02 Kazu Hirata <kazu@hxi.com>
15594
15595 * config/h8300/h8300.md (one_cmpl patterns): Tighten the
15596 predicates of operands[1]. Split the patterns for each
15597 processor variant.
15598
1177de69 155992002-02-02 Kazu Hirata <kazu@hxi.com>
15600
15601 * config/h8300/h8300.md (xor patterns): Tighten the predicates
15602 of operands[1] to register_operand.
15603
537c4bc6 156042002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
15605
15606 * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
15607 * cpphash.c (_cpp_init_hashtable): Similarly.
15608 * cppinit.c (cpp_create_reader): Default the signed_char flag.
15609 (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
15610 (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
15611 (cpp_handle_option): Handle the new options.
15612 * cpplex.c (cpp_interpret_charconst): Use new flag.
15613 * cpplib.h (struct cpp_options): New member signed_char.
15614 * gcc.c (cpp_unique_options): Remove %c spec and documentation.
15615 (cpp_options): Handle -fsigned-char and -funsigned-char.
15616 (static_specs): Remove signed_char_spec.
15617 (do_spec1): Don't handle %c.
15618 * system.h: Poison SIGNED_CHAR_SPEC.
15619 * tradcif.y (yylex): Use flag_signed_char.
15620 * tradcpp.h (flag_signed_char): New.
15621 * tradcpp.c (flag_signed_char): New.
15622 (main): Handle new command-line options.
15623 (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
15624config:
15625 * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
15626 * avr/avr.h: Remove old comments.
15627 * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
15628 (CC1_SPEC): Pass -fsigned-char if -mic*.
15629 (SIGNED_CHAR_SPEC): Remove.
15630doc:
15631 * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
15632
a4b726cb 156332002-02-01 Eric Christopher <echristo@redhat.com>
15634
15635 From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
15636 * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
15637 * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
15638 (ASM_OUTPUT_REG_POP): Ditto.
15639
b9d8dcc9 156402002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
15641
15642 * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
15643 patch.
15644
ca29ad57 156452002-02-02 Jakub Jelinek <jakub@redhat.com>
15646
15647 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
15648
4d6ffac5 156492002-02-02 Jakub Jelinek <jakub@redhat.com>
15650
15651 PR c/5304:
15652 * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
15653 unconditionally.
15654
6f14033a 156552002-02-01 Janis Johnson <janis187@us.ibm.com>
15656
15657 * cfganal.c: Include tm_p.h.
15658 (keep_with_call_p): Fix the test that determines if a register holds
15659 the return value of a call.
15660
c3479b10 156612002-02-01 DJ Delorie <dj@redhat.com>
15662
15663 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
15664 we are given conflicting registers, switch to the other one we
15665 had allocated for us.
15666 * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
15667 as TImode so we know when the "other" register is available.
15668
11ce0f1a 156692002-02-01 David O'Brien <obrien@FreeBSD.org>
15670
15671 * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
15672 sparc/sparc_bi.h.
15673
e3e0e46a 156742002-02-01 Janis Johnson <janis187@us.ibm.com>
15675
15676 * cfganal.c (keep_with_call_p): New function.
15677 (flow_call_edges_add): Prevent splitting a block between a call and
15678 a single-set instruction that should be kept in the same block.
15679
f86664e6 156802002-02-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
15681
15682 * doc/install.texi (avr): Update outdated URL.
15683
00d49f5c 156842002-01-30 Andrew Haley <aph@cambridge.redhat.com>
15685
4fc5f895 15686 * config/stormy16/stormy16.md (pushqi): New.
15687 (popqi): New.
15688 (pushhi): New.
15689 (pophi): New.
15690 (movhi): Remove stack operands.
15691 (movqi): Likewise.
15692 * config/stormy16/stormy16.h (PREDICATE_CODES): Add
15693 nonimmediate_nonstack_operand.
15694 * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
15695 New.
15696 * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
15697 New.
00d49f5c 15698
86172eb0 156992002-01-31 Jason Merrill <jason@redhat.com>
15700
15701 * Makefile.in (c-parse.c): Handle .output file.
15702 * objc/Make-lang.in (objc-parse.c): Likewise.
15703
557acce7 157042002-02-01 Alexandre Oliva <aoliva@redhat.com>
15705
15706 * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
15707 the -me[lb] option is given. Don't output the default flag
15708 twice.
15709
e62fd7d5 157102002-01-31 Zack Weinberg <zack@codesourcery.com>
15711
15712 * c-lex.c (yyparse): Call debug_hooks->start_source_file for
15713 the primary source file; this has not been done yet.
15714 * c-decl.c (c_expand_body): Reset input_filename from
15715 DECL_SOURCE_FILE (fndecl) before calling init_function_start.
15716
ebcd99ea 157172002-01-31 Kazu Hirata <kazu@hxi.com>
15718
15719 * rtlanal.c (subreg_regno_offset): Do not use
15720 SUBREG_REGNO_OFFSET.
15721 * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
15722 * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
15723
4fbea729 157242002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
15725
15726 * gccbug.in: Follow GNU Coding Standards for --version. Use GCC
15727 version rather than GNATS version in --version output.
15728
a186b63f 157292002-01-31 Richard Sandiford <rsandifo@redhat.com>
15730
15731 * ifcvt.c (noce_process_if_block): Make a copy of the destination
15732 when copying back from a temporary.
15733
13b07dab 157342002-01-30 Richard Henderson <rth@redhat.com>
15735
15736 * ifcvt.c (dead_or_predicable): Handling merging when other_bb
15737 and new_dest are the same.
15738
cab14df7 157392002-01-30 Richard Henderson <rth@redhat.com>
15740
610cfb01 15741 PR opt/5076
cab14df7 15742 * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
15743 * rtl.c (note_insn_name): Update.
15744 * emit-rtl.c (remove_unnecessary_notes): Kill it.
15745 * stmt.c (expand_end_loop): Kill jump opt code. Use LOOP_END_TOP_COND
15746 to perform loop rotation.
15747 (expand_exit_loop_top_cond): New.
15748 * tree.h (expand_exit_loop_top_cond): Declare it.
15749 * c-semantics.c (genrtl_while_stmt): Use it.
15750 (genrtl_for_stmt): Likewise.
15751
fe701bb3 157522002-01-30 Alexandre Oliva <aoliva@redhat.com>
15753
15754 * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
15755 arguments to 64-bit boundaries on 64-bit ABIs.
15756
930cea6a 157572002-01-30 Steve Ellcey <sje@cup.hp.com>
15758
15759 * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
15760
b36e470a 157612002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
15762
15763 * c-decl.c (grokdeclarator): Handle type being a typedef for an
15764 invalid type.
15765
74b68692 157662002-01-30 David O'Brien <obrien@FreeBSD.org>
15767
15768 * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
15769 * config/sparc/sparc_bi.h: Remove file.
15770 * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
15771
501793e3 157722002-01-30 Richard Henderson <rth@redhat.com>
15773
15774 * sched-deps.c (sched_analyze): Make a call read the frame pointer.
15775
deab2811 157762002-01-30 Zack Weinberg <zack@codesourcery.com>
15777
15778 * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
15779
86172eb0 157802002-01-30 Jason Merrill <jason@redhat.com>
15a56411 15781
15782 * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
15783 (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
15784 (reg_save): Use DW_CFA_offset_extended_sf instead.
15785
15786 * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
15787
d0bfd0b5 157882002-01-29 Jakub Jelinek <jakub@redhat.com>
15789
15790 * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
15791 in cselib_lookup.
15792
7ab8705d 157932002-01-29 Aldy Hernandez <aldyh@redhat.com>
15794
e62fd7d5 15795 * rs6000.md ("*call_value_local32"): Remove constraints.
15796 ("*call_value_local64"): Same.
15797 ("*call_value_indirect_nonlocal_aix32"): Same.
15798 ("*call_value_nonlocal_aix32"): Same.
15799 ("*call_value_indirect_nonlocal_aix64"): Same.
15800 ("*call_value_nonlocal_aix64"): Same.
15801 ("*call_value_nonlocal_sysv"): Same.
7ab8705d 15802
d392c121 158032002-01-29 Richard Henderson <rth@redhat.com>
15804
15805 * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
15806
41828ba0 158072002-01-29 Richard Henderson <rth@redhat.com>
15808
15809 * expr.c (force_operand): Ignore flag_pic for detecting pic
15810 address loads.
15811 * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
15812 for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
15813 * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
15814 instead of open-coded loop.
15815 * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
15816 be fixed when in use.
15817
d922644a 158182002-01-29 Richard Henderson <rth@redhat.com>
15819
15820 * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
15821 * sched-rgn.c (propagate_deps): Update them.
15822 * sched-deps.c (sched_analyze_insn): Update them. Flush the
15823 clobbers list when either gets too long.
15824
c0a5a33a 158252002-01-29 Jakub Jelinek <jakub@redhat.com>
15826
15827 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
15828 and INDEX_REGS the same as GENERAL_REGS.
15829 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
15830
c74ee641 158312002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
15832
e62fd7d5 15833 * tree.c (build_nonstandard_integer_type): Correct prototype.
c74ee641 15834
66a63c5b 158352002-01-29 Ulrich Weigand <uweigand@de.ibm.com>
15836
e62fd7d5 15837 * config/s390/s390.md (movstrsico, movstrdix_64,
66a63c5b 15838 movstrsix_31): Remove, replace by ...
e62fd7d5 15839 (movstrdi_short, movstrsi_short, movstrdi_long,
66a63c5b 15840 movstrsi_long): ... these. New.
15841 (movstrdi, movstrsi): Adapt.
15842
15843 (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
e62fd7d5 15844 ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
66a63c5b 15845 Remove unnecessary CC clobber.
15846 (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
15847 *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
15848
15849 (divmoddi4): Don't partially initialize TImode register.
15850
4433ec51 158512002-01-29 Geoffrey Keating <geoffk@redhat.com>
15852
15853 * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
15854
a9d18fe1 158552002-01-29 Richard Henderson <rth@redhat.com>
15856
15857 * flow.c (print_rtl_and_abort): Remove.
15858 (print_rtl_and_abort_fcn): Remove.
15859 (verify_local_live_at_start): Use dump_bb instead.
15860 (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
15861 (verify_wide_reg_1): Return 2 on mode test failure.
15862
c0d30539 158632002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
15864
15865 PR c/3325, c/3326, c/2511, c/3347
15866 * c-decl.c (enum_decl_context): Remove BITFIELD.
15867 (grokdeclarator): Take bitfield width as an input.
15868 Ensure bitfields are given the correct type. Perform
15869 bitfield width validation with build_bitfield_integer_type
15870 rather than waiting for finish_struct.
15871 (grok_typename, grok_typename_in_parm_context, start_decl,
15872 push_parmdecl, grokfield, start_function): Update calls to
15873 grokdeclarator.
15874 (build_bitfield_integer_type): New function.
15875 (finish_struct): Move bitfield validation to grokdeclarator
e62fd7d5 15876 and build_bitfield_integer_type.
c0d30539 15877 * tree.c (build_nonstandard_integer_type): New function.
15878 * tree.h (build_nonstandard_integer_type): New prototype.
15879objc:
15880 * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
15881
a182c763 158822002-01-29 Jakub Jelinek <jakub@redhat.com>
15883
15884 PR other/1502:
15885 * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
15886 don't ignore unrecognized -W* options.
15887 (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
15888 * cpplib.h (cpp_handle_option): Adjust prototype.
15889 * c-decl.c (c_decode_options): Pass 0 as last argument to
15890 cpp_handle_option.
15891
15892 PR c/2896:
15893 * gcc.c (cpp_unique_options): Split from cpp_options.
15894 (cpp_options): Source cpp_unique_options.
15895 (default_compilers): Use cpp_unique_options instead of cpp_options
15896 when used together with cc1_options.
15897 (static_specs): Add cpp_unique_options.
15898 * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
15899 when used together with cc1_options.
15900
8aaeb4a6 159012002-01-29 Kazu Hirata <kazu@hxi.com>
15902
15903 * config/h8300/h8300-protos.h: Update the prototype of
15904 output_a_shift.
15905 * config/h8300/h8300.c (output_a_shift): Remove an unused
15906 argument 'insn'. Remove redundant code.
15907 * config/h8300/h8300.md: Adust to the new prototype of
15908 output_a_shift.
15909
efb83474 159102002-01-29 Kazu Hirata <kazu@hxi.com>
15911
15912 * config/h8300/h8300-protos.h: Update the prototypes of
15913 emit_a_rotate and expand_a_rotate.
15914 * config/h8300/h8300.c (emit_a_rotate): Change the type of the
15915 first argument to 'enum rtx_code'.
15916 (expand_a_rotate): Likewise.
15917
909c9c5c 159182002-01-28 Kazu Hirata <kazu@hxi.com>
15919
15920 * config/h8300/h8300-protos.h: Update the prototype of
15921 output_simode_bld.
15922 * config/h8300/h8300.c (output_simode_bld): Remove an argumen
15923 'log2'.
15924 * config/h8300/h8300.md: Adjust to the new prototype.
15925
6f04daec 159262002-01-28 Kazu Hirata <kazu@hxi.com>
15927
15928 * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
15929 redundant code.
15930
6ea47475 159312002-01-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
15932
15933 * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
15934 is a fixed register before returning pic_offset_table_rtx.
15935 * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
15936 when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
15937
6bb7c2f2 159382002-01-28 Jason Merrill <jason@redhat.com>
15939
15a56411 15940 * dwarf2.h: Sync with src version.
6bb7c2f2 15941
82086392 159422002-01-28 Paul Koning <pkoning@equallogic.com>
15943
15944 * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
15945 BT_FN_VOID_PTR_VAR.
15946 * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
15947 * doc/extend.texi (__builtin_prefetch): Update documentation:
15948 first argument is now const void ptr.
15949
f60573c8 159502002-01-28 Kazu Hirata <kazu@hxi.com>
15951
15952 * config/h8300/h8300-protos.h: Remove an unused prototype.
15953
4d859885 159542002-01-28 Roman Zippel <zippel@linux-m68k.org>
15955
15956 * toplev.c (lang_independent_init): Round up identifier size.
15957
87a1ff8e 159582002-01-28 Richard Earnshaw <rearnsha@arm.com>
15959
15960 * config.gcc: Revert previous change.
15961
061404a6 159622002-01-28 Andris Pavenis <pavenis@latnet.lv>
15963
15964 * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
15965
d02da15e 159662002-01-28 Richard Earnshaw <rearnsha@arm.com>
15967
15968 * config.gcc (*-*-netbsdelf*): Set up generic parameters.
15969 (*-*-netbsd*): Always use collect2. Remove collect2 settings from
15970 other non-elf netbsd config frags.
15971 * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
15972 collect2 will does that.
15973 * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
15974 shared-lib frobbing will work.
15975
70a7518f 159762002-01-28 Kazu Hirata <kazu@hxi.com>
15977
15978 * config/h8300/h8300.h: Fix formatting.
15979 * config/h8300/h8300.md: Likewise.
15980
68d0517a 159812002-01-28 Loren J. Rittle <ljrittle@acm.org>
15982
15983 * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
15984 the old, removed AAA_standards fix.
15985 * fixinc/fixincl.x: Rebuilt.
15986
25fe8b9e 159872002-01-28 Hans-Peter Nilsson <hp@axis.com>
15988
15989 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
15990 atexit call in crtbegin, hooked in after call to frame_dummy;
15991 register EH before registering __fini__start.
15992
abaff6c6 159932002-01-28 Aldy Hernandez <aldyh@redhat.com>
15994
15995 * config/rs6000/altivec.h: Remove spurious semicolons.
15996
dc0fa99c 159972002-01-27 Kazu Hirata <kazu@hxi.com>
15998
15999 * config/h8300/h8300.md: Replace dead bit extraction patterns
16000 with ones that work.
16001
981336a3 16002Sun Jan 27 13:23:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16003
16004 * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
16005 if not STRICT_ALIGNMENT.
16006 * rtl.h (MEM_ALIGN): Likewise.
16007
9e1e55c2 160082002-01-27 Craig Rodrigues <rodrigc@gcc.gnu.org>
16009
16010 * doc/invoke.texi (-fdump-translation-unit): Revert this
16011 patch: 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
16012
478a0ee2 160132002-01-27 Kazu Hirata <kazu@hxi.com>
16014
16015 * config/h8300/h8300.md (define_constants): New.
16016 (anonymous patterns) Use defined constants appropriately.
16017
60ff2ea8 160182002-01-27 Kazu Hirata <kazu@hxi.com>
16019
16020 * config/h8300/h8300.c (function_arg): Remove redundant code.
16021
5deaeb50 160222002-01-26 Richard Henderson <rth@redhat.com>
16023
16024 * sched-deps.c (reg_pending_uses_head): New.
16025 (reg_pending_barrier): Rename from reg_pending_sets_all.
16026 (find_insn_list): Don't mark inline.
16027 (find_insn_mem_list): Remove.
16028 (add_dependence_list, add_dependence_list_and_free): New.
16029 (flush_pending_lists): Replace only_write param with separate
16030 for_read and for_write parameters. Update all callers. Use
16031 add_dependence_list_and_free.
16032 (sched_analyze_1): Do not add reg dependencies here; just set
16033 the pending bits. Use add_dependence_list.
16034 (sched_analyze_2): Likewise.
16035 (sched_analyze_insn): Replace schedule_barrier_found with
16036 reg_pending_barrier. Add all dependencies for pending reg
16037 uses, sets, and clobbers.
16038 (sched_analyze): Don't add reg dependencies for calls, just
16039 set pending bits. Use regs_invalidated_by_call. Treat
16040 sched_before_next_call as a normal list, not a fake insn.
16041 (init_deps): No funny init for sched_before_next_call.
16042 (free_deps): Free pending mems lists. Don't zero reg_last.
16043 (init_deps_global): Init reg_pending_uses.
16044 (finish_deps_global): Free it.
16045 * sched-int.h (deps): Make in_post_call_group_p boolean. Update docs.
16046 (find_insn_mem_list): Remove.
16047 * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
16048 (propagate_deps): Use them. Zero temp mem lists.
16049
e1ff7102 160502002-01-26 Richard Henderson <rth@redhat.com>
16051
16052 * Makefile.in (CRTSTUFF_CFLAGS): New.
16053 (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
16054 * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
16055 crtstuff.c instead of alpha assembly version.
16056 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
16057 entire dummy function sequence. Use FORCE_CODE_SECTION_ALIGN
16058 not FORCE_{INIT,FINI}_SECTION_ALIGN.
16059 (__do_global_dtors_aux): Mark used.
16060 (frame_dummy, __do_global_ctors_aux): Mark used.
16061 (fini_dummy, init_dummy): Remove.
16062
16063 * config/alpha/crtbegin.asm: Remove file.
16064 * config/alpha/crtend.asm: Remove file.
16065 * config/alpha/t-crtbe: Remove file.
16066 * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
16067 (LINK_EH_SPEC): New.
16068
16069 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
16070 FORCE_INIT_SECTION_ALIGN hack. Register __fini_start before
16071 calling constructors.
16072 * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
16073
16074 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
16075 * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
16076 CRT_END_INIT_DUMMY hack.
16077 * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
16078 FORCE_{INIT,FINI}_SECTION_ALIGN.
16079
16080 * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
16081 FORCE_{INIT,FINI}_SECTION_ALIGN.
16082
16083 * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
16084 invocation sequence.
16085 * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
16086
16087 * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
16088 (FORCE_CODE_SECTION_ALIGN): New.
16089
82d8cc5a 160902002-01-26 Richard Henderson <rth@redhat.com>
16091
16092 * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
16093
5aae9d06 160942002-01-26 Richard Henderson <rth@redhat.com>
16095
16096 * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
16097 (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
16098
4de8ccba 160992002-01-26 Kazu Hirata <kazu@hxi.com>
16100
16101 * config/h8300/h8300.md: Remove bit extraction patterns that
16102 cannot be triggered.
16103 Restrict each bit extraction pattern to a variant on which the
16104 pattern is tested.
16105
dc64c56d 161062002-01-26 Joseph S. Myers <jsm28@cam.ac.uk>
16107
16108 * doc/include/texinfo.tex: Update to version 2002-01-04.07.
16109
6e548a60 161102002-01-26 Kazu Hirata <kazu@hxi.com>
16111
16112 * config/h8300/h8300.md: Remove bit test patterns that cannot
16113 be triggered.
16114 Restrict each bit test pattern to a variant on which the
16115 pattern is tested.
16116
b527e67e 161172002-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16118
16119 * builtins.c (expand_builtin_strncat): Remove redundant check for
16120 INTEGER_CST.
16121
cbe0a0fe 161222002-01-25 David O'Brien <obrien@FreeBSD.org>
16123
16124 * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
16125 default setting.
16126 * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
16127 existing setting.
16128
aae061fd 161292002-01-25 Geoffrey Keating <geoffk@redhat.com>
16130
16131 * dbxout.c (dbxout_init): Use assemble_name rather than just
16132 stripping off the first character.
16133 (dbxout_source_file): Likewise.
16134
7f63e91b 161352002-01-25 DJ Delorie <dj@redhat.com>
16136
16137 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
16138 using rtx_equal_p, not by comparing pointers.
16139
52bcea50 161402002-01-25 Steve Ellcey <sje@cup.hp.com>
16141
16142 * emit-rtl.c (gen_rtx_REG): Always return the same rtx
16143 for PIC_OFFSET_TABLE_REGNUM.
16144 (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
16145
a8456aba 161462002-01-25 David O'Brien <obrien@FreeBSD.org>
16147
16148 * config.gcc (x86_64-*-freebsd*): New target.
16149 (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
16150 value.
16151 (i[34567]86-*-freebsd*): Don't include svr4.h.
16152 * config/i386/freebsd64.h: New file.
16153
ffe38693 161542002-01-25 Douglas B Rupp <rupp@gnat.com>
16155
7531c549 16156 * config/alpha/x-vms (version): Make static.
16157
16158 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
16159 in previous checkin.
16160
ffe38693 16161 * Makefile.in (install-headers-cp): New target.
16162 * config.gcc (alpha-dec-*vms*): Install headers with
16163 install-headers-cp
16164
4aa863f8 16165Fri Jan 25 22:42:49 CET 2002 Jan Hubicka <jh@suse.cz>
16166
16167 * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
16168 avoid it's copies.
16169
df5c389e 16170Fri Jan 25 08:26:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16171
16172 * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
16173 of compare_tree_int.
16174 (expand_builtin_strncat): Likewise.
16175 * c-decl.c (finish_struct): Use tree_low_cst.
16176 * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
16177 * tree.c (compare_tree_int): Likewise.
16178
79ed0259 161792002-01-25 Ulrich Weigand <uweigand@de.ibm.com>
16180
16181 * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
16182 adjustments even if they are implemented by more than two insns.
16183
992c7138 16184Fri Jan 25 20:43:56 CET 2002 Jan Hubicka <jh@suse.cz>
16185
df5c389e 16186 * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
992c7138 16187 * df.h (struct ref): Kill B.
16188 (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
16189
16190 * basic-block.h (PROP_EQUAL_NOTES): New flag.
16191 * flow.c (propagate_one_insn): Use it.
16192 (mark_used_regs): Handle NIL.
16193
b193f2d5 161942002-01-25 Geoffrey Keating <geoffk@redhat.com>
ed0da988 16195
16196 * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
16197 to help folding.
16198
85f6e5ea 161992002-01-25 David Edelsohn <edelsohn@gnu.org>
16200
16201 * rs6000.md (prefetch): Make address V4SI mode so that the address
16202 is restricted to legitimate form for instruction.
16203
6b989ab5 162042002-01-25 Bob Wilson <bob.wilson@acm.org>
16205
16206 * doc/install.texi (xtensa-*-elf): New target.
16207 (xtensa-*-linux*): New target.
16208 * doc/contrib.texi: Add myself.
16209
26edf9fb 162102002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
16211
16212 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
16213 purpose register to hold an SImode (or smaller) value.
16214
3cfa3aba 162152002-01-25 Jakub Jelinek <jakub@redhat.com>
16216
16217 * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
16218 registry only.
16219 * crtstuff.c: Likewise.
16220
8250ae22 162212002-01-25 Kazu Hirata <kazu@hxi.com>
16222
16223 * config/h8300/h8300.md (negation patterns): Tighten
16224 predicates to register_operand.
16225
ad12b905 162262002-01-24 Aldy Hernandez <aldyh@redhat.com>
16227
82086392 16228 * loop.c (emit_prefetch_instructions): Use the prefetch insn's
16229 mode, not Pmode.
ad12b905 16230
82086392 16231 * builtins.c (expand_builtin_prefetch): Same.
ad12b905 16232
a50d3fba 162332002-01-24 Alexandre Oliva <aoliva@redhat.com>
16234
16235 * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
16236 modes.
16237
ecaf06e1 162382002-01-24 Kazu Hirata <kazu@hxi.com>
16239
16240 * config/h8300/h8300.c (print_operand): Remove support for
16241 operand character 'A'.
16242 * config/h8300/h8300.md (three anonymous patterns): Replace
16243 operand character 'A' with either 'T' or 'S'.
16244
1cb1d235 162452002-01-24 Kazu Hirata <kazu@hxi.com>
16246
16247 * config/h8300/h8300.c (print_operand): Remove support for
16248 operand character 'U'.
16249
2160b914 162502002-01-24 Andris Pavenis <pavenis@latnet.lv>
16251
82086392 16252 * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
2160b914 16253
6105c88b 162542002-01-24 Nick Clifton <nickc@cambridge.redhat.com>
16255
16256 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
16257 values to be assigned to the stack pointer.
16258
06ca573a 162592002-01-14 Hartmut Penner <hpenner@de.ibm.com>
16260
e62fd7d5 16261 * emit_rtl.c (gen_lowpart_common): Conversion from const_int
06ca573a 16262 to const_double needs to be done right for big-endian systems.
16263
330fd4e6 162642002-01-24 Jason Merrill <jason@redhat.com>
16265
a38bc69a 16266 PR c++/2432
330fd4e6 16267 * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
16268 to can_throw_internal.
16269
9fb436bb 162702002-01-23 Richard Henderson <rth@redhat.com>
16271
16272 * fold-const.c (fold): Change UINT_MAX test to check vs precision
16273 rather than TYPE_MAX_VALUE. Fix indentation and a bogus negation.
16274
2810aad4 162752002-01-24 Alexandre Oliva <aoliva@redhat.com>
16276
16277 * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
16278 (symGOT2reg): Use them, then set as GOT value as unchanging.
16279 (symGOTOFF2reg): Set REG_EQUAL note. Use a different pseudo
16280 as a temporary, if possible.
16281 (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC. Emit
16282 sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
16283
8d2755f8 162842002-01-23 Kazu Hirata <kazu@hxi.com>
16285
16286 * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
16287 accept to accept 0x80 as operands[2].
16288
c3b0d92f 162892002-01-24 Alexandre Oliva <aoliva@redhat.com>
16290
16291 * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
16292
20044aeb 162932002-01-23 Richard Henderson <rth@redhat.com>
16294
16295 * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
16296
bc3195ce 162972002-01-23 Aldy Hernandez <aldyh@redhat.com>
16298
82086392 16299 * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
16300 (parmlist_or_identifiers_1): Verify that only a parmlist follows
16301 an attribute.
bc3195ce 16302
e1855348 163032002-01-23 Richard Henderson <rth@redhat.com>
16304
16305 * expr.c (move_by_pieces_1): Extend size before negation.
16306
a9ef3391 16307 * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
16308 (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
16309 (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
16310 * config/m68k/t-m68kelf: Likewise.
16311
f6b7ba2b 163122002-01-23 Bob Wilson <bob.wilson@acm.org>
16313
16314 * config/xtensa/elf.h: New file.
16315 * config/xtensa/lib1funcs.asm: New file.
16316 * config/xtensa/lib2funcs.S: New file.
16317 * config/xtensa/linux.h: New file.
16318 * config/xtensa/t-xtensa: New file.
16319 * config/xtensa/xtensa-config.h: New file.
16320 * config/xtensa/xtensa-protos.h: New file.
16321 * config/xtensa/xtensa.c: New file.
16322 * config/xtensa/xtensa.h: New file.
16323 * config/xtensa/xtensa.md: New file.
16324 * config.gcc (xtensa-*-elf*): New target.
16325 (xtensa-*-linux*): New target.
16326 * cse.c (canon_hash): Compare rtx pointers instead of register
16327 numbers. This is required for the Xtensa port.
16328 * integrate.c (copy_insn_list): Handle case where the static
16329 chain is in memory and the memory address has to be copied to
16330 a register.
16331 * doc/invoke.texi (Option Summary): Add Xtensa options.
16332 (Xtensa Options): New node.
16333 * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
16334
5601fc98 163352002-01-23 Zack Weinberg <zack@codesourcery.com>
16336
fab1c3fb 16337 * diagnostic.c (internal_error): Do ICE suppression only
16338 when ENABLE_CHECKING is not defined.
16339
5601fc98 16340 * c-typeck.c (require_complete_type): Return error_mark_node
16341 if type is error_mark_node.
16342
9544445b 163432002-01-23 Janis Johnson <janis187@us.ibm.com>
16344
16345 * toplev.c (process_options): Disable -fprefetch-loop-arrays with
16346 -Os and issue a warning.
16347
531d4872 163482002-01-23 Zack Weinberg <zack@codesourcery.com>
16349
16350 * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
16351 current (lack of) need for host configuration by hand.
16352
16353 * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
16354 references. Documentation of some target macros moved from
16355 hostconfig.texi to tm.texi.
16356
f4b2cef9 163572002-01-23 Will Cohen <wcohen@redhat.com>
16358
16359 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
16360 defined.
16361
1deb4c04 163622002-01-23 Kazu Hirata <kazu@hxi.com>
16363
16364 * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
16365 operand[3].
16366
b3f516cb 163672002-01-23 Jason Merrill <jason@redhat.com>
16368
d965574e 16369 * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
16370
b3f516cb 16371 * function.c (assign_parms): Don't put args of inline functions
16372 into registers when not optimizing.
16373
063a05c7 163742002-01-23 Nick Clifton <nickc@cambridge.redhat.com>
16375
16376 * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
16377 (prologue_use): New pattern.
16378 * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
16379 preference to gen_rtx_USE.
16380 (thumb_expand_prologue): Use gen_prologue_use in preference to
16381 gen_rtx_USE.
16382 (thumb_expand_epilogue): Use gen_prologue_use in preference to
16383 gen_rtx_USE.
16384
71fe72ed 163852002-01-23 Hans-Peter Nilsson <hp@bitrange.com>
16386
16387 * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
16388
d3200805 163892002-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
16390
16391 PR c/3504
16392 * doc/extend.texi: Correct documentation of __alignof__.
16393
25afff2f 163942002-01-22 Zack Weinberg <zack@codesourcery.com>
16395
16396 * params.h: Rename arguments of DEFPARAM so that it will be
16397 recognized as a translation keyword.
16398
0ae4308e 163992002-01-22 Aldy Hernandez <aldyh@redhat.com>
16400
25afff2f 16401 * extend.texi: Document altivec functions.
16402 Fix N-bit adjectives in X86 builtin documentation.
0ae4308e 16403
57148e48 164042002-01-22 Alexandre Oliva <aoliva@redhat.com>
16405
16406 * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
16407 auto_inc_dec values.
16408
112e1627 164092002-01-22 Richard Earnshaw <rearnsha@arm.com>
16410
16411 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
16412 after backslash.
16413 (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
16414
04130762 164152002-01-22 Alexandre Oliva <aoliva@redhat.com>
16416
16417 * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
16418
455b78a0 164192002-01-22 Richard Henderson <rth@redhat.com>
16420
16421 * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
16422 copy_insn not copy_rtx.
16423
ec00a5f6 164242002-01-23 Alan Modra <amodra@bigpond.net.au>
16425
16426 * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
16427 "nonzero" as that might add "1" bits. Ensure "constop" is
16428 properly sign extened.
16429 (force_to_mode): Tweak for sign extended constop.
16430
367e2ab3 164312002-01-22 Richard Henderson <rth@redhat.com>
16432
16433 * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
16434 for_each_rtx instead of assuming we're already looking at the MEM.
16435 (split_small_symbolic_mem_operand): Likewise.
16436 * config/alpha/alpha.h (PREDICATE_CODES): Update.
16437 * config/alpha/alpha.md (small symbolic memory splitters): Update.
16438
164392002-01-22 Richard Henderson <rth@redhat.com>
203b9630 16440
16441 * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
16442 sequence number for the literal.
16443 (divmoddi_internal_er): Likewise.
16444
a63f7018 164452002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
16446
16447 PR java/4972
16448 * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
16449 in LIBICONV variable.
16450 * configure: Regenerated.
16451
2026f127 164522002-01-22 Krister Walfridsson <cato@df.lth.se>
16453
16454 * dependence.c (build_def_use): Remove array_idx.
16455
bd861789 16456 * dwarfout.c (last_filename): Remove.
16457 (output_compile_unit_die): Remove last_filename.
16458
a3f632bd 164592002-01-22 Roger Sayle <roger@eyesopen.com>
16460 Richard Henderson <rth@redhat.com>
16461
16462 PR opt/3640
16463 * fold-const.c (fold): Optimize unsigned comparisons against
16464 UINT_MAX (and similar unsigned constants).
16465
e57e6445 164662002-01-22 Janis Johnson <janis187@us.ibm.com>
16467
a3f632bd 16468 * Makefile.in (loop.o): Depend on OPTABS_H.
9544445b 16469 * loop.c (emit_prefetch_instructions): Check the prefetch operand
a3f632bd 16470 against the predicate.
3d941517 16471
e57e6445 16472 PR target/5379
16473 * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
16474 for the address operand.
16475
f5a287da 164762002-01-22 Richard Henderson <rth@redhat.com>
16477
16478 * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
16479
9ac60e09 164802002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
16481
16482 PR other/5450
f5a287da 16483 * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
16484 preprocessor flags.
9ac60e09 16485
8bc47d57 164862002-01-22 Jason Thorpe <thorpej@wasabisystems.com>
16487
16488 * config.gcc (x86_64-*-netbsd*): New target.
16489 * config/i386/netbsd64.h: New file.
16490
99f5f7d8 164912002-01-22 Aldy Hernandez <aldyh@redhat.com>
16492
a3f632bd 16493 * regrename.c (kill_value): Fix typo.
99f5f7d8 16494
164952002-01-22 Aldy Hernandez <aldyh@redhat.com>
16496
a3f632bd 16497 * doc/tm.texi: Remove STARTING_FRAME_PHASE.
99f5f7d8 16498
a3f632bd 16499 * config/rs6000/rs6000.h: Same.
99f5f7d8 16500
a3f632bd 16501 * function.c (instantiate_virtual_regs): Remove
16502 STARTING_FRAME_PHASE.
16503 (assign_stack_local_1): Same.
16504 Calculate frame phase.
99f5f7d8 16505
d19ef66f 165062002-01-22 Nick Clifton <nickc@redhat.com>
16507
16508 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
16509 variable declaration to outer scope in order to simplify
16510 future extensions.
16511 (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
16512 arm_hard_regno_mode_ok.
16513 * config/arm/arm-protos.h: Add a prototype for
16514 arm_hard_regno_mode_ok.
16515 * config/arm/arm.c (soft_df_operand): Remove now redundant
16516 check for DImode values using IP_REGNUM.
16517 (nonimmediate_soft_df_operand): Remove now redundant check for
16518 DImode values using IP_REGNUM.
16519 (arm_hard_regno_mode_ok): New function. New check: make sure
16520 that DImode values are not stored in IP_REGNUM.
bf82d677 16521
16522 * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
16523 note with a USE.
16524 (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
16525
b3959812 165262002-01-22 Jason Merrill <jason@redhat.com>
16527
16528 * c-semantics.c (genrtl_compound_stmt): Only check nesting
16529 consistency if this COMPOUND_STMT is scoped.
16530
47c251e5 165312002-01-22 Kazu Hirata <kazu@hxi.com>
16532
16533 * predict.c: Fix formatting.
16534 * print-tree.c: Likewise.
16535 * protoize.c: Likewise.
16536 * real.h: Likewise.
16537 * rtl.h: Likewise.
16538 * sbitmap.h: Likewise.
16539 * scan.c: Likewise.
16540 * sched-deps.c: Likewise.
16541 * sched-vis.c: Likewise.
16542 * sdbout.c: Likewise.
16543 * sibcall.c: Likewise.
16544 * ssa.c: Likewise.
16545 * ssa-ccp.c: Likewise.
16546 * ssa-dce.c: Likewise.
16547 * stmt.c: Likewise.
16548 * stor-layout.c: Likewise.
16549 * system.h: Likewise.
16550
dff29840 16551Tue Jan 22 06:26:33 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16552
9b388aca 16553 * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
16554 if fits in bounds of base type.
16555
dff29840 16556 * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
16557 (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
16558 (add_bound_info, default): If can't find a context, make a
16559 SAVE_EXPR.
16560 (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
16561
5eaf60b3 165622002-01-22 Hans-Peter Nilsson <hp@axis.com>
16563
16564 * c-typeck.c (parser_build_binary_op): If result from
16565 build_binary_op is ERROR_MARK just return error_mark_node without
16566 further processing.
16567
4ace673e 165682002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
16569
16570 * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
16571 Split a.out-specific bits into...
16572 * config/netbsd-aout.h: ...this.
16573 * config/netbsd-elf.h: New file.
16574 * config/alpha/netbsd-elf.h: Remove.
16575 * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
16576 * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
25afff2f 16577 (STARTFILE_SPEC): Remove redundant definition.
4ace673e 16578 (ENDFILE_SPEC): Likewise.
16579 (LINK_SPEC): Likewise.
16580 (CPP_SPEC): Likewise.
16581 (ASM_SPEC): Likewise.
16582 (LIB_SPEC): Likewise.
16583 (SWITCH_TAKES_ARG): Likewise.
16584 (TARGET_MEM_FUNCTIONS): Likewise.
16585 (CPP_PREDEFINES): Redefine.
16586 (ASM_FINAL_SPEC): Remove redefinition.
16587 (ASM_COMMENT_START): Redefine.
16588 (FUNCTION_PROFILER): Define.
16589 (TARGET_VERSION): Redefine.
16590 Comment and formatting cleanup.
16591 * config/i386/netbsd.h: Include <netbsd-aout.h>.
16592 * config/m68k/netbsd.h: Include <netbsd-aout.h>.
16593 * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
16594 big- or little-endian.
16595 * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
16596 * config.gcc (*-*-netbsd*): Add definitions common to all
16597 NetBSD configs.
16598 (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
16599 gnu_ld definitions. Add netbsd-elf.h to and remove
16600 alpha/netbsd-elf.h from tm_file. Remove alpha/t-crtfm from
16601 tmake_file, and don't lose previous tmake_file contents.
16602 (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
16603 (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
16604 gnu_ld definitions. Add netbsd-elf.h to tm_file.
16605 (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
16606 (mipsel-*-netbsd*): Rename this to...
16607 (mips*-*-netbsd*): ...this. Add elfos.h to tm_file. Add
16608 mips/little.h to tm_file for mips*el-*.
16609 (powerpc-*-netbsd*): Remove redundant xm_defines definition.
16610 (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
16611 (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
16612
d3138877 166132002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
16614
16615 * pa-protos.h (reg_before_reload_operand): New function prototype.
16616 * pa.c (reg_before_reload_operand): New function implementation.
16617 * pa.md (decrement_and_branch_until_zero, movb): Use it. Change "!*m"
16618 contraints to "*m".
16619
e45d8203 166202002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
16621
16622 * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
16623
29192431 166242002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
16625
16626 * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
16627 (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
16628 (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
16629 (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
16630 (ENDFILE_SPEC): Undefine.
16631 (STARTFILE_SPEC): Redefine for PA.
16632
7f498748 166332002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
16634
16635 * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
16636
554b40d5 166372002-01-21 Daniel Jacobowitz <drow@mvista.com>
16638
16639 * config.gcc: Add entries to supported PowerPC --with-cpu
16640 types.
16641
25dd0f29 166422002-01-21 Jakub Jelinek <jakub@redhat.com>
16643
16644 * config/i386/i386.c (ix86_function_arg_regno_p): Never return
16645 true for 64-bit mode only SSE registers in 32-bit mode.
16646
188879e7 166472002-01-21 Kazu Hirata <kazu@hxi.com>
16648
16649 * unwind-dw2.c: Fix formatting.
16650 * unwind-dw2-fde.c: Likewise.
16651 * unwind-dw2-fde.h: Likewise.
16652 * unwind-pe.h: Likewise.
16653 * varasm.c: Likewise.
16654 * varray.h: Likewise.
16655
c0475536 166562002-01-21 Hans-Peter Nilsson <hp@bitrange.com>
16657
16658 Remove workaround for register stack overwrite bug in mmix.
16659 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
16660 support for TARGET_REG_STACK_FILL_BUG.
16661 * config/mmix/mmix.h: Remove member has_call_without_parameters.
16662 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
16663 Delete.
16664 (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
16665 (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
16666 -mno-reg-stack-fill-bug-workaround.
16667 * config/mmix/mmix.md ("call", "call_value"): Don't set struct
16668 machine member has_call_without_parameters.
16669 * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
16670 -mreg-stack-fill-bug-workaround and
16671 -mno-reg-stack-fill-bug-workaround.
16672 (MMIX Options): Ditto.
16673
6996dd46 166742002-01-21 Kazu Hirata <kazu@hxi.com>
16675
16676 * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
16677 as appropriate.
16678 Remove redundant code.
16679
3b2aec94 166802002-01-21 Joseph S. Myers <jsm28@cam.ac.uk>
16681
16682 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
16683 config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
16684 config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
16685 config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
16686 config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
16687 out target macro definitions and non-target-specific comments
16688 mostly taken from old versions of the manual.
16689
87d3145e 166902002-01-20 Kazu Hirata <kazu@hxi.com>
16691
16692 * config/h8300/h8300.h: Fix comment formatting.
16693 * config/ia64/aix.h: Likewise.
16694 * config/ia64/ia64-protos.h: Likewise.
16695 * config/ia64/ia64.c: Likewise.
16696 * config/ia64/ia64.h: Likewise.
16697 * config/ia64/ia64intrin.h: Likewise.
16698 * config/ia64/linux.h: Likewise.
16699 * config/ia64/unwind-aix.c: Likewise.
16700 * config/ia64/unwind-ia64.c: Likewise.
16701
f465f633 167022002-01-20 Kazu Hirata <kazu@hxi.com>
16703
16704 * config/h8300/h8300.c: Revise comments about shift code.
16705
c738c371 167062002-01-20 Kazu Hirata <kazu@hxi.com>
16707
16708 * config/h8300/h8300.c (function_arg): Update a comment.
16709
ec8f1737 167102002-01-20 Kazu Hirata <kazu@hxi.com>
16711
16712 * config/h8300/h8300.md: Update the comments at the beginning
16713 of the file.
16714
1d7ac33a 167152002-01-20 Kazu Hirata <kazu@hxi.com>
16716
16717 * config/i370/i370.c: Fix comment formatting.
16718 * config/i370/i370.h: Likewise.
16719 * config/i370/i370.md: Likewise.
16720 * config/i370/linux.h: Likewise.
16721
cfd66c04 16722Sun Jan 20 18:40:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16723
5192f3ed 16724 * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
16725
cfd66c04 16726 * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
16727 (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
16728 in incomplete case.
16729
2360d7e0 167302002-01-20 Graham Stott <grahams@redhat.com>
16731
16732 * cfgloop.c (flow_loop_preheader_scan): Fix typo.
16733
3c066828 167342002-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
16735
16736 * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
16737
33707510 167382002-01-19 Tom Rix <trix@redhat.com>
16739
16740 * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
16741
0d83ba3e 167422002-01-18 Aldy Hernandez <aldyh@redhat.com>
16743
a3f632bd 16744 * doc/tm.texi (STARTING_FRAME_PHASE): Document.
0d83ba3e 16745
a3f632bd 16746 * function.c (assign_stack_local_1): Adjust x_frame_offset with
16747 STARTING_FRAME_PHASE.
16748 (STARTING_FRAME_PHASE): New.
16749 (instantiate_virtual_regs): Check saneness of
16750 STARTING_FRAME_PHASE.
0d83ba3e 16751
a3f632bd 16752 * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
0d83ba3e 16753
e53d227a 167542002-01-19 Alexandre Oliva <aoliva@redhat.com>
16755
16756 * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
16757
508308cc 167582002-01-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
16759
16760 * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
16761 be used for bootstrapping GCC 3.0.
16762
08426512 167632002-01-18 Kazu Hirata <kazu@hxi.com>
16764
16765 * config/h8300/h8300.md: Fix an insn length.
16766
04641143 167672002-01-18 Kazu Hirata <kazu@hxi.com>
16768
16769 * bitmap.h: Fix comment formatting.
16770 * combine.c: Likewise.
16771 * cppfiles.c: Likewise.
16772 * c-pragma.h: Likewise.
16773 * c-typeck.c: Likewise.
16774 * df.c: Likewise.
16775 * dwarf2out.c: Likewise.
16776 * function.c: Likewise.
16777 * gcc.c: Likewise.
16778 * genattrtab.c: Likewise.
16779 * gthr-win32.h: Likewise.
16780 * haifa-sched.c: Likewise.
16781 * predict.c: Likewise.
16782 * rtlanal.c: Likewise.
16783 * rtl.h: Likewise.
16784 * unwind-dw2-fde.h: Likewise.
16785 * unwind-pe.h: Likewise.
16786 * vmsdbgout.c: Likewise.
16787
aa9c60c1 16788Thu Jan 17 15:28:26 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16789
16790 * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
16791 if type_required and passed decl.
16792
25b7153e 167932002-01-17 Aldy Hernandez <aldyh@redhat.com>
16794
a3f632bd 16795 * config.gcc (cpu_type): Include altivec.h in powerpc
16796 extra_headers.
16797 Same for darwin.
25b7153e 16798
a3f632bd 16799 * config/rs6000/altivec.h: New.
25b7153e 16800
4699ada1 168012002-01-17 David Edelsohn <edelsohn@gnu.org>
16802
16803 * doc/install.texi (*-ibm-aix*): Update assembler and exception
16804 handling information.
16805 * doc/trouble.texi (Interoperation): Add libstdc++ information
16806 for AIX.
16807 (Misunderstandings): Add template instantiation and static template
16808 member information for AIX.
16809
425f2cac 168102002-01-17 Jason Merrill <jason@redhat.com>
16811
1d971bfd 16812 * dbxout.c (dbxout_type): Support const and volatile.
16813
425f2cac 16814 * except.c (add_partial_entry): Remove backwards compatibility code.
16815 (end_protect_partials): Likewise.
16816
8ced207e 168172002-01-17 Jakub Jelinek <jakub@redhat.com>
16818
16819 * config/ia64/ia64.md (prologue_use): New.
16820 * config/ia64/ia64.c (ia64_expand_prologue): Use
16821 gen_prologue_use instead of gen_rtx_USE.
16822 (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
16823 as CODE_FOR_pred_rel_mutex.
16824 (ia64_sched_reorder2): Likewise.
16825
dd93d2ce 168262002-01-16 Eric Christopher <echristo@redhat.com>
16827
16828 * config/mips/r3900.h: Reformat.
16829 (SUBTARGET_CPP_SIZE_SPEC): Remove.
16830 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
16831 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
16832 (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
16833 * config/mips/t-elf: Remove mips3 multilib.
16834
3cbae491 168352002-01-16 H.J. Lu <hjl@gnu.org>
16836
16837 * config/mips/linux.h: Include "mips/abi64.h".
16838
a5159deb 168392002-01-16 H.J. Lu <hjl@gnu.org>
16840
16841 * config/mips/t-linux: New.
16842
16843 * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
16844
16845 * config/mips/linux.h: Don't include "gofast.h".
16846 (INIT_SUBTARGET_OPTABS): Removed.
16847
3f2833fd 168482002-01-16 Kazu Hirata <kazu@hxi.com>
16849
16850 * config/h8300/h8300-protos.h: Replace emit_a_shift with
16851 output_a_shift.
16852 * config/h8300/h8300.c: Likewise.
16853 * config/h8300/h8300.md: Likewise.
16854
86af1182 168552002-01-16 Kazu Hirata <kazu@hxi.com>
16856
16857 * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
16858 spaces after an opcode name.
16859 (pushqi1_h8300hs): Likewise.
16860 (pushhi1_h8300hs): Likewise.
16861
eafbc061 168622002-01-16 Kazu Hirata <kazu@hxi.com>
16863
16864 * doc/extend.texi: Replace "option" with "attribute"
16865 appropriately.
16866
443bb1a6 168672002-01-16 Jakub Jelinek <jakub@redhat.com>
16868
16869 * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
16870 (and:DI () (const_int -8)).
16871 (split_small_symbolic_mem_operand): Split
16872 (mem (and:DI () (const_int -8)).
16873
e2294eb4 168742002-01-16 Jakub Jelinek <jakub@redhat.com>
16875
16876 PR target/5309:
a3f632bd 16877 * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
e2294eb4 16878 same way as TYPE_IMUL.
16879 (ultrasparc_sched_reorder): Likewise.
16880 * config/sparc/sparc.md (type): Add comment to update
16881 ultrasparc_sched_reorder when making changes.
16882
fe07365c 168832002-01-16 Kazu Hirata <kazu@hxi.com>
16884
16885 * doc/invoke.texi: Change the dump file name of block
16886 reordering pass from 28.bbro to 29.bbro.
16887 Mention -dk option.
16888
73b87fe4 16889Wed Jan 16 17:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
16890
16891 * i386.md (minsf splitter): Fix pasto.
16892
a150f9e1 168932002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
16894
16895 * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
16896 to frame pointer initialisation instruction.
16897 (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
16898 initialisation instruction.
277f24de 16899 (soft_df_operand): Do not accept the IP register.
16900 (nonimmediate_soft_df_operand): Do not accept the IP register.
a150f9e1 16901
13153281 169022002-01-16 Jakub Jelinek <jakub@redhat.com>
16903
16904 PR target/5357:
16905 * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
16906 MASK_V8 being both set.
16907
c89f9ed7 169082002-01-16 Ulrich Weigand <uweigand@de.ibm.com>
16909
16910 * config/s390/s390.c (s390_emit_prologue): Do not emit USE
16911 insn for GOT register; add REG_MAYBE_DEAD notes instead.
16912 config/s390/s390.md (call, call_value): Add GOT register to
16913 CALL_INSN_FUNCTION_USAGE where needed.
16914 (call_exp, call_value_exp): New.
16915
a12be13c 169162002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
16917
16918 * config/arm/arm.c: General formatting tidy up.
16919
169202002-01-16 Graham Stott <grahams@redhat.com>
be051fd5 16921
16922 * calls.c (try_to_integrate): Use "(size_t)" intermediate
16923 cast and when casting an integer literal to "rtx" pointer.
16924 (expand_call): Likewise.
16925 * flow.c (try_pre_increment): Likewise.
16926 (find_use_as_address): Likewise.
16927 * integrate.c (expand_iline_function): Likewise.
16928 * regmove.c (try_auto_increment): Likewise.
16929
a12be13c 169302002-01-16 Graham Stott <grahams@redhat.com>
265a9759 16931
16932 * sched-rgn.c (passed): Use sbitmap_free.
16933 (header): Likewise.
16934 (inner): Likewise.
16935 (in_queue): Likewise.
16936 (in_stack): Likewise.
16937
816c4c4b 169382002-01-15 Eric Christopher <echristo@redhat.com>
16939
16940 * flow.c (propagate_one_insn): Change to use fatal_insn.
16941
ab89ec1b 169422002-01-15 Kazu Hirata <kazu@hxi.com>
16943
16944 * expmed.c (extract_fixed_bit_field): Remove unused code.
16945 * system.h: Poison SLOW_ZERO_EXTEND.
16946 * doc/tm.texi: Remove.
16947 * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
16948 * config/arm/arm.h: Likewise.
16949 * config/avr/avr.h: Likewise.
16950 * config/clipper/clipper.h: Likewise.
16951 * config/convex/convex.h: Likewise.
16952 * config/d30v/d30v.h: Likewise.
16953 * config/dsp16xx/dsp16xx.h: Likewise.
16954 * config/elxsi/elxsi.h: Likewise.
16955 * config/fr30/fr30.h: Likewise.
16956 * config/h8300/h8300.h: Likewise.
16957 * config/i370/i370.h: Likewise.
16958 * config/i386/i386.h: Likewise.
16959 * config/m68k/m68k.h: Likewise.
16960 * config/mips/mips.h: Likewise.
16961 * config/ns32k/ns32k.h: Likewise.
16962 * config/pdp11/pdp11.h: Likewise.
16963 * config/pj/pj.h: Likewise.
16964 * config/s390/s390.h: Likewise.
16965 * config/sh/sh.h: Likewise.
16966 * config/stormy16/stormy16.h: Likewise.
16967 * config/v850/v850.h: Likewise.
16968 * config/vax/vax.h: Likewise.
16969 * config/we32k/we32k.h: Likewise.
16970
4ab64e50 169712002-01-15 Aldy Hernandez <aldyh@redhat.com>
16972
a3f632bd 16973 * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
16974 (altivec_lvsl): Change constraint to b.
16975 (altivec_lvsr): Same.
16976 (altivec_lvebx): Same.
16977 (altivec_lvehx): Same.
16978 (altivec_lvewx): Same.
16979 (altivec_lvxl): Same.
16980 (altivec_lvx): Same.
16981 (altivec_stvx): Add parallel.
16982 (altivec_stvxl): Same.
16983 (altivec_stvehx): Same.
16984 (altivec_stvebx): Same.
16985 (altivec_stvebx): Same.
4ab64e50 16986
0679bf07 169872002-01-15 Aldy Hernandez <aldyh@redhat.com>
16988
a3f632bd 16989 * config.gcc: Change altivec.h to altivec-defs.h.
0679bf07 16990
a3f632bd 16991 * config/rs6000/altivec.h: Delete.
0679bf07 16992
a3f632bd 16993 * config/rs6000/altivec-defs.h: Add.
0679bf07 16994
10d15e22 169952002-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
16996
16997 * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
16998 and UMOD modes.
16999
17000 * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
17001 less than or equal to eight bytes.
17002
17003 * vax.md (andsi3): Remove constraints and change SET destination
17004 operand type to nonimmediate_operand.
17005 (andhi3, andqi3): Likewise. Don't clear high order bits of operand 1
17006 when it is a CONST_INT.
17007
204ca66e 170082002-01-15 Jason Merrill <jason@redhat.com>
17009
17010 * c-common.def (FILE_STMT): New code.
17011 * c-common.c (statement_code_p): It's a statement.
17012 * c-common.h (stmt_tree_s): Add x_last_filename.
17013 (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
17014 (last_expr_filename): New macro.
17015 * c-semantics.c (begin_stmt_tree): Initialize it.
17016 (add_stmt): If the filename changed, also insert a
17017 FILE_STMT.
17018 (expand_stmt): Handle seeing one.
17019
031ed459 170202002-01-15 Eric Christopher <echristo@redhat.com>
17021
17022 * flow.c (propagate_one_insn): Add error message and print out
17023 insn for debugging.
17024
c98efb56 170252002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
17026
17027 * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
17028 ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
17029 * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
17030 TRAMPOLINE_ALIGNMENT.
17031 * config/arm/arm.h, config/mcore/mcore.h: Likewise. Change value
17032 to be in bits.
17033 * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
17034 PCC_BITFIELD_TYPE_MATTERS.
17035 * config/interix.h (STDC_VALUE): Remove. Use
17036 STDC_0_IN_SYSTEM_HEADERS.
17037 * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
17038 (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
17039 ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
17040
f7249309 170412002-01-15 Craig Rodrigues <rodrigc@gcc.gnu.org>
17042
17043 * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
17044 not work on this platform currently.
17045
34b637b1 170462002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
17047
17048 * c-typeck.c (build_unary_op): Don't wrap msgid argument of
17049 readonly_warning in _().
17050
b4eac72f 170512002-01-15 Douglas B Rupp <rupp@gnat.com>
080a7bc9 17052
b4eac72f 17053 * gcc.c (delete_if_ordinary): Backout previous change.
080a7bc9 17054
337d789b 170552002-01-15 Kazu Hirata <kazu@hxi.com>
17056
b4eac72f 17057 * config/h8300/h8300.c (print_operand): Remove support for
17058 unused operand characters.
17059
337d789b 17060 * read-rtl.c: Fix formatting.
17061 * real.c: Likewise.
17062 * recog.c: Likewise.
17063 * regclass.c: Likewise.
17064 * regmove.c: Likewise.
17065 * reg-stack.c: Likewise.
17066 * reload1.c: Likewise.
17067 * rtlanal.c: Likewise.
17068
039c27d6 170692002-01-15 Kazu Hirata <kazu@hxi.com>
17070
17071 * config/i386/i386.c: Fix formatting.
17072
a54f5de8 170732002-01-15 Jakub Jelinek <jakub@redhat.com>
17074
17075 * c-typeck.c (process_init_element): Don't save_expr
17076 COMPOUND_LITERAL_EXPR if just its initializer will be used.
17077
c0efea40 170782002-01-15 David Edelsohn <edelsohn@gnu.org>
17079
17080 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
17081 emit optional traceback table if optimize_size or TARGET_ELF.
17082 * config/rs6000/rs6000.md (prefetch): New.
17083
d2f37b7f 170842002-01-15 Andreas Jaeger <aj@suse.de>
17085
17086 * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
17087
102202a9 170882002-01-15 Kazu Hirata <kazu@hxi.com>
17089
17090 * mips-tfile.c: Fix formatting.
17091
d1d13567 17092Tue Jan 15 00:56:11 CET 2002 Jan Hubicka <jh@suse.cz>
17093
17094 * unroll.c (final_reg_note_copy): Fix previous commit.
17095
651673c2 170962002-01-14 Kazu Hirata <kazu@hxi.com>
17097
17098 * config/h8300/h8300-protos.h: Remove the prototype for
17099 eq_operator.
17100 * config/h8300/h8300.c (eq_operator): Remove.
17101
345b3c98 171022002-01-14 Richard Henderson <rth@redhat.com>
17103
17104 * config/i386/i386.md (prefetch): Tidy.
17105 (prefetch_3dnow): Fix locality operand.
17106
52703946 171072002-01-14 Richard Henderson <rth@redhat.com>
17108
17109 * config/mips/mips.h (HI_AND_FP_REGS): New register class.
17110 (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
17111
7f758d0b 171122002-01-14 Hans-Peter Nilsson <hp@bitrange.com>
17113
17114 * reload1.c (reload_combine): Pass reg_sum replacement through
17115 copy_rtx in loop performing multiple changes.
17116
f491db07 171172002-01-14 Jakub Jelinek <jakub@redhat.com>
17118
17119 * except.c (remove_unreachable_regions): New.
17120 (free_eh_status): Clear exception_handler_labels.
17121 (convert_from_eh_region_ranges): Call remove_unreachable_regions.
17122 (find_exception_handler_labels): Don't add the same label more than
17123 once.
17124 (remove_exception_handler_label): Don't die if
17125 find_exception_handler_labels hasn't been called for the current
17126 function yet.
17127
f0d72396 17128Mon Jan 14 21:26:13 CET 2002 Jan Hubicka <jh@suse.cz>
17129
17130 * toplev.c (rest_of_compilation): Rebuild jump labels after
17131 gcse.
17132
ca5827cf 171332002-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
17134
17135 * doc/extend.texi: Move documentation of X86 built-in functions
17136 here.
17137 * doc/invoke.texi: From here.
17138 * doc/sourcebuild.texi: Document location of documentation for
17139 machine built-in functions.
17140
c21f4dc1 171412002-01-13 Christopher Faylor <cgf@redhat.com>
17142
17143 * cppfiles.c (TEST_THRESHOLD): New macro.
17144 (SHOULD_MMAP): Ditto.
17145 (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
17146 be used.
17147
45c2115a 17148Mon Jan 14 20:23:34 CET 2002 Jan Hubicka <jh@suse.cz>
17149
17150 * unroll.c (final_reg_note_copy): Properly handle
17151 REG_LABEL
17152 (unroll_loops): Fix LOOP_CONDITION heuristics.
17153
455123cf 171542002-01-14 Geoffrey Keating <geoffk@redhat.com>
17155
17156 * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
17157 * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
17158
e9bc5a2d 17159Mon Jan 14 20:18:19 CET 2002 Jan Hubicka <jh@suse.cz>
17160
17161 * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
17162 threaded loop.
17163
b8dbae25 171642002-01-14 Tom Rix <trix@redhat.com>
17165
17166 * config/rs6000/rs6000.md: Fix typo with sradi.
17167
9f4d041d 171682002-01-14 Ulrich Weigand <uweigand@de.ibm.com>
17169
17170 * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
17171 movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
17172 (clrstrdi, clrstrsi): Adapt callers.
17173
17174 (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
17175
d2f37b7f 17176 (movti splitter): Never use register 0 as base register.
9f4d041d 17177
b9a4ce44 171782002-01-14 Hartmut Penner <hpenner@de.ibm.com>
17179
d2f37b7f 17180 * combine.c (simplify_shift_const): Always generate new rtx
17181 for shift expression instead of reusing given expression.
b9a4ce44 17182
62e050c6 17183Mon Jan 14 07:08:55 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17184
17185 * config/alpha/alpha.c (alpha_expand_mov): Don't call
17186 alpha_legitimize_address unless mode is Pmode.
17187
565d3099 171882002-01-13 Geoffrey Keating <geoffk@redhat.com>
17189
17190 * doc/md.texi (Modifiers): Document the '*' constraint for the
17191 user.
17192
17193 * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
17194 * doc/extend.texi (Function Attributes): 'interrupt' is valid
17195 for xstormy16 too.
17196
483fd82f 171972002-01-13 Richard Henderson <rth@redhat.com>
17198
17199 * reload.c (find_reloads): Use a hard reg destination as reload reg
17200 for an input reload of the source.
17201
c7443793 172022002-01-13 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
17203
17204 * doc/install.texi (Binaries): Make link to ftp.writtenword.com
17205 more generic.
17206
df4f5ffb 17207Sun Jan 13 07:23:01 2002 Douglas B Rupp <rupp@gnat.com>
17208
17209 * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
17210 * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
17211
5db879bc 17212 * config/alpha/x-vms (USE_COLLECT2): Set to empty.
17213
52fa404f 17214Sun Jan 13 06:55:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17215
17216 * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
17217
f5fe5de2 172182002-01-12 Tom Rix <trix@redhat.com>
17219
d2f37b7f 17220 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
f5fe5de2 17221 TARGET_POWERPC64.
17222
bbc97097 172232002-01-12 Richard Henderson <rth@redhat.com>
17224
1da4678b 17225 * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
17226
2d27b714 17227 * doc/invoke.texi: Update Alpha options.
17228
bbc97097 17229 * doc/invoke.texi: Update i386 built-in function lists.
17230
985689b5 17231Sat Jan 12 17:38:11 CET 2002 Jan Hubicka <jh@suse.cz>
17232
17233 * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
17234 referencing outside.
17235
76ab50f8 17236Sat Jan 12 08:54:51 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17237
17238 * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
17239 * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
17240 offsets, and change line folding.
17241 * optabs.c (expand_binop): Remove warnings.
17242 * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
d2f37b7f 17243
7f54eb35 172442002-01-12 Graham Stott <grahams@redhat.com>
17245
17246 * attribs.c (handle_deprecated_attribute): constify WHAT.
17247 * diagnostic.c (warn_deprecated_use): Add braces, fixes
17248 dangling else warning and constify WHAT.
17249 * except.h (struct function, struct inline_remap): Move
17250 struct tag forward defs before all prototypes.
17251 (duplicate_eh_regions): Whitespace.
17252
5887eb0d 172532002-01-12 Nick Clifton <nickc@cambridge.redhat.com>
17254
17255 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
17256 MODE_BASE_REG_CLASS.
17257 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
17258
3381a03a 172592002-01-12 Richard Henderson <rth@redhat.com>
17260
17261 * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
17262 (ix86_expand_vector_move): New.
17263 (bdesc_2arg): Remove andps, andnps, orps, xorps.
17264 (ix86_init_mmx_sse_builtins): Make static. Remove composite builtins.
17265 Remove old prefetch builtins. Special case the logicals removed above.
17266 (ix86_expand_builtin): Likewise.
17267 (safe_vector_operand): Use V4SFmode, not TImode.
17268 (ix86_expand_store_builtin): Remove shuffle arg. Update callers.
17269 (ix86_expand_timode_binop_builtin): New.
17270 * config/i386/i386-protos.h: Update.
17271 * config/i386/i386.h (enum ix86_builtins): Update.
17272 * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
17273 Use ix86_expand_vector_move in vector move expanders.
17274 (movti_internal, movti_rex64): Add xorps alternative.
17275 (sse_clrv4sf): Rename and adjust from sse_clrti.
17276 (prefetch): Don't work so hard.
17277 (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
17278 * config/i386/xmmintrin.h (__m128): Use V4SFmode.
17279 (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
17280
d65bfb46 172812002-01-11 Richard Henderson <rth@redhat.com>
17282
17283 * config/i386/mmintrin.h: New file.
17284 * config/i386/xmmintrin.h: New file.
17285 * config.gcc (i?86-*-*): Add extra_headers.
17286 * simplify-rtx.c (simplify_unary_operation): Handle saturating
17287 truncation codes.
17288 (simplify_binary_operation): Handle saturating arithmetic codes.
17289 * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
17290 not the lowpart subreg.
17291 (ix86_expand_builtin): Return a TImode dummy register instead of 0
17292 on error.
17293 * config/i386/i386.md (mmx_clrdi): Override memory attribute.
17294
43db9003 172952002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
17296
17297 * conflict.c (conflict_graph_compute): Free regsets when finished.
17298 * ssa.c (compute_coalesced_reg_partition): Likewise.
d2f37b7f 17299
ddaaa5fd 173002002-01-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
17301
17302 * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
17303 every where we allocate a register.
17304
f5123ed5 173052002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
17306
17307 * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
17308 * lcm.c (compute_earliest, compute_farthest): Likewise.
17309
666954ce 173102002-01-11 Janis Johnson <janis187@us.ibm.com>
17311
17312 * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
17313
f8c5d98c 173142002-01-11 Janis Johnson <janis187@us.ibm.com>
17315
17316 * doc/rtl.texi (Insns): Fix 2 typos.
17317
e71655b9 173182002-01-11 Joseph S. Myers <jsm28@cam.ac.uk>
17319
17320 * doc/invoke.texi: Avoid overfull hboxes. Add summary of D30V
17321 options. Use @table @gcctabopt for MMIX options. Add index
17322 entries for MMIX options. Start new paragraph with first
17323 heading of the machine-dependent options.
17324
78eda270 173252002-01-11 Craig Rodrigues <rodrigc@gcc.gnu.org>
17326
17327 PR other/5299
17328 * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
17329 * combine.c (force_to_mode): Same.
17330 * reload1.c (clear_reload_reg_in_use): Same.
17331
b6557085 173322002-01-11 Nick Clifton <nickc@cambridge.redhat.com>
17333
17334 * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
17335 and 'subtargets'.
17336
0295b9c1 173372002-01-11 Andreas Jaeger <aj@suse.de>,
17338 Brad Lucier <lucier@math.purdue.edu>
17339
17340 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
17341 mcpu.
17342
e6c74fc0 17343Fri Jan 11 07:35:12 2002 Douglas B Rupp <rupp@gnat.com>
17344
17345 * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
17346 Protect with IN_LIBGCC.
17347 (LINK_EH_SPEC): Add required trailing space.
17348
e387c238 17349Fri Jan 11 09:25:05 2002 Nicola Pero <n.pero@mi.flashnet.it>
17350
0295b9c1 17351 * c-tree.h: Move function declarations so that they are listed
e387c238 17352 under the filename which contains them.
17353 (check_identifier, finish_decl_top_level,
17354 lookup_name_current_level_global, shadow_record_fields): Remove.
17355
caeca07f 173562002-01-11 Andreas Jaeger <aj@suse.de>
17357
17358 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
17359 march.
17360
ad2ed779 173612002-01-10 Richard Henderson <rth@redhat.com>
17362
17363 * config/alpha/alpha.c (print_operand): Add 'J'.
17364 * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
17365 new operand with the sequence number for the lituse. When splitting
17366 the insns, use gen_movdi_er_high_g and generate a sequence number.
17367 (gen_movdi_er_high_g): Print the sequence number if non-zero.
17368
9f710c67 173692002-01-10 Aldy Hernandez <aldyh@redhat.com>
17370
a3f632bd 17371 * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
17372 lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
17373 stvxl.
17374 (altivec_expand_builtin): Same.
17375 (altivec_expand_stv_builtin): New.
17376
17377 * config/rs6000/rs6000.h (rs6000_builtins): Same.
17378
17379 * config/rs6000/rs6000.md ("altivec_lvebx"): New.
17380 ("altivec_lvehx"): New.
17381 ("altivec_lvewx"): New.
17382 ("altivec_lvxl"): New.
17383 ("altivec_lvx"): New.
17384 ("altivec_stvx"): New.
17385 ("altivec_stvebx"): New.
17386 ("altivec_stvehx"): New.
17387 ("altivec_stvewx"): New.
17388 ("altivec_stvxl"): New.
9f710c67 17389
e172357f 173902002-01-10 Richard Henderson <rth@redhat.com>
17391
17392 * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
17393 * reload1.c (delete_output_reload): Zap spill_reg_store. Take
17394 care not to delete instructions twice.
17395
b0624149 173962002-01-10 Zack Weinberg <zack@codesourcery.com>
17397
17398 * toplev.c: Don't declare environ (it's not used anywhere).
17399 * configure.in: Don't check for declaration of environ.
17400 * config/i386/xm-mingw32.h: Don't #define environ.
17401 * config.in, configure: Regenerate.
17402
c070948e 174032002-01-10 Zack Weinberg <zack@codesourcery.com>
17404
17405 * configure.in: Set stage1_cflags for powerpc-*-darwin*.
17406 * configure: Regenerate.
17407
17408 * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
17409 DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
17410 * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
17411 alpha/xm-vms.h.
17412 * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
17413 LIMITS_H_TEST here, not in m68k/x-next.
17414 * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
17415 SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
17416
17417 * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
17418 LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
17419 * config/alpha/x-vms: Don't set USE_COLLECT2. Add comments.
17420
17421 * config/i386/x-djgpp: Renamed i386/t-djgpp.
17422 * config/m88k/x-dolph: Renamed m88k/t-dolph.
17423 * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
17424 * config/pa/x-pa-mpeix: Renamed pa/t-mpeix. Update for
17425 replacement of quadlib.asm with quadlib.c.
17426
17427 * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
17428 config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
17429 config/rs6000/xm-beos.h: Delete file.
17430
17431 * config.gcc: Update to match above changes.
17432
a53c9f03 174332002-01-10 Kazu Hirata <kazu@hxi.com>
17434
17435 * config/h8300/h8300.h: Fix comment typos.
17436 * config/h8300/h8300.md: Likewise.
17437 * config/h8300/lib1funcs.asm: Likewise.
17438
ba26e2a7 174392002-01-10 Dale Johannesen <dalej@apple.com>
17440
17441 PR optimization/5269
17442 * unroll.c (precondition_loop_p): Make *increment be the correct
17443 sign when n_iterations known, to avoid confusing caller.
17444
6831447b 174452002-01-10 Kazu Hirata <kazu@hxi.com>
17446
17447 * doc/extend.texi (deprecated): Fix a typo.
17448
f884e43f 17449Thu Jan 10 22:35:54 CET 2002 Jan Hubicka <jh@suse.cz>
17450
17451 * basic-block.h (update_br_prob_note): Declare.
17452 * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
17453 (try_forward_edges): Care negative frequencies and update note.
17454 (outgoing_edges_match): Tweek conditional merging heuristics.
17455 (try_crossjump_to_edge): use update_br_prob_note.
17456 * cfglayout.c (fixup_reorder_chain): Likewise.
17457 * cfrtl.c (update_br_prob_note): New.
17458 * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
17459
17460 * i386.c (ix86_decompose_address): Return -1 if address contains
17461 shift.
17462 (legitimate_address_p): Require ix86_decompose_address to return 1.
17463
17464 * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
17465 (cprop_insn): Likewise.
17466
ac0c7fb1 174672002-01-10 Kazu Hirata <kazu@hxi.com>
17468
17469 * toplev.c: Fix formatting.
17470 * tree.c: Likewise.
17471 * tree-dump.c: Likewise.
17472 * unroll.c: Likewise.
17473 * unwind-dw2.c: Likewise.
17474 * unwind-dw2-fde.c: Likewise.
17475 * unwind-dw2-fde-glibc.c: Likewise.
17476 * unwind-sjlj.c: Likewise.
17477
29468146 174782002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
17479
17480 * doc/invoke.texi: Document PDP-11 options.
17481
7baf3cdd 174822002-01-10 Kazu Hirata <kazu@hxi.com>
17483
17484 * config/h8300/h8300.h: Fix formatting.
17485
b193f2d5 174862002-01-10 Ira Ruben <ira@apple.com>
227b24ac 17487
17488 Add __attribute__ ((deprecated)).
17489 * extend.texi: Document __attribute__ ((deprecated)).
17490 * invoke.texi: Document -Wno-deprecated-declarations.
17491 * testsuite/g++.dg/other/deprecated.C: New C++ test.
17492 * testsuite/gcc.dg/deprecated.c: New C test.
17493 * attribs.c (enum attrs): Declare handle_deprecated_attribute().
17494 (c_common_attribute_table): Add "deprecated" entry.
17495 (handle_deprecated_attribute): New function.
17496 * c-decl.c (deprecated_states): New enum.
17497 deprecated_state: State of "deprecated" handling.
17498 (start_decl): Set deprecated_state based on attributes.
17499 (grokdeclarator): Test for deprecated uses, propagate attribute.
17500 * c-typeck.c (build_component_ref): Test for deprecated fields.
17501 (build_external_ref): Test for deprecated primaries.
17502 * diagnostic.c (warn_deprecated_use) New function to issue
17503 warnings about __attribute__ ((depricated)) references.
17504 * flags.h (warn_deprecated_decl): Extern declared for
17505 -W[no-]deprecated-declarations option.
17506 * print-tree.c (print_node): Show deprecated flag status.
17507 * toplev.c (warn_deprecated_decl): Defined.
17508 (W_options): Added "deprecated-declaration".
17509 * toplev.h (warn_deprecated_use): Extern declared.
17510 * tree.h (struct tree_common): Define deprecated_flag.
17511 (TREE_DEPRECATED): New macro to access flag.
17512 * cp/call.c (build_call): Test for deprecated calls.
17513 * cp/class.c (add_implicitly_declared_members): Set global
17514 flag to tell grokdeclarator to not issue deprecated warnings.
17515 * cp/cp-tree.h: Add extern for adding_implicit_members.
17516 * cp/decl.c (deprecated_states): New enum.
17517 (start_decl): Set deprecated_state based on attributes.
17518 (grokdeclarator): Test for deprecated uses, propagate attribute.
17519 * cp/lex.c (do_identifier): Test for deprecated primaries.
17520 * cp/typeck.c (build_component_ref): Test for deprecated fields.
17521
b193f2d5 175222002-01-10 Ira Ruben <ira@apple.com>
227b24ac 17523
17524 Fix to assign attributes to inline member functions.
17525 * cp/decl.c (start_method): Handle attrlist.
17526
b3a976d8 175272002-01-10 Kazu Hirata <kazu@hxi.com>
17528
17529 * combine.c (expand_field_assignment): Use subreg_lsb().
17530
2be64ef0 175312002-01-10 David Edelsohn <edelsohn@gnu.org>
17532
17533 * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
17534 POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
17535 (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
17536 Recurse for any operand of AND as long as constant is non-zero.
17537
27bb18bd 175382002-01-10 Kazu Hirata <kazu@hxi.com>
17539
17540 * config/h8300/h8300.md: Remove constraints from expanders.
17541
85db5591 175422002-01-10 Kazu Hirata <kazu@hxi.com>
17543
17544 * varasm.c: Fix formatting.
17545 * varray.c: Likewise.
17546 * vmsdbgout.c: Likewise.
17547 * xcoffout.c: Likewise.
17548
d2855ea6 17549Thu Jan 10 17:19:12 CET 2002 Jan Hubicka <jh@suse.cz>
17550
17551 * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
e172357f 17552 update edge probabilities to match.
d2855ea6 17553
a2e68e6d 175542002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
17555
17556 * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
17557 dependencies.
17558 * doc/languages.texi, doc/sourcebuild.texi: New files.
17559 * doc/configfiles.texi: Make a subsubsection. Update.
17560 * doc/configterms.texi: Add @node. Remove warning that this isn't
17561 instructions for building GCC.
17562 * doc/makefile.texi: Make a subsection.
17563 * doc/gccint.texi: Update.
17564
6ac8fc24 17565Thu Jan 10 16:39:58 CET 2002 Jan Hubicka <jh@suse.cz>
17566
17567 * i386.md (sse_mov?fcc_const0_?): Fix constraints.
17568
d426ca3f 17569Thu Jan 10 12:45:50 2002 Nicola Pero <n.pero@mi.flashnet.it>
17570
17571 * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
17572
98431bf3 17573Thu Jan 10 11:19:18 CET 2002 Jan Hubicka <jh@suse.cz>
17574
17575 * optabs.c (expand_fix): Look for wider integer modes first.
17576
17577 * i386.md (mov?f): Avoid the fake const double trick for medium
17578 memory model.
17579 (min?f*/max?f*): Prohibit memory operands for i387 variant.
17580 (fop_df_4): Disable for SSE compilation.
17581
93f388f5 175822002-01-10 Graham Stott <grahams@redhat.com>
c366eeee 17583
17584 * dwarf2out.c (indirect_string_alloc, output_indirect_string):
e172357f 17585 Move prototype into DWARF2_DEBUGGING_INFO conditional block.
c366eeee 17586
73ce892a 175872002-01-10 Richard Henderson <rth@redhat.com>
17588
17589 * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
17590
f3ae2bae 175912002-01-10 Richard Henderson <rth@redhat.com>
17592
17593 * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
17594 (copyprop_hardreg_forward_1): Likewise. Use mode_change_ok.
17595
fd9d9afc 175962002-01-10 Kazu Hirata <kazu@hxi.com>
17597
17598 * combine.c (can_combine_p): Fix a comment typo.
17599
108251d9 176002002-01-09 Zack Weinberg <zack@codesourcery.com>
17601
17602 * Makefile.in (s-gencheck, s-options, s-specs): Handle an
17603 empty list correctly. Change loop index $t to $f for
17604 consistency with rest of Makefile.
17605
87ebe3d2 176062002-01-08 Aldy Hernandez <aldyh@redhat.com>
17607
17608 * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
17609 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
17610
17611 * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
17612 mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
17613 (altivec_init_builtins): Same.
17614 (altivec_expand_unop_builtin): Return NULL_RTX on error.
17615 (altivec_expand_binop_builtin): Same.
17616 (altivec_expand_ternop_builtin): Same.
17617 (bdesc_dst): New.
17618
17619 * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
17620 ("altivec_vctuxs"): Fix typo.
17621 ("altivec_vnmsubfp"): Same.
17622 ("altivec_dssall"): New.
17623 ("altivec_mfvscr"): New.
17624 ("altivec_dss"): New.
17625 ("altivec_lvsl"): New.
17626 ("altivec_lvsr"): New.
17627 ("altivec_dstt"): New.
17628 ("altivec_dstst"): New.
17629 ("altivec_dststt"): New.
17630 ("altivec_dst"): New.
17631
17632 * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
17633 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
17634
12f1cd0c 176352002-01-09 Richard Henderson <rth@redhat.com>
17636
17637 * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
17638
e133eb4b 176392002-01-10 Hans-Peter Nilsson <hp@bitrange.com>
17640
17641 * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
17642 function.
17643 * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
17644 prototype.
0f788811 17645 * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
e133eb4b 17646
33181afc 176472002-01-09 Kazu Hirata <kazu@hxi.com>
17648
17649 * read-rtl.c: Fix formatting.
17650 * real.c: Likewise.
17651 * regclass.c: Likewise.
17652 * regrename.c: Likewise.
17653 * reg-stack.c: Likewise.
17654 * reload1.c: Likewise.
17655 * reload.c: Likewise.
17656 * rtl.c: Likewise.
17657
ff90a874 176582002-01-09 Kazu Hirata <kazu@hxi.com>
17659
17660 * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
17661 to extract items in the expr_list chain.
17662
8aca3147 176632002-01-09 Richard Henderson <rth@redhat.com>
17664
17665 * config/vax/vax.c (vax_rtx_cost): Never abort.
17666
b93f38e1 17667 * config/vax/vax.h (REAL_ARITHMETIC): Define.
17668
27465d7d 176692002-01-09 Jan Hubicka <jh@suse.cz>
17670
17671 * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
17672
6382d316 176732002-01-09 Richard Henderson <rth@redhat.com>
17674
17675 * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
17676 Unify code from various alternatives.
17677
8a1ef47a 176782002-01-09 Richard Henderson <rth@redhat.com>
17679
17680 * regrename.c (copy_value): Ignore the copy if the source register
17681 is present in the value chain with a narrower mode.
17682
ddde6553 176832002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
17684
e172357f 17685 * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
17686 for the c4x target. Also improve layout.
ddde6553 17687
ccd9e27d 176882002-01-09 Richard Henderson <rth@redhat.com>
17689
17690 * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
17691 * config/m32r/m32r.md (and ior xor splitters): Swap operands
17692 to match insn patterns.
17693
c5a695f4 176942002-01-09 Richard Henderson <rth@redhat.com>
17695
17696 * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
17697 (copyprop_hardreg_forward_1): Likewise.
17698
a518236d 176992002-01-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
17700
17701 * pa.md (decrement_and_branch_until_zero): Change predicate for
17702 operand 0 from register_operand to reg_or_nonsymb_mem_operand.
17703
158da7c0 177042002-01-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
17705
17706 * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
17707 gets undefined. For Darwin.
17708
29496e41 177092002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
17710
17711 * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
17712
358330c5 177132002-01-09 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
17714
17715 * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
17716
e932080c 177172002-01-08 Richard Henderson <rth@redhat.com>
17718
17719 * regrename.c (copy_value): Ignore overlapping copies.
17720
64656695 177212002-01-08 Richard Henderson <rth@redhat.com>
17722
17723 * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
17724 as needed to avoid shared structure.
17725
d2079f6d 177262002-01-08 Kazu Hirata <kazu@hxi.com>
17727
17728 * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
17729 H8/300H and H8/S.
17730
dcbec77e 177312002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
17732
17733 * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
17734 LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
17735 documentation of obsolete macros.
17736 * system.h: Poison these macros.
17737 * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
17738 config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
17739 config/c4x/c4x.h, config/clipper/clipper.h,
17740 config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
17741 config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
17742 config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
17743 config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
17744 config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
17745 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
17746 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
17747 config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
17748 config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
17749 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
17750 config/sparc/sparc.h, config/stormy16/stormy16.h,
17751 config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
17752 definitions and commented out definitions of obsolete macros.
17753 * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
17754 of MAX_INT_TYPE_SIZE.
17755
0b300c86 177562002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
17757
17758 * config/s390/s390.c (s390_preferred_reload_class): Never
17759 return ADDR_REGS if it isn't a subset of the given class.
17760 * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
17761 FP_REGS, but all superclasses as well.
17762
17763 * config/s390/s390.c (s390_function_profiler): Fix thinko.
17764
17765 * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
17766 cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
17767 must not be a const_int.
17768
e800ce79 177692002-01-08 Richard Henderson <rth@redhat.com>
17770
17771 * Makefile.in (toplev.o): Depend on options.h.
17772 (gcc.o): Depend on specs.h.
17773
f06d0bb1 177742002-01-08 Jakub Jelinek <jakub@redhat.com>
17775
17776 * expr.c (store_expr): Convert VOIDmode constants back to target's
17777 mode.
17778
a88a58d6 177792002-01-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
17780
17781 * doc/invoke.texi: Markup gcc as @command. Refer to
17782 http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
17783 of http://gcc.gnu.org/thanks.html.
17784
76e1c88e 177852002-01-08 Dale Johannesen <dalej@apple.com>
17786
17787 * config/rs6000/rs6000.md: Add missing int register
17788 target case to movdf_low.
17789
a1a7e9d5 177902002-01-08 Zack Weinberg <zack@codesourcery.com>
17791
17792 * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
17793 except.h. Remove commands to define USING_SJLJ_EXCEPTIONS.
17794 (cppinit.o): Depend on except.h.
17795 (gencheck.h, options.h, specs.h, s-gencheck, s-options,
17796 s-specs): New rules.
17797
17798 * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
17799 Don't create specs.h/options.h/gencheck.h here. Remove
17800 unnecessary variable settings from last argument of AC_OUTPUT.
17801 * config.in, configure: Regenerate.
17802 * intl.c: Hardcode package name as "gcc".
17803
17804 * cppinit.c: Include except.h.
17805 (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
17806 appropriate.
17807 * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
17808 Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
17809 (!)USING_SJLJ_EXCEPTIONS.
17810 * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
17811
eee3a990 178122002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
17813
17814 * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
17815 ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
17816 OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
17817 documentation of obsolete macros.
17818 * system.h: Poison these macros.
17819 * config/d30v/d30v.h, config/ns32k/encore.h,
17820 config/stormy16/stormy16.h: Remove definitions and commented out
17821 definitions of obsolete macros.
17822
6cf86ac6 17823Tue Jan 8 15:56:41 2002 Nicola Pero <nicola@brainstorm.co.uk>
17824
17825 * objc/objc-act.c (handle_class_ref): Mark the declaration of
17826 %sobjc_class_ref_%s as used - to prevent unwanted compiler
17827 warnings.
17828
f3fd783b 178292002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
17830
17831 * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
17832 * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
17833 to insn adjusting stack/frame pointer.
a1a7e9d5 17834 * config/s390/s390.md (reload_la_64, reload_la_31): Do not
f3fd783b 17835 accept operands that cause the insn to be non-splittable.
17836
163d43d8 178372002-01-08 Graham Stott <grahams@redhat.com>
17838
17839 * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
17840 (C_TYPE_FIELDS_VOLATILE): Likewise.
17841 (C_TYPE_BEING_DEFINED): Likewise.
17842 (C_IS_RESERVED_WORD): Likewise.
17843 (C_TYPE_VARIABLE_SIZE): Likewise.
17844 (C_DECL_VARIABLE_SIZE): Likewise.
17845 (C_MISSING_PROTOTYPE_WARNED): Likewise.
17846 (C_SET_EXP_ORIGINAL_CODE): Likewise.
17847 (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
17848 parenthesis.
17849 (C_DECL_ANTICIPATED): Likewise.
17850 (c_build_type_variant): Add parenthesis.
17851
6e50451f 178522002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
17853
17854 * gcc.c (option_map): Remove --version.
17855 (process_command): Handle -fversion following the GNU Coding
17856 Standards. Partially addresses PR other/704.
17857
e7ab03b3 178582002-01-08 Graham Stott <grahams@redhat.com>
17859
17860 * combine.c (combine_instructions): Fix typo.
17861
4615afcc 178622002-01-08 Graham Stott <grahams@redhat.com>
17863
17864 * debug.h: Use "tree" and "rtx" throughout.
17865
17866 * debug.c: Likewise.
17867
58f036fc 178682002-01-08 Nick Clifton <nickc@cambridge.redhat.com>
17869
17870 * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
17871 constant pool, use the pool's version of the symbol instead.
17872
6ec4bb60 178732002-01-07 Richard Henderson <rth@redhat.com>
17874
17875 * regrename.c (find_oldest_value_reg): Ignore the value chain if
17876 the original register was copied in a mode with a fewer number of
17877 hard registers than the desired mode.
17878 (copyprop_hardreg_forward_1): Likewise.
17879 (debug_value_data): Fix loop test.
17880 * toplev.c (parse_options_and_default_flags): Reenable
17881 -fcprop-registers at -O1.
17882
178832002-01-07 Aldy Hernandez <aldyh@redhat.com>
41b843a7 17884
a1a7e9d5 17885 * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
17886 (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
41b843a7 17887
a1a7e9d5 17888 * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
17889 predicates.
41b843a7 17890
a1a7e9d5 17891 * config/rs6000/rs6000.md: Add altivec predicate patterns.
41b843a7 17892
a9ac13e4 178932002-01-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
17894
17895 * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
17896 (pa_output_function_prologue): Output local label at the beginning of
17897 the prologue when profiling.
17898 (hppa_profile_hook): Use the local label rather than the function label.
17899 * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
17900
965c179a 179012002-01-07 Aldy Hernandez <aldyh@redhat.com>
17902
a1a7e9d5 17903 * config/rs6000/rs6000.c (print_operand): Remove extra space.
17904 (altivec_expand_unop_builtin): Fix thinko.
17905 (altivec_expand_binop_builtin): Same.
17906 (altivec_expand_ternop_builtin): Same.
17907 (altivec_expand_builtin): Same.
965c179a 17908
3cd13a0a 179092002-01-07 Richard Henderson <rth@redhat.com>
17910
17911 * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
17912
f2c8b8e7 179132002-01-07 Jason Merrill <jason@redhat.com>
17914
17915 * unwind-dw2.c (execute_cfa_program): Use < again.
17916
c4a616f2 179172002-01-07 Jakub Jelinek <jakub@redhat.com>
17918
17919 * predict.c (combine_predictions_for_insn): Avoid division by zero.
17920
d2100772 179212002-01-07 Jakub Jelinek <jakub@redhat.com>
17922
17923 * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
17924 Don't allow -1 - x -> ~x simplifications in the first pass.
17925
e931e2d9 179262002-01-07 Aldy Hernandez <aldyh@redhat.com>
17927
a1a7e9d5 17928 * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
17929 arguments.
17930 (altivec_expand_binop_builtin): Same.
17931 (altivec_expand_unop_builtin): Same.
17932 (print_operand): Fix typo.
17933 (bdesc_1arg): Add vupk* variants.
e931e2d9 17934
a1a7e9d5 17935 * rs6000.h (rs6000_builtins): Add vupk* enums.
e931e2d9 17936
a1a7e9d5 17937 * rs6000.md: Add altivec_vupk* variants.
e931e2d9 17938
d2d8531d 179392002-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
17940
17941 * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
17942 doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
17943 and last update dates.
17944
4ae38af9 179452002-01-07 Janis Johnson <janis187@us.ibm.com>
17946
17947 * doc/rtl.texi (Flags): Clean up documentation of RTL flags
17948
0d4cf8f2 179492002-01-07 Marek Michalkiewicz <marekm@amelek.gda.pl>
17950
17951 * config/avr/avr.c (avr_mcu_types): Add new MCU types.
17952 * config/avr/avr.h (CPP_SPEC): Likewise.
17953 (LINK_SPEC): Likewise.
17954 (CRT_BINUTILS_SPECS): Likewise.
17955 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
17956 * doc/invoke.texi (AVR Options): Document them.
17957
111f982d 17958Mon Jan 7 11:59:34 CET 2002 Jan Hubicka <jh@suse.cz>
17959
17960 * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
17961 LABEL_NUSES.
17962
3395ab5f 179632002-01-07 Graham Stott <grahams@redhat.com>
17964
a1a7e9d5 17965 * config/i386/i386.h: Update copyright date.
17966 (HALF_PIC_PTR): Add parenthesis.
17967 (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
17968 (CONSTANT_ALIGNMENT): Add parenthesis.
17969 (DATA_ALIGNMENT): Likewise.
17970 (LOCAL_ALIGNMENT): Likewise.
17971 (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
17972 (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
17973 (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
17974 (HARD_REGNO_NREGS): Add paranethesis.
17975 (VALID_SSE_REG_MODE): Whitespace.
17976 (VALID_MMX_REG_MODE): Whitespace.
17977 (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
17978 (ix86_hard_regno_mode_ok): Add parenthesis.
17979 (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
17980 (RETURN_IN_MEMORY): Whitespace.
17981 (N_REG_CLASSES): Add parenthesis.
17982 (INTEGER_CLASS_P): Add parenthesis and wrap.
17983 (FLOAT_CLASS_P): Likewise.
17984 (SSE_CLASS_P): Likewise.
17985 (MMX_CLASS_P): Likewise.
17986 (MAYBE_INTEGER_CLASS_P): Likewise.
17987 (MAYBE_FLOAT_CLASS_P): Likewise.
17988 (MAYBE_SSE_CLASS_P): Likewise.
17989 (MAYBE_MMX_CLASS_P): Likewise.
17990 (Q_CLASS_P): Likewise.
17991 (GENERAL_REGNO_P): Uppercase macro parameter.
17992 (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
17993 (FP_REGNO_P): Likewise.
17994 (ANY_FP_REGNO_P): Uppercase macro parameter.
17995 (SSE_REGNO_P): Likewise.
17996 (SSE_REGNO): Likewise.
17997 (SSE_REG_P): Likewise.
17998 (SSE_FLOAT_MODE_P): Likewise.
17999 (MMX_REGNO_P): Likewise.
18000 (MMX_REG_P):Likewise.
18001 (STACK_REG_P): Likewise.
18002 (NON_STACK_REG_P): Likewise.
18003 (STACK_TOP_P): Likewise.
18004 (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
18005 (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
18006 (SECONDARY_MEMORY_NEEDED): Likewise.
18007 (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
18008 (MD_ASM_CLOBBERS): Whitespace and wrap.
18009 (MUST_PASS_IN_STACK): Whitespace and wrap.
18010 (RETURN_POPS_ARGS): Add parenthesis.
18011 (INIT_CUMULATIVE_ARGS): Likewise.
18012 (FUNCTION_ARG): Likewise.
18013 (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
18014 (SETUP_INCOMING_VARARGS): Likewise.
18015 (BUILD_VA_LIST_TYPE): Add parenthesis.
18016 (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
18017 parenthsis.
18018 (EXPAND_BUILTIN_VA_ARG): Likewise.
18019 (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
18020 (INITIALIZE_TRAMPOLINE): Add parenthesis.
18021 (INITIAL_ELIMINATION_OFFSET): Likewise.
18022 (REGNO_OK_FOR_INDEX_P): Add parenthesis.
18023 (REGNO_OK_FOR_BASE_P): Likewise.
18024 (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
18025 (REGNO_OK_FOR_DIREG_P): Likewise.
18026 (REG_OK_FOR_INDEX_P): Whitespace.
18027 (REG_OK_FOR_BASE_P): Whitespace.
18028 (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
18029 parenthesis.
18030 (FIND_BASE_TERM): Fix typo.
18031 (LEGITIMIZE_ADDRESS): Wrap in { .. } while (0) and add parenthesis.
18032 (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
18033 (SYMBOLIC_CONST; Whitespace.
18034 (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in { .. } while (0) and wrap.
18035 (ENCODE_SECTION_INFO): Whitespace.
18036 (FINALIZE_PIC): Remove do { ... } while (0).
18037 (PROMOTE_MODE): Wrap in do { ... } while (0).
18038 (CONST_COSTS): Whitespace.
18039 (RTX_COSTS): Add paramethesis, whitespace and wrap.
18040 (REGISTER_MOVE_COST): Add parenthesis.
18041 (MEMORY_MOVE_COST): Likewise.
18042 (EXTRA_CC_MODES): Whitespace.
18043 (SELECT_CC_MODE): Add parenthesis and whitespace.
18044 (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
18045 (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
18046 (ASM_OUTPUT_LABEL): Add paramethesis.
18047 (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
18048 (ASM_OUTPUT_REG_POP): Likewise.
18049 (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
18050 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
1b12cfd7 18051
173f37f4 18052 * config/i386/i386.c: Update copyright.
18053 (CHECK_STACK_LIMIT): Add parenthesis.
18054 (AT_BP): Uppercase macro parameter.
18055 (x86_64_int_parameter_registers): Constify.
18056 (x86_64_int_return_registers): Likewise.
18057 (ix86_compare_op0): Use rtx.
18058 (construct_container): Constify INTREG parameter.
18059 (function_arg): Use rtx.
18060
e718c89f 18061 * diagnostic.h: Update copyright date.
18062 (output_buffer_state): Add parenthesis.
18063 (output_buffer_format_args): Likewise.
18064
3395ab5f 18065 * combine.c (combine_instructions): Replace XEXP (links, 0)
18066 with link.
18067
dd782271 180682002-01-06 H.J. Lu <hjl@gnu.org>
18069
18070 * cfgcleanup.c (thread_jump): Fix 2 typos.
18071
180722002-01-06 Aldy Hernandez <aldyh@redhat.com>
3898b44a 18073
a1a7e9d5 18074 * config.gcc: Add support for --enable-altivec.
3898b44a 18075
81d5334a 180762002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
18077
18078 * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
18079
2fa8311b 180802002-01-06 Jakub Jelinek <jakub@redhat.com>
18081
18082 * objc/objc-act.c (handle_impent): Use assemble_variable to emit
18083 __objc_class_name_*.
18084
f617d398 180852002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
18086
18087 * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
18088
9b7d4a8f 180892002-01-06 Richard Henderson <rth@redhat.com>
18090
18091 * reorg.c (emit_delay_sequence): Remove death notes, not merely
18092 nop them out. Increment label reference count for REG_LABEL.
18093 (fill_slots_from_thread): Frob label reference count around
18094 delete_related_insns.
18095
acf4e6a8 180962002-01-05 Richard Henderson <rth@redhat.com>
18097
18098 * cfgcleanup.c (try_forward_edges): Detect infinite loops while
18099 jump threading.
18100
f3546830 181012002-01-05 Richard Henderson <rth@redhat.com>
18102
18103 * c-decl.c (c_expand_body): Don't call outlining_inline_function.
18104 * integrate.c (output_inline_function): Likewise.
18105 * toplev.c (rest_of_compilation): Do it here instead. Move call
18106 to remove_unnecessary_notes after emitting abstract instance.
18107 Force an emitted nested function to have its parent emited as well.
18108 * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
18109 for null.
18110 (rtl_for_decl_location): Do not look at reload data structures
18111 before reload has run.
18112
dfe09cce 181132002-01-05 Kazu Hirata <kazu@hxi.com>
18114
18115 * cse.c: Fix formatting.
18116 * dwarf2asm.c: Likewise.
18117 * dwarf2out.c: Likewise.
18118 * explow.c: Likewise.
18119 * expmed.c: Likewise.
18120 * function.c: Likewise.
18121 * gcov.c: Likewise.
18122 * gencheck.c: Likewise.
18123 * genrecog.c: Likewise.
18124 * ggc-common.c: Likewise.
18125 * ggc-page.c: Likewise.
18126 * global.c: Likewise.
18127
ea913091 181282002-01-05 Kazu Hirata <kazu@hxi.com>
18129
18130 * combine.c: Fix formatting.
18131
ea3f1ac0 181322002-01-05 Craig Rodrigues <crodrigu@bbn.com>
18133
18134 PR middle-end/1557
18135 * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
18136
560de2f8 181372002-01-05 David Edelsohn <edelsohn@gnu.org>
18138
18139 * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
18140 as 1 for __powerpc64__ as well.
18141
18142 * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
18143
18144 * alias.c (find_base_value, PLUS/MINUS): If we found a base,
18145 return it.
18146
3b7e1f27 181472002-01-05 Daniel Berlin <dan@dberlin.org>
18148
18149 * lcm.c: Revert change, due to performance regression it causes on
18150 SPEC because it's slightly more conservative (sigh, I hate
18151 edge-based LCM).
a1a7e9d5 18152
309306ce 18153Sat Jan 5 11:52:05 CET 2002 Jan Hubicka <jh@suse.cz>
18154
18155 * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
18156
58f79589 181572002-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
18158
18159 * doc/cppinternals.texi: Update.
18160
5bd2c01e 181612002-01-05 Hans-Peter Nilsson <hp@bitrange.com>
18162
18163 * doc/invoke.texi (Option Summary) <MMIX Options>: Document
18164 -mbranch-predict, -mreg-stack-fill-bug-workaround and their
18165 negatives.
18166 (MMIX Options): Ditto. Fix item/itemx typo for -mno-zero-extend.
18167 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
18168 kludge for pre-october-14th mmix versions to handle new-found bug
18169 with PUSHJ/PUSHGO and the register stack.
18170 * config/mmix/mmix.h (struct machine_function): Rename member
18171 has_call_value_without_parameters to has_call_without_parameters.
18172 All referers changed.
18173 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
18174 TARGET_MASK_BRANCH_PREDICT): New macros.
18175 (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
18176 -mno-reg-stack-fill-bug-workaround.
18177 * config/mmix/mmix.md ("call"): Set struct machine member
18178 has_call_without_parameters.
18179
148444fb 18180Sat Jan 5 02:20:22 CET 2002 Jan Hubicka <jh@suse.cz>
18181
18182 * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
18183
20eee3f6 18184Sat Jan 5 01:35:29 CET 2002 Jan Hubicka <jh@suse.cz>
18185
18186 * cfgcleanup.c: Include tm_p.h
18187 (mark_effect): Fix handling of hard register; fix handling of SET
18188
5bfbffbe 181892002-01-04 Kazu Hirata <kazu@hxi.com>
18190
18191 * config/h8300/h8300.md (anonymous patterns): Check that
18192 operands are registers before using REGNO on them.
18193
b41d83cb 181942002-01-03 Roland McGrath <roland@frob.com>
18195
18196 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
18197
4e3da239 181982002-01-04 Jakub Jelinek <jakub@redhat.com>
18199
18200 * tree.h (expand_expr_stmt_value): Add maybe_last argument.
18201 * c-common.h (genrtl_expr_stmt_value): Likewise.
18202 * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
18203 (expand_expr_stmt_value): Add maybe_last argument.
18204 Don't warn about statement with no effect if it is the last statement
18205 in expression statement.
18206 * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
18207 (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
18208 expand_expr_stmt_value.
18209 (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
18210 genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
18211 * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
18212 as maybe_last to expand_expr_stmt_value.
18213
e87da6ae 18214Fri Jan 4 11:45:05 2002 Jeffrey A Law (law@redhat.com)
18215
a1a7e9d5 18216 * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
18217 be passed in, do not build it.
18218 (c_begin_if_stmt): New function.
18219 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
18220 * c-common.h (c_expand_start_cond): Update prototype.
18221 (c_begin_if_stmt): Prototype new function.
18222 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
18223 * c-parse.in (if_prefix): Use c_begin_if_stmt,
18224 c_begin_while_stmt and c_finish_while_stmt_cond.
e87da6ae 18225
c6c95491 182262002-01-04 William Cohen <wcohen@redhat.com>
18227
18228 * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
18229 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
18230 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
18231 * config/pa/som.h (ASM_FILE_START): Likewise.
18232
b193f2d5 182332002-01-04 Daniel Berlin <dan@cgsoftware.com>
5fe7bfff 18234
18235 * lcm.c: Include df.h.
18236 Add available_transfer_function prototype.
18237 (compute_available): Rework to use iterative dataflow framework.
18238 (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
18239 with bb_info in df.h
18240 (available_transfer_function): New function.
18241
18242 * Makefile.in (lcm.o): add df.h to dependencies.
18243
f5a60074 182442002-01-04 Richard Henderson <rth@redhat.com>
18245
18246 * config/alpha/alpha.c (some_operand): Accept HIGH.
18247 (input_operand): Likewise; accept simple references to globals.
18248 (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
18249 (alpha_const_double_ok_for_letter_p): Likewise.
18250 (alpha_extra_constraint): Likewise.
18251 (alpha_preferred_reload_class): Likewise. Do not force
18252 symbolic constants to memory.
18253 (alpha_legitimate_address_p): Accept simple references
18254 to small_symbolic_operand.
18255 (alpha_legitimize_address): New arg scratch. Be prepared to be
18256 called when no_new_pseudos. Emit simple symbolic references.
18257 Split integers into low, high, and rest.
18258 (alpha_expand_mov): Use alpha_legitimize_address.
18259 (some_small_symbolic_mem_operand): New.
18260 (split_small_symbolic_mem_operand): New.
18261 * config/alpha/alpha-protos.h: Update.
18262 * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
18263 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
18264 (EXTRA_CONSTRAINT): Likewise.
18265 (PREFERRED_RELOAD_CLASS): Likewise.
18266 (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
18267 (PREDICATE_CODES): Update.
18268 * config/alpha/alpha.md: New post-reload splitters to convert
18269 simplfied symbolic operands to the form that references $29.
18270 (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
18271 (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
18272
6773ca2d 182732002-01-03 Richard Henderson <rth@redhat.com>
18274
18275 * local-alloc.c (function_invariant_p): Update commentary.
18276
2ea2aed0 182772002-01-04 H.J. Lu <hjl@gnu.org>
18278
18279 * toplev.c (rest_of_compilation): Fix a typo when calling
18280 cleanup_cfg.
18281
7cc7e163 182822002-01-03 Kazu Hirata <kazu@hxi.com>
18283
18284 * c-common.c: Fix formatting.
18285 * diagnostic.c: Likewise.
18286 * doloop.c: Likewise.
18287 * dwarf2out.c: Likewise.
18288
b0422000 182892002-01-03 Kazu Hirata <kazu@hxi.com>
18290
18291 * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
18292 of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
18293
e484a1cc 182942002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
18295
18296 * cpperror.c: Update comments and copyright.
18297 * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
18298 cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
18299
625bfde6 183002002-01-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
18301
18302 * collect2.c (main): Use strcmp when testing for "-shared".
18303
88cf66fa 183042002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
18305
18306 * cppmacro.c: Don't include intl.h. Update comments.
18307 (new_number_token): Allocate enough buffer for 64-bit unsigned
18308 integers; update prototype.
18309 * cppmain.c: Update comments.
18310
7811c823 183112002-01-03 William Cohen <wcohen@redhat.com>
18312
18313 * function.h (struct function): Add profile.
18314 (current_function_profile): New.
18315 doc/extend.texi: Update documentation.
18316 * final.c (final_start_function): Use current_function_profile
18317 instead of profile_flag.
18318 (profile_after_prologue): Likewise.
18319 * function.c (expand_function_start): Likewise.
18320 (expand_function_start): Likewise.
2ea2aed0 18321 * config/alpha/alpha.c (direct_call_operand):
7811c823 18322 (alpha_does_function_need_gp): Likewise.
18323 (alpha_expand_prologue): Likewise.
18324 * config/arm/arm.c (arm_expand_prologue): Likewise.
18325 thumb_expand_prologue: Likewise.
18326 * config/d30v/d30v.c (d30v_stack_info): Likewise.
18327 * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
18328 (fr30_expand_prologue): Likewise.
18329 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
18330 * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
18331 * config/i386/i386.h (FINALIZE_PIC): Likewise.
18332 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
18333 * config/i960/i960.c (i960_output_function_prologue): Likewise.
18334 * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
18335 * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
18336 (m32r_expand_prologue): Likewise.
18337 * config/m88k/m88k.c (m88k_layout_frame): Likewise.
18338 (m88k_expand_prologue): Likewise.
18339 * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
18340 * config/mips/mips.c (compute_frame_size): Likewise.
18341 (mips_expand_prologue): Likewise.
18342 (mips_can_use_return_insn): Likewise.
18343 * config/pa/elf.h (ASM_FILE_START): Likewise.
18344 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
18345 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
18346 * config/pa/som.h (ASM_FILE_START): Likewise.
18347 * config/romp/romp.c (romp_using_r14): Likewise.
18348 * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
18349 (rs6000_stack_info): Likewise.
18350 * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
6cec026c 18351 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
7811c823 18352 * config/v850/v850.c (compute_register_save_size): Likewise.
18353
89558e88 183542002-01-03 Jakub Jelinek <jakub@redhat.com>
18355
18356 * simplify-rtx.c (simplify_binary_operation) [DIV]: If
18357 gen_lowpart_common fails, use gen_lowpart_SUBREG.
18358
f24da1e1 183592002-01-03 Turly O'Connor <turly@apple.com>
89558e88 18360
f24da1e1 18361 * darwin.c (machopic_output_possible_stub_label): Don't generate
18362 stub routines for pseudo-stubs which we've just defined.
18363
e17f5b23 183642002-01-03 Kazu Hirata <kazu@hxi.com>
18365
18366 * builtins.c: Fix formatting.
18367 * c-typeck.c: Likewise.
18368 * combine.c: Likewise.
18369 * expr.c: Likewise.
18370 * loop.c: Likewise.
18371
54915428 183722002-01-03 Andreas Schwab <schwab@suse.de>
18373
18374 * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
18375 and return true if _cpp_push_next_buffer pushed a new include
18376 file.
18377 * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
18378 _cpp_pop_file_buffer did not push a new file.
18379 * cpphash.h (_cpp_pop_file_buffer): Update declaration.
18380
ed1e5d40 183812002-01-02 Eric Christopher <echristo@redhat.com>
18382
18383 * final.c (final_scan_insn): Change 0 -> NULL_RTX in
18384 FIND_REG_INC_NOTE call. Update copyright.
18385 * loop.c (canonicalize_condition): Ditto.
18386 * reorg.c (delete_scheduled_jump): Ditto.
18387
387732c1 183882002-01-03 Kazu Hirata <kazu@hxi.com>
18389
18390 * gcse.c: Fix formatting.
18391
f9c31076 183922002-01-03 Graham Stott <grahams@redhat.com>
18393
18394 * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
18395 forward defs for struct tags rtx_def, union_tree, rtvec_def
3395ab5f 18396 also output corresponding typedefs for rtx, tree, and rtvec.
f9c31076 18397
18398 * system.h: Move forward defs for struct tags rtx_def, union_tree,
18399 rtvec_def along with corresponding typedefs for rtx, tree, and
3395ab5f 18400 rtvec to config.h, hconfig.h, tconfig.h.
f9c31076 18401
184022002-01-03 Graham Stott <grahams@redhat.com>
76c6f48d 18403
18404 * tree.h: Update copyright date.
18405 (IS_EXPR_CODE_CLASS): Add parenthesis.
18406 (TREE_SET_CODE): Add whitespace.
18407 (TREE_CHECK): Add parenthesis.
18408 (TREE_CLASS_CODE): Add parenthesis and wrap long line.
18409 (CST_OR_CONSTRUCTOR_CHECK):
18410 (EXPR_CHECK): Add parenthis, whitespace and wrap line.
18411 (TREE_SYMBOL_REFERENCED): Whitespace.
18412 (INT_CST_LT): Likewise.
18413 (INT_CST_LT_UNSIGNED): Likewise.
18414 (tree_real_cst): Unwrap comment.
18415 (tree_string): Likewise.
18416 (tree_complex): Likewise.
18417 (IDENTIFIER_POINTER): correct cast.
18418 (SAVE_EXPR_CONTEXT): Whitespace.
18419 (EXPR_WFL_FILENAME_NODE): Likewise.
18420 (EXPR_WFL_FILENAME): Remove parenthesis.
18421 (DECL_ORIGIN): Add parenthesis.
18422 (DECL_FROM_INLINE): Use NULL_TREE.
18423 (build_int_2): Whitespace.
18424 (build_type_variant): Add parenthesis.
18425
18426 * gcc/jcf-parse.c: Update copyright date.
18427 (yyparse): Constify resource_filename.
18428
017c31d6 184292002-01-03 Graham Stott <grahams@redhat.com>
18430
18431 * rtl.h: Update copyright date.
18432 (RTL_CHECK1): Wrap long line.
18433 (RTL_CHECK2): Likewise.
18434 (RTL_CHECKC1): Wrap long line and whitespace.
18435 (RTL_CHECKC2): Likewise.
18436 (XWINT): Whitespace.
18437 (XINT): Likewise.
18438 (XSTR): Likewise.
18439 (XEXP): Likewise.
18440 (XVEC): Likewise.
18441 (XMODE): Likewise.
18442 (XBITMAP): Likewise.
18443 (XTREE): Likewise.
18444 (XBBDEF): Likewise.
18445 (XTMPL): Likewise.
18446 (X0WINT): Likewise.
18447 (X0INT):Likewise.
18448 (X0UINT): Likewise.
18449 (X0STR): Likewise.
18450 (X0EXP): Likewise.
18451 (X0VEC): Likewise.
18452 (X0MODE): Likewise.
18453 (X0BITMAP): Likewise.
18454 (X0TREE): Likewise.
18455 (X0BBDEF): Likewise.
18456 (X0ADVFLAGS): Likewise.
18457 (X0CSELIB): Likewise.
18458 (X0MEMATTR): Likewise.
18459 (XCWINT): Likewise.
18460 (XCINT): Likewise.
18461 (XCUINT): Likewise.
18462 (XCSTR): Likewise.
18463 (XCEXP): Likewise.
18464 (XCVEC): Likewise.
18465 (XCMODE): Likewise.
18466 (XCBITMAP): Likewise.
18467 (XCTREE): Likewise.
18468 (XCBBDEF): Likewise.
18469 (XCADVFLAGS): Likewise.
18470 (XCCSELIB): Likewise.
18471 (XC2EXP): Likewise.
18472 (INSN_UID): Likewise.
18473 (PREV_INSN): Likewise.
18474 (PATTERN): Likewise.
18475 (INSN_CODE): Likewise.
18476 (PUT_REG_NOTE_KIND): Likewise.
18477 (CODE_LABEL_NUMBER): Likewise.
18478 (NOTE_SOURCE_FILE): Likewise.
18479 (NOTE_BLOCK): Likewise.
18480 (NOTE_EH_HANDLER): Likewise.
18481 (NOTE_RANGE_INFO): Likewise.
18482 (NOTE_LIVE_INFO): Likewise.
18483 (NOTE_BASIC_BLOCK): Likewise.
18484 (NOTE_EXPECTED_VALUE): Likewise.
18485 (NOTE_LINE_NUMBER): Likewise.
18486 (LABEL_NAME): Likewise.
18487 (LABEL_NUSES): Likewise.
18488 (LABEL_ALTERNATE_NAME): Likewise.
18489 (ADDRESSOF_DECL): Likewise.
18490 (JUMP_LABEL): Likewise.
18491 (LABEL_NEXTREF): Likewise.
18492 (REGNO): Likewise.
18493 (ORIGINAL_REGNO: Likewise.
18494 (HARD_REGISTER_NUM_P): Add parenthesis.
18495 (SUBREG_REG): Whitespace.
18496 (SUBREG_BYTE): Likewise.
18497 (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
18498 (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
18499 (ASM_OPERANDS_OUTPUT_IDX): Likewise.
18500 (ASM_OPERANDS_INPUT_VEC): Likewise.
18501 (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
18502 (ASM_OPERANDS_INPUT): Likewise.
18503 (ASM_OPERANDS_INPUT_LENGTH): Likewise.
18504 (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
18505 (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
18506 (ASM_OPERANDS_INPUT_MODE): Likewise.
18507 (ASM_OPERANDS_SOURCE_FILE): Likewise.
18508 (ASM_OPERANDS_SOURCE_LINE): Likewise.
18509 (MEM_SET_IN_STRUCT_P): Minor reformat.
18510 (TRAP_CONDITION): Whitespace.
18511 (TRAP_CODE): Likewise.
18512 (COND_EXEC_TEST): Likewise.
18513 (COND_EXEC_CODE): Likewise.
18514 (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
18515 (PHI_NODE_P): Add parenthesis.
18516 (plus_constant): Whitespace and add parenthesis.
18517
ebb11c7b 185182002-01-03 Kazu Hirata <kazu@hxi.com>
18519
18520 * config/avr/avr.c: Fix comment typos.
18521 * config/c4x/c4x.md: Likewise.
18522 * config/dsp16xx/dsp16xx.h: Likewise.
18523 * config/dsp16xx/dsp16xx.md: Likewise.
18524 * config/i386/i386.md: Likewise.
18525 * config/ia64/ia64.c: Likewise.
18526 * config/m32r/m32r.h: Likewise.
18527 * config/m68hc11/m68hc11.md: Likewise.
18528 * config/mmix/mmix.c: Likewise.
18529 * config/mn10200/mn10200.c: Likewise.
18530 * config/romp/romp.c: Likewise.
18531 * config/sh/sh.c: Likewise.
18532 * config/stormy16/stormy16.c: Likewise.
18533 * config/stormy16/stormy16.h: Likewise.
18534 * config/stormy16/stormy16.md: Likewise.
18535
b9c9ea70 185362002-01-03 Graham Stott <grahams@redhat.com>
18537
18538 * loop.h: Update copyright date.
a1a7e9d5 18539 (LOOP_MOVABLES): Fix typo.
18540 (LOOP_REGS): Likewise.
18541 (LOOP_IVS): Likewise.
ed1e5d40 18542
355a19c4 185432002-01-03 Graham Stott <grahams@redhat.com>
18544
18545 * cppinit.c: Update copyright date.
18546 Don't include output.h
18547 * Makefile.in: Update copyright date.
18548 Update dependency.
18549
67613903 185502002-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
18551
18552 PR c/5226
18553 * invoke.texi (-mthreads): Remove from documented RS/6000 options.
18554 (-pthread) Add to RS/6000 options.
18555
5d4f270c 185562002-01-02 Kazu Hirata <kazu@hxi.com>
18557
18558 * except.c: Fix comment typos.
18559 * loop.c: Likewise.
18560 * varasm.c: Likewise.
18561 * doc/tm.texi: Fix a typo.
18562
80dd10f3 185632002-01-02 Jakub Jelinek <jakub@redhat.com>
18564
18565 * c-typeck.c (output_init_element): Allow initializing static storage
18566 duration objects with compound literals.
18567
42f030bd 185682002-01-02 Richard Henderson <rth@redhat.com>
18569
18570 * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
18571 after abusing it.
18572
507293ca 185732002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18574
c077395f 18575 * gcc.c (default_compilers): Const-ify.
18576 * mips-tdump.c (stab_names): Likewise.
18577 * mips-tfile.c (map_coff_types, map_coff_storage,
18578 map_coff_sym_type, map_coff_derived_type, stabs_symbol,
18579 pseudo_ops_t, pseudo_ops): Likewise.
18580 * protoize.c (default_include): Likewise
18581
507293ca 18582 * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
18583 (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
18584 Add array size in declaration.
18585 (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
18586 emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
18587 esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
18588 etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
18589 eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
18590 efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
18591 c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
18592 emtens, make_nan): Const-ify.
18593 (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
18594 DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
18595
b965afcd 185962002-01-02 Joseph S. Myers <jsm28@cam.ac.uk>
18597
18598 * config.gcc (ia64-*-*): Set extra_headers.
18599 (alpha*-dec-osf*): Likewise. Don't use alpha/t-osf.
18600 * config/alpha/t-osf: Remove.
18601 * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
18602
5c2d7eb1 186032002-01-02 David Edelsohn <edelsohn@gnu.org>
18604
18605 * config/rs6000/t-aix43: Revert previous change.
18606
ca33c4d0 186072002-01-02 Jason Merrill <jason@redhat.com>
18608
18609 * c-decl.c (c_expand_body): Call outlining_inline_function when
18610 emitting an inline function out of line.
18611
15cfae4e 186122002-01-02 Richard Henderson <rth@redhat.com>
18613
18614 * dwarf2out.c (limbo_die_node): Add created_for member.
18615 (new_die): New argument created_for. Update all callers.
18616 (mark_limbo_die_list): New.
18617 (dwarf2out_init): Register limbo_die_list as a root.
18618 (dwarf2out_finish): Force insert limbo dies into their function
18619 context.
18620
d066d787 186212002-01-02 Nathan Sidwell <nathan@codesourcery.com>
18622
18623 PR c++/5089
18624 * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
18625
7913b5f4 186262002-01-02 Kazu Hirata <kazu@hxi.com>
18627
18628 * config/h8300/fixunssfsi.c: Update copyright.
18629 Fix comment typos.
18630 Fix formatting.
18631 * config/h8300/h8300.c: Update copyright.
18632 Eliminate warnings.
18633
d2833c15 186342002-01-02 Kazu Hirata <kazu@hxi.com>
18635
18636 * config/romp/romp.c: Fix comment formatting.
18637 * config/romp/romp.h: Likewise.
18638 * config/romp/romp.md: Likewise.
18639 * config/s390/s390.c: Likewise.
18640 * config/stormy16/stormy16.c: Likewise.
18641 * config/stormy16/stormy16.h: Likewise.
18642
d513ec2f 186432002-01-02 Alexandre Oliva <aoliva@redhat.com>
18644
18645 * c-common.h (genrtl_expr_stmt_value): Declare.
18646 * c-semantics.c (genrtl_goto_stmt): Redirect to...
18647 (genrtl_goto_stmt_value): ... this new function. Pass new
18648 argument down to expand_expr_stmt_value, taking
18649 TREE_ADDRESSABLE into account.
18650 * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
18651 STMT_EXPR as addressable, i.e., one whose result we want.
18652 * expr.c (expand_expr): Don't save expression statement value
18653 of labeled_blocks or loop_exprs.
18654 * stmt.c (expand_expr_stmt): Redirect to...
18655 (expand_expr_stmt_value): ... this new function. Use new
18656 argument to tell whether to save expression value.
18657 (expand_end_stmt_expr): Reset last_expr_type and
18658 last_expr_value if we don't have either.
18659 * tree-inline.c (declare_return_variable): Mark its use
18660 statement as addressable.
18661 * tree.h: Document new use of TREE_ADDRESSABLE.
18662 (expand_expr_stmt_value): Declare.
18663
60d2983e 186642002-01-01 Tom Rix <trix@redhat.com>
18665
18666 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
18667 rs6000_emit_allocate_stack.
18668
f448dfd0 186692002-01-01 Joseph S. Myers <jsm28@cam.ac.uk>
18670
18671 * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
18672 ${srcdir}/ginclude/ to every entry in extra_headers.
18673 * configure: Regenerate.
18674 * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
18675 * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
18676 * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
18677 * ginclude/proto.h: Rename to config/convex/proto.h.
18678
80fabb90 18679Tue Jan 1 17:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18680
18681 * attribs.c (handle_vector_size_attribute): Use host_integerp
18682 and tree_int_cst; remove warnings.
18683 * caller-save.c (insert_restore): Add cast to get rid of warning.
18684 (insert_save): Likewise.
18685 * emit-rtl.c (adjust_address_1, offset_address): Likewise.
18686 * regmove.c (find_matches): Add temporary var to kill a warning.
18687
338f13ca 186882002-01-01 Douglas B Rupp <rupp@gnat.com>
18689
ffa4ba83 18690 * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
18691 LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
18692 * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
18693 (vms-dwarf2eh.o): Add Makefile rule.
18694 * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
18695 * config/alpha/vms-dwarf2eh.asm: New file.
18696
338f13ca 18697 * gcc.c (delete_if_ordinary): Delete all versions.
18698
91009d64 186992002-01-01 Hans-Peter Nilsson <hp@bitrange.com>
18700
18701 * config/mmix/mmix.md: Update FIXME to not mention
18702 define_constants.
18703 (MMIX_rJ_REGNUM): New define_constants constant.
18704 ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
18705 "*movdicc_real"): Adjust contraints formatting.
18706 ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
18707 for branch prediction.
18708 ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
18709 output template.
18710 ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
18711 "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
18712 number. Delete related FIXMEs.
18713 * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
18714 from number to MMIX_rJ_REGNUM.
18715 (TARGET_MASK_BRANCH_PREDICT): New.
18716 (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
18717 (TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols
18718 value. Add -mbranch-predict and -mno-branch-predict.
18719 (TARGET_VERSION): Drop date.
18720 (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
18721 * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
18722 for finding out global symbols.
18723 (mmix_asm_output_labelref): Revert condition for global symbol.
18724 (mmix_print_operand): <case '+'>: Emit P for a likely branch.
18725 (mmix_print_operand_punct_valid_p): A '+' is valid.
18726
e9006a91 18727See ChangeLog.6 for earlier changes.