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