]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
Fix bug in reloads_conflict
[gcc.git] / gcc / ChangeLog
CommitLineData
311fe27c
BS
11999-11-29 Bernd Schmidt <bernds@cygnus.co.uk>
2
e1306f49
BS
3 * haifa-sched.c (reg_last_uses, reg_last_sets, reg_last_clobbers,
4 pending_read_insns, pending_write_insns, pending_read_mems,
5 pending_write_mems, pending_list_length, last_pending_memory_flush,
6 last_function_call, sched_before_next_call): Move static variables
7 into a structure.
8 (bb_ prefixed versions): Replace with single array bb_deps.
9 (struct deps): New structure.
10 (add_insn_mem_dependence, flush_pending_lists, sched_analyze_1,
11 sched_analyze_2, sched_analyze_insn, sched_analyze): Accept new
12 argument of type "struct deps *"; use that instead of global
13 variables. All callers changed.
14 (init_rgn_data_dependencies): Delete function.
15 (init_rtx_vector): Delete function.
16 (init_deps): New function.
17
18 (free_pending_lists): Simplify, we always use the bb_deps array even
19 if only one basic block.
20 (compute_block_backward_dependences): Likewise.
21 (schedule_region): Likewise.
22
23 (propagate_deps): New function, broken out of
24 compute_block_backward_dependences.
25 (compute_block_backward_dependences): Use it.
26
d94d6abf
BS
27 * alpha.md: Delete useless patterns that tried to work around
28 register elimination problems.
29
311fe27c
BS
30 * unroll.c (loop_iterations): Don't abort if iteration variable
31 was made by loop.
32
ca1a4af1
BS
33 From Joern Rennecke:
34 * reload1.c (reloads_conflict): Reverse test comparing operand
35 numbers when testing for conflict between output/outaddr reloads.
36
88430453
DM
371999-11-29 David S. Miller <davem@redhat.com>
38
39 * config/sparc/sparc.c (init_cumulative_args): Fix type of third
40 arg.
41 * config/sparc/sparc-protos.h: Update proto, move into RTX_CODE.
42
9fdbc878
RL
431999-11-28 Robert Lipe <robertl@cygnus.com>
44
45 * i386/sco5.h (FINI_SECTION_ASM_OP_COFF): Move destructor fn
46 table from .fini into .dtor.
47
140592a0
AG
481999-11-28 Anthony Green <green@cygnus.com>
49
50 * tree.h (struct tree_decl): Add malloc_flag.
51 (DECL_IS_MALLOC): Define.
52 * c-common.c (attrs): Add A_MALLOC attribute.
53 (init_attributes): Add this attribute to the table.
54 (decl_attributes): Handle malloc attribute.
55 * calls.c (special_function_p): Check for the malloc attribute.
56 * extend.texi (Function Attributes): Document malloc attribute.
57
8b4b9b7a
JL
58Sun Nov 28 13:21:00 1999 Jeffrey A Law (law@cygnus.com)
59
60 * pa.md (reload shift-add patterns): Remove.
61
2e02044a
HB
621999-11-28 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
63
64 * reorg.c (dbr_schedule) Print more statistics. Corrected
65 problem when printing info when 3 delay slots are filled.
66
c285f57a
JJ
671999-11-28 Jakub Jelinek <jakub@redhat.com>
68
69 * combine.c (setup_incoming_promotions): Pass an outgoing
70 regno to FUNCTION_ARG_REGNO_P which it expects.
71
3fad8d4a
AJ
721999-11-28 Andreas Jaeger <aj@suse.de>
73
74 * mips/linux.h (CPP_PREDEFINES): Undefine before redefining.
75
915b80ed
PDM
76Sun Nov 28 00:48:15 1999 Philippe De Muyter <phdm@macqel.be>
77
e9761425
PDM
78 * cccp.c (do_include): Avoid initialization of automatic variable.
79
915b80ed
PDM
80 * integrate.c (mark_stores): Function definition made void, to match
81 previous declaration.
82 * regclass.c (dump_regclass): Ditto.
83 * Makefile.in (WARN_CFLAGS): Macro augmented by `-Wtraditional'.
84
1baa375f
RK
85Sat Nov 27 08:38:26 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
86
9f887d05
RK
87 * expr.c (store_constructor): Use EXACT_DIV_EXPR when dividend is
88 known to be multiple of divisor.
89
dd1db5ec
RK
90 * expr.c (store_constructor): Don't clobber TARGET if CLEARED.
91
667c1c2c
RK
92 * combine.c (try_combine): Add code to try to merge a set of a
93 two-word pseudo to a constant with a setting of one of those words
94 to a constant.
95
1baa375f
RK
96 * fold-const.c (negate_expr, associate_trees, extract_muldiv): New.
97 (split_tree): Completely rework to make more general.
98 (make_range, fold): Call negate_expr.
99 (fold, case NEGATE_EXPR): Simplify -(a-b) is -ffast-math.
100 (fold, associate): Call new split_tree and associate_trees.
101 (fold, case MULT_EXPR, case *_{DIV,MOD}_EXPR): Call extract_muldiv.
102
d42971c4
BS
1031999-11-26 Bernd Schmidt <bernds@cygnus.co.uk>
104
105 * loop.c (try_copy_prop): Avoid GNU C extension.
106
76fc91c7
MM
1071999-11-25 Mark Mitchell <mark@codesourcery.com>
108
83c23b6c
MM
109 * except.c (init_eh_for_function): Still zero eh_return_context,
110 eh_return_stack_adjust, and eh_return_handler.
82d26ad0 111
76fc91c7
MM
112 * except.h (eh_status): Adjust documentation for x_protect_list.
113 (begin_protect_partials): New function.
114 * except.c (enqueue_eh_entry): Fix formatting.
115 (get_first_handler): Add consistency check.
116 (add_partial_entry): Adjust usage of protect_list.
117 (emit_cleanup_handler): Save and restore ehqueue.
118 (expand_start_all_catch): Add comment.
119 (begin_protect_partials): New function.
120 (end_protect_partials): Adjust usage of protect_list.
121 (init_eh_for_function): Use xcalloc.
82d26ad0 122
913d0833
KG
1231999-11-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
124
125 * c-common.c (check_format_info): Don't call a variadic function
126 with a non-literal format string.
127
128 * c-decl.c (grokdeclarator, start_struct, finish_struct): Likewise.
129
130 * c-typeck.c (build_component_ref, build_unary_op, lvalue_or_else,
131 pedantic_lvalue_warning, error_init, pedwarn_init, warning_init):
132 Likewise.
133
134 * cccp.c (check_macro_name, do_xifdef, vwarning_with_line):
135 Likewise.
136
137 * collect2.c (collect_wait): Likewise.
138
139 * dbxout.c (dbxout_type): Likewise.
140
141 * gcc.c (do_spec_1): Likewise.
142
143 * genemit.c (gen_insn, gen_expand): Likewise.
144
145 * genrecog.c (write_switch, write_subroutine): Likewise.
146
147 * mips-tfile.c (catch_signal, botch): Likewise.
148
149 * print-rtl.c (print_rtx): Likewise.
150
151 * toplev.c (default_print_error_function, report_error_function,
152 _fatal_insn): Likewise.
153
7a12ace5
MM
1541999-11-25 Mark Mitchell <mark@codesourcery.com>
155
156 * tree.c (unsave_expr_now): Handle NULL_TREE as input.
157
caa6ec8d
JH
158Wed Nov 24 17:08:09 MET 1999 Jan Hubicka <hubicka@freesoft.cz>
159
160 * reg-stack.c (subst_stack_regs_pat): Swap operands in commutative
161 operations when needed.
162 * i386.md (fop_?f_comm): New.
163 (fop_?f_1): Do not accept commutative operands.
164
58dbe05f
AJ
1651999-11-25 Andreas Jaeger <aj@suse.de>
166
167 * config/mips/mips.md (casesi_internal): Add missing brace.
168
2081603c
JM
1691999-11-25 Jason Merrill <jason@casey.cygnus.com>
170
171 * dwarf2out.c (pend_type, output_pending_types_for_scope): Lose.
172 (splice_child_die): Handle moving a child DIE from the declaration
173 DIE of a class to its specification.
174 (gen_struct_or_union_type_die): Use 'complete' consistently.
175 (gen_decl_die): Generate the virtual context DIE first.
176 Use decl_ultimate_origin instead of DECL_ABSTRACT_ORIGIN.
177
8f7f2b3d
GRK
1781999-11-24 Gavin Romig-Koch <gavin@cygnus.com>
179
180 * config/mips/mips.md (call_value_multiple_interanal1): New.
181
10a11b75
JM
1821999-11-24 Jason Merrill <jason@casey.cygnus.com>
183
184 * dwarf2out.c (free_AT, free_die): New fns.
185 (remove_children): Call them.
186 (output_line_info): Disable removal of duplicate notes.
187
188 Generate minimal debug info for types with TYPE_DECL_SUPPRESS_INFO set.
189 * dwarf2out.c (gen_struct_or_union_type_die): TYPE_DECL_SUPPRESS_INFO
190 means pretend the type isn't defined.
191 Don't defer emitting types.
192 (gen_type_die_for_member): New fn.
193 (gen_decl_die): Call it.
194 (splice_child_die): New fn.
195 (gen_member_die): Call it rather than generate duplicate dies.
196
197 Defer emitting information for the abstract instance of an inline
198 until we either inline it or emit an out-of-line copy.
199 * dwarf2out.c (decl_ultimate_origin): Ignore DECL_ABSTRACT_ORIGIN
200 from output_inline_function if DECL_ABSTRACT is also set.
201 (block_ultimate_origin): Likewise.
202 (gen_abstract_function): New fn.
203 (gen_decl_die, gen_inlined_subroutine_die): Call it.
204 (gen_subprogram_die): An abstract instance is not a declaration
205 just because it doesn't match current_function_decl. Don't abort
206 because DECL_DEFER_OUTPUT isn't set. Do abort if a declaration
207 has an abstract origin.
208 * toplev.c (rest_of_compilation): Don't emit dwarf2 info for the
209 abstract instance here.
210
fc39d371
AH
211Wed Nov 24 18:39:18 1999 Andrew Haley <aph@cygnus.com>
212
213 * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Add the case
214 where we need to reload fpul from a system register.
215
5fbd654e
AJ
2161999-11-24 Andreas Jaeger <aj@suse.de>
217
218 * config/mips/linux.h (CPP_PREDEFINES): Added.
219 (LINK_SPEC): Remove -Y since this is only needed on sparc.
220
9aaaa38a
AJ
2211999-11-24 Andreas Jaeger <aj@suse.de>
222
223 * config/mips/linux.h (TARGET_VERSION): Added.
224 (HANDLE_SYSV_PRAGMA): Added.
225 (DEFAULT_VTABLE_THUNKS): Added.
226
a1ed7bdb
JH
227Wed Nov 24 14:12:15 MET 1999 Jan Hubicka <hubicka@freesoft.cz>
228
229 * local-alloc.c (qty): New structure and static variable.
230 (qty_phys_reg): Remove, all references changed to qty.
231 (qty_n_refs): Likewise.
232 (qty_min_class): Likewise.
233 (qty_birth): Likewise.
234 (qty_death): Likewise.
235 (qty_size): Likewise.
236 (qty_mode): Likewise.
237 (qty_n_calls_crossed): Likewise.
238 (qty_alternate_class): Likewise.
239 (qty_changes_size): Likewise.
240 (qty_first_reg): Likewise.
241 (alloc_qty): Rename variable QTY to QTYNO.
242 (finf_free_reg): Likewise.
243 (local_alloc): Allocate qty, do not allocate the removed variables.
244
9c9e7632
GK
245Wed Nov 24 17:26:05 1999 Geoffrey Keating <geoffk@cygnus.com>
246
247 * config/mips/mips.h (ASM_SPEC): Don't pass -G to the assembler
248 when -membedded-pic is passed.
249
250 * config/mips/mips.md (casesi): Handle 64-bit case too.
251 (casesi_internal_di): New insn.
252
253 * config/mips/mips.c (embedded_pic_offset): Always make the
254 embedded-pic subtractions relative to the name of the current
255 function by use of the magic string "..CURRENT_FUNCTION".
256 * config/mips/mips.h (ASM_OUTPUT_LABELREF): Make the magic happen.
257
8f8b5612
GK
2581999-11-24 Geoffrey Keating <geoffk@cygnus.com>
259
260 * config/mips/mips.md (div_trap_normal): Don't ask for the REGNO
261 of (const_int 0), when what we really care about is
262 whether it's a zero constant anyway.
263 (div_trap_mips16): Likewise.
264
94755d92
MM
2651999-11-23 Mark Mitchell <mark@codesourcery.com>
266
428248f7
MM
267 * loop.c (loop_optimize): Always find_loop_tree_blocks and
268 unroll_block_trees when generating debuggable code.
269
582db8e4
MM
270 * tree.h (unsave_expr_1): New function.
271 (lang_unsave): New variable.
272 (get_callee_fndecl): New function.
273 * tree.c (unsave_expr_now_r): New function.
274 (lang_unsave): Define.
275 (unsave_expr_1): Likewise.
276 (unsave_expr_now_r): Split out from unsave_expr_now.
277 (unsave_expr_now): Call lang_unsave if it is non-NULL. Otherwise,
278 call unsave_expr_now_r.
279 (get_callee_fndecl): Define.
280
87d35858
MM
281 * Makefile.in (gencheck): Don't depend on lang_tree_files.
282 (gencheck.o): Do depend on lang_tree_files.
283
94755d92
MM
284 * integrate.h (copy_decl_for_inlining): New declaration.
285 * integrate.c (copy_and_set_decl_abstract_origin): Remove.
286 (copy_decl_for_inlining): New function.
287 (integrate_parm_decls): Use it.
288 (integrate_decl_tree): Likewise.
289
76ee8042
GRK
2901999-11-23 Gavin Romig-Koch <gavin@cygnus.com>
291
292 * config/mips/mips.h (ISA_HAS_FP4,ISA_HAS_CONDMOVE,ISA_HAS_8CC): Split
293 the second two from the first.
294 (CONDITIONAL_REGISTER_USAGE): Use ISA_HAS_8CC rather than ISA_HAS_FP4.
295 * config/mips/mips.md (movcc,reload_incc,reload_outcc,
296 conditional move): Use ISA_HAS_CONDMOVE or ISA_HAS_8CC rather than
297 ISA_HAS_FP4.
298 * config/mips/mips.c (mips_move_1word,gen_conditional_branch,
299 override_options): Use ISA_HAS_CONDMOVE or ISA_HAS_8CC rather than
300 ISA_HAS_FP4.
301
1b8079e9
JL
302Tue Nov 23 11:15:04 1999 Jeffrey A Law (law@cygnus.com)
303
304 * pa.md (call_internal_symref, call_value_internal_symref): No mode
305 needed on the address operand.
306 * pa.c (call_operand_address): Check for the correct mode.
307
c29f60c0
BS
3081999-11-23 Bernd Schmidt <bernds@cygnus.co.uk>
309
310 * loop.c: Include "basic-block.h".
311 (try_copy_prop, replace_loop_reg): New functions.
312 (load_mems): Detect registers that just hold copies of the hoisted
313 mem, and call try_copy_prop to eliminate them.
314 * Makefile.in (loop.o): Update dependencies.
315
43849fa9
HPN
316Tue Nov 23 01:03:29 1999 Hans-Peter Nilsson <hp@axis.com>
317
318 * Makefile.in (gencheck.o): Depend on gencheck.h.
319 (insn-emit.o): Depend on flags.h, hard-reg-set.h and resource.h.
320 (insn-peep.o): Depend on except.h and function.h.
321 (insn-attrtab.o): Depend on RECOG_H.
322 (insn-output.o): Depend on toplev.h and flags.h.
323 (gengenrtl.o): Depend on real.h.
324 (gen-protos.o): Depend on cpplib.h and cpphash.h.
325 Unify all dependencies to be on RECOG_H rather than recog.h.
326
a242e6f5
RO
327Tue Nov 23 00:57:10 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
328
329 From Casper H.S. Dik on comp.unix.solaris, 23 Oct 1998:
330 * configure.in: Try building a bi-arch 32/64-bit compiler on
331 sparc-*-solaris2.7 and higher.
332 * configure: Rebuild.
333
d7ebf9ea
DB
334Mon Nov 22 23:09:44 1999 David O'Brien <obrien@FreeBSD.org>
335
4e32293c
JL
336 * config/freebsd.h: New, FreeBSD architecture independent file.
337 * config/i386/freebsd-elf.h: removed FreeBSD architecturally
338 independent pieces.
339 * config/i386/freebsd.h: include i386/perform.h via tm.h rather than
340 directly by i386/freebsd.h.
341 * configure.in (*-*-freebsdelf): Include new FreeBSD architecturally
342 independent configuration file.
343 (*-*-freebsdelf): Include i386/perform.h via tm.h rather than
344 directly by i386/freebsd.h.
345 * configure: Rebuilt.
346
d7ebf9ea
DB
347 * xm-i386.h: Define `__i386__' if not defined, rather than `i386'
348 which is in the user's namespace.
349 * libgcc2.c: Look for the ANSI-C approved `__i386__' symbol, vs.
350 `i386' which is not in our namespace.
351
2ef56612
KC
352Mon Nov 22 22:58:01 1999 "R. Kelley Cook" <KelleyCook@attglobal.net>
353
354 * invoke.texi (ARM Options): Add in -mno-alignment-traps
355
a96c67ec
JM
3561999-11-22 Jason Merrill <jason@casey.cygnus.com>
357
358 * dwarf2out.c (die_struct): Remove die_attr_last and die_child_last.
359 (add_dwarf_attr, add_child_die): Just push onto the front.
360 (reverse_die_lists): New fn.
361 (add_sibling_attributes): Use it.
362 (push_decl_scope): Reorganize.
a96c67ec
JM
363 (add_name_and_src_coords_attributes): Don't set file and line for
364 an artificial decl.
365 (gen_subprogram_die): An artificial function doesn't need to match
366 file and line.
367 (gen_compile_unit_die): Return the generated die. Only add
368 AT_comp_dir if the filename is relative.
369 (remove_AT): Simplify loop. Also free string values.
370 (output_die): A DIE ref can't be null.
371 (output_value_format, value_format): Take a dw_attr_ref.
372 (dwarf_last_decl, is_extern_subr_die, sibling_offset): Remove.
373 (AT_class, AT_flag, AT_int, AT_unsigned, AT_string, AT_ref, AT_loc,
374 AT_addr, AT_lbl): New fns.
375 (various): Use them.
376 (various): Constify.
377
54f3b5c2
R
378Mon Nov 22 23:53:50 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
379
380 * combine.c (combine_simplify_rtx): When handling a SUBREG,
381 take SUBREG_WORD into account.
382 (if_then_else_cond): Likewise.
383
a8196924
JM
3841999-11-22 Jason Merrill <jason@casey.cygnus.com>
385
386 * gmon.c, i386/gmon-sol2.c, sparc/gmon-sol2.c: Remove advertising
387 clause from BSD license, pursuant with
388
389 ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change
390
328f4006
BS
3911999-11-22 Bernd Schmidt <bernds@cygnus.co.uk>
392
393 * loop.c (load_mems): Reformat slightly.
b1dbfa1d
BS
394 * basic-block.h (regset_head): New typedef.
395 (INIT_REG_SET): New macro.
328f4006 396
8aeb3b0e
BK
3971999-11-22 Bruce Korb <autogen@linuxbox.com
398
399 * fixinc/mkfisinc.sh(i?86-*-linux): disable script, run fixincl exe
400 (mips-dec-bsd*): non-functional code
401 (alpha*-*-linux-gnu*): redundant, duplicated by "*-*-linux-gnu*"
402
403 * fixinc/inclhack.def(AAB_fd_zero_glibc_*):
404 added three replacement fixes
405 (no_double_slash): removed comments that are not (any longer) pertinent
406 (bad_lval): this fix currently runs against many files.
407 The comment seems to indicate that we should select for files
408 containing 'pragma extern_prefix'.
409
d3201a2c 410 * fixinc/fixinc.x86-linux-gnu: deleted
8aeb3b0e
BK
411 * fixinc/inclhack.sh: regen
412 * fixinc/fixincl.x: regen
413 * fixinc/fixincl.sh: regen
414
ee265800
AH
415Fri Nov 12 14:08:40 1999 Andrew Haley <aph@cygnus.com>
416
417 * emit-rtl.c (gen_sequence): Only return the pattern of an insn if
418 its code is INSN and it has no notes.
419
6c85df69
AH
4201999-11-22 Andrew Haley <aph@cygnus.com>
421
422 * varasm.c (function_defined): Remove.
423 (make_function_rtl): Don't set function_defined.
424 (make_decl_rtl): Remove global register warning.
425 * regclass.c (no_global_reg_vars): New variable.
426 (globalize_reg): Warn if function has already been defined.
427 (regclass_init): Set no_global_reg_vars.
428
9ffc5a70
JH
429Mon Nov 22 14:42:22 MET 1999 Jan Hubicka <hubicka@freesoft.cz>
430
431 * regclass.c (reg_pref): New structure and static variable
432 (prefclass): Delete.
433 (altclass): Delete.
434 (all uses of prefclass and altclass): Use reg_pref instead.
435
5f1e6755
NC
4361999-11-21 Nick Clifton <nickc@cygnus.com>
437
438 * invoke.texi (ARM Options): Replace -mshort-load-bytes with
439 -malignment-traps.
440 (arm.h): Replace -mshort-load-bytes with -malignment-traps.
441 (arm.c): Replace TARGET_SHORT_BY_BYTES with TARGET_MMU_TRAPS.
442 (arm.md): Replace TARGET_SHORT_BY_BYTES with TARGET_MMU_TRAPS.
443
444Sun Nov 21 17:11:13 1999 Geoffrey Keating <geoffk@cygnus.com>
445
446 * varasm.c (output_constructor): Solve problem with long long
447 bitfields, even on BYTES_BIG_ENDIAN machines (testcase 991118-1).
448
449Fri Nov 19 05:48:45 CET 1999 Jan Hubicka <hubicka@freesoft.cz>
246fd41f 450
5b8ad699
JH
451 * global.c (allocno): New structure and static variable.
452 (allocno_reg): Remove, all references replaced by allocno.
453 (allocno_size): Likewise.
454 (hard_reg_conflicts): Likewise.
455 (hard_reg_preferences): Likewise.
456 (hard_reg_copy_preferences): Likewise.
457 (hard_reg_full_preferences): Likewise.
458 (regs_someone_prefers): Likewise.
459 (allocno_calls_crossed): Likewise.
460 (allocno_n_refs): Likewise.
461 (allocno_live_length): Likewise.
462 (find_reg): Rename ALLOCNO to NUM.
463
ee59f29b
JH
464 * regclass.c (may_move_in_cost): Rename from may_move_cost, all
465 references updated.
466 (may_move_out_cost): New variable.
467 (init_reg_sets_1): Initialize may_move_out_cost.
468 (record_reg_classes): Use may_move_out_cost.
469
246fd41f
JH
470 * regclass.c (dump_regclass): New function.
471 (regclass): New parameter DUMP, call DUMP_REGCLASS.
ee59f29b 472 * toplev.c (rest_of_compilation): Open lreg dump file before regclass,
246fd41f
JH
473 pass rtl_dump_file to regclass.
474 * rtl.h (regclass): Update prototype.
475
c37d59c3 476Fri Nov 19 06:32:19 CET 1999 Jan Hubicka <hubicka@freesoft.cz>
06a964de
JH
477
478 * i386.md (neg, not and abs patterns): Revmap to use
479 ix86_expand_unary_operator and ix86_unary_operator_ok.
480 (add?f and sub?f expanders): Force operand 1 to register.
481 * i386.c (ix86_expand_unary_operator): Rewrite.
482 (ix86_unary_operator_ok): Ensure that memory operands
483 match real opcode.
484 (ix86_binary_operator_ok): Do not allow operand 1 to
485 come into memory and operand 0 not.
486 (ix86_expand_binary_operator): Ensure that
487 src1 is not non-matching memory.
488
1ce485ec
JH
489 * i386.md (negs?2): Rewrite to expanders, new patterns and splitters
490 to support integer registers and memory.
491 (abss?2_integer): Likewise.
c37d59c3 492
8fcaaa80
JH
493 * i386.h (enum reg_class): Add FLOAT_INT_REGS.
494 (REG_CLASS_NAMES): Likewise.
495 (REG_CLASS_CONTENTS): Define FLOAT_INT_REGS as union of FLOAT_REGS
496 and GENERAL_REGS.
497 * i386.md (pushsf): Do not preferre FLOAT_REGS over GENERAL_REGS.
498 (movsf): Likewise; unify 4th and 5th alternative.
499 (pushdf): Likewise.
500 (movdf_1): Likewise; rename to movdf_integer.
501 (pushxf): Likewise; rename to pushxf_integer; fix output template;
502 remove redundant splitter.
503 (movxf_1): Likewise; rename to movxf_integer; fix splitter's condition.
504 (movdf_nointeger): New.
505 (movxf_nointeger): New.
506 (pushxf_nointeger): New.
507
f97d9ec3
JH
508 * i386.md (extend?f?f): Split to expander and pattern, refuse two
509 memory operands in patterns.
510 (fop*): Refuse two memory operands.
511
c37d59c3
JH
512 * i386.md (ashrsi3_31): Allow cltd when optimizing for size even
513 on !TARGET_USE_CLTD CPUs.
514
535233a8
NS
515Fri Nov 19 10:41:15 GMT 1999 Nathan Sidwell <nathan@acm.org>
516
517 * extend.texi: Document C++ restricted pointers and references.
518
73d65336
BS
5191999-11-19 Bernd Schmidt <bernds@cygnus.co.uk>
520
521 * cse.c (addr_affects_sp): No longer conditional on AUTO_INC_DEC.
522 (invalidate_skipped_set): Call it unconditionally.
523 (cse_set_around_loop): Likewise.
524
14592a41
DN
525Thu Nov 18 17:29:34 MST 1999 Diego Novillo <dnovillo@cygnus.com>
526
527 * rtl.texi (mem): Add documentation for alias-set argument
528 to RTX `mem'.
529
535233a8
NS
530Fri Nov 18 13:39:22 CET 1999 Jan Hubicka <hubicka@freesoft.cz>
531
46984a9a 532 * i386.h (struct_processor_costs): New fields int_load, int_store,
535233a8 533 fp_move, fp_load and fp_store
96e7ae40
JH
534 (REGISTER_MOVE_COST): Fix comment, calculate exactly the cost of
535 fp->int moves
536 (MEMORY_MOVE_COST): New macro.
537 * i386.c (386_cost): Define new fields.
538 (i486_cost): Likewise.
539 (pentium_cost): Likewise.
540 (pentiumpro_cost): Likewise.
541 (k6_cost): Likewise.
542
b71733d5
GM
543Fri Nov 19 11:11:55 1999 Greg McGary <gkm@gnu.org>
544 Geoffrey Keating <geoffk@cygnus.com>
545
546 * config/m68k/m68kelf.h: Suppress '/* within comment' warning.
547
548 * config/m68k/m68k.h (MASK_PCREL): Don't use same value as
549 MASK_ALIGN_INT.
550
551 * config/m68k/m68k.h (MASK_NO_STRICT_ALIGNMENT): New macro.
552 (TARGET_STRICT_ALIGNMENT): New macro.
553 (TARGET_SWITCHES): Add "strict-align" and "no-strict-align".
554 (STRICT_ALIGNMENT): Depend on TARGET_STRICT_ALIGNMENT.
555 * invoke.texi (M680x0 Options): Document -mstrict-align.
556
2450a057
JH
557Thu Nov 18 11:10:03 1999 Jan Hubicka <hubicka@freesoft.cz>
558 Richard Henderson <rth@cygnus.com>
559
560 * i386-protos.h (split_xf, ix86_split_movdi): Remove.
561 (ix86_split_long_move): Declare.
562 * i386.c (split_xf, ix86_split_movdi): Remove.
563 (ix86_split_to_parts, ix86_split_long_move): New.
564 * i386.md (dimode move splitters): Use ix86_split_long_move.
565 (dfmode move splitters): Likewise.
566 (xfmode move splitters): Likewise.
567 (movsf_1): Allow F->r.
568 (movdf_1, movxf_1): Allow F->ro.
569
1e4ceb6f
MM
5701999-11-17 Mark Mitchell <mark@codesourcery.com>
571
572 * except.h (struct eh_entry): Add goto_entry_p.
573 (eh_region_from_symbol): Remove prototype.
574 * except.c (find_func_region_from_symbol): New function.
575 (emit_cleanup_handler): Likewise.
576 (eh_region_from_symbol): Make it static.
577 (add_new_handler): Verify the argument.
578 (find_func_region): Update comment.
579 (expand_eh_region_end): Expand handlers here, rater than waiting
580 until expand_leftover_cleanups or start_all_catch.
581 (expand_leftover_cleanups): Don't expand here.
582 (expand_start_all_catch): Or here.
583 (expand_rethrow): Check the return value from find_func_region.
584 * function.c (expand_function_end): Emit the catch_clauses.
585
0e6b2107
GRK
5861999-11-18 Gavin Romig-Koch <gavin@cygnus.com>
587
588 * integrate.c (expand_inline_function): Add necessary check for NULL.
589
bb51178f
NC
5901999-11-18 Nick Clifton <nickc@cygnus.com>
591
592 * toplev.c (main): Correctly detect an unrecognised option.
593
594 * cppinit.c (cpp_handle_option): Do not claim to have consumed
595 a -f option if it has not been recognised.
596
5a425893
MG
597Thu Nov 18 00:59:11 1999 Michael Gschwind <mikeg@alagoas.watson.ibm.com>
598
599 * basic-block.h (update_life_extent): Remove trailing comma on
600 enumeration type list.
601
dfb2c079
HB
6021999-11-18 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
603
604 * varasm.c (output_constructor) Solved problem with long long
605 bitfields. Corrected calculating this_time and shift. Also
606 corrected calculating mask when BITS_PER_UNIT == 32 (c4x).
607
9aa137f3
JL
608Wed Nov 17 23:46:14 1999 Jeffrey A Law (law@cygnus.com)
609
610 * flow.c (split_edge): Take looping structure into account when
611 determining where to put the new block note.
612
d7160de9
JH
613Wed Nov 17 20:42:43 1999 Jeff Holcomb <jeffh@cygnus.com>
614
615 * Makefile.in (ggc-none.o): Provide host specific version if
616 needed.
617
e7a59e04
RH
618Wed Nov 17 16:51:23 1999 Richard Henderson <rth@cygnus.com>
619
620 * cse.c (delete_trivially_dead_insns): Identify no-op insns
621 containing subregs too.
622
919509ce
DN
623Wed Nov 17 17:39:48 MST 1999 Diego Novillo <dnovillo@cygnus.com>
624
625 * invoke.texi: Add documentation for -muninit-const-in-rodata.
626 * config/mips/mips.h (MASK_UNINIT_CONST_IN_RODATA): Define.
627 (TARGET_UNINIT_CONST_IN_RODATA): Define.
628 (text_section): Add switches -munint-const-in-rodata and
629 -mno-uninit-const-in-rodata.
630 (ASM_OUTPUT_COMMON): Remove.
631 (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define. Check if uninitialized
632 const objects should be placed in read-only data. Otherwise declare
633 them in common.
634
d49256bb
RH
635Wed Nov 17 16:38:32 1999 Richard Henderson <rth@cygnus.com>
636
637 * jump.c (jump_optimize_1): Revert last change.
638
bc6c134e
RH
639Wed Nov 17 15:18:30 1999 Richard Henderson <rth@cygnus.com>
640
641 * jump.c (jump_optimize_1): Don't try to duplicate the loop exit
642 test if optimizing for size.
643
fc99263b
MM
6441999-11-17 Mark Mitchell <mark@codesourcery.com>
645
646 * Makefile.in (toplev.o): Depend on except.h.
647 (dwarf2out.o,loop.o,flow.o,haifa-sched.o): Likewise.
648
40745eec 649Mon Nov 15 22:45:39 CET 1999 Jan Hubicka <hubicka@freesoft.cz>
bc6c134e 650
40745eec
JH
651 * i386.md (divmodsi4): Rewrite to expander.
652 (*divmodsi4_nocltd): New.
653 (*divmodsi4_cltd): New.
654 (divmodsi4 splitter): Handle the case when input comes in edx.
655 (udivmodhi4): Do not use constraints in exander.
656 (ashrsi3_31): Conditionize by TARGET_USE_CLTD.
657
75e3fbdf
JM
6581999-11-17 Jason Merrill <jason@yorick.cygnus.com>
659
660 * dwarf2out.c (push_decl_scope): Still use decl_scope_depth - 1
661 for the common case.
662
4dc07bd7
JJ
6631999-11-16 Jakub Jelinek <jakub@redhat.com>
664
665 * explow.c (hard_function_value): Add outgoing argument.
666 * expr.h (hard_function_value): Declare it.
667 * calls.c (expand_call, emit_library_call_value): Update callers.
668 * function.c (aggregate_value_p): Ditto.
669 (diddle_return_value): Must look at the outgoing registers
670 on archs with register windows.
671
d4b15af9
RH
672Mon Nov 15 20:46:45 1999 Richard Henderson <rth@cygnus.com>
673
674 * alpha.c (alpha_build_va_list): Use make_lang_type and
675 initialize TYPE_NAME for the va_list record.
676
1344f8d5
RH
677 * flow.c (calculate_global_regs_live): Zero bb->aux to begin.
678
63408827
RH
679 * ggc-common.c (ggc_print_statistics): Cast size_t to unsigned long
680 for printing.
681 * ggc.h (struct ggc_statistics): Rearrange elements for better
682 packing on 64-bit hosts.
683 * lcm.c (compute_laterin): Store a size_t not an int in bb->aux.
684 (compute_nearerout): Likewise.
685
a38d360d
GK
686Tue Nov 16 14:37:52 1999 Geoffrey Keating <geoffk@cygnus.com>
687
688 * config/rs6000/rs6000.c (first_reg_to_save): Save
689 PIC_OFFSET_TABLE_REGNUM when -fpic even though it is fixed.
690
348bb3c7
JM
6911999-11-15 Jason Merrill <jason@casey.cygnus.com>
692
693 * dwarf2out.c (scope_die_for): Don't rely on the decl_scope_table
694 notion of nesting to find the DIE for a type or function.
695 DIEs can go in limbo even if we got a context_die.
696 (push_decl_scope): Our context doesn't need to be in decl_scope_table.
697 (gen_struct_or_union_type_die): Don't use TREE_PERMANENT to test
698 for local type.
699 (gen_decl_die): Ignore NAMESPACE_DECLs for now.
700 (gen_type_die): Writing out the context doesn't cause member class
701 template instantiations to be written out as well.
702
290ad355
RH
703Mon Nov 15 15:33:18 1999 Richard Henderson <rth@cygnus.com>
704
705 * rs6000.h (ASM_OUTPUT_DEF): New.
706 Based on proposed addition from David Edelsohn.
707
86765ca0 7081999-11-15 Robert Lipe <RobertLipe@usa.net>
4dc07bd7 709 Bruce Korb <autogen@linuxbox.com>
86765ca0
RL
710
711 * fixinc/inclhack.def
712 (AAB_svr4_replace_byteorder): added. Takes advantage of GCC features
713 (unixware7_byteorder_fix): added. Removes conflicts for new defs
714 in net/inet.h.
715 (svr5_mach_defines): added. Like svr4_mach_defines, with new syntax
716 (svr4_endian): enabled with SVR5
717 (svr4_mkdev): simplified syntax and enabled with SVR5
718
e1459ff8
DB
719Sun Nov 14 18:49:37 1999 David O'Brien <obrien@FreeBSD.org>
720
721 * configure.in: Handle libgcc2 threads support on FreeBSD platforms.
722 * configure: Rebuilt.
723 * config/t-freebsd-thread: New file.
724
89e606c9
JL
725Sun Nov 14 23:11:05 1999 Jeffrey A Law (law@cygnus.com)
726
329e1d01
JL
727 * i386.c (ix86_decompose_address): Verify the base is a REG
728 before trying to examine its register number.
729
6b8cf0c5
JL
730 * basic-block.h: Remove all #defines and prototypes related to
731 integer lists.
732 (free_bb_mem, compute_preds_succs): Remove prototype.
733 * rtl.h (free_bb_mem): Remove prototype.
734 * flow.c (alloc_int_list_node); Remove function.
735 (add_inst_list_node, free_int_list, add_pred_succ): Likewise.
736 (compute_preds_succs, free_bb_mem): Likewise.
737 * gcse.c (gcse_main): Do not call free_bb_mem anymore.
738 * toplev.c (rest_of_compilation): Likewise.
739 * haifa-sched.c (build_control_flow): Use flow generated edge
740 list to build the haifa specific edge list.
741 (find_rgns): Use new CFG data structures instead of pred/succ lists.
742 (schedule_insns): Do not build pred/succ lists anymore. Instead
743 build the edge table.
744
38e90e6c
JL
745 * basic-block.h (dump_bb_data): Remove declaration.
746 * flow.c (dump_bb_data): Remove function.
747 * sbitmap.c (sbitmap_intersect_of_predsucc): Delete function.
748 (sbitmap_union_of_predsucc): Likewise.
749
b71a2ff8
JL
750 * gcse.c (delete_null_pointer_checks_1): Kill unused s_preds
751 argument. All callers changed.
752 (delete_null_pointer_checks_1): No longer need to compute the
753 pred/succ lists.
754
89e606c9
JL
755 * gcse.c (pre_expr_reaches_here_p): Kill CHECK_PRE_COM argument.
756 All callers changed.
757 (pre_expr_reaches_here_p_work): Likewise.
758 (pre_edge_insert): No longer call pre_expr_reaches_here_p.
759 * lcm.c (compute_laterin): Fix initialization of LATER.
760 (compute_nearerout): Similarly for NEARER.
761
ef835bb0
BS
762Sun Nov 14 12:41:57 1999 Bernd Schmidt <bernds@cygnus.co.uk>
763
764 * cse.c (set_nonvarying_address_components): Delete unused function.
765 (refers_to_p): Likewise.
766
2cfcc23e
JL
767Fri Nov 12 20:53:22 1999 Jeffrey A Law (law@cygnus.com)
768
769 * function.c (diddle_return_value): Set REG_FUNCTION_VALUE_P as
770 needed.
771
3db377a9
MH
772Sat Nov 13 16:20:09 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
773
774 * defaults.h (ASM_OUTPUT_ALTERNATE_LABEL_NAME): Wrap macro
775 definition in do while (0).
776
2f985ca6
JW
777Fri Nov 12 16:26:25 1999 Jim Wilson <wilson@cygnus.com>
778
779 * stmt.c (pushcase, pushcase_range): Partially revert Oct 28 change.
780
1953b2a3
RH
781Fri Nov 12 12:43:49 1999 Richard Henderson <rth@cygnus.com>
782
783 * unroll.c (unroll_loop): Make temp an unsigned HOST_WIDE_INT.
784
bcf783f4
VM
785Fri Nov 12 15:14:19 1999 Vladimir Makarov <vmakarov@tofu.to.cygnus.com>
786
787 * i960.h (CAN_DEBUG_WITHOUT_FP): Don't define it.
788 (FRAME_POINTER_REQUIRED): Don't worry about nonlocal goto.
789 (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
790 (INITIAL_FRAME_POINTER_OFFSET): Remove it.
791
792 * i960.c (i960_function_prologue): Don't allocate space for g8-g11
793 saved on the stack. Output more accurate stack frame statistics
794 into assembler file.
795
8ad1aa56
ZW
7961999-11-12 11:47 -0800 Zack Weinberg <zack@bitmover.com>
797
798 * genextract.c (record_insn_name): New function.
799 (get_insn_name): No longer a stub.
800 (main): Call record_insn_name for each insn. After each label
801 written, print the insn name in a comment.
802
4dc94be7
KG
803Fri Nov 12 13:45:02 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
804
805 * output.h (const_section, init_section, fini_section): Add
806 prototypes.
807
808 * alpha/elf.h (const_section): Delete declaration.
809
810 * svr4.h (const_section): Likewise.
811
d26f8097
MM
812Fri Nov 12 08:54:22 1999 Mark Mitchell <mark@codesourcery.com>
813
814 * tree.h (SAVE_EXPR_PERSISTENT_P): New macro.
815 * tree.c (array_type_nelts): Don't handle SAVE_EXPRs specially.
816 (unsave_expr_now): Don't unsave SAVE_EXPR_PERSISTENT_P
817 expressions.
818 * stor-layout.c (variable_size): Set SAVE_EXPR_PERSISTENT_P on
819 variable-sized array bounds.
820
109cceda
CM
821Fri Nov 12 08:04:45 1999 Catherine Moore <clm@cygnus.com>
822
823 * defaults.h (ASM_OUTPUT_ALTERNATE_LABEL_NAME): Use
4dc07bd7 824 ASM_OUTPUT_LABEL.
109cceda 825
15052bd1
BS
826Fri Nov 12 13:31:54 1999 Bernd Schmidt <bernds@cygnus.co.uk>
827
828 * config/arm/arm.h (LEGITIMIZE_RELOAD_ADDRESS): Treat QImode
829 addresses the same way GO_IF_LEGITIMATE_INDEX does.
830
e428d738
BS
831Fri Nov 12 12:36:04 1999 Bernd Schmidt <bernds@cygnus.co.uk>
832
833 * cse.c (hash_arg_in_struct): Delete.
834 (struct table_elt): Delete elt in_struct.
835 (struct set): Delete elt src_in_struct.
836 (merge_equiv_classes): Don't set either hash_arg_in_struct or
837 the corresponding in_struct elts.
838 (canon_hash): Likewise.
839 (safe_hash): Likewise.
840 (find_best_addr): Likewise.
841 (record_jump_cond): Likewise.
842 (cse_insn): Likewise.
843
f292dac5
JW
844Thu Nov 11 19:45:24 1999 Jim Wilson <wilson@cygnus.com>
845
d5e3f151
JW
846 * loop.c (invariant_p, case MEM): Put MEM_VOLATILE_P check back.
847
f292dac5
JW
848 * dbxout.c (dbxout_type, case INTEGER_TYPE): Handle too large
849 unsigned types.
850
bdc24974
JL
851Thu Nov 11 18:54:24 1999 Jeffrey A Law (law@cygnus.com)
852
cfb0346d
JL
853 * function.c (diddle_return_value): Put back check that the DECL_RTL
854 for the function is a register.
855
d3f2edae
JL
856 * function.c (diddle_return_value): Use hard_function_value to
857 get an rtx suitable for use in the USE/CLOBBER insn.
858
bdc24974
JL
859 * global.c (global_conflicts): Update comments.
860 (record_conflicts): No need to record conflicts between pseudos here.
861
b35926b9
BK
8621999-11-11 Bruce Korb <autogen@linuxbox.com>
863
864 * fixinc/fixincl.c: Added verbose levels for status messages
865
665853dc
BS
866Thu Nov 11 13:23:04 1999 Bernd Schmidt <bernds@cygnus.co.uk>
867
868 * jump.c (jump_optimize_1): Avoid passing an rtx that is not an
869 operand as argument to expand_and or expand_binop.
870
d7627b79
RB
871Thu Nov 11 02:21:16 1999 Rodney Brown <RodneyBrown@pmsc.com>
872
873 * xcoffout.c (xcoffout_source_file): Change ggc_add_root to
874 gcc_add_string_root.
875
2a2ea744
JE
876Wed Nov 10 21:24:19 1999 Jason Eckhardt <jle@cygnus.com>
877
878 * config/pa/pa.h (MASK_RETURN_ADDR): Change 0xfffffffc to -4.
879
bce8fed7
JL
880Wed Nov 10 15:56:16 1999 Jeffrey A Law (law@cygnus.com)
881
ce724250
JL
882 * flow.c (compute_flow_dominators): Initially put all blocks on
883 the worklist.
884 * lcm.c (compute_antinout_edge, compute_available): Similarly.
885 * gcse.c (compute_cprop_avinout): Remove.
886 (compute_cprop_data): Use compute_available.
887 (delete_null_pointer_checks_1): Use compute_available.
888
bd0eaec2
JL
889 * basic-block.h (compute_available): Returns a void now.
890 * gcse.c (one_classic_gcse_pass): Do not expect compute_available
891 to return a value anymore.
892 * lcm.c (compute_available, compute_antinout_edge): Revamp to use
893 worklists. Fix boundary cases. Compute maximal solutions.
894 (compute_laterin, compute_nearerout): Similarly.
895
4dc07bd7
JJ
896 * dwarf2out.c (add_AT_location_description): Allow
897 (mem (plus (pseudo) (...)) too.
bce8fed7 898
a1d9074c
TT
899Wed Nov 10 10:52:42 1999 Tom Tromey <tromey@cygnus.com>
900
901 * gcc.c (do_spec_1): Support text between `%u' and `%O'.
902
6c9821b7 903Wed Nov 10 12:43:21 1999 Philippe De Muyter <phdm@macqel.be>
4dc07bd7 904 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6c9821b7
PDM
905
906 * cppinit.c: Test `GCC_VERSION', not `HAVE_GCC_VERSION'.
907
908 * gansidecl.h: Likewise.
909
910 * rtl.c: Likewise.
911
912 * rtl.h: Likewise.
913
914 * toplev.h: Likewise.
915
916 * tree.c: Likewise.
917
918 * tree.h: Likewise.
919
920 * varray.c: Likewise.
921
922 * varray.h: Likewise.
923
8bfa6fc5
CP
924Wed Nov 10 10:57:22 1999 Clinton Popetz <cpopetz@cygnus.com>
925
926 * gcov.c (struct arcdata): Add hits and total, remove prob.
927 (output_branch_counts): New.
928 (process_args): Set output_branch_counts if -c.
929 (calculate_branch_probs): Store hits and total instead of
930 percentage.
931 (output_data): Emit counts if output_branch_counts is true.
932 * gcov.texi (Invoking Gcov): Document -c switch..
933
df33da07
PDM
934Wed Nov 10 01:10:41 1999 Philippe De Muyter <phdm@macqel.be>
935
936 * genoutput.c (output_insn_data): Cast `INSN_OUTPUT_FORMAT_MULTI' and
937 `INSN_OUTPUT_FORMAT_FUNCTION' to `PTR'-type.
938
349c29b5
HPN
939Wed Nov 10 00:51:41 1999 Hans-Peter Nilsson <hp@axis.se>
940
941 * invoke.texi (C Dialect Options): Add missing builtins from
942 c-common.c to list.
943 * extend.texi (Other Builtins): Copy to this list.
944
294ffb37
AO
945Wed Nov 10 04:58:09 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
946
947 * Makefile.in (recog.o): Use BASIC_BLOCK_H macro.
052777b9 948 (print-rtl.o, $(HOST_PREFIX_1)print-rtl.o): Likewise. Remove
294ffb37
AO
949 redundant bitmap.h.
950
973d12cb
JL
951Wed Nov 10 00:02:53 1999 Jeffrey A Law (law@cygnus.com)
952
4dc07bd7
JJ
953 * flow.c (compute_flow_dominators): No longer treat basic block 0
954 or (n_basic_blocks - 1) specially. Clear the AUX field before
955 starting computation of doms/pdoms. Fix initial state for pdoms.
973d12cb 956
ca76ec07
AO
957Wed Nov 10 03:58:08 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
958
959 * Makefile.in ($(HOST_PREFIX_1)rtl.o): Update dependencies to
960 match rtl.o's: added ggc.h and toplev.h
961 ($(HOST_PREFIX_1)print-rtl.o): Likewise: added system.h.
962 ($(HOST_PREFIX_1)rtlanal.o): Likewise: added system.h.
963 ($(HOST_PREFIX_1)obstack.o): Likewise: added $(CONFIG_H).
964
0deb20df
TT
965Tue Nov 9 10:30:08 1999 Tom Tromey <tromey@cygnus.com>
966
967 * config/i386/xm-djgpp.h (HAVE_DOS_BASED_FILE_SYSTEM): Renamed
968 from HAVE_DOS_BASED_FILESYSTEM.
969 * gcc.c (find_a_file): Use HAVE_DOS_BASED_FILE_SYSTEM, not
970 HAVE_DOS_BASED_FILESYSTEM.
971 (main): Likewise.
972 (split_directories): Only special-case DOS file names if
973 HAVE_DOS_BASED_FILE_SYSTEM is defined. Use IS_DIR_SEPARATOR
974 instead of explicit tests. Conditionalize on !VMS.
975 (make_relative_prefix): Use IS_DIR_SEPARATOR instead of explicit
976 tests. Conditionalize on !VMS.
977 (process_command): Only use make_relative_prefix if !VMS.
978 (free_split_directories): Conditionalize on !VMS.
979 (DIR_UP): Conditionalize on !VMS.
980
981Wed Jun 9 16:57:11 1999 Mumit Khan <khan@xraylith.wisc.edu>
982
983 * gcc.c (STANDARD_BINDIR_PREFIX): Provide default.
984
985Fri Feb 5 14:22:01 1999 Mumit Khan <khan@xraylith.wisc.edu>
986
987 * gcc.c (make_relative_prefix): Handle the HAVE_EXECUTABLE_SUFFIX
988 case.
989
990Mon Nov 8 14:16:57 1999 Michael Meissner <meissner@cygnus.com>
991
992 * invoke.texi (Environment Variables): Document relative path
993 lookup.
994 * gcc.c (DIR_UP): If not defined, define as "..".
995 (standard_bindir_prefix): New static, holds target location to
996 install binaries.
997 (split_directories): New function to split a filename into
998 component directories.
999 (free_split_directories): New function, release memory allocated
1000 by split_directories.
1001 (make_relative_prefix): New function, make a relative pathname if
1002 the compiler is not in the expected location.
1003 (process_command): If GCC_EXEC_PREFIX was not specified, see if we
1004 can figure out an appropriate prefix from argv[0].
1005 * Makefile.in (DRIVER_DEFINES): Use unlibsubdir in definition of
1006 STANDARD_STARTFILE_PREFIX and TOOLDIR_BASE_PREFIX. Define
1007 STANDARD_BINDIR_PREFIX.
1008
798f6e6f
MH
1009Wed Nov 10 11:47:54 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1010
1011 * config/c4x/c4x-protos.h: New file. Prototypes for functions defined
1012 in c4x.c.
1013 * config/c4x/c4x.h: Moved prototypes to c4x.h.
1014 * config/c4x/c4x.c (c4x_preferred_reload_class, c4x_limit_reload_class,
1015 c4x_secondary_memory_needed) Delete.
1016 (fp_zero_operand): Add mode argument.
1017
dc8842bf
AH
1018Thu Nov 4 15:52:35 1999 Andrew Haley <aph@cygnus.com>
1019
1020 * reload1.c (reload_reg_free_for_value_p): Don't use a register
1021 that is in reload_reg_used.
1022
eb3921e8
NC
1023Tue Nov 9 16:43:00 1999 Nick Clifton <nickc@cygnus.com>
1024
1025 * config/arm/arm-protos.h: New file: Prototypes for functions
1026 defined in arm.c and pe.c.
1027 * config/arm/arm.h: Fix compile time warnings.
1028 * config/arm/arm.c: Fix compile time warnings.
1029 * config/arm/pe.h: Fix compile time warnings.
1030 * config/arm/aout.h: Fix compile time warnings.
1031
56e2e762
NC
1032Tue Nov 9 14:55:44 1999 Nick Clifton <nickc@cygnus.com>
1033
1034 * config/m32r/m32r-protos.h: New file: Prototypes for functions
1035 defined in m32r.c
1036
1037 * config/m32r/m32r.h: Move prototypes to m32r-protos.h
1038 Add support for subtargets.
1039 Add prototypes for new predicates.
1040 Add scheduling macros.
1041
1042 * config/m32r/m32r.c: Fix compile time warnings.
1043 (int8_operand): New predicate function.
1044 (reg_or_cmp_int16_operand): New predicate function.
1045 (extend_operand): New predicate function.
1046 (m32r_adjust_code): New scheduling function.
1047 (m32r_adjust_priorty): New scheduling function.
1048 (m32r_sched_init): New scheduling function.
1049 (m32r_sched_reorder): New scheduling function.
1050 (m32r_sched_variable_issue): New scheduling function.
1051 (direct_return): New codegen function.
1052 (m32r_not_same_reg): New rtl testsing function.
1053
1054 * config/m32r/m32r.md: Fix compile time warnings.
1055 Add support for pre decrement and post increment memory
1056 references.
1057 Add S<cc> patterns.
1058 Add fabs patterns.
1059
312618c7
R
1060Mon Nov 8 22:20:13 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
1061
1062 * global.c (EXECUTE_IF_CONFLICT): Don't define.
1063 (prune_preferences): Use EXECUTE_IF_SET_IN_ALLOCNO_SET instead.
1064 (find_reg): Likewise.
04299876
JE
1065
1066Mon Nov 8 13:16:46 1999 Jason Eckhardt <jle@cygnus.com>
1067
1068 * config/pa/pa.md (fmpynfadd,{sgl,dbl} insns): Use %fr0 rather than 0
1069 to avoid assembler errors.
1070
674fdc14
NC
1071Mon Nov 8 15:38:41 1999 Nick Clifton <nickc@cygnus.com>
1072
1073 * config/v850/v850-protos.h: New file: Prototypes for functions
1074 defined in v850.c
1075 * config/v850/v850.h: Move prototypes to v850-protos.h
1076 * config/v850/v850.c: Move prototypes to v850-protos.h
1077 * config/v850/v850.md: Fix compile time warnings.
1078
82a9bba5
NC
1079 * config/fr30/fr30-protos.h: New file: Prototypes for functions
1080 defined in fr30.c
1081 * config/fr30/fr30.h: Move prototypes to fr30-protos.h
1082 * config/fr30/fr30.c: Fix compile time warnings.
1083 * config/fr30/fr30.md: Fix compile time warnings.
1084
140b60b4
MM
1085Mon Nov 8 07:25:37 1999 Mark Mitchell <mark@codesourcery.com>
1086
1087 * tree.h (get_containing_scope): Declare it.
1088 * tree.c (get_containing_scope): New fucntion.
1089 (decl_function_context): Use it.
1090 * toplev.c (rest_of_compilation): Use get_containing_scope.
1091
1092aMon Nov 8 03:03:07 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
03645a0b
AO
1093
1094 * Makefile.in (rtl.o): Depend on toplev.h.
1095
4da896b2
MM
1096Sun Nov 7 20:55:14 1999 Mark Mitchell <mark@codesourcery.com>
1097
1098 * cse.c (delete_trivially_dead_insns): Replace alloca with
1099 xmalloc/xcalloc.
1100 * except.c (update_rethrow_references): Likewise.
1101 (init_eh_nesting_info): Likewise.
1102 * function.c (identify_blocks): Likewise.
1103 * gcse.c (dump_hash_table): Likewise.
1104 * graph.c (print_rtl_graph_with_bb): Likewise.
1105 * loop.c (combine_movables): Likewise.
1106 (move_movables): Likewise.
1107 (count_loop_regs_set): Likewise.
1108 (strength_reduce): Likewise.
1109 * profile.c (compute_branch_probabilities): New function, split
1110 out from ...
1111 (branch_prob): Here. Replace alloca with xmalloc/xcalloc.
1112 * regclass.c (regclass): Likewise.
1113 * regmove.c (regmove_optimize): Likewise.
1114 * toplev.c (compile_file): Likewise.
1115 (main): Don't mess with the stack rlimit.
1116
8d170590
CM
1117Sun Nov 7 19:41:17 1999 Catherine Moore <clm@cygnus.com>
1118
4dc07bd7
JJ
1119 * config/elfos.h (ASM_DECLARE_FUNCTION_NAME): Conditionally define.
1120 (ASM_DECLARE_FUNCTION_SIZE): Conditionally define.
8d170590 1121
1aecd750
MM
1122Sun Nov 7 10:23:28 1999 Mark P. Mitchell <mark@codesourcery.com>
1123
1124 * integrate.c (save_for_inline_nocopy): Clear in_nonparm_insns.
1125
36013ffc
JL
1126Sun Nov 7 02:58:48 1999 Jeffrey A Law (law@cygnus.com)
1127
1128 * global.c (EXECUTE_IF_CONFLICT): Undo Robert's change.
1129 (EXECUTE_IF_SET_IN_ALLOCNO_SET): Put curleys around CODE in
1130 macro expansion.
1131
309ca067
RL
1132Sat Nov 6 23:48:30 1999 Robert Lipe (robertlipe@usa.net)
1133
1134 * global.c (EXECUTE_IF_CONFLICT): Correct quoting typo.
1135
092ae4ba
JL
1136Sat Nov 6 17:34:39 1999 Jeffrey A Law (law@cygnus.com)
1137
1138 * gcse.c (post_dominators): Kill.
1139 (alloc_code_hoist_mem, free_code_hoist_mem); Kill post_dominators.
1140 (compute_code_hoist_data): Use compute_flow_dominators. Do not
1141 pass in a pdom array since we do not need pdoms.
1142 * haifa-sched.c (schedule_insns): Similarly.
1143 * flow.c (compute_dominators): Remove dead function.
1144 (compute_flow_dominators): Do not compute doms or pdoms if the
1145 caller does not request them. Split up loop to build doms and
1146 pdoms. Use a worklist to compute doms and pdoms.
1147 * basic-block.h (compute_dominators): Remove prototype.
1148
f66d83e1
RH
1149Sat Nov 6 11:38:39 1999 Richard Henderson <rth@cygnus.com>
1150
1151 * haifa-sched.c (struct haifa_insn_data, h_i_d): New.
1152 (insn_luid, insn_priority, insn_costs, insn_units): Remove.
1153 (insn_reg_weight, insn_depend, insn_dep_count): Remove.
1154 (insn_blockage, insn_ref_count, line_note, insn_tick): Remove.
1155 (cant_move, fed_by_spec_load, is_load_insn): Remove.
1156 (schedule_region): Remove unused variable.
1157 (schedule_insns): Allocate h_i_d, and not all the separate arrays.
1158
ff154f78
MM
1159Sat Nov 6 10:00:34 1999 Mark Mitchell <mark@codesourcery.com>
1160
1161 * local-alloc.c (local_alloc): Use xmalloc/xcalloc, not alloca.
1162 (update_equiv_regs): Likewise.
1163 (block_alloc): Likewise.
1164 * reg-stack.c (reg_to_stack): Likewise.
1165 (convert_regs_2): Likewise.
1166 * reload1.c (reload_as_needed): Likewise.
1167
951a525f
MM
1168Sat Nov 6 09:57:59 1999 Mark Mitchell <mark@codesourcery.com>
1169
1170 * Makefile.in (dbxout.o): Depend on ggc.h.
1171 (dwarf2out.o): Likewise.
1172 (xcoffout.o): Likewise.
1173 * dbxout.c: Include ggc.h.
1174 (dbxout_init): Register lastfile as a root.
1175 * dwarf2out.c: Include ggc.h.
1176 (dwarf2out_line): Register lastfile as a root.
1177 * xcoffout.c: Include ggc.h.
1178 (xcoffout_source_line): Register xcoff_lastfile as a root.
1179
e06981b0
RH
1180Sat Nov 6 09:52:09 1999 Richard Henderson <rth@cygnus.com>
1181
1182 * i386.md (movdf_1, movxf_1): Earlyclobber general regs destination.
1183
65183558
CM
1184Sat Nov 6 07:48:59 1999 Catherine Moore <clm@cygnus.com>
1185
4dc07bd7
JJ
1186 * config/svr4.h (ASM_DECLARE_FUNCTION): Check if already
1187 defined.
1188 (ASM_DECLARE_FUNCTION_SIZE): Likewise.
65183558 1189
32c8d1bc
R
1190Fri Nov 5 18:33:39 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
1191
1192 * global.c (EXECUTE_IF_SET_IN_ALLOCNO_SET): New macro.
1193 (EXECUTE_IF_CONFLICT): Likewise.
1194 (ALLOCNO_LIVE_P): Avoid signed division.
1195 (SET_ALLOCNO_LIVE, CLEAR_ALLOCNO_LIVE): Likewise.
1196 (prune_preferences, find_reg): Use EXECUTE_IF_CONFLICT.
1197 (record_one_conflict): Use EXECUTE_IF_SET_IN_ALLOCNO_SET.
1198
b182031e
RH
1199Fri Nov 5 12:04:02 1999 Richard Henderson <rth@cygnus.com>
1200
1201 * haifa-sched.c (schedule_block): Don't crash if there's no
1202 next insn for an interblock movement.
1203 (add_branch_dependences): Don't allow clobber insns to move either.
1204
467403ca
RH
1205Fri Nov 5 10:18:11 1999 Richard Henderson <rth@cygnus.com>
1206
1207 * i386.c (split_xf): New.
1208 * i386-protos.h: Declare it.
1209 * i386.md (movxf_1): Add general regs alternatives.
1210 (movxf_1+1): New splitter for same.
1211
aa608fe6
NC
1212Fri Nov 5 12:05:52 1999 Nick Clifton <nickc@cygnus.com>
1213
1214 * function.c (purge_addressof_1): Add missing return values.
1215
8c36698e
NC
1216Fri Nov 5 10:07:25 1999 Nick Clifton <nickc@cygnus.com>
1217
1218 * function.c (is_addressof): New function. Returns true if
1219 the given piece of RTL is an ADDRESSOF.
1220 (purge_addressof_1): Make boolean. Return false if the
1221 ADDRESSOFs could not be purged.
1222 (purge_addressof): If ADDRESSOFs could not be purged from the
1223 notes attached to an insn, remove the offending note(s),
1224 unless they are attached to a libcall.
1225
f4e2ed09
AJ
12261999-11-05 Andreas Jaeger <aj@suse.de>
1227
1228 * genoutput.c (null_operand =): Initialize all fields.
1229
1230 * errors.h: Add extern to prototypes.
1231
016cebc3
JL
1232Fri Nov 5 01:44:09 1999 Jeffrey A Law (law@cygnus.com)
1233
1234 * configure.in (m68k-next-nextstep4): Handle Openstep 4.2.
1235 * configure: Rebuilt.
1236
267cf808
JL
1237Fri Nov 5 01:24:37 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
1238
1239 * global.c (CONFLICTP, SET_CONFLICT): Avoid signed division.
1240 (mirror_conflicts): New function.
1241 (global_alloc): Call it.
1242 (expand_preferences): Remove redundant CONFLICTP test.
1243 (find_reg, dump_conflicts): Likewise.
1244 (prune_preferences): Process conflicts one word at a time.
1245
1246Fri Nov 5 01:05:21 1999 Richard Henderson <rth@cygnus.com>
1247
1248 * global.c (build_insn_chain): Use EXECUTE_IF_SET_IN_BITMAP
1249 instead of an explicit loop.
1250
26132f71
JW
1251Thu Nov 4 23:07:14 1999 Jim Wilson <wilson@cygnus.com>
1252
1253 * cse.c (cse_insn): Revert Oct 31 change. When computing src_elt,
1254 if REG_RETVAL check succeeds, then put classp in src_elt.
1255
9399d5c6
JL
1256Thu Nov 4 23:48:14 1999 Jeffrey A Law (law@cygnus.com)
1257
1258 * function.c (pad_to_arg_alignment): Only update argument_pad
1259 if the argument's alignment is greater than STACK_BOUNDARY.
1260
e7749837
RH
1261Thu Nov 4 16:44:53 1999 Richard Henderson <rth@cygnus.com>
1262
1263 * bitmap.h (BITMAP_XFREE): New.
1264 * flow.c (life_analysis): Use it.
1265 (life_analysis_1): Free blocks.
1266
1267 * combine.c (undo_commit): New.
1268 (try_combine): Use it. Don't zap undobuf.undos.
1269 (combine_instructions): Don't zap undobuf.undos; free the
1270 undobuf.frees list.
1271
1272 * local-alloc.c (local_alloc): Free qty_phys_num_sugg.
1273
1274 * stmt.c (cost_table_): New.
1275 (estimate_case_costs): Use it instead of xmalloc.
1276
1277 * toplev.c (compile_file): Reuse dumpname memory instead
1278 of strdup'ing it.
1279
a6028d44
RH
1280Thu Nov 4 16:36:44 1999 Richard Henderson <rth@cygnus.com>
1281
1282 * reg-stack.c (convert_regs_1): Initialize target_stack->top
1283 after verifying an EH edge.
1284
920a303d
RH
1285 * haifa-sched.c (init_rgn_data_dependences): Correctly
1286 size bb_pending_lists_length when zeroing.
1287
a6028d44 1288Thu Nov 4 16:36:36 1999 Richard Henderson <rth@cygnus.com>
bd695e1e
RH
1289
1290 * function.c (diddle_return_value): New.
1291 (expand_function_end): Use it.
1292 * stmt.c (expand_null_return): Likewise.
1293 (expand_value_return): Likewise.
1294
1295 * reg-stack.c (subst_stack_regs_pat): Handle clobbers at top-level.
1296
1297 * reload1.c (reload): Don't remove return value clobbers.
1298
49886fe1
RH
1299Thu Nov 4 13:33:46 1999 Richard Henderson <rth@cygnus.com>
1300
1301 * rtl.c (read_rtx): Use fatal_with_file_and_line not fatal.
1302
75c6bd46
RH
1303Thu Nov 4 12:49:52 1999 Richard Henderson <rth@cygnus.com>
1304
1305 * cse.c (cse_main): Use xmalloc, not alloca.
1306 (cse_basic_block): Likewise.
1307 * local-alloc.c (local_alloc): Likewise.
1308
1309Thu Nov 4 14:22:12 1999 David Billinghurst <David.Billinghurst@riotinto.com.au>
1310 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
17074a35
DB
1311
1312 * rtl.c: Include toplev.h.
1313 (fatal): Remove declaration.
1314
eae48b73
JL
1315Thu Nov 4 06:39:47 1999 Jeffrey A Law (law@cygnus.com)
1316
1317 * haifa-sched.c (schedule_block): Fix thinko.
1318
063174ee
BK
13191999-11-03 James McKelvey <mckelvey@fafnir.com>
1320
1321 * fixinc/fixincl.c(create_file): Allow for systems that do not have
1322 S_IR* defined values
1323
13241999-11-03 Philippe De Muyter <phdm@macqel.be>
1325
1326 * fixlib.c (load_file_data): Do not call `realloc' with a NULL pointer;
1327 call `malloc' instead.
1328
673b5311
MM
1329Wed Nov 3 23:05:14 1999 Mark Mitchell <mark@codesourcery.com>
1330
1331 * flags.h (flag_renumber_insns): Declare.
1332 * emit-rtl.c (renumber_insns): Check flag_renumber_insns. Print
1333 renumbering table.
1334 * rtl.h (renumber_insns): Change prototype.
1335 * toplev.c (flag_renumber_insns): Define.
1336 (rest_of_compilation): Pass rtl_dump_file to flag_renumber_insns.
1337
c0ec7a75
DM
1338Wed Nov 3 15:11:27 1999 David S. Miller <davem@redhat.com>
1339
1340 * config/sparc/sparc.md: Remove insn type fpsqrt, add fpsqrts
1341 and fpsqrtd. Use them and create fdiv function unit to more
1342 accurately represent fpu sqrt pipeline semantics on UltraSparc.
1343 * config/sparc/sparc.c: Account for fpsqrt{s,d} changes.
1344
1345Wed Nov 3 15:11:27 1999 Matteo Frigo <athena@fftw.org>
1346
1347 * config/sparc/sparc.md: Adjust FADD/FMUL result latencies to
1348 3 on UltraSparc.
1349 * config/sparc/sparc.c (ultra_schedule_insn): Insert launched
1350 insn into ready list, do not use just a raw swap.
1351
98903742
MM
1352Wed Nov 3 14:51:59 1999 Mark P. Mitchell <mark@codesourcery.com>
1353
aeeeda03
MM
1354 * rtl.h (renumber_insns): New function.
1355 (remove_unnecessary_notes): Likewise.
1356 * emit-rtl.c (renumber_insns): Define.
1357 (remove_unncessary_notes): Likewise.
1358 * toplev.c (rest_of_compilation): Remove dead code.
1359 Use renumber_insns and remove_unncessary_notes.
1360
0511851c
MM
1361 * gcse.c (struct null_pointer_info): New type.
1362 (get_bitmap_width): New function.
1363 (current_block): Remove.
1364 (nonnull_local): Likewise.
1365 (nonnull_killed): Likewise.
1366 (invalidate_nonnull_info): Take a null_pointer_info as input.
1367 (delete_null_pointer_checks_1): New function.
1368 (delete_null_pointer_checks): Use it.
1369
98903742
MM
1370 * haifa-sched.c (find_rgns): Replace uses of alloca with xmalloc.
1371 (split_edges): Likewise.
1372 (schedule_block): Likewise.
1373 (compute_block_backward_dependencies): Likewise.
1374 (schedule_region): Likewise.
1375 (schedule_insns): Likewise.
1376
8cd0faaf
CM
1377Wed Nov 3 15:40:23 1999 Catherine Moore <clm@cygnus.com>
1378
bd695e1e
RH
1379 * defaults.h (ASM_OUTPUT_ALTERNATE_LABEL_NAME): Provide default.
1380 * emit-rtl.c (gen_label_rtx): Support LABEL_ALTERNATE_NAME.
1381 * final.c (final_scan_insn): Emit LABEL_ALTERNATE_NAME.
1382 * ggc-common.c (ggc_mark_rtx_children): Mark LABEL_ALTERNATE_NAME.
1383 * jump.c (delete_unreferenced_labels): Don't delete if
1384 LABEL_ALTERNATE_NAME is set.
1385 * print-rtl.c (print_rtx): Dump alternate name.
1386 * rtl.def (CODE_LABEL): Change format to "iuuis00s".
1387 * rtl.h (LABEL_ALTERNATE_NAME): Define.
1388 * rtl.texi (LABEL_ALTERNATE_NAME): Document.
1389 * tm.texi (ASM_OUTPUT_ALTERNATE_LABEL_NAME): Document.
8cd0faaf 1390
4b66e1c0
KG
1391Wed Nov 3 15:39:19 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1392
1393 * fix-header.c (recognized_extern, recognized_function): Constify
1394 a char*.
1395
1396 * lcm.c (compute_laterin): Remove unused variable `temp_bitmap'.
1397 (pre_edge_lcm): Mark parameter `file' with ATTRIBUTE_UNUSED.
1398 (compute_available): Remove unused variable `last'.
1399 (compute_nearerout): Remove unused variable `temp_bitmap'.
1400 (pre_edge_rev_lcm): Mark parameter `file' with ATTRIBUTE_UNUSED.
1401 Remove unused variable `x'.
1402
1403 * scan.h (recognized_function, recognized_extern): Constify a
1404 char*.
1405
1406 * simplify-rtx.c (simplify_rtx): Remove unused variable `new'.
1407
241a1bcc
FS
1408Wed Nov 3 10:40:53 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1409
1410 * varasm.c (decode_rtx_const): Use XSTR to access the string
1411 of a SYMBOL_REF.
1412
efd67b42
RH
1413Wed Nov 3 10:10:58 1999 Richard Henderson <rth@cygnus.com>
1414
1415 * c-decl.c (duplicate_decls): Copy DECL_MODE too.
1416
1b3b5765
BS
1417Wed Nov 3 12:12:59 1999 Bernd Schmidt <bernds@cygnus.co.uk>
1418
1419 * reload1.c (eliminate_regs_in_insn): If copying insn, also copy notes.
1420
77355bd5
JL
1421Wed Nov 3 03:26:28 1999 Jeffrey A Law (law@cygnus.com)
1422
eb5a4898
JL
1423 * pa.c (ireg_operand): New function.
1424 * pa.h (PREDICATE_CODES): Handle ireg_operand.
1425 * pa.md (parallel_addb, parallel_movb): Use ireg_operand.
1426 Fix out of date comment.
1427
4aa95f0d
JL
1428 * pa.md (negdi2): Turn into expander + anonymous pattern.
1429
6f04382a
JL
1430 * reload.c (find_reloads): Fix typos in recent change.
1431
77355bd5
JL
1432 * dwarf2out.c: Do not include ctype.h.
1433
6457af89
RK
1434Tue Nov 2 21:53:44 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1435
1436 * regclass.c (record_reg_classes): Always use may_move_cost when
1437 seeing how operand fits with various register classes.
1438
925fa227
RH
1439Tue Nov 2 15:38:17 1999 Richard Henderson <rth@cygnus.com>
1440
1441 * resource.c: Revert Oct 26 20:42 and Oct 27 00:56 changes.
1442 * toplev.c: Revert Nov 1 13:22 change.
1443
b2153414
JE
1444Tue Nov 2 14:21:37 1999 Jason Eckhardt <jle@cygnus.com>
1445
1446 * config/pa/pa.md (height reduction patterns): Add checks for
241a1bcc
FS
1447 overlapping operands to avoid semantic-destroying splits for
1448 height reduction patterns.
b2153414 1449
1a87de8d
AO
1450Tue Nov 2 15:27:31 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
1451
1452 * configure.in (m68k-hp-hpux*, xm_alloca.h): The underscore should
1453 have been an hyphen, fixed.
1454 * configure: Rebuilt.
1455
b020fd92
NC
1456Tue Nov 2 17:04:36 1999 Nick Clifton <nickc@cygnus.com>
1457
1458 * config/arm/tpe.h: Add prototypes for exported functions.
1459 * config/arm/pe.c: Fix compile time warnings.
1460 * config/arm/semi.h: Fix compile time warnings.
1461 * config/arm/arm.c: Fix compile time warnings.
1462 * config/arm/arm.h: Fix compile time warnings.
1463 * config/arm/arm.md: Fix compile time warnings.
1464 * config/arm/thumb.c: Fix compile time warnings.
1465 * config/arm/thumb.h: Fix compile time warnings.
1466 * config/arm/thumb.md: Fix compile time warnings.
1467
f5da5c87
JH
1468Tue Nov 2 04:10:24 1999 Jan Hubicka <hubicka@freesoft.cz>
1469
1470 * jump.c (jump_optimize_1): Swap the incscc and the conditional mode
1471 detection code
1472
1473 * unroll.c (unroll_loop): Remove LOOP notes when loop is
1474 completely unrolled.
1475
c3dfacf0
BS
1476Tue Nov 2 16:57:22 1999 Bernd Schmidt <bernds@cygnus.co.uk>
1477
1478 * cse.c (simplify_plus_minus, check_fold_const): Delete declarations.
1479
b5ee7789
CM
1480Tue Nov 2 09:43:00 1999 Catherine Moore <clm@cygnus.com>
1481
241a1bcc
FS
1482 * Makefile.in (genattrtab): Don't use (HOST_RTLANAL).
1483 * rtl.h (rtx_equal_p): Move prototype.
1484 * rtl.c (rtx_equal_function_value_matters): Move from
1485 rtlanal.c
1486 (rtx_equal_p): Likewise.
1487 * rtlanal.c (rtx_equal_function_value_matters): Delete.
1488 (rtx_equal_p): Likewise.
b5ee7789 1489
bf279c4e
JM
1490Mon Nov 1 23:21:17 1999 Jason Merrill <jason@yorick.cygnus.com>
1491
1492 * libgcc2.c (__do_global_dtors): Only do EH frame stuff if
1493 ! HAS_INIT_SECTION.
1494
d269eb53
JL
1495Mon Nov 1 23:37:38 1999 Jeffrey A Law (law@cygnus.com)
1496
95247088
JL
1497 * gcc.1 (PA options): Remove obsolete -mshared-libs options.
1498
937ac3f9
JL
1499 * pa.h (ADDR_VEC_ALIGN): Define.
1500
a5a06a78
JL
1501 * jump.c (jump_optimize_1): Also move LOOP_VTOP and LOOP_CONT
1502 notes when presented with "if (foo) break; end_of_loop" and
1503 the break sequence gets moved out of the loop.
1504
d269eb53
JL
1505 * unroll.c (unroll_loop): Allocate memory for MAP using xcalloc.
1506 Remove explicit zero initializations of entries within MAP.
1507
f6d20486
RH
1508Mon Nov 1 18:09:14 1999 Richard Henderson <rth@cygnus.com>
1509
1510 * reg-stack.c (convert_regs_1): Handle EH edges specially.
1511
c05ddfa7
MM
1512Mon Nov 1 15:41:01 1999 Mark P. Mitchell <mark@codesourcery.com>
1513
67289ea6
MM
1514 * bitmap.h (BITMAP_XMALLOC): New macro.
1515 * flow.c (CLEAN_ALLOCA): Remove.
1516 (delete_unreachable_blocks): Use xmalloc/xcalloc instead of alloca.
1517 (life_analysis): Likewise.
1518 (update_life_info): Don't use CLEAN_ALLOCA.
1519 (life_analysis_1): Use xmalloc/xcalloc instead of alloca.
1520 (calculate_global_regs_live): Likewise.
1521 (print_rtl_with_bb): Likewise.
1522 (verify_flow_info): Likewise.
1523 * global.c (global_alloc): Likewise.
1524 (global_conflicts): Likewise.
1525 * integrate.c (save_for_inline_nocopy): Likewise.
1526 (expand_inline_function): Likewise.
1527 * jump.c (jump_optimize_1): Likewise.
1528 (duplicate_loop_exit_test): Likewise.
1529 (thread_jumps): Likewise.
1530 * loop.c (loop_optimize): Likewise.
1531 (combine_givs): Likewise.
1532 (recombine_givs): Likewise.
1533 * reorg.c (dbr_schedule): Likewise.
98903742
MM
1534 * unroll.c (unroll_loop): Likewise.
1535
c05ddfa7
MM
1536 * combine.c (combine_instructions): Use xmalloc instead of alloca.
1537
9fd4e328
RH
1538Mon Nov 1 13:22:30 1999 Richard Henderson <rth@cygnus.com>
1539
1540 * toplev.c (rest_of_compilation): Don't optimize the CFG
1541 when rebuilding, just before dbr.
1542
d9bba9c3
KG
1543Mon Nov 1 14:35:50 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1544
1545 * output.h (assemble_end_function, assemble_destructor,
1546 assemble_constructor, assemble_gc_entry, assemble_global,
1547 assemble_label, output_constant_pool) Constify a char*.
1548
1549 * varasm.c (assemble_destructor, assemble_constructor,
1550 assemble_gc_entry, assemble_end_function, assemble_global,
1551 assemble_label, output_constant_pool): Likewise.
1552
9074519d
NC
1553Mon Nov 1 14:22:51 1999 Nick Clifton <nickc@cygnus.com>
1554
1555 * config/arm/thumb.c (thumb_expand_prologue): Add comments
1556 explaining what is goin on in this function.
1557
da2c0219
RK
1558Mon Nov 1 08:03:15 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1559
1560 * regclass.c (record_reg_classes): In matching case, recompute
1561 costs since the direction of movement is different.
e5de8c72 1562
96e9c98d
DN
1563Sun Oct 31 21:59:34 MST 1999 Diego Novillo <dnovillo@cygnus.com>
1564
1565 * resource.c (mark_target_live_regs): For unconditional branches,
1566 the resources found at the branch target should be added to the
1567 resources found so far, not intersected.
1568
99d525c9
PDM
1569Sun Oct 31 15:48:49 1999 Philippe De Muyter <phdm@macqel.be>
1570
9fd4e328
RH
1571 * fixinc/fixtests.c, fixinc/fixfixes.c : Keep `#' in first column for
1572 old cpp's.
1573 * fixinc/fixincl.c (fcntl.h) : Do not include this file twice.
1574 (sys/mman.h): Include this file only if #HAVE_MMAP.
1575 (run_compiles): Initialize `esac_fmt' with one old KR string, not
1576 with automatically concatenated ANSI strings.
99d525c9 1577
4934cc53
MM
1578Sun Oct 31 23:57:07 1999 Mark Mitchell <mark@codesourcery.com>
1579
1580 * ggc-page.c (struct page_entry): Remove save_num_free_objects.
1581 (DIV_ROUND_UP): Robustify.
1582 (ggc_recalculate_in_use_p): New function.
1583 (release_pages): Don't inline it.
1584 (ggc_alloc_obj): Don't refuse to allocate objects on pages for
1585 outer contexts.
1586 (ggc_pop_context): Use ggc_recalculate_in_use_p.
1587 (clear_marks): Always save in_use_p.
1588 (sweep_pages): Use ggc_recalculate_in_use_p.
1589 (ggc_page_print_statistics): Avoid signed/unsigned comparisons.
1590 Release pages before counting statistics.
1591
3e038608
MM
1592Sun Oct 31 23:42:37 1999 Mark Mitchell <mark@codesourcery.com>
1593
1594 * toplev.c (rest_of_compilation): Fix thinko in this change:
1595
1596 Fri Oct 29 15:25:07 1999 Arnaud Charlet <charlet@ACT-Europe.FR>
1597
1598 (rest_of_compilation): If inside an inlined external function,
1599 pretend we are just being declared.
1600
36a1fa96
JL
1601Sun Oct 31 23:03:25 1999 Jeffrey A Law (law@cygnus.com)
1602
e5de8c72
JL
1603 * flow.c (calculate_global_regs_live): Fix thinko.
1604
9fd4e328
RH
1605 * integrate.c (expand_inline_function): Fix bugs in previous
1606 change from Oct 28, 1999.
36a1fa96 1607
8988b217
MM
1608Sun Oct 31 20:27:45 1999 Mark Mitchell <mark@codesourcery.com>
1609
1610 * stmt.c (expand_value_return): Fix typo in this change:
1611
1612 Thu Oct 28 18:06:50 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1613 (expand_value_return): Correctly convert VAL when promoting function
1614 return; support RETURN_REG being a PARALLEL.
1615
77fd6d10
MM
1616Sun Oct 31 20:25:42 1999 Mark P. Mitchell <mark@codesourcery.com>
1617
1618 * expr.c (readonly_fields_p): Ignore everything except FIELD_DECLs.
1619
99f44eba
KG
1620Sun Oct 31 20:42:17 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1621
1622 * hard-reg-set.h (reg_names): Constify a char*.
1623
1624 * regclass.c (reg_names): Likewise.
1625
1626 * regs.h (reg_names): Likewise
1627
1628 * a29k/a29k.c (reg_names): Delete declaration.
1629
1630 * a29k/a29k.h (CONDITIONAL_REGISTER_USAGE): Constify a char*.
1631
1632 * arc/arc.c (arc_save_restore, arc_output_function_prologue,
1633 arc_output_function_epilogue): Likewise.
1634
1635 * elxsi/elxsi.c (reg_names): Likewise.
1636
1637 * gmicro/gmicro.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Likewise.
1638
1639 * m32r/m32r.c (m32r_output_function_epilogue, emit_cond_move):
1640 Likewise.
1641
1642 * m88k/m88k.c (output_function_profiler): Likewise.
1643
1644 * sparc/sparc.c (sparc_flat_output_function_prologue,
1645 sparc_flat_output_function_epilogue): Likewise.
1646
8fbe1035
ML
1647Sun Oct 31 13:32:15 CET 1999 Marc Lehmann <pcg@goof.com>
1648
1649 * toplev.c (rest_of_compilation): Seperate the setjmp/vfork clobber
9fd4e328
RH
1650 warning from -Wuninitialized and put it under -W.
1651 * function.c (uninitialized_vars_warning): Warn only when the
1652 corresponding flag is set.
8fbe1035 1653
f5d236de
JL
1654Sun Oct 31 01:53:30 1999 Jeffrey A Law (law@cygnus.com)
1655
e26ef527
JL
1656 * cse.c (cse_insn): If an insn has only a single set, SRC_EQV
1657 is nonzero and the single set does not have an elt, then assign
1658 it an elt.
1659
0cedb36c
JL
1660 * simplify-rtx.c: New file.
1661 * Makefile.in (OBJS): Add simplify-rtx.o
1662 (simplify-rtx.o): Add dependencies.
1663 * rtl.h (simplify_gen_binary, simplify_rtx): Add prototypes.
1664 * cse.c: Use simplify_gen_binary intead of cse_gen_binary.
1665 (cse_gen_binary, simplify_unary_operation): Delete.
1666 (simplify_binary_operation, simplify_plus_minus): Likewise.
1667 (check_fold_consts, simplify_relation_operation): Likewise.
1668 (simplify_ternary_operation): Likewise.
1669 (delete_trivially_dead_insns): Simplify the contents of the
1670 REG_EQUAL note before trying to substitute it into the source
1671 of the reg-reg copy at the end of a libcall sequence.
1672
31ec4e5e
JL
1673 * combine.c (combine_simplify_rtx): Renamed from simplify_rtx. All
1674 references/callers changed.
1675
60860055
JL
1676 * mn10200.c (mn10200_va_arg): Force the return value into a
1677 register.
1678
ee61fc79
JL
1679 * fr30.h (EXTRA_CC_NAMES): Remove obsolete macro.
1680
f5d236de
JL
1681 * cccp.c (macroexpand): Avoid out of range accesses for omitted
1682 arguments.
1683
2949a9b6
SM
1684Sat Oct 30 22:42:50 1999 Stephen L Moshier <moshier@mediaone.net>
1685
1686 * c-lex.c (yylex): Accept 'f' in mantissa of hex float constant.
1687
0d19c2a1
JL
1688Sat Oct 30 22:19:26 1999 Jeffrey A Law (law@cygnus.com)
1689
1690 * fold-const.c (fold): Fix thinko when optimizing comparisons
1691 against -0.0.
1692
80126298
DS
1693Sat Oct 30 21:32:17 1999 David Starner <dstarner98@aasaa.ofe.org>
1694
1695 * gcc.texi (Passes): Update front-end files to their current
1696 location.
1697
3611aef0
RH
1698Sat Oct 30 14:41:40 1999 Richard Henderson <rth@cygnus.com>
1699
1700 * alpha.h (SECONDARY_INPUT_RELOAD_CLASS): Call secondary_reload_class.
1701 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
1702 (PREDICATE_CODES): Add addition_operation.
1703 * alpha-protos.h (addition_operation): Declare.
1704 (secondary_reload_class): Likewise.
1705 * alpha.c (addition_operation): New.
1706 (secondary_reload_class): New, from old SECONDARY_INPUT_RELOAD_CLASS.
1707 * alpha.md (adddi3): Turn into expander.
1708 (*lda, *adddi_2): New.
1709 (movsf, movdf patterns): Don't preference integer regs.
1710 (movsi, movdi patterns): Don't preference fp regs.
1711
1e193337
RH
1712Sat Oct 30 14:38:22 1999 Richard Henderson <rth@cygnus.com>
1713
1714 * genrecog.c (write_switch): Check for duplicate CODE cases.
1715
cb2ec151
RH
1716Sat Oct 30 14:31:48 1999 Richard Henderson <rth@cygnus.com>
1717
1718 * ggc-common.c: Update pre-function commentary.
1719 * ggc-page.c: Likewise.
1720 (poison): Remove.
1721 (poison_pages): Use memset directly.
1722 (ggc_alloc_obj): Likewise. Use a different pattern than poison_pages.
1723 (ggc_collect): Poison before sweeping.
1724 * ggc-simple.c: Update pre-function commentary.
1725 (ggc_alloc_obj): Poison non-zeroed memory.
1726
e225758a
MM
1727Sat Oct 30 14:28:52 1999 Mark Mitchell <mark@codesourcery.com>
1728
1729 * ggc-common.c (ggc_print_statistics): Make arguments to fprintf
1730 match format string, even on 64-bit hosts.
1731 * gcc-page.c (ggc_page_print_statistics): Likewise.
1732
e42ea7f9
CM
1733Sat Oct 30 14:38:04 1999 Catherine Moore <clm@cygnus.com>
1734
1735 * config/i386/i386.c (ix86_cpu): Revert last patch.
1736 * config/i386/i386.h (ix86_cpu): Ditto.
1737
501eb93c
JW
1738Fri Oct 29 17:00:42 1999 Jim Wilson <wilson@cygnus.com>
1739
1740 * stor-layout.c (layout_type): When compute TYPE_SIZE_UNIT from
1741 TYPE_SIZE, convert type of result to sizetype.
1742
3071fab5
RH
1743Fri Oct 29 14:34:17 1999 Richard Henderson <rth@cygnus.com>
1744
1745 * flow.c (count_or_remove_death_notes): Equate NULL with the
1746 universal set.
1747
1748 * jump.c, reg-stack.c, toplev.c: Revert Oct 27 change.
1749 * toplev.c (rest_of_compilation): Rebuild CFG immediately before
1750 dbr_schedule.
1751
1752 * i386.c (pic_label_no): Delete.
1753 (ix86_attr_length_default): Don't use single_set to peek
1754 inside a parallel.
1755
1756 * recog.c (peephole2_optimize): Allow recog_next_insn to index
1757 the first insn after bb->end.
1758 * i386.md (push mem peeps): Scratch is live after evaluation
1759 of the memory.
1760 (cmp mem peep): Similarly.
1761
7281a327
CM
1762Fri Oct 29 11:50:11 1999 Catherine Moore <clm@cygnus.com>
1763
1764 * calls.c (emit_library_call_value): Fix declaration of alignment_pad.
1765 * function.c (pad_to_arg_alignment): Add missing braces.
1766
e03c5670
KG
1767Fri Oct 29 13:53:48 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1768
1769 * alpha/alpha-protos.h (literal_section): Add prototype.
1770 (alpha_need_linkage, alpha_start_function,alpha_end_function):
1771 Constify a char*.
1772
1773 * alpha/alpha.c (alpha_ra_ever_killed, set_frame_related_p): Add
1774 prototype.
1775 (alpha_start_function, alpha_end_function, float_strings,
1776 alpha_need_linkage): Constify a char*
1777
1778 * alpha/alpha.h (ASM_OUTPUT_ASCII, ASM_OUTPUT_MI_THUNK): Likewise.
1779
1780 * alpha/alpha32.h (ASM_OUTPUT_MI_THUNK): Likewise.
1781
1782 * alpha/elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
1783
1784 * alpha/vms.h (ASM_OUTPUT_SECTION_NAME): Likewise.
1785
a8f227e7
KG
1786Fri Oct 29 13:49:39 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1787
1788 * flow.c (debug_flow_info): Add prototype.
1789
1790 * gcc.c (main): Likewise.
1791
1792 * gcse.c (expr_reaches_here_p_work, pre_expr_reaches_here_p_work):
1793 Likewise.
1794
1795 * reload1.c (failed_reload, set_reload_reg): Likewise.
1796
1797 * mips-tfile.c (main): Likewise.
1798 (pfatal_with_name, fancy_abort, botch, fatal, catch_signal): Mark
1799 with ATTRIBUTE_NORETURN.
1800
90e0ee00
AH
1801Fri Oct 29 18:16:03 1999 Andrew Haley <aph@cygnus.com>
1802
1803 * config/i386/i386.h (ENCODE_SECTION_INFO): Don't do anything if
1804 DECL is not a memory ref.
1805
4fba1061
CM
1806Fri Oct 29 09:05:34 1999 Catherine Moore <clm@cygnus.com>
1807
1808 * config/i386/i386.h (ix86_cpu): Remove extern attribute.
1809 * config/i386/i386.c (ix86_cpu): Add extern attribute.
1810
273eca16
AH
1811Fri Oct 29 16:30:04 1999 Andrew Haley <aph@cygnus.com>
1812
9fd4e328
RH
1813 * config/mips/elf.h: remove NAME__MAIN and SYMBOL__MAIN.
1814 * config/mips/elf64.h: ditto.
273eca16 1815
4fc026cd
CM
1816Fri Oct 29 08:03:57 1999 Catherine Moore <clm@cygnus.com>
1817
1818 * expr.c (emit_push_insn): New argument alignment_pad.
1819 Update all callers. Adjust stack pointer based on alignment pad.
1820 * function.c (pad_to_arg_alignment): New argument alignment_pad.
1821 Update all callers. Track alignment_pad if boundary > PARM_BOUNDARY.
1822 (locate_and_pad_parm): New argument alignment_pad. Update all
1823 callers.
1824 * expr.h (emit_push_insn): Update prototype.
1825 (locate_and_pad_parm): Update prototype.
1826 * calls.c (arg_data): Add new field alignment_pad.
1827 (initialize_argument_information): Initialize alignment_pad.
1828
5faf03ae
MM
1829Fri Oct 29 02:51:35 1999 Mark Mitchell <mark@codesourcery.com>
1830
1831 * except.c (free_eh_nesting_info): Free the info itself.
1832 * function.c (free_after_compilation): Don't free NULL.
1833 * gcse.c (alloc_pre_mem): Free the temp_bitmap, too.
1834 (pre_edge_insert): Free inserted.
1835 * stmt.c (free_stmt_status): Don't free NULL.
1836
14a774a9
RK
1837Fri Oct 29 15:25:07 1999 Arnaud Charlet <charlet@ACT-Europe.FR>
1838
1839 * gcov.c (DIR_SEPARATOR): Provide default.
1840 (output_data): Add test for MS-DOS format absolute filename.
1841 (fancy_abort): Correct program name.
1842 (open_files): Open all files in binary mode.
1843 * libgcc2.c (__bb_exit_func): Likewise.
1844
1845 * profile.c (init_branch_prob): Specify binary when opening files.
1846
1847 * flags.h (flag_unwind_tables): New decl.
1848 * toplev.c (flag_unwind_table): New definition.
1849 (f_options): Add -funwind-tables.
1850 (decode_g_option): Clarify warning when unknown -g option is given.
1851 (rest_of_compilation): If inside an inlined external function,
1852 pretend we are just being declared.
1853
1854 * dwarf2out.c (dwarf2out_do_frame): Check -funwind_tables.
1855 (dwarf2out_frame_finish): Likewise.
1856
14a774a9
RK
1857Fri Oct 29 07:44:26 1999 Vasco Pedro <vp@di.fct.unl.pt>
1858
1859 * fold-const.c (merge_ranges): In not in0, but in1, handle
1860 upper bounds equal like subset case.
1861
1862Thu Oct 28 19:22:24 1999 Douglas Rupp <rupp@gnat.com>
1863
1864 * dbxout.c (dbxout_parms): Generate a second stabs line for parameters
1865 passed in a register but moved to the stack.
1866
1867Thu Oct 28 19:12:57 1999 Sam Tardieu <tardieu@act-europe.fr>
1868
1869 * gcc.c (pass_exit_codes, greatest_status): New variables.
1870 (struct option_map): Add entry for "--pass-exit-codes".
1871 (execute): Update greatest_status if error.
1872 (display_help): Add documentation for -pass-exit-codes.
1873 (process_command): Handle -pass-exit-codes.
1874 (main): Look at pass_exit_codes and greatest_status on call to exit.
1875
1876Thu Oct 28 18:06:50 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1877
1878 * reload.c (find_reloads): Refine test for no input reload
1879 case to not includes reloads emitted after insn.
1880
1881 * function.c (find_temp_slots_from_address): Handle sum involving
1882 a register that points to a temp slot.
1883 (update_temp_slot_address): Make recursive call if both old and
1884 new are PLUS with a common operand.
1885 * calls.c (expand_call): Mark temp slot for result as having
1886 address taken.
1887
1888 * rtlanal.c (reg_referenced_p, case IF_THEN_ELSE): New case.
1889
1890 * gcc.c (process_command): Add standard_exec_prefix with "GCC"
1891 component as well as "BINUTILS".
1892
1893 * integrate.h (copy_rtx_and_substitute): New arg, FOR_LHS.
1894 * integrate.c (copy_rtx_and_substitute): Likewise.
1895 (expand_inline_function, integrate_parm_decls, integrate_decl_tree):
1896 All callers changed.
1897 * unroll.c (inital_reg_note_copy, copy_loop_body): Likewise.
1898
1899 * dbxout.c (dbxout_type, case INTEGER_TYPE_NODE): If can use
1900 gdb extensions, write size of type; also be more consistent
1901 in using references when this is a subtype.
1902
1903 * pa.md (extv, extzv, insv): Use define_expand to reject constant
1904 that is out of range.
1905
1906 * loop.c (unknown_constant_address_altered): New variable.
1907 (prescan_loop): Initialize it.
1908 (note_addr_stored): Set it for RTX_UNCHANGING_P MEM.
1909 (invariant_p, case MEM): Remove handling for volatile and readony;
1910 check new variable if readonly.
1911 (check_dbra_loop): Chdeck unknown_constant_address_altered.
1912
1913 * cse.c (canon_hash, case MEM): Do not record if BLKmode.
1914 (addr_affects_sp_p): Removed from note_mem_written and only
1915 define #ifdef AUTO_INC_DEC.
1916
1917 * alpha.c (input_operand, case ADDRESSOF): Treat as REG.
1918
1919 * regclass.c (record_reg_classes): Properly handle register move
1920 directions.
1921
1922 * varasm.c (initializer_constant_valid_p, case MINUS_EXPR):
1923 Don't think valid if both operands are invalid.
1924 (struct constant_descriptor): New field RTL.
1925 (mark_const_hash_entry): Mark it.
1926 (record_constant{,_rtx}): Initialize it.
1927 (output_constant_def): Allocate RTL in permanent obstack and
1928 save in table.
1929 ({record,compare}_constant_1): Modes must match for
1930 CONSTRUCTOR of ARRAY_TYPE.
1931
1932 * c-common.h (initializer_constant_valid_p): Delete decl from here.
1933 * output.h (initializer_constant_valid_p): Move decl to here.
1934 * c-common.c (initializer_constant_valid_p): Delete function from here.
1935 * varasm.c (initializer_constant_valid_p): Move function to here.
1936
1937 * tree.h (STRIP_SIGN_NOPS): New macro.
1938 * fold-const.c (optimize_minmax_comparison): New function.
1939 (invert_truthvalue, case WITH_RECORD_EXPR): New case.
1940 (fold): Use STRIP_SIGN_NOPS instead of STRIP_TYPE_NOPS.
1941 (fold, case EQ_EXPR): Call optimize_minmax_comparison and add
1942 cases with ABS_EXPR, NEGATE_EXPR, PLUS_EXPR, MINUS_EXPR, and
1943 widening conversions.
1944 (fold, case LE_EXPR): Rework changing unsigned to signed comparisons
1945 to look at size of mode, not precision of type; also add missing cases.
1946 (optimize_bit_field_compare, decode_field_reference): Don't try to
1947 optimize COMPONENT_REF of a PLACEHOLDER_EXPR.
1948
1949 * dwarf2out.c (ctype.h): Include.
1950 (dwarf2out_set_demangle_name_func): New function.
1951 (size_of_line_info): Deleted.
1952 (output_line_info): Compute size of line info table from difference
1953 of labels.
1954 (base_type_die, add_name_attribute): Call demangle function, if any.
1955 (field_byte_offset): Use bits per word for variable length fields.
1956 (gen_array_type_die): Add array name.
1957 (gen_subprogram_die): Ignore DECL_INLINE if -fno-inline.
1958 (dwarf2out_add_library_unit_info): New function.
1959
1960 * explow.c (set_stack_check_libfunc): New function.
1961 (stack_check_libfunc): New static variable.
1962 (probe_stack_range): Allow front-end to set up a libfunc to call.
1963
1964 * combine.c (simplify_comparison): When making comparison in wider
1965 mode, check for having commuted an AND and a SUBREG.
1966 (contains_muldiv): New function.
1967 (try_combine): Call it when dividing a PARALLEL.
1968 (simplify_rtx, case TRUNCATE): Don't remove for umulsi3_highpart.
1969 (simplify_comparison, case ASHIFTRT): Recognize sign-extension of
1970 a PLUS.
1971 (record_value_for_reg): If TEM is a binary operation with two CLOBBERs,
1972 use one of the CLOBBERs instead.
1973 (if_then_else_cond): If comparing against zero, just return thing
1974 being compared.
1975
1976 * optabs.c (expand_abs): If machine has MAX, ABS (x) is MAX (x, -x).
1977 Don't generate shifts and subtract if have conditional arithmetic.
1978
1979 * rtl.h (delete_barrier): New declaration.
1980 * jump.c (jump_optimize): Set up to handle conditional call.
1981 In conditional arithmetic case, handle CALL_INSN followed by a BARRIER.
1982 (delete_barrier): New function.
1983
1984 * rtl.c (read_rtx): Call fatal if bad RTL code; check for bad mode.
1985
1986 * recog.c (nonmemory_operand): Accept ADDRESSOF.
1987
1988 * tree.c (build_type_attribute_variant): Push to obstack of
1989 ttype around type_hash_canon call.
1990
1991 * expr.c (placeholder_list): Move decl to file scope.
1992 (expand_expr): Don't force access to volatile just because its
1993 address is taken.
1994 If ignoring reference operations, just expand the operands.
1995 (expand_expr, case COMPONENT_REF): Propagate
1996 EXPAND_CONST_ADDRESS to recursive call when expanding inner.
1997 Refine test for using bitfield operations vs pointer punning.
1998 (expand_expr, case CONVERT_EXPR): If converting to
1999 BLKmode UNION_TYPE from BLKmode, just return inner object.
2000 Use proper mode in store_field call.
2001 Properly set sizes of object to store and total size in store_field
2002 call for convert to union.
2003 (expand_expr, case ARRAY_REF): If OP0 is in a register, put it in
2004 memory (like for ADDR_EXPR). Also, don't put constant in register if
2005 we'll want it in memory.
2006 (readonly_fields_p): New function.
2007 (expand_expr, case INDIRECT_REF): Call it if LHS.
2008 (expand_assignment): Handle a RESULT_DECL where
2009 DECL_RTL is a PARALLEL.
2010 (do_jump, case WITH_RECORD_EXPR): New case.
2011 (get_inner_reference): Always go inside a CONVERT_EXPR
2012 and NOP_EXPR if both modes are the same.
2013 (store_field): Use bitfield operations if size of bitsize is not same
2014 as size of RHS's type.
2015 Check for bitpos not a multiple of alignment in BLKmode case.
2016 Do block move in largest possible alignment.
2017 (store_constructor): Set BITSIZE to -1 for variable size and properly
2018 in case of array of BLKmode.
2019 (expand_expr_unaligned): New function.
2020 (do_compare_and_jump): Call it.
2021
2022 * mips/iris5.h (SWITCHES_NEED_SPACES): New macro.
2023 * collect2.c (main): Only allow -ofoo if SWITCHES_NEED_SPACES
2024 does not include 'o'.
2025
2026 * function.c (instantiate_virtual_regs_1, case SET): Handle case where
2027 both SET_DEST and SET_SRC reference a virtual register.
2028 (gen_mem_addressof): Copy RTX_UNCHANGING_P from new REG to old REG.
2029
2030 * integrate.c (expand_inline_function): Handle case of setting
2031 virtual stack vars register (from built in setjmp); when parameter
2032 lives in memory, expand virtual_{stack_vars,incoming_args}_rtx early.
2033 (subst_constant): Add new parm, MEMONLY.
2034 (expand_inline_function, integrate_parm_decls): Pass new parm.
2035 (integrate_decl_tree): Likewise.
2036 (copy_rtx_and_substitute, case MEM): Do copy RTX_UNCHANGING_P.
2037 (try_constants): Call subst_constants twice, with MEMONLY 0 and 1.
2038 (copy_rtx_and_substitute, case SET): Add explicit calls to
2039 copy_rtx_and_substitute for both sides.
2040
2041 * stmt.c (expand_asm_operands): Don't use TREE_STRING_LENGTH for
2042 constraints.
2043 (pushcase{,_range}): Convert to NOMINAL_TYPE after checking for
2044 within INDEX_TYPE, instead of before.
2045 (fixup_gotos): Use f->target_rtl, not the next insn,
2046 since latter may be from a later fixup.
2047 (expand_value_return): Correctly convert VAL when promoting function
2048 return; support RETURN_REG being a PARALLEL.
2049 (expand_return): When checking for result in regs and having
2050 cleanup, consider PARALLEL in DECL_RTL as being in regs.
2051
a9ae4483
ZW
20521999-10-28 21:27 -0700 Zack Weinberg <zack@bitmover.com>
2053
2054 * cpplib.h (struct cpp_buffer: fname, nominal_fname,
2055 last_nominal_fname): Mark const.
2056 (struct include_hash: name, nshort, control_macro): Mark
2057 const.
2058 (struct macrodef: symnam): Mark const.
2059 (struct if_stack: fname): Mark const.
2060 (is_idchar, is_idstart, is_hor_space, trigraph_table): Delete.
2061 (IStable): New character-syntax array which encompasses all
2062 the old is_foo arrays.
2063 (is_idchar, is_numchar, is_idstart, is_numstart, is_hspace,
2064 is_space): New macros for interrogating IStable.
2065 (check_macro_name): Kill last argument. All callers changed.
2066
2067 * cppinit.c (initialize_char_syntax): Delete.
2068 (is_idchar, is_idstart, is_hor_space, is_space,
2069 trigraph_table): Delete.
2070 (IStable): New. Initialize with clever macros to avoid
2071 information duplication.
2072 (builtin_array): Table of builtins to get rid of explicit list
2073 in initialize_builtins.
2074 (initialize_builtins): Use builtins_array.
2075 (cpp_start_read): Call init_IStable, and set IStable['$'] if
2076 opts->dollars_in_ident.
2077
2078 * cppexp.c: Change all refs to is_xyz[] arrays to use new
2079 is_xyz() macros.
2080 (cpp_parse_expr): Avoid 'format string is not constant'
2081 warning. Use ISGRAPH to identify printable chars.
2082 * cppfiles.c: Change all refs to is_xyz[] arrays to use new
2083 is_xyz() macros.
2084 (read_and_prescan): Map trigraphs to chars with open-coded
2085 if-else-if-... sequence, not a lookup table.
2086 * cpphash.c: Change all refs to is_xyz[] arrays to use new
2087 is_xyz() macros.
2088 * cpplib.c: Change all refs to is_xyz[] arrays to use new
2089 is_xyz() macros. Kill SKIP_ALL_WHITE_SPACE (unused).
2090 (check_macro_name): Remove ability to report an invalid
2091 assertion name, which is never used.
2092 (do_line): Constify a couple of char *'s.
2093 * cppmain.c (main): Call cpp_cleanup before returning.
2094
3277221c
MM
2095Thu Oct 28 21:16:35 1999 Mark Mitchell <mark@codesourcery.com>
2096
2097 * ggc.h (struct ggc_statistics): New type.
2098 (ggc_get_size): New function.
2099 (ggc_print_statistics): Likewise.
2100 * ggc-common.c (ggc_stats): New variable.
2101 (ggc_mark_rtx_children): Keep statistics.
2102 (ggc_mark_tree_children): Likewise.
2103 (ggc_print_statistics): New function.
2104 * ggc-page.c (struct globals): Add bytes_mapped field.
2105 (alloc_anon): Update it.
2106 (release_pages): Likewise.
2107 (ggc_get_size): New function.
2108 (ggc_page_print_statistics): New function.
2109 * ggc-simple.c (ggc_get_size): New function.
2110
a6092975
GK
2111Fri Oct 29 06:32:44 1999 Geoffrey Keating <geoffk@cygnus.com>
2112
2113 * flow.c (propagate_block): When the last reference to a label
2114 before an ADDR_VEC is deleted because the reference is a dead
2115 store, delete the ADDR_VEC.
2116
af058220
RH
2117Thu Oct 28 12:28:50 1999 Richard Henderson <rth@cygnus.com>
2118
2119 * resource.c (find_free_register): Don't use the frame pointer
2120 if frame_pointer_needed.
2121
7ab282a5
JW
2122Thu Oct 28 10:02:00 1999 Jim Wilson <wilson@cygnus.com>
2123
c9fc373c
JW
2124 * config/mips/mips.c (mips_va_arg): Delete gen_jump as emit_jump arg.
2125 (function_arg_pass_by_reference): Check for a NULL pointer in cum.
2126
7ab282a5
JW
2127 * config/i960/i960.c (i960_va_start): New locals base, num.
2128 Use INDIRECT_REF instead of ARRAY_REF on valist.
2129 (i960_va_arg): Use INDIRECT_REF instead of ARRAY_REF on valist.
2130
9ed5879d
MM
2131Thu Oct 28 09:45:48 1999 Mark Mitchell <mark@codesourcery.com>
2132
2133 * gcse.c (delete_null_pointer_checks): Fix typo in previous change.
2134
2a7b6292
PG
2135Thu Oct 28 03:37:50 1999 Peter Gerwinski <peter@gerwinski.de>
2136
2137 * tree.def (PLACEHOLDER_EXPR): Update comments.
2138
30145215
KG
2139Thu Oct 28 06:47:32 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2140
2141 * c-common.c (check_format_info): Avoid non-literal format string
2142 warnings when `first_arg_num' is zero.
2143
4404ce28
BS
2144Thu Oct 28 12:28:48 1999 Bernd Schmidt <bernds@cygnus.co.uk>
2145
2146 * rtl.texi: Delete explicit Prev, Up and Next entries in "@node"s.
2147
e4597bdf
RE
2148Thu Oct 28 11:05:13 1999 Richard Earnshaw <rearnsha@arm.com>
2149
2150 * arm.md (casesi_insn): Add a clobber of the condition code
2151 register.
2152
1d96e5b4
FF
2153Mon Oct 18 21:16:06 1999 Fred Fish <fnf@be.com>
2154
2155 * tm.texi (CC1PLUS_SPEC): Make it clear in the docs that CC1_SPEC is
2156 used by both cc1 and cc1plus.
2157
723ae7c1
NC
2158Thu Oct 28 10:00:48 1999 Nick Clifton <nickc@cygnus.com>
2159
2160 * config/arm/arm.c: Initialise arm_structure_size_boundary to
2161 DEFAULT_STRUCTURE_SIZE_BOUNDARY.
2162 * config/arm/arm.h (DEFAULT_STRUCTURE_SIZE_BOUNDARY): Define
2163 to the value 32 if it has not already been defined.
2164 * config/arm/netbsd.h (DEFAULT_STRUCTURE_SIZE_BOUNDARY):
2165 Override definition in arm.h with a value of 8.
2166
566047c2
DS
2167Thu Oct 28 03:12:02 1999 David Starner <dstarner98@aasaa.ofe.org>
2168
2169 * c-pragma.c (push_alignment): Don't check the return value
2170 of xmalloc.
2171
0b24a660
MF
2172Thu Oct 28 03:08:38 1999 Matteo Frigo <athena@fftw.org>
2173
2174 * sparc.h (ADJUST_COST): Fix thinko.
2175
4ed506a4
GN
2176Thu Oct 28 02:44:03 1999 Glen Nakamura <glen.nakamura@usa.net>
2177
2178 * cccp.c (rescan): Fixed obp pointer handling around call to
2179 check_expand subroutine.
2180
3a8de233
JL
2181Thu Oct 28 02:15:22 1999 Jeffrey A Law (law@cygnus.com)
2182
5ae520d0
JL
2183 * gcse.c (delete_null_pointer_checks): Only record non-null info
2184 for pseudos when examining stores.
2185
3a8de233
JL
2186 * arm.md (adddi3, adddi_sesidi_di, adddi_sesidi_di): Add
2187 splitters for these patterns. Use "#" for output templates.
2188 (addsi3_carryin_shift): New pattern.
2189
62961522
GK
2190Thu Oct 28 10:20:02 1999 Geoffrey Keating <geoffk@cygnus.com>
2191
2192 * config/rs6000/rs6000.md (movsf): Don't convert a SUBREG
2193 of the function return register into a plain REG until
2194 after function inlining is done.
2195
e218fc41
RH
2196Wed Oct 27 15:21:46 1999 Richard Henderson <rth@cygnus.com>
2197
2198 * jump.c (jump_optimize_1): If we did cross-jumping, and
2199 the data will matter, rebuild the CFG.
2200 * reg-stack.c (reg_to_stack): Only (re)build the CFG if
2201 not optimizing. Don't run shorten_branches.
2202 * toplev.c (rest_of_compilation): Run shorten_branches after
2203 reg_to_stack.
2204
84832317
MM
2205Wed Oct 27 12:33:40 1999 Mark Mitchell <mark@codesourcery.com>
2206
2207 * rtl.h (note_stores): Add additional paramter.
2208 * rtlanal.c (reg_set_p_1): Take additional paramter.
2209 (reg_set_last_1): Likewise.
2210 (reg_set_p): Adjust call to note_stores.
2211 (reg_set_last): Likewise.
2212 (note_stores): Pass data parameter to worker function.
2213 * alias.c (record_set): Take additional parameter.
2214 (init_alias_analysis): Pass it.
2215 * caller-save.c (mark_set_regs): Take additional parameter.
2216 (save_call_clobbered_regs): Pass NULL to note_stores.
2217 * combine.c (set_nonzero_bits_and_sign_copies): Take additional
2218 parameter.
2219 (record_dead_and_set_regs_1): Likewise.
2220 (reg_dead_at_p_1): Likewise.
2221 (combine_instructions): Adjust calls to note_stores.
2222 (try_combine): Likewise.
2223 (record_dead_insn): Remove.
2224 (record_dead_and_set_regs): Adjust calls to note_stores.
2225 (reg_dead_at_p): Likewise.
2226 * cse.c (invalidate_skipped_set): Take additional parameter.
2227 (cse_check_loop_start): Likewise.
2228 (cse_check_loop_start_value): Remove.
2229 (cse_set_around_loop): Adjust calls to note_stores.
2230 * flow.c (notice_stack_pointer_modification): Take additional
2231 parameter. Remove duplicate declaration.
2232 (record_volatile_insns): Adjust calls to note_stores.
2233 * gcse.c (record_set_info): Take additional parameter.
2234 (record_last_set_info): Likewise.
2235 (invalidate_nonnull_info): Likewise.
2236 (record_set_insn): Remove.
2237 (compute_sets): Adjust calls to note_stores.
2238 (last_set_insn): Remove.
2239 (compute_hash_table): Adjust calls to note_stores.
2240 (insert_insn_end_bb): Likewise.
2241 (delete_null_pointer_checks): Likewise.
2242 * global.c (mark_reg_store): Take additional parameter.
2243 (mark_reg_clobber): Likewise.
2244 (reg_becomes_live): Likewise.
2245 (global_conflicts): Adjust calls to note_stores.
2246 (build_insn_chain): Likewise.
2247 * integrate.c (note_modified_parmregs): Take additional parameter.
2248 (mark_stores): Likewise. Make it static.
2249 (save_for_inline_nocopy): Adjust calls to note_stores.
2250 (try_constants): Likewise.
2251 * integrate.h (mark_stores): Remove declaration.
2252 * jump.c (mark_modified_reg): Take additional parameter.
2253 (thread_jumps): Adjust calls to note_stores.
2254 * local-alloc.c (validate_equiv_mem_from_store): Take additional
2255 parameter.
2256 (no_equiv): Likewise.
2257 (reg_is_set): Likewise.
2258 (validate_equiv_mem): Adjust calls to note_stores.
2259 (update_equiv_regs): Likewise.
2260 (block_alloc): Likewise.
2261 * loop.c (note_set_pseudo_multiple_uses_retval): Remove.
2262 (note_addr_stored): Take additional parameter.
2263 (note_set_pseudo_multiple_uses): Likewise.
2264 (record_initial): Likewise.
2265 (prescan_loop): Adjust calls to note_stores.
2266 (strength_reduce): Likewise.
2267 (check_dbra_loop): Likewise.
2268 * regmove.c (flags_set_1): Take additional paramter.
2269 (mark_flags_life_zones): Adjust calls to note_stores.
2270 * reload1.c (mark_not_eliminable): Take additional parameter.
2271 (forget_old_reloads_1): Likewise.
2272 (reload_cse_invalidate_rtx): Likewise.
2273 (reload_cse_check_clobber): Likewise.
2274 (reload_combine_note_store): Likewise.
2275 (move2add_note_store): Likewise.
2276 (reload): Adjust calls to note_stores.
2277 (reload_as_needed): Likewise.
2278 (emit_reload_insns): Likewise.
2279 (reload_cse_regs_1): Likewise.
2280 (reload_cse_record_set): Adjust calls to reload_cse_invalidate_rtx.
2281 (reload_combine): Adjust calls to note_stores.
2282 * resource.c (update_live_status): Take additional paramter.
2283 (mark_target_live_regs): Adjust calls to note_stores.
2284 * stupid.c (find_clobbered_regs): Take additional parameter.
2285 (stupid_life_analysis): Adjust calls to note_stores.
2286
6ead9ba5
NC
2287Wed Oct 27 19:26:12 1999 Nick Clifton <nickc@cygnus.com>
2288
2289 * config/arm/coff.h (STRUCTURE_SIZE_BOUNDARY): Delete
2290 definition.
2291
2292 * config/arm/elf.h (STRUCTURE_SIZE_BOUNDARY): Delete
2293 definition.
2294
2295 * config/arm/arm.h (STRUCTURE_SIZE_BOUNDARY): Define in terms
2296 of the variable arm_structure_size_boundary.
2297
e05e2395
MM
2298Wed Oct 27 02:05:58 1999 Mark P. Mitchell <mark@codesourcery.com>
2299
2300 * alias.c (init_alias_analysis): Allocate reg_known_value and
2301 reg_known_equiv_p on the heap. Likewise for new_reg_base_value
2302 and reg_seen.
2303 (end_alias_analysis): Free reg_known_value and reg_known_equiv_p.
2304 * cse.c (cse_main): Call end_alias_analysis.
2305 * haifa-sched.c (schedule_insns): Likewise.
2306 * local-alloc. (update_equiv_regs): Likewise.
2307 * reload1.c (reload_cse_regs): Likewise.
2308
46cc13b3
RO
2309Wed Oct 27 01:49:17 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2310
2311 * sparc/sparc.c (sparc_override_options): Clear MASK_FPU_SET.
2312 * sparc/sparc.h (TARGET_SWITCHES): Add "fpu" entry for reverse
2313 mapping from MASK_FPU.
2314
8232d28f
SC
2315Wed Oct 27 01:42:26 1999 Scott Christley <scottc@net-community.com>
2316
2317 * sparc.md (call): Don't bound structure return size to 0xfff.
2318
0b8d60fa
RH
2319Wed Oct 27 00:56:59 1999 Richard Henderson <rth@cygnus.com>
2320
2321 * resource.c (mark_target_live_regs): Check that the target
2322 insn wasn't created after compute_bb_for_insn.
2323
c831fdea
MM
2324Tue Oct 26 23:15:03 1999 Mark Mitchell <mark@codesourcery.com>
2325
2326 * ggc-page.c (poison_pages): Don't be overzealous.
2327
95815af9
JL
2328Tue Oct 26 23:29:18 1999 Jeffrey A Law (law@cygnus.com)
2329
b3b5ad95
JL
2330 * alias.c: Update comments for ADDRESS.
2331 (nonlocal_reference_p): Look inside the ADDRESS to determine if
2332 it is a local memory reference.
2333
95815af9
JL
2334 * c-typeck.c (build_function_call): Check that the built-in
2335 function is of class BUILT_IN_NORMAL before trying to recongize
2336 it as BUILT_IN_ABS.
2337 * calls.c (calls_function_1): Similarly for BUILT_IN_ALLOCA.
2338 * stmt.c (expand_end_cae): Similarly for BUILT_IN_CLASSIFY_TYPE.
283a2545
RL
2339
2340Wed Oct 27 00:14:13 1999 Robert Lipe <robertlipe@usa.net>
2341
2342 * gcse.c (expr_reaches_here_p): Use xcalloc and explit free instead
2343 of alloca.
2344 (pre_gcse): Likewise.
2345 (hoist_expr_reaches_here_p): Likewise.
2346 (hoist_code): Likewise.
2347 (pre_expr_reaches_here_p): Replace alloca with xcalloc. Move core
2348 code to ...
2349 (pre_expr_reaches_here_p_work): ... here.
2350 (expr_reaches_here_p): Replace alloca with xcalloc. Move core
2351 code to ...
2352 (expr_reaches_here_p_work): ... here.
2353
d0247326
RH
2354Tue Oct 26 20:42:45 1999 Richard Henderson <rth@cygnus.com>
2355
2356 * resource.c (find_basic_block): Delete.
2357 (mark_target_live_regs, incr_ticks_for_insn): Use BLOCK_NUM instead.
2358 (init_resource_info): Call compute_bb_for_insn.
2359
93cba993
RH
2360Tue Oct 26 20:21:02 1999 Richard Henderson <rth@cygnus.com>
2361
2362 * flow.c (merge_blocks_move_predecessor_nojumps): Cope
2363 with already adjacent blocks, but no fallthru.
2364 (merge_blocks_move_successor_nojumps): Simplify.
2365 (debug_flow_info): New.
2366
2367 * toplev.c (rest_of_compilation): Open jump1 dump file before
2368 jump and close after, as opposed to just using dump_rtl.
2369
09a308fe
R
2370Wed Oct 27 03:09:23 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
2371
2372 * reload.h (earlyclobber_operand_p): Declare.
2373 * reload.c (earlyclobber_operand_p): Don't declare. No longer static.
2374 * reload1.c (reload_reg_free_for_value_p): RELOAD_OTHER reloads with
2375 an earlyclobbered output conflict with RELOAD_INPUT reloads - handle
2376 case where the RELOAD_OTHER reload is new. Use earlyclobber_operand_p.
2377
a05924f9
JH
2378Tue Oct 26 18:23:38 1999 Jan Hubicka <hubicka@freesoft.cz>
2379 Richard Henderson <rth@cygnus.com>
2380
2381 * emit-rtl.c (emit_block_insn_before): New.
2382 (emit_block_insn_after): New.
2383 * basic-block.h: Declare them.
2384
2385 * bitmap.h: Protect from multiple inclusion.
2386
2387 * recog.c (scratch_operand): Handle VOIDmode correctly.
2388
2389 * rtl.h (JUMP_CROSS_JUMP_DEATH_MATTERS): New.
2390
2391 * builtins.c (expand_builtin_apply_args_1): Remove STACK_REGS hack.
2392 * function.c (assign_parms): Likewise.
2393 * global.c (global_conflicts): Clarify STACK_REGS commentary.
2394
2395 * reg-stack.c (max_uid): Remove.
2396 (blocks, block_begin, block_end, block_drops_in): Remove.
2397 (block_stack_in, block_out_reg_set, block_number): Remove.
2398 (struct block_info_def, BLOCK_INFO): New.
2399 (enum emit_where): New.
2400 (current_block): New.
2401 (BLOCK_NUM): Remove.
2402 (mark_regs_pat, record_label_references): Remove.
2403 (record_reg_life_pat, record_reg_life, find_blocks): Remove.
2404 (nan): New.
2405 (goto_block_pat, print_blocks, dump_stack_info): Remove.
2406 (reg_to_stack): Simplified test for existance of fp code. Use
2407 flow.c code. Call shorten_branches after cross-jump opt.
2408 (check_asm_stack_operands): Renamed from record_asm_reg_life.
2409 Return false if the asm doesn't use stack regs. Don't do life
2410 analysis on the asm.
2411 (emit_pop_insn): Replace function pointer arg `when' with
2412 enum `where'. Update all callers.
2413 (change_stack): Likewise. Update basic block end.
2414 (emit_swap_insn): Use current_block->head to limit reverse search
2415 for start of block. Use emit_block_insn_after.
2416 (subst_stack_regs_pat): Handle USE and CLOBBER patterns.
2417 (subst_asm_stack_regs): Use check_asm_stack_operands. Use direct
2418 structure assignment instead of bcopy.
2419 (print_stack): New.
2420 (convert_regs_entry, convert_regs_exit): New.
2421 (convert_regs_1, convert_regs_2): Split out from convert_regs.
2422 Work on basic blocks and the CFG.
2423 (convert_regs): Use them.
2424
2425 * i386.c (output_fix_trunc): Remove code for DImode input operand
2426 not at top-of-stack.
2427 * i386.c (fix_truncdfdi2, fix_truncsfdi2): Use scratch with
2428 appropriate mode.
2429 (fix_truncdi_1): Allow any mode scratch.
2430
b517dcd2
RH
2431Tue Oct 26 13:30:35 1999 Richard Henderson <rth@cygnus.com>
2432
2433 * alpha.h (TARGET_MEM_FUNCTIONS): Define here.
2434 * linux.h, netbsd.h, vms.h: Not here.
2435
1d5d552e
GRK
24361999-10-26 Gavin Romig-Koch <gavin@cygnus.com>
2437
2438 * config/mips/mips.h (ISA_HAS_64BIT_REGS,ISA_HAS_BRANCHLIKELY,
2439 ISA_HAS_FP4,ISA_HAS_CONDMOVE): New.
2440 (GENERATE_BRANCHLIKELY,HAVE_SQRT_P,
2441 CONDITIONAL_REGISTER_USEAGE): Use them.
2442 * config/mips/mips.c (mips_move_1word,mips_move_2words,
2443 gen_conditional_branch,override_options) : Use them.
2444 * config/mips/mips.md : Use them.
2445
044bdac1
RH
2446Tue Oct 26 13:09:23 1999 Richard Henderson <rth@cygnus.com>
2447
2448 * i386.md (zero_extendqihi2): Use SImode register name with andl.
2449
cd8cee7b
RH
2450Tue Oct 26 12:35:38 1999 Richard Henderson <rth@cygnus.com>
2451
2452 * integrate.c (function_cannot_inline_p): Don't allow inlining
2453 if setjmp is used.
2454
ec0ce6e2
KG
2455Tue Oct 26 14:10:23 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2456
2457 * c-parse.in (cast_expr): Constify.
2458
2459 * cccp.c (special_symbol): Likewise.
2460
2461 * cse.c (hash_cse_reg_info, cse_reg_info_equal_p): Likewise.
2462
2463 * dwarf2out.c (base_type_die): Likewise.
2464
2465 * global.c (allocno_compare): Likewise.
2466
2467 * local-alloc.c (qty_compare_1, qty_sugg_compare_1): Likewise.
2468
2469 * regclass.c (fix_register): Likewise.
2470
2471 * rtl.h (fix_register): Likewise.
2472
2473 * stupid.c (stupid_reg_compare): Likewise.
2474
2475 * toplev.c (decode_f_option): Likewise.
2476
2477 * tree.c (build_complex_type): Likewise.
2478
d8d79d15
RE
2479Tue Oct 26 18:35:25 1999 Richard Earnshaw <rearnsha@arm.com>
2480
2481 * output.h: Don't unnecessarily conditionalize prototypes on TREE_CODE.
2482
67e61fe7
BS
2483Tue Oct 26 15:42:56 1999 Bernd Schmidt <bernds@cygnus.co.uk>
2484
2485 * reload.c (find_reloads): Compute mode and nregs fields of all
2486 reloads.
2487 * reload1.c (calculate_needs_all_insns): Simplify a bit.
2488 (calculate_needs): Use precomputed mode/nregs values.
2489 (allocate_reload_reg): Likewise.
2490 Break out two...
2491 (failed_reload, set_reload_reg): ... new functions.
2492 (choose_reload_regs_init): New function, mostly broken out from...
2493 (choose_reload_regs): ... here. Lose all the save_xxx nonsense.
2494 Also lose one #if 0 block.
2495
35f86a50
ME
2496Tue Oct 26 02:48:32 1999 Marc Espie <espie@cvs.openbsd.org>
2497
2498 * Makefile.in (AR_FOR_TARGET, RANLIB_FOR_TARGET): Fix target name
2499 substitution.
2500
2af0ac28
MM
2501Tue Oct 26 01:27:32 1999 Mark Mitchell <mark@codesourcery.com>
2502
2503 * tree.h (BLOCK_TYPE_TAGS): Remove.
2504 (BLOCK_END_NOTE): Likewise.
2505 (BLOCK_LIVE_RANGE_FLAG): Likewise.
2506 (BLOCK_LIVE_RANGE_START): Likewise.
2507 (BLOCK_LIVE_RANGE_END): Likewise.
2508 (tree_block): Remove live_range_flag, live_range_var_flag, and
2509 type_tags. Remove end_note, live_range_start, and live_range_end.
2510 (remember_end_note): Remove prototype.
2511 * tree.c (build_block): Don't set BLOCK_TYPE_TAGS.
2512 * c-decl.c (poplevel): Don't set BLOCK_TYPE_TAGS or call
2513 remember_end_note.
2514 * ggc-common.c (ggc_mark_tree_children): Don't mark
2515 BLOCK_TYPE_TAGS or BLOCK_END_NOTE.
2516 * integrate.c (adjust_copied_decl_tree): Remove.
2517 * print-tree.c (print_node): Don't print BLOCK_TYPE_TAGS.
2518 * stmt.c (last_block_end_note): Remove.
2519 (init_stmt): Don't add a GC root for it.
2520 (expand_fixup): Don't set it.
2521 (remember_end_note): Remove.
2522 (expand_end_bindings): Don't set last_block_end_note.
2523
c2b4b171
BS
2524Tue Oct 26 00:41:54 1999 Bernd Schmidt <bernds@cygnus.co.uk>
2525
2526 * reload1.c (reload_reg_free_for_value_p): Show
2527 RELOAD_FOR_OTHER_ADDRESS reloads can conflict with RELOAD_OTHER
2528 reloads.
2529
7f6dae2a
GK
2530Mon Oct 25 23:54:45 1999 Geoff Keating <geoffk@cygnus.com>
2531
3306eb80
GK
2532 * expmed.c (extract_bit_field): Allow for the case of non-integer
2533 objects that are smaller than a word (like SFmode on a 64-bit
2534 machine).
2535
7f6dae2a
GK
2536 * loop.c (basic_induction_var): A non-integer variable which is
2537 being set by a paradoxical subreg is probably not a biv.
2538
7146dfdd
HB
25391999-10-25 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2540
2541 * prefix.c (translate_name) Check for empty prefix string.
2542
9799e470
AS
2543Mon Oct 25 23:10:45 1999 Andreas Schwab <schwab@suse.de>
2544
2545 * Makefile.in (CPP_CROSS_NAME): New variable.
2546 (install-cpp): Use it instead of CPP_INSTALL_NAME for the cross
2547 xcpp.
2548 (uninstall-cpp): Use CPP_INSTALL_NAME and CPP_CROSS_NAME for the
2549 names of the files to be uninstalled.
2550
4525e228
JL
2551Mon Oct 25 23:03:09 1999 Jeffrey A Law (law@cygnus.com)
2552
c2897436
JL
2553 * collect2.c (IS_DIR_SEPARATOR): Define.
2554 (prefix_from_string): Use IS_DIR_SEPARATOR and DIR_SEPARATOR.
2555
92bcb380
JL
2556 * som.h (ASM_DECLARE_FUNCTION_NAME): Set PRIV_LEV for static
2557 functions too.
2558
4525e228
JL
2559 * haifa-sched.c (add_dependence): Update the true dependency
2560 cache the first time we add a true dependence to the LOG_LINKS chain.
2561
a36335da
JK
2562Mon Oct 25 22:27:40 1999 Jim Kingdon <http://developer.redhat.com/>
2563
2564 * fold-const.c (fold): Fix comment.
2565
a996cbd4
KG
2566Mon Oct 25 22:49:34 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2567
2568 * dbxout.c (lastfile, cwd, dbxout_type_method_1,
2569 dbxout_symbol_location, dbxout_symbol_name, dbxout_init,
2570 dbxout_start_new_source_file, dbxout_source_file,
2571 dbxout_source_line, dbxout_finish, dbxout_type_fields,
2572 dbxout_type_methods, dbxout_symbol, dbxout_prepare_symbol):
2573 Constify a char*.
2574 (dbxout_types, dbxout_args, dbxout_symbol): Delete prototypes.
2575 (dbxout_symbol): Mark parameter `local' with ATTRIBUTE_UNUSED.
2576 (dbxout_block): Initialize variable `blocknum'.
2577
2578 * dbxout.h (dbxout_init, dbxout_finish,
2579 dbxout_start_new_source_file, dbxout_source_file, dbxout_types,
2580 dbxout_args, dbxout_source_line): Constify a char*.
2581
2582 * dwarfout.c (dwarf_tag_name, dwarf_attr_name,
2583 dwarf_stack_op_name, dwarf_typemod_name, dwarf_fmt_byte_name,
2584 dwarf_fund_type_name, name_attribute, stmt_list_attribute,
2585 low_pc_attribute, high_pc_attribute, body_begin_attribute,
2586 body_end_attribute, comp_dir_attribute, sf_names_attribute,
2587 src_info_attribute, mac_info_attribute, producer_attribute,
2588 lookup_filename, generate_macinfo_entry, fundamental_type_code,
2589 dwarfout_line, dwarfout_start_new_source_file, dwarfout_define,
2590 dwarfout_undef): Constify a char*.
2591 (add_incomplete_type, retry_incomplete_types): Add prototypes.
2592
2593 * dwarfout.h (dwarfout_define, dwarfout_undef,
2594 dwarfout_start_new_source_file, dwarfout_line): Constify a char*.
2595
ea09f032
GRK
25961999-10-25 Gavin Romig-Koch <gavin@cygnus.com>
2597
2598 * config/mips/mips.h (MIPS_ISA_DEFAULT): Insure it's defined.
2599 (MULTILIB_ISA_DEFAULT): New.
2600 (MULTILIB_DEFAULTS): Use it.
2601 * config/mips/mips.c (): Remove the now unnecessary definition
2602 of MIPS_ISA_DEFAULT.
2603 * config/mips/elf64.h (MULTILIB_DEFAULTS): Remove the now
2604 unnecessary definition.
2605
f12c5ef3
RE
2606Mon Oct 25 22:08:35 1999 Richard Earnshaw (rearnsha@arm.com)
2607
2608 * arm.md (pic_load_addr): Add constraints to operand 1.
2609
dc994a6d
BK
26101999-10-25 Bruce Korb <autogen@linuxbox.com>
2611
f12c5ef3
RE
2612 * fixinc/genfixes: Provide a means for specifying -D options to
2613 AutoGen
dc994a6d 2614
59487769
JL
2615Mon Oct 25 00:42:35 1999 Jeffrey A Law (law@cygnus.com)
2616
2ca12935
JL
2617 * arm.c (arm_override_options): Correct initialization of
2618 arm_fast_multiply, arm_arch4, arm_arch5, arm_ld_sched,
2619 arm_is_strong, and arm_is_6_or_7.
2620
59487769
JL
2621 * loop.c (note_set_pseudo_multiple_uses_retval): New variable.
2622 (note_set_pseudo_multiple_uses): New function.
2623 (check_dbra_loop): Use not_set_pseudo_multiple_uses to determine
2624 if a pseudo set in the loop exit is used elsewhere.
2625
20819a09
MM
2626Sun Oct 24 20:52:40 1999 Mark Mitchell <mark@codesourcery.com>
2627
2628 * i386.md (mulsi3): Tweak to work with SCO OSR5 COFF assembler.
2629
ad678cb0
RH
2630Sun Oct 24 21:02:46 1999 Richard Henderson <rth@cygnus.com>
2631
2632 * i386.md (*lea_0): Collapse addsi_0, addsi_lea_[123] into
2633 a single load-address pattern.
2634
f77e39fc
MM
2635Sun Oct 24 19:33:24 1999 Mark P. Mitchell <mark@codesourcery.com>
2636
2637 * haifa-sched.c (schedule_insns): Don't assign LUIDs differently
2638 depending on whether or not line-number notes are present.
2639
4b79993f
KG
2640Sun Oct 24 20:29:59 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2641
2642 * cccp.c (progname, file_buf, default_include, include_file,
2643 macrodef, definition, hashval, wchar_type, user_label_prefix,
2644 directive, out_fname, if_stack, safe_write, index0, get_lintcmd,
2645 expand_to_temp_buffer, is_system_include, base_name,
2646 absolute_filename, read_name_map, open_include_file,
2647 record_control_macro, check_precompiled, check_preconditions,
2648 pcfinclude, pass_thru_directive, create_definition,
2649 check_macro_name, comp_def_part, collect_expansion,
2650 check_assertion, read_token_list, assertion_install,
2651 assertion_lookup, eval_if_expression, conditional_skip,
2652 validate_else, skip_quoted_string, quote_string, macarg1,
2653 error_from_errno, install, lookup, hashf, dump_defn_1,
2654 perror_with_name, pfatal_with_name, main, trigraph_pcp,
2655 check_white_space, rescan, handle_directive, monthnames,
2656 special_symbol, do_include, remap_include_file, write_output,
2657 arglist, do_assert, do_unassert, do_line, do_error, do_once,
2658 do_ident, do_sccs, do_xifdef, skip_if_group,
2659 output_line_directive, macroexpand, macarg, change_newlines,
2660 initialize_builtins, make_definition): Constify a char*.
2661
2662 * pcp.h (stringdef): Likewise.
2663
65c8a03d
RH
2664Sun Oct 24 13:29:28 1999 Richard Henderson <rth@cygnus.com>
2665
2666 * unroll.c (copy_loop_body): Examine SET_DEST of single_set
2667 not of pattern.
2668
ac606739
GS
2669Sun Oct 24 13:14:20 1999 Graham <grahams@rcp.co.uk>
2670 Richard Henderson <rth@cygnus.com>
2671
2672 * alias.c: Include ggc.h.
2673 (reg_base_value, new_reg_base_value, reg_base_value_size): Make static.
2674 (record_set): Verify enough room in reg_base_value.
2675 (init_alias_analysis): Allocate reg_base_value with xcalloc.
2676 Register it as a GC root.
2677 (end_alias_analysis): Free reg_base_value. Remove it as a GC root.
2678 * Makefile.in (alias.o): Depend on ggc.h.
2679
2680 * unroll.c (unroll_loop): Verify the insn before a barrier
2681 is a JUMP_INSN before checking JUMP_LABEL.
2682
9d73cc12
KG
2683Sun Oct 24 15:46:44 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2684
2685 * mips/bsd-5.h (ASM_OUTPUT_ASCII): Constify a char*.
2686 * mips/iris4.h (ASM_OUTPUT_ASCII): Likewise.
2687 * mips/mips-5.h (ASM_OUTPUT_ASCII): Likewise.
2688 * mips/mips.h (ASM_OUTPUT_ASCII): Likewise.
2689 * mips/svr3-5.h (ASM_OUTPUT_ASCII): Likewise.
2690 * mips/svr4-5.h (ASM_OUTPUT_ASCII): Likewise.
2691
7751947b
KG
2692Sun Oct 24 15:35:43 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2693
2694 * output.h (ctors_section, dtors_section, bss_section): Prototype.
2695
2696 * alpha/alpha-interix.h (text_section): Delete prototype.
2697 * alpha/elf.h (text_section): Likewise.
2698 * arm/linux-elf.h (text_section): Likewise.
2699 * arm/linux-telf.h (text_section): Likewise.
2700 * c4x/c4x.h (text_section): Likewise.
2701 * dsp16xx/dsp16xx.h (bss_section): Likewise.
2702 * elfos.h (text_section): Likewise.
2703 * i386/aix386ng.h (text_section): Likewise.
2704 * i386/i386-interix.h (text_section): Likewise.
2705 * i386/sco5.h (text_section): Likewise.
2706 * i386/svr3gas.h (text_section): Likewise.
2707 * nextstep.h (text_section): Likewise.
2708 * psos.h (text_section): Likewise.
2709 * ptx4.h (text_section): Likewise.
2710 * svr3.h (text_section): Likewise.
2711 * svr4.h (text_section, ctors_section, dtors_section): Likewise.
2712
36f0e0a6
KG
2713Sun Oct 24 15:20:59 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2714
2715 * final.c (peephole): Delete prototype.
2716
2717 * gcse.c (process_insert_insn, pre_edge_insert): Add prototypes.
2718 (pre_insert_copies): Remove unused variable `bb'.
2719
2720 * genrecog.c (debug_decision_0, debug_decision_list, main): Add
2721 prototypes.
2722
2723 * output.h (peephole): Add prototype.
2724
87bb6e4b
MM
2725Sun Oct 24 11:35:30 1999 Mark P. Mitchell <mark@codesourcery.com>
2726
2727 * config/mips/iris6.h (SUBTARGET_ASM_OPTIMIZING_SPEC): Define to
2728 -O0.
2729
f120f901
MM
2730Sat Oct 23 21:13:00 1999 Mark Mitchell <mark@codesourcery.com>
2731
2732 * integrate.c (integrate_decl_tree): Tweak setting of DECL_CONTEXT
2733 for inlined declarations.
2734
6ab589e0
JL
2735Fri Oct 22 18:05:43 1999 Jeffrey A Law (law@cygnus.com)
2736
2737 * arm.c (logical_binary_operator): New fucntion.
2738 * arm.h (logical_binary_operator): Declare it.
2739 (PREDICATE_CODES): Handle logical_binary_operator.
2740 * arm.md (anddi3, anddi_zesidi_di, anddi_sesdi_di): Use "#" for
2741 output constraints. Add appropriate splitters.
2742 (anddi_notdi_di, anddi_notzesidi_di, anddi_notsesidi_di): Likewise.
2743 (iordi3, iordi_zesidi_di, iordi_sesidi_di): Likewise.
2744 (xordi3, xordi_zesidi_di, xordi_sesidi_di): Likewise.
2745
dfac187e
BS
2746Fri Oct 22 23:46:50 1999 Bernd Schmidt <bernds@cygnus.co.uk>
2747
2748 * genoutput.c (struct operand_data): New elt eliminable.
2749 (output_operand_data): Write it.
2750 (scan_operands): Set it for MATCH_OPERAND, clear for other matchers.
2751 (compare_operands): Take it into account.
2752 * recog.h (struct insn_operand_data): New elt eliminable.
2753 * reload1.c (check_eliminable_occurrences, elimination_effects): New
2754 functions.
2755 (old_asm_operands_vec, new_asm_operands_vec): Delete.
2756 (eliminate_regs): Move code that detects changes to elimination
2757 target regs into new function elimination_effects.
2758 Delete one #if 0 block.
2759 Abort for USE, CLOBBER, ASM_OPERANDS and SET.
2760 (eliminate_regs_in_insn): Return immediately for USEs, CLOBBERs,
2761 ADDR_VECs, ADDR_DIFF_VECs and ASM_INPUTs.
2762 Only call eliminate_regs for real operands of the insn, not for parts
2763 of its structure or parts matched by things like match_operator.
2764 Use elimination_effects and check_eliminable_occurrences. Use
2765 copy_insn to duplicate the pattern when not in the final pass.
2766
7ebb782b
MM
2767Fri Oct 22 09:03:44 1999 Mark Mitchell <mark@codesourcery.com>
2768
2769 * i386.md: Add missing `y' modifiers to uses of fst, fstp, fld,
2770 and fld.
2771
8f9ca912
BK
27721999-10-22 Bruce Korb <autogen@linuxbox.com>
2773
2774 * fixinc/README: document the "mach" machine matching test
2775 * fixinc/fixfixes.c: Implement the #else/#endif label fix
2776 * fixinc/fixtests.c: Implement the #else/#endif label test
2777 * fixinc/inclhack.def: utilize these tests and fixes
2778 * fixinc/inclhack.sh: regen
2779 * fixinc/fixincl.x: regen
2780 * fixinc/fixincl.sh: regen
2781
d84319de
JL
2782Thu Oct 21 20:37:19 1999 Jeffrey A Law (law@cygnus.com)
2783
2784 * Makefile.in (cse.o): Depend on hashtab.h, not splay-tree.h. Also
2785 depend on ggc.h.
2786
84221183
MK
2787Thu Oct 21 20:30:19 1999 Matthias Klose <doko@debian.org>
2788
2789 * gcc.1: Document exit codes.
2790
b1474bb7
KG
2791Thu Oct 21 12:49:05 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2792
2793 * calls.c: Include tm_p.h later, so everything we need is defined.
2794 * expr.c: Likewise.
2795 * function.c: Likewise.
2796
2797 * except.c: Include tm_p.h.
2798
2799 * sparc.c: Likewise.
2800 (dwarf2out_cfi_label): Don't prototype.
2801 (check_return_regs, epilogue_renumber,
2802 ultra_cmove_results_ready_p, ultra_fpmode_conflict_exists,
2803 ultra_find_type, ultra_build_types_avail, ultra_flush_pipeline,
2804 ultra_rescan_pipeline_state, set_extends, ultra_code_from_mask,
2805 ultra_schedule_insn): Add static prototype.
2806 (data_segment_operand, text_segment_operand): Call itself with the
2807 proper number of arguments.
2808 (sparc_flat_save_restore, sparc_v8plus_shift): Constify a char*.
2809
2810 * sparc.h: Move all declarations to sparc-protos.h.
2811 (SELECT_RTX_SECTION): Pass a missing MODE argument to
2812 symbolic_operand.
2813
2814 * sparc/sysv4.h (SELECT_RTX_SECTION): Likewise.
2815
2816 * config/svr4.h (text_section, ctors_section, dtors_section): Add
2817 Prototypes.
2818 (ASM_OUTPUT_SECTION_NAME, UNIQUE_SECTION,
2819 ASM_FINISH_DECLARE_OBJECT, ASM_OUTPUT_LIMITED_STRING,
2820 ASM_OUTPUT_ASCII): Constify a char*.
2821
2822 * sparc-protos.h: New file for sparc prototypes.
2823
ec97b83a
KG
2824Thu Oct 21 12:23:40 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2825
2826 * function.c (record_insns, contains): Always declare and define.
2827 (record_insns): Mark with ATTRIBUTE_UNUSED.
2828
ec8aac6f
JL
2829Thu Oct 21 13:03:49 1999 Jonathan Larmour <jlarmour@cygnus.co.uk>
2830
2831 * config/arm/telf.h (ASM_OUTPUT_SECTION_NAME): Add %nobits option
2832 to .section when outputting a .bss section to deal with multiple
2833 .bss input sections (as happens with -fdata-sections)
2834 Also output %progbits, not @progbits so the assembler doesn't treat as
2835 a comment.
2836 * config/arm/unknown-elf.h (ASM_OUTPUT_SECTION_NAME): Likewise
2837
2838 * config/arm/lib1funcs.asm (_call_via_rX): Allow compilation of
2839 thumb parts even when building with non-thumb CPUs, by forcing
2840 thumb mode.
2841
b768aa38
JL
2842Wed Oct 20 22:57:58 1999 Jeffrey A Law (law@cygnus.com)
2843
e54635a2
JL
2844 * sparc.md (movsf_const_intreg): If splitting, length must be > 1.
2845 (movdf_const_intreg_sp64): Similarly.
2846
b768aa38
JL
2847 * local-alloc.c (update_equiv_regs): Check the correct insn
2848 for pre-existing REG_EQUIV notes.
2849
16b702cd
MM
2850Wed Oct 20 20:41:46 1999 Mark Mitchell <mark@codesourcery.com>
2851
2852 * cse.c (cse_end_of_basic_block): Don't return the end of a basic
2853 block reached by a branch if we're not going to actually process
2854 this block.
2855
417d348c
JW
2856Wed Oct 20 15:18:42 1999 Jim Wilson <wilson@cygnus.com>
2857
2858 * integrate.c (integrate_decl_tree): Set DECL_CONTEXT to 0 if this is
2859 a local extern function declaration.
2860
276ab4a4
RH
2861Wed Oct 20 13:56:01 1999 Richard Henderson <rth@cygnus.com>
2862
2863 * i386.c (ix86_expand_prologue): Properly wrap USE around
2864 reg for CALL_INSN_FUNCTION_USAGE.
2865
c26040ee
AH
2866Thu Oct 14 18:51:37 1999 Andrew Haley <aph@cygnus.com>
2867
2868 * config/mips/mips.md (movdf_internal1a): Allow floating-point
2869 move between GP_REGs.
2870
7086004d
AH
2871Wed Oct 20 15:36:11 1999 Andrew Haley <aph@cygnus.com>
2872
2873 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Take account of
2874 the mode size when finding out if an offset is legal.
2875
49c3bb12
RH
2876Wed Oct 20 06:26:58 1999 Richard Henderson <rth@cygnus.com>
2877
2878 * basic-block.h (PROP_*): Move constants from ...
2879 * flow.c: ... here.
2880 (compute_bb_for_insn): Free the array before reallocating.
2881 (update_life_info): New arg PROP_FLAGS; pass on to propagate_block.
2882 (allocate_reg_life_data): Reset all reg variables collected by
2883 propagate_block.
2884 (get_block_head_tail): Don't convert from bb to block.
2885 (get_bb_head_tail): New. Update all callers of get_block_head_tail.
2886 (find_insn_reg_weight): Take block not bb.
2887 (schedule_block): Don't set block num for moved insns.
2888 (schedule_region): Don't update_life_info or find_insn_reg_weight.
2889 (schedule_insns): Do it here instead.
2890 * combine.c (combine_instructions): Invoke compute_bb_for_insn
2891 before update_life_info.
2892 * recog.c (split_all_insns, peephole2_optimize): Update for
2893 new arg to update_life_info.
2894 * rtlanal.c (remove_note): Cope with NULL note.
2895 * toplev.c (rest_of_compilation): Don't invoke recompute_reg_usage
2896 if we did sched1.
2897
dc9e9f3f
RE
2898Wed Oct 20 10:46:41 1999 Richard Earnshaw (rearnsha@arm.com)
2899
2900 * jump.c (jump_optimize_1): More accurately detect casesi insns.
2901
ee7b8369
RE
2902 * flow.c (merge_blocks_move_predecessor_nojumps): Re-order the basic
2903 block records so that merge_blocks_nomove will clean up correctly.
506f9fbf 2904 (split_edge): Handle casesi insns.
ee7b8369 2905
5b918807
RE
2906 * gcc-page.c: Try MAP_ANON if we don't have MAP_ANONYMOUS.
2907
7978192f
JL
2908Tue Oct 19 23:43:50 1999 Jeffrey A Law (law@cygnus.com)
2909
2910 * pa.md (call, call_value): Do not emit a blockage after restoring
2911 the PIC register.
2912
1bef1e7c
MM
2913Tue Oct 19 17:22:39 1999 Mark Mitchell <mark@codesourcery.com>
2914
2915 * c-typeck.c (c_expand_asm_operands): Fix typo.
2916
9ce71c6f
BS
2917Tue Oct 19 18:42:58 1999 Bernd Schmidt <bernds@cygnus.co.uk>
2918
2919 * arm.c (fpu_rhs_operand): Verify modes.
2920 (fpu_add_operand): Likewise.
2921 (di_operand): Likewise.
2922 (soft_df_operand): Likewise.
2923
3a2ea258
RE
2924Tue Oct 19 15:26:11 1999 Richard Earnshaw (rearnsha@arm.com)
2925
2926 * arm.c (arm_return_in_memory): APCS rules state that the elements
2927 of a structure returned in a register must be 'integer-like'.
2928
db025289
BK
29291999-10-19 Bruce Korb <autogen@linuxbox.com>
2930
46cc13b3
RO
2931 * fixinc/Makefile.in: Change the generation rules to run `genfixes'
2932 in the source tree when the generated targets are out of date
2933 * fixinc/genfixes: Alter it to run individual fixes for make.
db025289
BK
2934 * fixinc/README: rewrite
2935 * fixinc/inclhack.def: moved initial comments to README
2936
0c70c30f
NC
2937Tue Oct 19 14:01:34 1999 Nick Clifton <nickc@cygnus.com>
2938
2939 * toplev.c (main): Do not generate an error message if an
2940 unrecognised command line switch is recognisable by another
2941 language. If extra_warnings are enabled, then generate a
2942 warning message instead.
2943
61e8b354
MK
2944Tue Oct 19 11:41:12 1999 Mumit Khan <khan@xraylith.wisc.edu>
2945
2946 * c-pragma.h (PRAGMA_INSERT_ATTRIBUTES): Delete macro.
2947 (insert_pack_attributes): Delete prototype.
2948
2949 * c-pragma.c (default_alignment): New static variable.
2950 (push_alignment): Initialize to current effective alignment.
2951 (pop_alignment): Use to set new alignment.
2952 (insert_pack_attributes): Delete function.
2953 (handle_pragma_token): Set default_alignment as well each time
2954 a #pragma pack(<n>) is encountered.
2955
f099b1c9
JL
2956Tue Oct 19 02:03:00 1999 Jeffrey A Law (law@cygnus.com)
2957
2958 * reg-stack.c (stack_result): Aggregates are not returned in
2959 stack registers.
2960
2af3e5fb
AB
2961Tue Oct 19 01:26:48 1999 Alasdair Baird <alasdair@wildcat.demon.co.uk>
2962
2963 * fold-const.c (fold): Fix thinko in x+(-0) -> x transformation.
2964
c88e8206
RH
2965Mon Oct 18 15:19:41 1999 Richard Henderson <rth@cygnus.com>
2966
2967 * basic-block.h (set_block_num): Declare.
2968 * flow.c (update_life_info): Don't call compute_bb_for_insn
2969 or free_basic_block_vars.
2970 * haifa-sched.c (remove_dependence): Conditionalize on HAVE_cc0.
2971 (insn_orig_block): Remove.
2972 (INSN_BLOCK): Remove. Update all callers to use BLOCK_NUM.
2973 (schedule_block): Keep BLOCK_NUM up-to-date.
2974 (schedule_insns): Use compute_bb_for_insn.
2975 * recog.c (split_all_insns): Likewise.
2976 (peephole2_optimize): Likewise.
2977
d3f4f2d6
AS
2978Mon Oct 18 18:50:51 1999 Andreas Schwab <schwab@suse.de>
2979
2980 * config/m68k/m68k.h (INITIAL_FRAME_POINTER_OFFSET): Add one word
2981 if the pic register is used.
2982
e3d2508d
BS
2983Mon Oct 18 02:38:46 1999 Bernd Schmidt <bernds@cygnus.co.uk>
2984
2985 * c-decl.c (pushdecl): Use TYPE_CONTEXT rather than TREE_PERMANENT.
2986 (finish_decl): Duplicate test for TREE_ASM_WRITTEN in else branch of
2987 if that tests TREE_PERMANENT.
2988
ca4cd906
JL
2989Mon Oct 18 01:41:35 1999 Jeffrey A Law (law@cygnus.com)
2990
b61a6c81
JL
2991 * cse.c (invalidate_for_call): Do not remove memory references from
2992 the table here. It's handled elsewhere.
2993
35c95c5a
JL
2994 * haifa-sched.c (add_dependence): Protect references to the
2995 true dependency cache with #ifdef INSN_SCHEDULING.
2996 (remove_dependence): Similarly.
2997
87b5c7e5
JL
2998 * mn10200.md (outline_epilogue_jump): Embed a (return) to indicate
2999 to the cfg code that this is a return instruction.
3000 * mn10300.md (return_internal): Similarly.
3001
ca4cd906
JL
3002 * combine.c (get_last_value): If the last set of a register
3003 is after subst_low_cuid, then we can not use it to determine
3004 the register's last value.
3005
d336e504
MM
3006Sun Oct 17 11:02:52 1999 Mark Mitchell <mark@codesourcery.com>
3007
3008 * Makefile.in: Back out previous change.
3009
aae0390e
JL
3010Sun Oct 17 15:22:50 1999 Jeffrey A Law (law@cygnus.com)
3011
7739ebae
JL
3012 * pa.c (move_operand): Reject (lo_sum (reg) (unspec ...)).
3013
aae0390e
JL
3014 * haifa-sched.c (add_dependence): Only check/update the cache
3015 if it exists.
3016 (remove_dependence): Likewise.
3017 (schedule_insns): Only create the true_dependency_cache if the
3018 average number of instructions in a basic block is very large.
3019
81631c48
MM
3020Sun Oct 17 11:02:52 1999 Mark Mitchell <mark@codesourcery.com>
3021
3022 * Makefile.in (ggc-common.o): Depend on genrtl.h.
3023 (ggc-simple.o): Likewise.
3024 (ggc-page.o): Likewise.
3025
3cce638b
AM
3026Sun Oct 17 02:09:50 1999 Andrew MacLeod <amacleod@cygnus.com>
3027
3028 * basic-block.h (pre_edge_lcm, pre_edge_rev_lcm, compute_available):
3029 Prototype for exported functions.
3030 (pre_lcm, pre_rev_lcm): Remove prototypes.
3031 * gcse.c (compute_ae_kill): Add ae_gen and ae_kill as parameters.
3032 (compute_available): Move to lcm.c, and change parameter order.
3033 (one_classic_gcse_pass): Call compute_ae_kill with parameters.
a42cd965
AM
3034 (pre_insert, s_preds, s_succs, num_preds, num_succs): Delete.
3035 (gcse_main): No longer call compute_preds_succs. Rebuild the
3036 set table after reach pre pass.
3037 (pre_insert_map, pre_delete_map, edge_list): New.
3038 (alloc_pre_mem): Allocate edge vectors.
3039 (free_pre_mem): Delete edge vectors.
3040 (compute_pre_data): Call new edge based lcm routines.
3041 (process_insert_insn): New function.
3042 (insert_insn_end_bb): Use it.
3043 (pre_edge_insert): New function.
3044 (pre_insert_copy_insn): Formatting fixes. Update BLOCK_END as
3045 needed.
3046 (pre_insert_copies): Revamp using new edge based lcm outputs.
3047 (pre_delete): Likewise.
3048 (one_pre_gcse_pass): Insert & remove fake edges to the exit
3049 block.
3050 (compute_code_hoist_vbeinout): New new edge based routines.
3cce638b
AM
3051 * lcm.c: Remove all the old LCM functions. Replace with new ones
3052 that work with the new cfg datastructures and work with edges
3053 instead of blocks.
3054
8ec450a4
BS
3055Sun Oct 17 00:44:17 1999 Bernd Schmidt <bernds@cygnus.co.uk>
3056
3057 * reload.h (struct reload): Add new fields "mode" and "nregs".
3058 * reload1.c: Change all occurrences of reload_mode and reload_nregs
3059 to reference the "mode" and "nregs" field within struct reload.
3060
e75f2df7
JL
3061Sat Oct 16 21:50:28 1999 Jeffrey A Law (law@cygnus.com)
3062
356edbd7
JL
3063 * haifa-sched.c (true_dependency_cache): New.
3064 (add_dependence): Use the true dependency cache to avoid expensive
3065 walks down the LOG_LINKS dependency list. Add entries to the
3066 cache as necessary.
3067 (remove_dependence): Remove entries from the true dependency cache
3068 as needed.
3069 (schedule_insns): Allocate and initialize and free the true
3070 dependency cache.
3071
e75f2df7
JL
3072 * haifa-sched.c (schedule_insns): Do not remove inter-block
3073 dependencies anymore.
3074
1b284f05
RH
3075Sat Oct 16 11:19:52 1999 Richard Henderson <rth@cygnus.com>
3076
3077 * i386/t-cygwin (winnt.o): Depend on RTL_H and TREE_H.
3078 * i386/t-winnt: Likewise.
3079
3080Sat Oct 16 11:11:54 1999 Richard Henderson <rth@cygnus.com>
3081
3082 * ggc-page.c (init_ggc): Work around SunOS unaligned mmap bug.
3083
28fe2fb7
MH
30841999-10-16 Manfred Hollstein <mhollstein@cygnus.com>
3085
3086 * Makefile.in (LANGUAGES): Omit "proto".
3087 (clean): Remove stale comment about removing unprotoize.c.
3088
9c592305
KG
3089Sat Oct 16 11:29:14 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3090
3091 * protoize.c (safe_read, safe_write): Avoid the gcc extension of
3092 using arithmetic on void pointers.
3093
706c5c2f
JL
3094Sat Oct 16 02:48:22 1999 Jeffrey A Law (law@cygnus.com)
3095
3096 * haifa-sched.c (compute_block_forward_dependencies): Only check
3097 for notes, deleted insns and duplicates if ENABLE_CHECKING is defined.
3098
297c3335
RH
3099Sat Oct 16 00:07:01 1999 Richard Henderson <rth@cygnus.com>
3100
3101 * gcse.c (hash_expr_1): Add in MEM_ALIAS_SET.
3102 (expr_equiv_p): Reject memories with different alias sets.
3103
a8aa7975
GM
3104Fri Oct 15 15:17:29 1999 Greg McGary <gkm@gnu.org>
3105
3106 * flags.h (flag_bounds_check, flag_bounded_pointers): New extern decls.
3107 * toplev.c (flag_bounds_check, flag_bounded_pointers): New flags.
3108 (f_options): Add "bounded-pointers" and "bounds-check" entries.
3109 * c-lang.c (lang_init_options): Set flag_bounds_check as "unspecified".
3110 (lang_init): Set default for flag_bounds_check if still "unspecified".
3111
a9d3cc3f
MH
3112Sat Oct 16 13:42:29 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3113
3114 * config/c4x/c4x.md (HF mode patterns): Add missing modes.
3115
0dced2c7
MH
3116Sat Oct 16 13:37:46 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3117
3118 * config/c4x/c4x.md (movstrqi_small): Utilise parallel move
3119 instructions.
3120
6c7811a8
MH
3121Sat Oct 16 13:26:47 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3122
3123 * config/c4x/c4x.md (*db_noclobber,
3124 *decrement_and_branch_until_zero_noclobber): New patterns and
3125 associated splitters.
3126
1f7c7f6f
MH
3127Sat Oct 16 13:13:15 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3128
3129 * config/c4x/c4x.md (parallel instruction patterns): Rework
3130 constraints to keep reload happy.
3131
57e5bce8
MH
3132Sat Oct 16 13:03:16 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3133
3134 * config/c4x/c4x.md (*absqi2_noclobber, *negqi2_noclobber,
3135 *one_cmplqi2_noclobber, *subqi3_noclobber, *andqi3_255_noclobber,
3136 *andqi3_65535_noclobber, *andnqi3_noclobber, *xorqi3_noclobber):
3137 Add new patterns and associated post-reload splitters.
3138
3411b713
MH
3139Sat Oct 16 12:42:12 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3140
3141 * config/c4x/c4x.c (c4x_emit_libcall): Use ggc_alloc_string.
3142
3b5e8a16
MH
3143Sat Oct 16 12:34:44 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3144
3145 * config/c4x/c4x.c (c4x_rptb_insert): Emit rpts_top pattern
3146 if appropriate.
3147 * config/c4x/c4x.md (rpts_top): New pattern and splitter.
3148
1a616dfc
MH
3149Sat Oct 16 12:26:30 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3150
3151 * config/c4x/c4x.c (src_operand): Check SYMBOL_REF and LABEL_REF
3152 memory mode.
3153
f9b5668e
JL
3154Fri Oct 15 17:02:09 1999 Jeffrey A Law (law@cygnus.com)
3155
3156 * pa.c (move_operand): Rely on memory_address_p to determine the
3157 validity of non-indexed memory addresses.
3158 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Allow LO_SUM with a symbolic
3159 operand in DFmode and SFmode when generating PA2.0 code.
3160
d5e3e85b
RH
3161Fri Oct 15 14:25:19 1999 Richard Henderson <rth@cygnus.com>
3162
3163 * print-rtl.c (print_rtx): Limit last 'u' change to LABEL_REF.
3164
810c1b83
RH
3165Fri Oct 15 13:48:45 1999 Richard Henderson <rth@cygnus.com>
3166
3167 * mips.c (function_prologue): Fix argument types.
3168 * mips.md (casesi): Use emit_jump_insn for casesi_internal.
3169 (casesi_internal): Write to the scratch register.
3170
a2c8e144
ZW
31711999-10-15 11:16 -0700 Zack Weinberg <zack@bitmover.com>
3172
3173 * cppexp.c (cpp_parse_escape): Make static. Change second arg
3174 to U_CHAR **.
3175 (parse_charconst): Delete unnecessary cast when calling
3176 cpp_parse_escape.
3177 (cpplib.h): Kill prototype of cpp_parse_escape.
3178
104dfaa8
RH
3179Fri Oct 15 11:02:46 1999 Richard Henderson <rth@cygnus.com>
3180
3181 Based on patch from Michael Gschwind <mikeg@watson.ibm.com>:
3182 * unroll.c (unroll_loop): Cast return value of alloca.
3183 * i370/i370.c: Include function.h and toplev.h.
3184 (i370_label_scan): Remove c++ commented abort.
3185 * i370/i370.h (HANDLE_PRAGMA): Takes three arguments.
3186 (ASM_OUTPUT_LABELREF): Fix TOUPPER/else broken 16 Sept.
3187 * i370/xm-i370.h (HOST_BITS_PER_LONGLONG): Define.
3188 * i370/xm-mvs.h, i370/xm-oe.h: Likewise.
3189
370c81d6
LR
3190Fri Oct 15 03:01:01 1999 Loren Rittle <ljrittle@acm.org>
3191
3192 * config/t-freebsd: Do not override USER_H.
3193 * ginclude/stddef.h: Generalize check for _MACHINE_ANSI_H_.
3194
ffc3b0f9
AH
3195Fri Oct 15 02:37:28 1999 Alastair J. Houghton <ajh8@doc.ic.ac.uk>
3196 Mumit Khan <khan@xraylith.wisc.edu>
3197
3198 * c-parse.in (component_decl): Support anonymous struct/union.
3199 (%expect): Update.
3200 * c-parse.y: Regenerate.
3201 * c-parse.c: Likewise.
3202 * objc/objc-parse.y: Likewise.
3203 * objc/objc-parse.c: Likewise.
3204 * c-decl.c (finish_struct): Don't sort the fields.
3205 (field_decl_cmp): Delete unused function.
3206
e57ad0c8
RH
3207Fri Oct 15 01:20:52 1999 Richard Henderson <rth@cygnus.com>
3208
3209 * sparc.md (movsf_const_intreg): Revert last constraint change.
3210 (movdf_const_intreg_sp32): Likewise.
3211
c1edba58
VM
3212Fri Oct 15 01:47:51 1999 Vladimir Makarov <vmakarov@loony.cygnus.com>
3213
3214 * cse.c: Include hashtab.h instead of splay-tree.h
3215 (struct cse_reg_info): No longer use variant union. Add new
3216 field "regno". All references changed to avoid union.
3217 (cse_reg_info_used_list, cse_reg_info_used_list_end): New variables.
3218 (free_cse_reg_info): Remove.
3219 (hash_cse_reg_info, cse_reg_info_equal_p): New functions.
3220 (get_cse_reg_info): Revamp to use expandable hash tables instead
3221 of splay trees. Initialize new fields in cse_reg_info structure.
3222 (new_basic_block): Similarly.
3223
aece2740
RH
3224Thu Oct 14 23:51:56 1999 Richard Henderson <rth@cygnus.com>
3225
3226 * genrecog.c (message_with_line): Prototype.
3227 (validate_pattern): Pass along the set for the dest, not a flag.
3228 Fix non-lvalue message. Don't warn for VOIDmode SET_DEST of CALL.
3229 Check for PC/CC0 as sources.
3230 (nodes_identical): Check for children position match before
3231 allowing the combination.
3232
3233 * rtl.c (read_rtx): Track line number across \\\n.
3234
0e7e9155
RH
3235Thu Oct 14 23:50:25 1999 Richard Henderson <rth@cygnus.com>
3236
3237 * mips.h (SPECIAL_MODE_PREDICATES): New.
3238 * mips.md (*) Use nonimmediate_operand not general_operand for outputs.
3239 (movdi+1, movsi+1): Add output reload constraint.
3240 (casesi_internal): Likewise. Fix commentary.
3241 (return_internal): Use pmode_register_operand.
3242
997718c7
RH
3243Thu Oct 14 23:19:34 1999 Richard Henderson <rth@cygnus.com>
3244
3245 * 1750a.md (movstrqi): Add missing output reload constraint.
3246 (call_value): Likewise.
3247 * a29k.md (cpxxx patterns): Add missing match_operator mode.
3248 (jmpfdec): Add missing inout reload constraint.
3249 * elxsi.md (addsi patterns): Add missing output reload constraint.
3250 (move from sp): Use @ alternates.
3251 (call_value): No constraint on output.
3252 * fr30.md (movsi_pop): Add missing output reload constraint.
3253 (movsf_constant_store): Likewise.
3254 (splits): Remove constraints.
3255 (subsi3): Add missing mode.
3256 * i370.md (cmpstrsi+1): Add missing output reload constraint.
3257 (call_value): Likewise.
3258 * i960.md (cmpinc/cmpdec patterns): Add inout reload constraints.
3259 * m32r.h (PREDICATE_CODES): Add seth_add3_operand.
3260 * m32r.md (movsicc_internal): Add output reload constraint.
3261 (movstrsi_internal): Add inout reload constraints.
3262 * m88k.h (reg_names): Don't declare.
3263 (SPECIAL_MODE_PREDICATES): New.
3264 * m88k.md (*): Use register_operand not reg_or_0_operand
3265 on destinations.
3266 * mn10200.h (PREDICATE_CODES): New.
3267 * ns32k.md (ffs pattern): Add output reload constraint.
3268 * pdp11.md (sob pattern): Add inout reload constraint.
3269 * sh.md (splits): Remove constraints.
3270 (indirect_jump_scratch, fpu_switch): Add output reload constraint.
3271 * v850.md (pattern_is_ok_for_epilogue): Likewise.
3272 * vax.md (jgequ pattern): Add inout reload constraint.
3273
7901f53f
JL
3274Fri Oct 15 00:05:00 1999 Jeffrey A Law (law@cygnus.com)
3275
3276 * configure.in (djgpp): Revert previous patch.
3277 * configure: Rebuit.
3278 * config/i386/djgpp.h: Revert previous patch.
3279
70d42369
LR
3280Fri Oct 15 00:00:24 1999 Loren J. Rittle <ljrittle@acm.org>
3281
3282 * fixinc/inclhack.def: Restore patch lost during last merge of
3283 "no_bogosity" branch.
3284 * fixinc/inclhack.sh, fixinc/fixincl.x: Rebuilt.
3285
abf7cec7
GRK
3286Thu Oct 14 23:57:56 1999 Gavin Romig-Koch <gavin@cygnus.com>
3287
3288 * fixincludes: Add a HPUX 11 fix for inttypes.h.
3289 * fixinc/inclhack.def: Same.
3290 * fixinc/inclhack.sh, fixinc/fixincl.sh, fixinc/fixincl.x: Regenerate.
3291
0c5912f4
RH
3292Thu Oct 14 22:51:55 1999 Richard Henderson <rth@cygnus.com>
3293
3294 * alpha.h (GO_IF_LEGITIMATE_SIMPLE_ADDRESS): Accept ADDRESSOF
3295 as the base of a PLUS.
3296
f959ff1a
MH
3297Fri Oct 15 18:36:07 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3298
3299 * config/c4x/c4x.md: Define mode for remaining unspec operators.
3300 * config/c4x/c4x.c (dst_operand): Use nonimmediate_operand.
3301
fc524c1c
RH
3302Thu Oct 14 22:14:23 1999 Richard Henderson <rth@cygnus.com>
3303
1c784a0e
RH
3304 * pa.md (post_stw+1): Use pmode_register_operand.
3305 (dcacheflush, icacheflush): Likewise.
3306
fc524c1c
RH
3307 * i386.md (movstricthi_1): Allow r/r.
3308
79e8185c
JH
3309Thu Oct 14 19:44:08 1999 Jan Hubicka <hubicka@freesoft.cz>
3310
ccc5fd95
JH
3311 * fold-const.c (fold): Convert (or (not arg0) (not arg1))
3312 to (not (and (arg0) (arg1))). Similary for and.
3313
79e8185c
JH
3314 * fold-const.c (fold): Move bit_rotate code to the EXPR_PLUS case,
3315 falltrought to assocate code.
3316 Convert XOR to OR in code like (a&c1)^(a&c2) where c1 and c2 don't have
3317 bits in common.
3318
3319 * combine.c (simplify_logical): Convert XOR to IOR if operands have
3320 no bits in common; remove XOR to ROTATE conversion.
3321
ce577467
MH
3322Fri Oct 15 17:40:11 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3323
3324 * config/c4x/c4x.h (c4x_va_start, c4x_va_arg): Declare.
3325
f416f18c
MH
3326Fri Oct 15 17:27:17 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3327
3328 * config/c4x/c4x.c (dst_operand): New.
3329 (PREDICATE_CODES): Update.
3330 * config/c4x/c4x.h (dst_operand): Declare it.
3331 * config/c4x/c4x.md: Define mode for each unspec usage.
3332 (move patterns): Use dst_operand predicate instead of src_operand.
3333 (movqi_update, movqf_update): Delete.
3334
556ffcc5
RH
3335Thu Oct 14 18:48:54 1999 Richard Henderson <rth@cygnus.com>
3336
3337 * recog.c (pmode_register_operand): New.
3338 * recog.h: Declare it.
3339 * genrecog.c (pred_codes): Likewise.
3340 (special_mode_pred_table): Likewise.
3341 (validate_pattern): Don't warn no mode for address_operand.
3342
3343 * print-rtl.c (print_rtx) [LABEL_REF]: Only do full subexpression
3344 if the operand is not insn-like.
3345
10414089
JL
3346Thu Oct 14 19:38:42 1999 Jeffrey A Law (law@cygnus.com)
3347 Sylvian Pion <Sylvain.Pion@sophia.inria.fr>
3348
3349 * fold-const.c (fold): Handle more simplifications allowed by IEEE.
3350
db7eb3e8
RH
3351Thu Oct 14 17:30:14 1999 Richard Henderson <rth@cygnus.com>
3352
3353 * sparc.md (*): Use {nonimmediate,register}_operand as appropriate
3354 instead of general_operand in a SET_DEST. Use const_double_operand
3355 instead of an explicit test against CONST_DOUBLE.
3356 (movsf_const_lo): Add missing register mode.
3357 (goto_handler_and_restore): Add auxiliary test for Pmode.
3358 (flush): Adjust to use address_operand.
3359 (return_sf_no_fpu): Add missing output constraint.
3360
2d1086d8
RH
3361Thu Oct 14 17:21:26 1999 Richard Henderson <rth@cygnus.com>
3362
3363 * rs6000.md (call_value_indirect_aix32): Use wildcard match_operand
3364 for call return value.
3365 (call_value_indirect_aix64, call_value_indirect_nt): Likewise.
3366
43a8f6d5
JM
3367Thu Oct 14 13:54:25 1999 Jason Merrill <jason@yorick.cygnus.com>
3368
3369 * toplev.c (main): Only warn about options for other languages.
3370 * collect2.c (main): Pass -w to sub-gcc.
3371
d1abb925
RH
3372Thu Oct 14 16:27:50 1999 Richard Henderson <rth@cygnus.com>
3373
3374 * flow.c (propagate_block): Add call-clobbered registers to
3375 significant too.
3376
ff666313
RH
3377 * flow.c (propagate_block): Use free_EXPR_LIST_list instead of
3378 zapping mem_set_list.
3379 (invalidate_mems_from_autoinc): Use free_EXPR_LIST_node.
3380 (mark_set_1, mark_used_regs): Likewise.
3381
e99b93ff
RH
3382Thu Oct 14 10:51:49 1999 Richard Henderson <rth@cygnus.com>
3383
3384 * m68k.md (zero_extendsidi2): Add missing output reload constraint.
3385
fe50c0eb
GP
3386Wed Oct 13 00:09:18 1999 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3387
3388 * invoke.texi: Label -Wbad-function-cast, -Wmissing-prototypes,
3389 -Wnested-externs, -Wstrict-prototypes, and -Wtraditional as C only
3390 options. Also add a new item "C-only Warning Options" to the
3391 option summary.
3392
a4ebb0e6
GRK
33931999-10-14 Gavin Romig-Koch <gavin@cygnus.com>
3394
3395 * libgcc2.c (__do_global_dtors): Protect __deregister_frame_info
3396 from multiple calls.
3397
69404d6f
RH
3398Thu Oct 14 04:54:54 1999 Richard Henderson <rth@cygnus.com>
3399
3400 * i386.md (call value patterns): Move to the end of the file.
3401 (prologue_set_got, prologue_get_pc): Use register_operand for op 0.
3402
65be5cf0
ME
34031999-10-14 Mark Elbrecht <snowball3@bigfoot.com>
3404
3405 * configure.in (djgpp configuration): Define extra_objects..
3406 * configure: Rebuilt.
3407 * config/i386/djgpp.h (CTORS_SECTION_ASM_OP): Define.
3408 (DTORS_SECTION_ASM_OP): Define.
3409 (INIT_SECTION_ASM_OP): Define.
3410 (FINI_SECTION_ASM_OP): Define.
3411 (DATA_SECTION_ASM_OP): Define.
3412 (TEXT_SECTION_ASM_OP): Define.
3413 (EH_FRAME_SECTION_ASM_OP): Define.
3414 (LINK_COMMAND_SPEC): Remove -Tdjgpp.djl.
3415 (STARTFILE_SPEC): Add crtbegin.o.
3416 (ENDFILE_SPEC): Define and add crtend.o. Move argument -Tdjgpp.djl
3417 to here from LINK_COMMAND_SPEC.
3418 (DO_GLOBAL_CTORS_BODY): Define.
3419 (CRTSTUFF_USE_FINI_SECTION): Define
3420 (HAS_INIT_SECTION): Delete.
3421
d81c9768
AS
3422Thu Oct 14 05:08:14 1999 Andreas Schwab <schwab@suse.de>
3423
3424 * Makefile.in (all.cross): Depend on xcpp$(exeext).
3425
476a33f4
RH
3426Thu Oct 14 04:00:40 1999 Richard Henderson <rth@cygnus.com>
3427
0c273d11
RH
3428 * pa.h (PREDICATE_CODES): New.
3429
476a33f4
RH
3430 * genrecog.c (validate_pattern): Condense the destination
3431 non-lvalue message.
3432
d41395a5
RH
3433Thu Oct 14 03:23:08 1999 Richard Henderson <rth@cygnus.com>
3434
3435 * alpha.md (call-1): Supply missing mode for operator.
3436 (*): Add missing output reload constraints. Remove constraints
3437 from define_splits.
3438
c76aab11
RH
3439 * i386.h (SPECIAL_MODE_PREDICATES): New.
3440 * i386.md (movstricthi_1): Use nonimmediate_operand for op 0.
3441 (movqi_1, movdi_1, movdi_2, some splits): Likewise.
3442 (addsi_lea_3): Add missing mode for op 3.
3443 (prologue_set_got, prologue_get_pc): Add missing modes.
3444 (*) Add missing output reload constraints.
3445
9180cca3
SC
3446Thu Oct 14 03:59:57 1999 Stephane Carrez <stcarrez@worldnet.fr>
3447
3448 * stor-layout.c (layout_union): Use HOST_WIDE_INT for const_size;
3449 check for member bit-size overflow and use var_size if it occurs.
3450 (layout_record): Use bitsize_int() to define the type size in bits.
3451 Likewise for computation and assignment to DECL_FIELD_BITPOS.
3452 (layout_decl): Likewise when assigning to DECL_SIZE.
3453
25238622
RH
3454Thu Oct 14 02:57:05 1999 Richard Henderson <rth@cygnus.com>
3455
3456 * genrecog.c (validate_pattern): Typo last change. Verify
3457 that output operands have output reloads.
3458
8fe0ca0c
RH
3459Thu Oct 14 01:49:54 1999 Richard Henderson <rth@cygnus.com>
3460
3461 * genrecog.c (special_mode_pred_table): New.
3462 (NUM_SPECIAL_MODE_PREDS): New.
3463 (find_operand): New.
3464 (validate_pattern): New argument `insn'. Warn for assignment to
3465 any predicate accepting non-lvalues. Conditionaly warn for
3466 match_operand without a mode. Try much harder to match source
3467 and destination modes on a set.
3468 * tm.texi (SPECIAL_MODE_PREDICATES): Document.
3469
03e0a65f
JL
3470Thu Oct 14 02:54:13 1999 Jeffrey A Law (law@cygnus.com)
3471
3472 * fold-const.c (fold): Detect rotates built from BIT_XOR_EXPRs.
3473
0918eca0
ME
3474Thu Oct 14 02:18:19 1999 Marc Espie <espie@cvs.openbsd.org>
3475
3476 * combine.c (simplify_logical): Recognize xor pattern that encodes
3477 rotation.
3478
5ee95df6
FS
3479Wed Oct 13 23:23:45 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3480
3481 * rs6000.c (expand_block_move): Use INTVAL, not XINT to access
3482 alignment.
3483
8342b467
RH
3484Wed Oct 13 21:47:18 1999 Richard Henderson <rth@cygnus.com>
3485
3486 * ggc-page.c (MAP_FAILED): Provide default.
3487
6871dd65
RH
3488Wed Oct 13 21:41:59 1999 Richard Henderson <rth@cygnus.com>
3489
3490 * sparc.c (symbolic_operand): Verify mode; don't accept CONST_DOUBLE.
3491 * sparc.h (PREDICATE_CODES): Update.
3492
f711a22b
RH
3493Wed Oct 13 21:18:17 1999 Richard Henderson <rth@cygnus.com>
3494
3495 * alpha.c (some_ni_operand): New.
3496 * alpha-protos.h: Declare it.
3497 * alpha.h (PREDICATE_CODES): Update.
3498 * alpha.md (sXaddq reload insns): Use some_ni_operand
3499 for SET_DEST instead of some_operand.
3500
4dc320a5
RH
3501Wed Oct 13 21:04:45 1999 Richard Henderson <rth@cygnus.com>
3502 Jim Wilson <wilson@cygnus.com>
3503
3504 * genrecog.c (maybe_both_true_2): Don't compare modes of
3505 two DT_pred tests.
3506 (process_tree): Elide peephole2_insns. Invoke simplify_tests
3507 after find_afterward.
3508 (debug_decision_1): Dump next and afterward codes.
3509
bcdaba58
RH
3510Wed Oct 13 20:35:16 1999 Richard Henderson <rth@cygnus.com>
3511
3512 * rtl.c (dump_and_abort): Remove.
3513 (fatal_with_file_and_line): New.
3514 (fatal_expected_char): New.
3515 (read_rtx_lineno, read_rtx_filename): New.
3516 (read_skip_spaces): Track line number.
3517 (read_name): Use fatal_with_file_and_line.
3518 (read_rtx): Use fatal_expected_char. Track line number.
3519 * rtl.h (read_rtx_filename, read_rtx_lineno): Declare.
3520
3521 * print-rtl.c (print_rtx): Don't special case LABEL_REF argument
3522 if it isn't a CODE_LABEL.
3523
3524 * genattr.c (main): Set read_rtx_filename.
3525 * genattrtab.c (main): Likewise.
3526 * gencodes.c (main): Likewise.
3527 * genconfig.c (main): Likewise.
3528 * genemit.c (main): Likewise.
3529 * genextract.c (main): Likewise.
3530 * genflags.c (main): Likewise.
3531 * genopinit.c (main): Likewise.
3532 * genoutput.c (main): Likewise.
3533 * genpeep.c (main): Likewise.
3534
3535 * genrecog.c (decision_test.u.insn): Add `lineno'.
3536 (pattern_lineno, error_count): New variables.
3537 (message_with_line): New.
3538 (add_to_sequence): Break out checking code to ...
3539 (validate_pattern): ... here. Detect SET_DEST matching CONST_INT.
3540 (merge_insn): Use message_with_line.
3541 (make_insn_sequence): Use validate_pattern. Record insn lineno.
3542 (main): Set read_rtx_filename, pattern_lineno. Exit early on error.
3543
a59f8640
R
3544Wed Oct 13 22:01:35 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
3545
3546 * expr.c (store_constructor): Clear union if constructor is empty.
3547
56e4a0eb
JW
3548Wed Oct 13 15:19:04 1999 Jim Wilson <wilson@cygnus.com>
3549
3550 * config/rs6000/sysv4.h (CC1_SPEC): Fix errors from Jan 19 change.
3551 Add !endian checks. Change %{...} to %(...).
3552
7abd4e00
RH
3553Wed Oct 13 13:30:34 1999 Richard Henderson <rth@cygnus.com>
3554
3555 * i386.md (*addsi3_cc): Renamed from addcsi3.
3556 (*addsi3_carry): Renamed from addxsi3.
3557 (*subsi3_cc): Renamed from subcsi3.
3558 (*subsi3_carry): Renamed from subxsi3.
3559 (*xorqi_cc_1): Renamed from xorcqi_1.
3560 (xorqi_cc_ext_1): Renamed from xorcqi_ext_1.
3561 * i386.c (ix86_expand_fp_compare): Update for xorqi_cc_ext_1.
3562
a13c82d4
RH
3563Wed Oct 13 13:10:46 1999 Richard Henderson <rth@cygnus.com>
3564
3565 * Makefile.in (ggc-common.o): Depend on RTL_H not RTL_BASE_H.
3566 (ggc-simple.o, ggc-page.o, ggc-none.o, ggc-callbacks.o): Likewise.
3567
9c07e479
BK
35681999-10-13 Brendan Kehoe <brendan@cygnus.com>
3569
3570 * regmove.c (optimize_reg_copy_3): Make sure P is non-nil as we
3571 climb up the chain of insns.
3572
e8f9b13a
RH
3573Wed Oct 13 10:20:58 1999 Richard Henderson <rth@cygnus.com>
3574
3575 * genrecog.c (write_subroutine): Careful for null trees.
3576 (process_tree): Don't elide empty functions.
3577
5c371bd0
RH
3578Wed Oct 13 10:07:54 1999 Richard Henderson <rth@cygnus.com>
3579
3580 * Makefile.in (genrtl.o): Depend on ggc.h.
3581 * configure.in (valloc): Probe for it.
3582 (with-gc): Use ggc-page if valloc present.
3583 * ggc-common.c (ggc_mark_rtx_children): Use ggc_mark_if_gcable.
3584 (ggc_mark_rtvec_children): New from corpse of ggc_mark_rtvec.
3585 (ggc_alloc_string): Moved from ggc-page.c.
3586 * ggc-none.c (ggc_alloc_obj): New.
3587 (ggc_alloc_rtx, ggc_alloc_rtvec): Remove.
3588 * ggc-page.c (sys/mman.h): Only include if HAVE_MMAP.
3589 (struct globals): Likewise for dev_zero_fd.
3590 (init_ggc): Likewise for it's initialization.
3591 (ggc_allocated_p): Move careful dereference from ...
3592 (ggc_lookup_page_table): ... here. Delete.
3593 (lookup_page_table_entry): Don't use ggc_lookup_page_table.
3594 (alloc_anon): Use valloc if no mmap.
3595 (release_pages): Use free if using valloc.
3596 (ggc_alloc_obj): Renamed from alloc_obj.
3597 (ggc_set_mark): Renamed from mark_obj.
3598 (ggc_mark_if_gcable): Renamed from ggc_mark_string_if_gcable.
3599 (ggc_alloc_rtx, ggc_alloc_rtvec): Delete.
3600 (ggc_alloc_tree, ggc_alloc_string, ggc_alloc): Delete.
3601 (ggc_set_mark_rtx, ggc_set_mark_rtvec): Delete.
3602 (ggc_set_mark_tree, ggc_mark_string, ggc_mark): Delete.
3603 (ggc_collect): Use fp printing instead of our own rounding.
3604 * ggc-simple.c (IS_MARKED, IGNORE_MARK): Delete.
3605 (GGC_STRING_MAGIC, GGC_STRING_MAGIC_MARK): Delete.
3606 (GGC_ANY_MAGIC, GGC_ANY_MAGIC_MARK): Delete.
3607 (struct ggc_rtx, struct ggc_rtvec, struct ggc_tree): Delete.
3608 (struct ggc_string, struct ggc_any): Delete.
3609 (offsetof): Provide default definition.
3610 (GGC_BALANCE, GGC_ALWAYS_COLLECT, GGC_ALWAYS_VERIFY): New.
3611 (PTR_KEY): New.
3612 (struct ggc_mem): New, from corpse of ggc_any.
3613 (struct ggc_status): Delete.
3614 (ggc_chain, ggc_allocated_strings, ggc_strings_used): Delete.
3615 (n_rtxs_collected, n_vecs_collected, n_trees_collected): Delete.
3616 (n_strings_collected, n_anys_collected): Delete.
3617 (ggc_alloc_rtx, ggc_alloc_rtvec, ggc_alloc_tree): Delete.
3618 (ggc_alloc_string, ggc_alloc): Delete.
3619 (ggc_free_rtx, ggc_free_rtvec, ggc_free_tree): Delete.
3620 (ggc_free_string, ggc_free_any): Delete.
3621 (ggc_set_mark_rtx, ggc_set_mark_rtvec, ggc_set_mark_tree): Delete.
3622 (ggc_compare_addresses, ggc_mark_string): Delete.
3623 (ggc_mark_string_if_gcable, ggc_mark): Delete.
3624 (search_data): Delete.
3625 (struct globals): New.
3626 (GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED): New.
3627 (tree_insert, tree_lookup): New.
3628 (ggc_alloc_obj, ggc_set_mark, ggc_mark_if_gcable): New.
3629 (clear_marks, sweep_objs): New.
3630 (ggc_collect): Gut. Use clear_marks, sweep_objs.
3631 (init_ggc): Set allocated_last_gc.
3632 (ggc_push_context): Gut. Use G.context.
3633 (ggc_pop_context): Likewise.
3634 (ggc_pop_context_1): New.
3635 (debug_ggc_tree): New.
3636 (debug_ggc_balance, tally_leaves): New.
3637 * ggc.h (ggc_mark_rtvec, ggc_mark_string, ggc_mark): Remove decl.
3638 (ggc_mark_string_if_gcable): Remove decl.
3639 (ggc_mark_rtx, ggc_mark_tree): Use ggc_set_mark.
3640 (ggc_mark_rtvec_children): New.
3641 (ggc_mark_rtvec, ggc_mark_string, ggc_mark): New.
3642 (ggc_mark_if_gcable): New decl.
3643 (ggc_alloc_rtx, ggc_alloc_rtvec): Remove decl.
3644 (ggc_alloc_tree, ggc_alloc): Likewise.
3645 (ggc_set_mark_rtx, ggc_set_mark_rtvec, ggc_set_mark_tree): Likewise.
3646 (ggc_alloc_obj): New decl.
3647 (ggc_alloc_rtx, ggc_alloc_rtvec): New macros.
3648 (ggc_alloc_tree, ggc_alloc): Likewise.
3649 (ggc_set_mark): New decl.
3650 * rtl.h (struct rtx_def): Remove gc_mark.
3651 (struct rtvec_def): Likewise.
3652 * tree.h (struct tree_common): Likewise.
3653
a5037588
CL
3654Wed Oct 13 01:44:29 1999 Carol LePage <carolo@hal.com>
3655
0e7e9155 3656 * configure.in (sparc-hal-solaris2*): Fix xm_file, xm_defines,
a5037588
CL
3657 float_format and thread_file definitions.
3658 * configure: Rebuilt.
3659
22acfb79
NM
3660