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