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