]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
flow.c (find_basic_blocks): Calc upper bound for extra nops in max_uids_for_flow.
[gcc.git] / gcc / ChangeLog
CommitLineData
5c35539b
RH
1Thu Oct 8 01:25:22 1998 Richard Henderson <rth@cygnus.com>
2
3 * flow.c (find_basic_blocks): Calc upper bound for extra nops in
4 max_uids_for_flow.
5 (find_basic_blocks_1): Add a nop to the end of a basic block when
6 a trailing call insn does not have abnormal control flow.
7 * gcse.c (pre_transpout): New variable.
8 (alloc_pre_mem, free_pre_mem, dump_pre_data): Bookkeeping for it.
9 (compute_pre_transpout): Calculate it.
10 (compute_pre_ppinout): Use it to eliminate impossible placements
11 due to abnormal control flow through calls.
12 (compute_pre_data): Call compute_pre_transpout.
13
57fa4693
DM
14Wed Oct 7 21:40:24 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
15
16 * config/sparc/sol2-sld-64.h (ASM_CPU_SPEC): Fix typo.
17
5924eecf
KR
18Wed Oct 7 21:19:46 1998 Ken Raeburn <raeburn@cygnus.com>
19
20 * config/mips/mips.md (tablejump_internal3, tablejump_internal4
21 and matching define_insns): Tack on a `use' of the table label, so
22 flow analysis will recognize a tablejump.
23
1bba6199
RH
24Wed Oct 7 17:33:39 1998 Richard Henderson <rth@cygnus.com>
25
26 * gcse.c (pre_insert_insn): Tweek to notice that calls do not
27 always end basic blocks for abnormal edge reasons.
28
14ab9f52
NC
29Wed Oct 7 14:40:43 1998 Nick Clifton <nickc@cygnus.com>
30
c678a7f8
NC
31 * config/i386/i386.h: Remove definition of
32 HANDLE_PRAGMA_PACK_PUSH_POP.
33
34 * config/i386/go32.h: Add definition of
35 HANDLE_PRAGMA_PACK_PUSH_POP.
36
37 * config/i386/win32.h: Add definition of
38 HANDLE_PRAGMA_PACK_PUSH_POP.
39
40 * config/i386/cygwin32.h: Add definition of
41 HANDLE_PRAGMA_PACK_PUSH_POP.
42
14ab9f52
NC
43 * c-pragma.c (insert_pack_attributes): Do not insert
44 attributes unless #pragma pack(push,<n>) is in effect.
45
10a9f2be
JW
46Wed Oct 7 12:10:46 1998 Jim Wilson <wilson@cygnus.com>
47
48 * expr.c (emit_group_store): Handle a PARALLEL destination.
49
3947e2f9
RH
50Wed Oct 7 10:07:29 1998 Richard Henderson <rth@cygnus.com>
51
52 * gcse.c (pre_insert_insn): When a call ends a bb, insert
53 the new insns before the argument regs are loaded.
54
db127392
KG
55Wed Oct 7 12:55:26 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
56
57 * Makefile.in (c-gperf.h): Add -L KR-C -F ', 0, 0' flags to gperf.
58 (c-parse.gperf): Update comments describing invocation flags.
59 (c-gperf.h): Regenerate using gperf 2.7.1 (19981006 egcs).
60
b0c24c26
MH
611998-10-07 Manfred Hollstein <manfred@s-direktnet.de>
62
63 * reload1.c (reload): Call free before clobbering the memory
64 locations or constants pointers.
65
959eb758
DM
66Wed Oct 7 02:05:20 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
67
68 * config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Rework
69 for efficiency by checking whether we need to modify the current
70 stack permission at all.
71 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.
72 * config/sparc/sparc.c (sparc_initialize_trampoline): Emit
73 __enable_execute_stack libcall here too if
74 TRANSFER_FROM_TRAMPOLINE is defined.
75 * config/sparc/sparc.h: Set TARGET_ARCH32 to a constant if
76 IN_LIBGCC2.
77
4c2f8346
JL
78Wed Oct 7 02:27:52 1998 Jeffrey A Law (law@cygnus.com)
79
80 * Makefile.in (DRIVER_DEFINES): Remove last change.
81
437a710d
BS
82Wed Oct 7 01:08:43 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
83
d143a890
BS
84 * jump.c (duplicate_loop_exit_test): Strip REG_WAS_0 notes off all
85 insns we're going to copy.
86 * regclass.c (reg_scan_mark_refs): Don't test X for NULL_RTX.
87
237228c0
BS
88 * loop.c (count_one_set): Add prototype.
89
437a710d
BS
90 * caller-save.c (restore_referenced_regs): Lose mode argument.
91 (insert_save): Lose mode argument.
92 (insert_restore): Lose mode argument.
93 (insert_one_insn): Lose mode argument.
94 (save_call_clobbered_regs): Lose mode argument.
95 (setup_save_areas): Take no argument and return void. All callers
96 changed.
97 Don't verify validity of memory addresses.
98 * reload.h (setup_save_ares): Adjust prototype.
99 (save_call_clobbered_regs): Likewise.
100 * reload1.c (delete_caller_save_insns): New function.
101 (caller_save_spill_class): Delete variable.
102 (caller_save_group_size): Delete variable.
103 (reload): Call setup_save_areas and save_call_clobbered_regs
104 in the main loop, before calling calculate_needs_all_insns.
105 Don't call save_call_clobbered_regs after the loop.
106 Call delete_caller_save_insns at the end of an iteration if
107 something changed.
108 Delete code to manage caller_save_spill_class.
109 Emit the final note before setting reload_first_uid.
110 Simplify test that determines whether reload_as_needed gets run.
111 (calculate_needs): Delete code to manage caller_save_spill_class.
112
0eac1e43
RH
113Tue Oct 6 15:42:27 1998 Richard Henderson <rth@cygnus.com>
114
115 * collect2.c (main): Initialize ld_file_name.
116
1c9a32c2
CM
117Tue Oct 6 15:45:15 1998 Catherine Moore <clm@cygnus.com>
118
119 * config/sparc/sysv4.h (ASM_OUTPUT_SECTION_NAME): Don't
120 check for flag_function_sections.
121
37053d1f
R
122Tue Oct 6 20:02:31 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
123
124 * cse.c (insert_regs): Fix bug in Sep 24 change.
125
b707b450
R
126Tue Oct 6 17:00:42 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
127
128 * flags.h (flag_dump_unnumbered): Declare.
129 * toplev.c (flag_dump_unnumbered): Don't declare.
130 * print-rtl.c (flags.h): Include.
131 (print_rtl_single): Add return value.
132 * rtl.h (print_rtl_single): Update declaration.
133 * flow.c (flag_dump_unnumbered): Don't declare.
134 (print_rtl_with_bb): Use return value of print_rtl_single.
135
cad6f7d0
BS
136Tue Oct 6 01:36:00 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
137
a4c3ddd8
BS
138 * loop.c (count_one_set): New static function, broken out of
139 count_loop_regs_set
140 (count_loop_regs_set): Call it.
141 * global.c (mark_reg_store): Handle clobbers here by not calling
142 set_preference.
143 (mark_reg_clobber): Just call mark_reg_store after ensuring SETTER
144 is in fact a clobber.
145 * integrate.c (process_reg_param): New function, broken out of
146 expand_inline_function.
147 (expand_inline_function): Call it.
148
149
dae0d63a
BS
150 * i386.md (addsidi3_1): Delete unused variable temp.
151 (addsidi3_2): Likewise.
152 (clstrstrsi): Delete unused variable addr1.
153
42f61866
BS
154 * rtl.h: Don't declare any functions also declared in recog.h.
155
cad6f7d0
BS
156 * Makefile.in (stupid.o): Update dependencies.
157 (global.o): Likewise.
158
159 * global.c: Include reload.h
160 (reg_becomes_live): New function.
161 (reg_dies): New function.
162 (build_insn_chain): New function.
163 (global_alloc): Call build_insn_chain before calling reload.
164
165 * reload.h (struct needs): New structure definition.
166 (struct insn_chain): Likewise.
167 (reload_insn_chain): Declare variable.
168 (new_insn_chain): Declare function.
169
170
171 * reload1.c (reload_startobj): New variable.
172 (reload_insn_chain): New variable.
173 (unused_insn_chains): New variable.
174 (new_insn_chain): New function.
175 (init_reload): Initialize reload_startobj, not reload_firstobj.
176 (reload): Initialize reload_firstobj.
177 Before returning, free everything on the reload_obstack.
178
179 * stupid.c: Include insn-config.h, reload.h and basic-block.h.
180 (reg_where_dead_chain, reg_where_born_exact, reg_where_born_clobber,
181 current_chain): New variables.
182 (reg_where_born): Delete variable.
183 (REG_WHERE_BORN): New macro.
184 (find_clobbered_regs): New function.
185 (stupid_life_analysis): Don't allocate/free reg_where_born.
186 Allocate and free reg_where_born_exact, reg_where_born_clobber,
187 reg_where_dead_chain.
188 Use REG_WHERE_BORN instead of reg_where_born.
189 While processing the insns, build the reload_insn_chain with
190 information about register lifetimes.
191 (stupid_reg_compare): Use REG_WHERE_BORN instead of reg_where_born.
192 (stupid_mark_refs): Replace arg INSN with arg CHAIN. All callers
193 changed.
194 Compute and information about birth and death of pseudo registers in
195 reg_where_dead_chain, reg_where_born_exact and reg_where_born_clobber.
196 Delete code to set elements of reg_where_born.
197
40208b1c
APB
198Mon Oct 5 22:34:30 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
199
200 * tree.def (GOTO_EXPR): Modified documentation.
201 * expr.c (expand_expr): Expand GOTO_EXPR into a goto or a computed
202 goto.
203
cac8ce95
DE
204Mon Oct 5 22:43:36 1998 David Edelsohn <edelsohn@mhpcc.edu>
205
206 * unroll.c (loop_iteration_var, loop_initial_value, loop_increment
207 loop_final_value, loop_comparison_code): No longer static.
208 (unroll_loop): Delete loop_start_value update.
209 * loop.h (loop_iteration_var, loop_initial_value, loop_increment,
210 loop_final_value, loop_comparison_code): Extern.
211 (loop_start_value): Delete extern.
212 * loop.c (loop_can_insert_bct, loop_increment, loop_start_value,
213 loop_comparison_value, loop_comparison_code): Delete.
214 (loop_optimize): Remove initialization for deleted variables.
215 (strength_reduce): Delete analyze_loop_iterations call. Only call
216 insert_bct if flag_branch_count_on_reg set.
217 (analyze_loop_iterations): Delete.
218 (insert_bct): Remove iteration count calculation. Move checks for
219 viable BCT optimization to here. Obtain iteration count from
220 loop_iterations and correct for unrolling. Check for enough
221 iteration to be beneficial. Comment out runtime iteration count
222 case.
223 (insert_bct): Print iteration count in dump file. Remove
224 loop_var_mode and use word_mode directly.
225
226 * rs6000.h (processor_type): Add PROCESSOR_PPC604e.
227 * rs6000.c (rs6000_override_options): Use it.
228 (optimization_options): Enable use of flag_branch_on_count_reg.
229 * rs6000.md (define_function_unit): Describe 604e.
230
877ca132
HB
2311998-10-05 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
232
233 * loop.c (move_movables): Corrected threshold calculation for
234 moved_once registers.
235
da5a44b3
BS
236Mon Oct 5 21:18:45 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
237
238 * loop.c (combine_givs_p): Fix test for identical givs.
239
b75ab88b
NC
240Mon Oct 5 10:11:28 1998 Nick Clifton <nickc@cygnus.com>
241
242 * dwarf2out.c (gen_subprogram_die): If errorcount nonzero, don't
243 call abort if the function is already defined.
244
f385990f
JL
245Mon Oct 5 10:02:36 1998 Jeffrey A Law (law@cygnus.com)
246
247 * combine.c (simplify_rtx): Do not replace TRUNCATE with a SUBREG if
248 truncation is not a no-op.
249
01e69619
JL
250Mon Oct 5 09:02:04 PDT 1998 Jeff Law (law@cygnus.com)
251
252 * version.c: Bump for snapshot.
253
d03e8554
JL
254Mon Oct 5 08:19:55 PDT 1998 Jeff Law (law@cygnus.com)
255
256 * version.c: Bump for snapshot.
257
32fdf36b
TG
258Mon Oct 5 01:07:23 1998 Torbjorn Granlund <tege@matematik.su.se>
259
260 * expmed.c (expand_divmod): Don't widen for computing remainder
261 if we seem to have a divmod pattern for needed mode.
262
4284b774
ZW
263Mon Oct 5 01:01:42 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
264
265 * cpplib.c (macroexpand): Correct off-by-one error in handling
266 of escapes.
267
861556b4
RH
268Sun Oct 4 23:58:30 1998 Richard Henderson <rth@cygnus.com>
269
270 * combine.c (expand_field_assignment): Don't do bitwise operations
271 on MODE_FLOAT; pun to MODE_INT if possible.
272
b4558b57
JM
273Sun Oct 4 18:33:24 1998 Jason Merrill <jason@yorick.cygnus.com>
274 scott snyder <snyder@d0sgif.fnal.gov>
275
276 * tlink.c (scan_linker_output): Recognize errors from irix 6.2
277 linker. Recognize mangled names in quotes.
278
295c5559
JJ
279Sun Oct 4 02:58:20 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
280
281 * config/sparc/sparc.md (ashldi3+1): Name it ashldi3_sp64.
282 (ashlsi3_const1, ashldi3_const1): New combiner patterns.
283 (ashrsi3_extend, ashrsi3_extend2): New combiner patterns.
284 (lshrsi3_extend, lshrsi3_extend2): Ditto.
285
ca2636ed
DM
286Sun Oct 4 00:23:00 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
287
288 * function.c (purge_addressof_1): If trying to take a sub-word
289 integral piece of a floating point mode, put it on the stack.
290
4d77340e
RH
291Sat Oct 3 19:01:03 1998 Richard Henderson <rth@cygnus.com>
292
293 * alpha/linux.h (CPP_PREDEFINES): Define __alpha__ for imake.
294
c20c6337
JM
295Sat Oct 3 14:42:19 1998 Jason Merrill <jason@yorick.cygnus.com>
296
71d718e0
JM
297 * PROJECTS: Remove template friends.
298
299 * collect2.c (sort_ids): Remove unused variable.
300
301 * tm.texi (MATH_LIBRARY): Document.
302 (NEED_MATH_LIBRARY): Remove.
303
c20c6337
JM
304 * varasm.c (assemble_start_function, assemble_variable, weak_finish,
305 assemble_alias): Do ASM_GLOBALIZE_LABEL for weak symbols, too.
306
69fba037
JC
307Sat Oct 3 16:14:44 1998 John Carr <jfc@mit.edu>
308
309 * dwarf2out.c (expand_builtin_dwarf_reg_size): Initialize
310 last_end to 0x7fffffff.
311
47401c4d
DM
312Fri Oct 2 19:14:20 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
313
314 * function.c (purge_addressof_1): Do not perform endianness
315 corrections on bitpos, who we call will do it for us.
316
d01d2903
JL
317Fri Oct 2 11:52:35 1998 Jeffrey A Law (law@cygnus.com)
318
319 * h8300.c (WORD_REG_USED): Fix typo.
320 (initial_offset): Use WORD_REG_USED.
321
322 * h8300.c (handle_pragma): Fix typo.
323
a330a79e
BS
324Fri Oct 2 10:51:35 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
325
f670c074
JL
326 * caller-save.c (insert_save_restore): Break this function up
327 into new functions insert_restore, insert_save and insert_one_insn.
328 All callers changed.
329 (insert_restore): New function, mostly broken out of
330 insert_save_restore.
331 (insert_save): Likewise.
332 (insert_one_insn): Likewise.
333 (restore_referenced_regs): New argument BLOCK. All callers changed.
334 (save_call_clobbered_regs): Don't keep track of basic block boundaries
335 in this function, do it in insert_one_insn instead.
336
09dd1133
BS
337 * reload1.c (reload): Break out some more pieces into separate
338 functions.
339 (dump_needs): New function, broken out of reload.
340 (set_initial_elim_offsets): Likewise.
341 (init_elim_table): Likewise.
342 (update_eliminables): Likewise.
343
34f89b5f
BS
344 * global.c (global_alloc): Delete code to manage the scratch_list.
345 * local-alloc.c (qty_scratch_rtx): Delete.
346 (scratch_block): Delete.
347 (scratch_list): Delete.
348 (scratch_list_length): Delete.
349 (scratch_index): Delete.
350 (alloc_qty_for_scratch): Delete.
351 (local-alloc): Update initialization of max_qty.
352 Delete code to manage the scratch list.
353 Delete code to allocate/initialize qty_scratch_rtx.
354 (block_alloc): Don't allocate quantities for scratches.
355 Delete code to manage the scratch list.
356 * regs.h (scratch_list): Delete declaration.
357 (scratch_block): Delete declaration.
358 (scratch_list_length): Delete declaration.
359 * reload1.c (reload): Delete code to manage the scratch list.
360 (spill_hard_reg): Likewise.
361 (mark_scratch_live): Delete.
362
a330a79e
BS
363 * recog.c (alter_subreg): Delete declaration.
364
8547cf54
AJ
3651998-10-02 Andreas Jaeger <aj@arthur.rhein-neckar.de>
366
367 * Makefile.in (cccp.o): Fix typo in last patch.
368
e430f738
R
369Fri Oct 2 16:13:12 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
370
371 * t-sh (LIB1ASMFUNCS): Add _set_fpscr .
372 * config/sh/lib1funcs.asm (___set_fpscr): Add.
373
1f72bfca
JL
374Fri Oct 2 02:01:59 1998 Jeffrey A Law (law@cygnus.com)
375
8ac53846
JL
376 * regclass.c (reg_scan_mark_refs): Return immediately if passed a
377 NULL_RTX as an argument.
378
1f72bfca
JL
379 * Makefile.in (unlibsubdir): Define.
380 (DRIVER_DEFINES): Use unlibsubdir.
381 (cccp.o, cpplib.o, protoize.o, unprotoize.o): Similarly.
382 (stmp-fixinc): Similarly.
383
961d4119
BS
384Thu Oct 1 19:58:30 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
385
386 * regmove.c (regmove_optimize): Add variable old_max_uid.
387 At the end of the function, update basic_block_end.
388
23e08716
DM
389Thu Oct 1 17:58:25 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
390
391 * dwarf2out.c (expand_builtin_dwarf_reg_size): Use
392 FIRST_PSEUDO_REGISTER as upper bound for last_end, not an
393 arbitrary constant.
394
da6558fd
NC
395Thu Oct 1 17:57:14 1998 Nick Clifton <nickc@cygnus.com>
396
397 * config/arm/arm.c: Improve interworking support.
398
470cdb8b
R
399Thu Oct 1 18:43:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
400
401 * reload1.c (choose_reload_regs): Fix test if reload_reg_rtx[r] was
402 copied from reload_out[r] .
403
913f68c1
JC
404Thu Oct 1 19:20:09 1998 John Carr <jfc@mit.edu>
405
406 * dwarf2out.c (expand_builtin_dwarf_reg_size): Fix to work
407 with more than three size ranges.
408
409 * flow.c (sbitmap_copy): Use bcopy to copy bitmap.
410
411 * rtl.c (mode_name): Add a null string at the end of the array.
412 (mode_wider_mode): Change type to unsigned char.
413 (mode_mask_array): New variable.
414 (init_rtl): Update for mode_wider_mode type change.
415
416 * rtl.h (mode_wider_mode): Change type to unsigned char.
417 (mode_mask_array): Declare.
418 (GET_MODE_MASK): Use mode_mask_array.
419
c36fce9a
GRK
420Thu Oct 1 15:56:01 1998 Gavin Romig-Koch <gavin@cygnus.com>
421
422 * calls.c (expand_call) : Encapsulate code into
423 copy_blkmode_from_reg.
424 * expr.c (copy_blkmode_from_reg): New function.
425 * expr.h (copy_blkmode_from_reg): New function.
426 * integrate.c (function_cannot_inline_p): We can inline
427 these now.
428 (expand_inline_function): Use copy_blkmode_from_reg
429 if needed. Avoid creating BLKmode REGs.
430 (copy_rtx_and_substitute): Don't try to SUBREG a BLKmode
431 object.
432
3a846e6e
NC
433Thu Oct 1 10:42:27 1998 Nick Clifton <nickc@cygnus.com>
434
3ce15347
NC
435 * config/v850/v850.c: Add function prototypes.
436 Add support for v850 special data areas.
437
438 * config/v850/v850.h: Add support for v850 special data areas.
439
e2af664c
NC
440 * c-pragma.c: Add support for HANDLE_PRAGMA_PACK and
441 HANDLE_PRAGMA_PACK_PUSH_POP.
442 (push_alignment): New function: Cache an alignment requested
443 by a #pragma pack(push,<n>).
444 (pop_alignment): New function: Pop an alignment from the
445 alignment stack.
446 (insert_pack_attributes): New function: Generate __packed__
447 and __aligned__ attributes for new decls whilst a #pragma pack
448 is in effect.
449 (add_weak): New function: Cache a #pragma weak directive.
450 (handle_pragma_token): Document calling conventions. Add
451 support for #pragma pack(push,<n>) and #pragma pack (pop).
452
453 * c-pragma.h: If HANDLE_SYSV_PRAGMA or HANDLE_PRAGMA_PACK_PUSH_POP
454 are defined enable HANDLE_PRAGMA_PACK.
455 Move 'struct weak_syms' here (from varasm.c).
456 Add pragma states for push and pop pragmas.
457
458 * c-common.c (decl_attributes): Call PRAGMA_INSERT_ATTRIBUTES
459 if it is defined.
460
461 * c-lex.c: Replace occurances of HANDLE_SYSV_PRAGMA with
462 HANDLE_GENERIC_PRAGMAS.
463
464 * varasm.c: Move definition of 'struct weak_syms' into
465 c-pragma.h.
466 (handle_pragma_weak): Deleted.
467
468 * config/i386/i386.h: Define HANDLE_PRAGMA_PACK_PUSH_POP.
469
470 * config/winnt/win-nt.h: Define HANDLE_PRAGMA_PACK_PUSH_POP.
471
3a846e6e
NC
472 * c-decl.c (start_function): Add invocation of
473 SET_DEFAULT_DECL_ATTRIBUTES, if defined.
474
475 * tm.texi: Remove description of non-existant macro
476 SET_DEFAULT_SECTION_NAME.
e2af664c
NC
477
478 (HANDLE_SYSV_PRAGMA): Document.
479 (HANDLE_PRAGMA_PACK_PUSH_POP): Document.
3a846e6e 480
5aaf0123
RL
481Wed Sep 30 22:27:53 1998 Robert Lipe <robertl@dgii.com>
482
483 * config.sub: Recognize i[34567]86-pc-udk as new target.
484 * configure.in: Likewise.
485 * config/i386/t-udk: New file.
486 * config/i386/udk.h: New file.
487
f0c76b51
JL
488Wed Sep 30 19:33:07 1998 Jeffrey A Law (law@cygnus.com)
489
490 * reorg.c (check_annul_list_true_false): Remove unused variables.
491 (steal_delay_list_from_target): Add missing "used_annul" variable.
492 (try_merge_delay_insns): Close out half formed comment.
493
6fa72945
ZW
494Wed Sep 30 19:13:20 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
495
aa90b111
ZW
496 * cpplib.c (macroexpand): If arg->raw_before or
497 arg->raw_after, remove any no-reexpansion escape at the
498 beginning of the pasted token. Correct handling of whitespace
499 markers and no-reexpand markers at the end if arg->raw_after.
500
6fa72945
ZW
501 * toplev.c (documented_lang_options): Recognize -include,
502 -imacros, -iwithprefix, -iwithprefixbefore.
503 * cpplib.c (cpp_start_read): Process -imacros and -include
504 switches at the same time and in command-line order, after
505 initializing the dependency-output code. Emit properly nested
506 #line directives for them. Emit a #line for the main file
507 before processing these switches, and don't do it again
508 afterward.
509
f7b6d104
RH
510Wed Sep 30 18:03:22 1998 Richard Henderson <rth@cygnus.com>
511
512 * function.c (purge_addressof_1): Use bitfield manipulation
513 routines to handle mem mode < reg mode.
514
96960d10
HB
515Wed Sep 30 18:43:32 1998 Herman ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
516
517 * reorg.c (try_merge_delay_insns): Account for resources referenced
518 in each instruction in INSN's delay list before trying to eliminate
519 useless instructions. Similarly when looking at a trial insn's delay
520 slots.
521
522 * reorg.c (check_annul_list_true_false): New function.
523 (steal_delay_list_from_{target,fallthrough}): Call it and also
524 refine tests for when we may annul if already filled a slot.
525 (fill_slots_from_thread): Likewise.
526 (delete_from_delay_slot): Return newly-created thread.
527 (try_merge_delay_isns): Use its new return value.
528
c5cbf81e
JL
529Wed Sep 30 18:29:26 1998 Jeffrey A Law (law@cygnus.com)
530
531 * loop.c (check_dbra_loop): Use a vanilla loop reversal if the biv is
532 used to compute a giv or as some other non-counting use.
533
8d5c8167
JL
534Wed Sep 30 18:19:27 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
535
1e326708
MH
536 * regs.h (HARD_REGNO_CALL_PART_CLOBBERED): New macro.
537 * local-alloc.c (find_free_reg): Use it.
538 * global.c (find_reg): Likewise.
539 * tm.texi: Document HARD_REGNO_CALL_PART_CLOBBERED.
540
8d5c8167
JL
541 * regs.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
542 * caller-save.c (init_caller_save): Use it.
543 * tm.texi: Document HARD_REGNO_CALLER_SAVE_MODE.
544
545Wed Sep 30 12:57:30 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
f81a440f
ZW
546
547 * configure.in: Add --enable-cpplib option which uses cpplib
548 for cpp, but doesn't link cpplib into cc1. Make help text
549 capitalization consistent.
550 * configure: Rebuilt.
551
95ca22f4
MM
552Wed Sep 30 10:09:39 1998 Mark Mitchell <mark@markmitchell.com>
553
554 * function.c (gen_mem_addressof): If the address REG is
555 REG_USERVAR_P make the new REG be so also.
556 * loop.c (scan_loop): Apply DeMorgan's laws and add documentation
557 in an attempt to clarify slightly.
558
ee06cc21
JL
559Wed Sep 30 09:57:40 1998 Jeffrey A Law (law@cygnus.com)
560
561 * expr.c (expand_expr): Handle COMPONENT_REF, BIT_FIELD_REF ARRAY_REF
562 and INDIRECT_REF in code to check MAX_INTEGER_COMPUTATION_MODE.
563
257441db
CM
564Wed Sep 30 10:13:39 1998 Catherine Moore <clm@cygnus.com>
565
566 * toplev.c: Fix last patch.
567
dc5737cf
JW
568Tue Sep 29 20:03:18 1998 Jim Wilson <wilson@cygnus.com>
569
570 * loop.c (get_condition): Fix typo in May 9 change.
571
89ed4e9d
AM
572Tue Sep 29 11:11:38 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
573
574 * invoke.texi (-fexceptions): Merge 2 different descriptions.
575
630962bf
KG
576Mon Sep 28 22:08:52 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
577
578 * toplev.c (documented_lang_options): Spelling corrections.
579
ab339d62
AO
580Mon Sep 28 19:41:24 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
581
582 * configure.in: new flags --with-ld and --with-as, equivalent
583 to setting LD and AS environment variables. Test whether
584 specified arguments are GNU commands, and report them with
585 checking messages. Use the specified AS for configure
586 tests too.
587 * configure: ditto
588 * acconfig.h: add DEFAULT_ASSEMBLER and DEFAULT_LINKER
589 * config.in: ditto
590 * gcc.c (find_a_file): when looking for `as' and `ld', return
591 the DEFAULT program if it exists
592 * collect2.c (main): use DEFAULT_LINKER if it exists
593
594 * gcc.c (find_a_file): the test for existence of a full
595 pathname was reversed
596
42820a49
MM
597Mon Sep 28 17:34:35 1998 Michael Meissner <meissner@cygnus.com>
598
599 * rs6000.h (ASM_OUTPUT_MI_THUNK): Only define on ELF systems.
600 * rs6000.c (output_mi_thunk): Always use a raw jump for now.
601
8ff0c1af
MM
602Mon Sep 28 14:24:03 1998 Mark Mitchell <mark@markmitchell.com>
603
604 * tree.h (TYPE_BINFO): Document.
605
9588f31b
SC
606Mon Sep 28 12:55:49 1998 Stan Cox <scox@cygnus.com>
607
608 * i386-coff.h (dbxcoff.h): Added.
609
fd868572
CM
610Mon Sep 28 12:51:00 1998 Catherine Moore <clm@cygnus.com>
611
612 * toplev.c: fix bad patch around flag_data_sections.
613
1f2b04b3
NC
614Mon Sep 28 10:32:28 1998 Nick Clifton <nickc@cygnus.com>
615
616 * reload1.c (reload): Use reload_address_index_reg_class and
617 reload_address_base_reg_class when setting
618 caller_save_spill_class. (Patch generated by Jim Wilson:
619 wilson@cygnus.com).
620
ece32014
MM
621Mon Sep 28 07:43:34 1998 Mark Mitchell <mark@markmitchell.com>
622
623 * c-common.c (c_get_alias_set): Tighten slightly for FUNCTION_TYPEs
624 and ARRAY_TYPEs. Tidy up. Improve support for type-punning.
625 * expr.c (store_field): Add alias_set parameter. Set the
626 MEM_ALIAS_SET accordingly, if the target is a MEM.
627 (expand_assignment): Use it.
628 (store_constructor_field): Pass 0.
629 (expand_expr): Likewise.
630
7d0756fb
CM
631Mon Sep 28 07:54:03 1998 Catherine Moore <clm@cygnus.com>
632
633 * flags.h: Add flag_data_sections.
634 * toplev.c: Add option -fdata-sections. Add flag_data_sections.
635 (compile_file): Error if flag_data_sections not supported.
636 * varasm.c (assemble_variable): Handle flag_data_sections.
637 * config/svr4.h: Modify prefixes for UNIQUE_SECTION_NAME.
638 * config/mips/elf.h: Likewise.
639 * config/mips/elf64.h: Likewise.
640 * invoke.texi: Describe -fdata-sections.
641
6fd74494
CB
642Mon Sep 28 04:15:44 1998 Craig Burley <burley@melange.gnu.org>
643
644 * invoke.texi (-ffloat-store): Clarify that this option
645 does not affect intermediate results -- only variables.
646
fcce5756
JL
647Mon Sep 28 04:11:35 1998 Jeffrey A Law (law@cygnus.com)
648
649 * cpp.texi: Update for Fortran usage from Craig.
650
2310f99a
DE
651Fri Sep 25 22:09:47 1998 David Edelsohn <edelsohn@mhpcc.edu>
652
653 * rs6000.c (function_arg_boundary): Revert accidental change on
654 September 18.
655
17167fd8
MM
656Fri Sep 25 20:30:00 1998 Michael Meissner <meissner@cygnus.com>
657
658 * rs6000.h (ASM_OUTPUT_MI_THUNK): Declare, call output_mi_thunk.
659 (output_mi_thunk): Declare.
660
661 * rs6000.c (output_mi_thunk): Function to create thunks for MI.
662 (output_function_profiler): Use r12 for temp, instead of r11 so
663 that we preserve the static chain register.
664
46fb0d7d
JW
665Fri Sep 25 14:18:33 1998 Jim Wilson <wilson@cygnus.com>
666
667 * sdbout.c (sdbout_one_type): Don't look at TYPE_BINFO field of enums.
668
913d8e13
R
669Fri Sep 25 19:30:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
670
671 * sh.c (gen_shl_sext): Fix case 5.
672
2abbc1bd
R
673Fri Sep 25 17:35:23 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
674
675 * reload1.c (reload_combine): Re-add line that got accidentally lost.
676
36611067
KG
677Fri Sep 25 10:43:47 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
678
679 * cccp.c (pedwarn_with_file_and_line): For !__STDC__ case, avoid
680 accessing variables until they are initialized via va_arg().
681
85ccbba3
DM
682Thu Sep 24 22:12:16 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
683
684 * reload1.c (reload_combine): Initialize set before using.
685
0dbb7a10
JM
686Thu Sep 24 18:53:20 1998 Jason Merrill <jason@yorick.cygnus.com>
687
688 * sdbout.c (sdbout_field_types): Don't emit the types of fields we
689 won't be emitting.
690
da959950
NC
691Thu Sep 24 17:05:30 1998 Nick Clifton <nickc@cygnus.com>
692
693 * config/arm/arm.md (insv): Add comment. In CONST_INT case, and
694 operand3 with mask before using it. Patch provided by Jim Wilson.
695
3c6088d2
JJ
696Thu Sep 24 15:08:08 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
697
698 * config/sparc/sparc.c (function_value): Perform the equivalent of
699 PROMOTE_MODE for ARCH64.
700 (eligible_for_epilogue_delay): Allow DImode operations in delay
701 slot of a return for ARCH64.
702
71187870
R
703Thu Sep 24 22:17:54 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
704
705 * sh.md (sqrtsf2): Fix mode of sqrt.
706
b29514ee
R
707Thu Sep 24 21:48:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
708
709 * reload1.c (choose_reload_regs): Also try inheritance when
710 reload_in is a stack slot of a pseudo, even if we already got a
711 reload reg.
712
5adf6da0
R
713Thu Sep 24 21:22:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
714
715 * reload1.c (reload_cse_regs_1): Renamed from reload_cse_regs.
716 (reload_cse_regs): New function body: call reload_cse_regs_1,
717 reload_combine, reload_cse_move2add.
718 When doing expensive_optimizations, call reload_cse_regs_1 a
719 second time after reload_cse_move2add.
720 (reload_combine, reload_combine_note_store): New functions.
721 (reload_combine_note_use): New function.
722 (reload_cse_move2add, move2add_note_store): New functions.
723
c10638c9
R
724Thu Sep 24 18:48:43 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
725
726 * reload.c (find_reloads): In code to promote RELOAD_FOR_X_ADDR_ADDR
727 reloads to RELOAD_FOR_X_ADDRESS reloads, test for reload sharing.
728
729 Properly keep track of first RELOAD_FOR_X_ADDRESS also for
730 more than 3 such reloads.
731
732 If there is not more than one RELOAD_FOR_X_ADDRESS, don't change
733 RELOAD_FOR_X_ADDR_ADDR reload.
734
34c73909
R
735Thu Sep 24 17:45:55 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
736
737 * expr.c (store_constructor): When initializing a field that is smaller
738 than a word, at the start of a word, try to widen it to a full word.
739
740 * cse.c (cse_insn): When we are about to change a register,
741 remove any invalid references to it.
742
743 (remove_invalid_subreg_refs): New function.
744 (mention_regs): Special treatment for SUBREGs.
745 (insert_regs): Don't strip SUBREG for call to mention_regs.
746 Check if reg_tick needs to be bumped up before that call.
747 (lookup_as_function): Try to match known word_mode constants when
748 looking for a norrower constant.
749 (canon_hash): Special treatment for SUBREGs.
750
345a6161
DM
751Thu Sep 24 01:35:34 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
752
753 * config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Define.
754 * config/sparc/sparc.c (sparc64_initialize_trampoline): If that is
755 defined, emit libcall to __enable_execute_stack. Also fix opcodes
756 and offsets in actual stack trampoline code so they match the
757 commentary and actually work.
758
759Thu Sep 24 01:19:02 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
760
761 * configure.in (sparcv9-*-solaris): Use t-sol2 and t-sol2-64 for
762 tmake_file.
763 (sparc64-*-linux): Use t-linux and sparc/t-linux64 for
764 tmake_file. Set extra_parts to needed crt objects.
765 * configure: Rebuilt.
766 * config/sparc/linux64.h (SPARC_BI_ARCH): Define.
767 (TARGET_DEFAULT): Set if default is v9 or ultra.
768 (STARTFILE_SPEC32, STARTFILE_SPEC64): New macros.
769 (STARTFILE_SPEC): Set to those upon SPARC_BI_ARCH.
770 (ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_SPEC): Likewise.
771 (SUBTARGET_EXTRA_SPECS, LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
772 LINK_SPEC, LINK_ARCH_SPEC): Likewise.
773 (TARGET_VERSION): Define.
774 (MULTILIB_DEFAULT): Define.
775 * config/sparc/sparc.h (CPP_CPU_DEFAULT_SPEC): Rearrange so that
776 mixed 32/64 bit compilers based upon SPARC_BI_ARCH work.
777 (CPP_CPU64_DEFAULT_SPEC, CPP_CPU32_DEFAULT_SEC): Define
778 appropriately.
779 (TARGET_SWITCHES): Allow ptr32/ptr64 options once more.
780 * config/sparc/sparc.c (sparc_override_options): If arch and
781 pointer size disagree, emit diagnostic and fix it up. If
782 SPARC_BI_ARCH and TARGET_ARCH32, set cmodel to CM_32. Turn off
783 V8PLUS in 64-bit mode.
784 * config/sparc/t-linux64: New file.
785 * config/sparc/t-sol2-64: New file.
786 * config/sparc/t-sol2: Adjust build rules to use MULTILIB_CFLAGS.
787 * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Define.
788 (ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC,
789 CPP_CPU32_DEFAULT_SPEC, CPP_CPU64_DEFAULT_SPEC): Define.
790 (ASM_SPEC, CPP_CPU_SPEC): Set appropriately based upon those.
791 (STARTFILE_SPEC32, STARTFILE_SPEC32, STARTFILE_ARCH_SPEC):
792 Define.
793 (STARTFILE_SPEC): Set approriately based upon those.
794 (CPP_CPU_DEFAULT_SPEC, ASM_CPU_DEFAULT_SPEC): Set based upon
795 disposition of DEFAULT_ARCH32_P.
796 (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC): Define.
797 (LINK_ARCH_SPEC, LINK_ARCH_DEFAULT_SPEC): Set based upon those.
798 (CC1_SPEC, MULTILIB_DEFAULTS): Set based upon DEFAULT_ARCH32_P.
799 (MD_STARTFILE_PREFIX): Set correctly based upon SPARC_BI_ARCH.
800 * config/sparc/xm-sysv4-64.h (HOST_BITS_PER_LONG): Only set on
801 arch64/v9.
802 * config/sparc/xm-sp64.h (HOST_BITS_PER_LONG): Likewise.
803
59ec66dc
MM
804Wed Sep 23 22:32:31 1998 Mark Mitchell <mark@markmitchell.com>
805
806 * rtl.h (init_virtual_regs): New function.
807 * emit-rtl.c (init_virtual_regs): Define.
808 (insn_emit): Use it.
809 * integrate.c (save_for_inline_copying): Likewise.
810
f916eeb6
NC
811Wed Sep 23 16:22:01 1998 Nick Clifton <nickc@cygnus.com>
812
a5f42165
NC
813 * config/arm/thumb.h: The following patches were made by Jim Wilson:
814 (enum reg_class): Add NONARG_LO_REGS support.
815 (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS,
816 PREFERRED_RELOAD_CLASS, SECONDARY_RELOAD_CLASS): Likewise.
817 (GO_IF_LEGITIMATE_ADDRESS): Disable REG+REG addresses before reload
818 completes. Re-enable HImode REG+OFFSET addresses.
819 (LEGITIMIZE_RELOAD_ADDRESS): Define.
820
f916eeb6
NC
821 * expmed.c (extract_bit_field): Add comment from Jim Wilson.
822
80db34d8
RH
823Wed Sep 23 13:26:02 1998 Richard Henderson <rth@cygnus.com>
824
825 * alpha.c (get_aligned_mem): Revert Sep 20 change.
826 (alpha_set_memflags, alpha_set_memflags_1): Likewise.
827 (alpha_align_insns): Properly calculate initial offset wrt max_align.
828
7551cbc7
RE
829Wed Sep 23 10:45:44 1998 Richard Earnshaw (rearnsha@arm.com)
830
831 * arm.c (find_barrier): Revert change of Apr 23. Handle table
832 jumps as a single entity, taking into account the size of the
833 table.
834
eaec171c
APB
835Tue Sep 22 15:13:34 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
836
837 * tree.def (SWITCH_EXPR): New tree node definition.
838
83d6aca1
JL
839Mon Sep 21 23:40:38 PDT 1998 Jeff Law (law@cygnus.com)
840
841 * version.c: Bump for snapshot.
842
4d7f493b
JL
843Mon Sep 21 22:31:14 PDT 1998 Jeff Law (law@cygnus.com)
844
845 * version.c: Bump for snapshot.
846
31f0adf8
JL
847Mon Sep 21 22:48:09 1998 Jeffrey A Law (law@cygnus.com)
848
849 * configure.in: Recognize i[34567]86-*-openbsd* and handle it like
850 NetBSD.
851
6c7c0e9f
JL
852Mon Sep 21 22:05:28 1998 Jeffrey A Law (law@cygnus.com)
853
854 * Revert this patch.
855 * reload.c (find_reloads): Do not replace a pseudo with
856 (MEM (reg_equiv_addr)) in the initializing insn for the
857 pseudo.
858
7ad7f828
JC
859Mon Sep 21 20:19:41 1998 John Carr <jfc@mit.edu>
860
861 * final.c (final_scan_insn): Disable tracking CC across branches.
862
43566944
AM
863Mon Sep 21 17:15:26 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
864
865 * expr.h (eh_rtime_match_libfunc): New extern declaration.
866 * optabs.c (init_optabs): Set eh_rtime_match_libfunc.
867 * except.c (start_catch_handler): Use eh_rtime_match_libfunc.
868 * libgcc2.c (__eh_rtime_match): Always return 0 if the matcher is
869 NULL. Only include <stdio.h> if inhibit_libc is not defined.
870
1cbe6eb6
JM
871Mon Sep 21 14:10:51 1998 Jason Merrill <jason@yorick.cygnus.com>
872
873 * toplev.c (rest_of_compilation): Skip compiling anything with
874 DECL_EXTERNAL set, not just if it has DECL_INLINE as well.
875
d06c6389
JW
876Mon Sep 21 13:51:05 1998 Jim Wilson <wilson@cygnus.com>
877
878 * flow.c (find_basic_blocks): Delete check for in_libcall_block when
879 prev_code is a CALL_INSN. Change check for REG_RETVAL note to
880 use in_libcall_block.
881 (find_basic_blocks_1): Delete check for in_libcall_block when prev_code
882 is a CALL_INSN. If CALL_INSN and in_libcall_block, then change code
883 to INSN.
884
724001bb
RL
885Mon Sep 21 14:02:23 1998
886
887 * i386.h: (TARGET_SWITCHES) Improve doc for align-double. Fix
888 typo in no-fancy-math-387 description.
889
64ca6edd
JL
890Mon Sep 21 09:27:18 PDT 1998 Jeff Law (law@cygnus.com)
891
892 * version.c: Bump for snapshot.
893
216f3a58
SC
894Mon Sep 21 09:24:49 1998 Stan Cox <scox@cygnus.com>
895
896 * i386-coff.h (DBX_DEBUGGING_INFO): Added.
897
c03f9fe3
RL
898Mon Sep 21 09:14:49 1998 Robert Lipe <robertl@dgii.com>
899
900 * i386.h: (TARGET_SWITCHES) Add description fields for flags
901 documented in install.texi.
902 (TARGET_OPTIONS) Likewise.
903
cc61dfb8
JL
904Mon Sep 21 01:39:03 PDT 1998 Jeff Law (law@cygnus.com)
905
906 * version.c: Bump for snapshot.
907
b2a1e458
FL
908Mon Sep 21 01:53:05 1998 Felix Lee <flee@cygnus.com>
909
910 * c-lex.c (init_lex): Use getenv ("LANG"), not GET_ENVIRONMENT ().
911 * cccp.c (main): Likewise.
b2a1e458
FL
912
913 * cccp.c, collect2.c, cpplib.c, gcc.c, config/i386/xm-cygwin32.h:
914 Rename GET_ENVIRONMENT to GET_ENV_PATH_LIST, and fix some
915 macro-use bugs.
916
7e2231e7
PB
917Mon Sep 21 00:52:12 1998 Per Bothner <bothner@cygnus.com>
918
919 * Makefile.in (LIBS): Link in libiberty.a.
c03f9fe3 920 * c-common.c, gcc.c, toplev.c: Replace (some) bcopy calls by memcpy.
7e2231e7 921
c93b03c2
RH
922Sun Sep 20 23:28:11 1998 Richard Henderson <rth@cygnus.com>
923
924 * reload1.c (emit_reload_insns): Accept a new arg for the bb. Use
925 it to update bb boundaries. Update caller.
926 * function.c (reposition_prologue_and_epilogue_notes): Update
927 bb boundaries wrt the moved note.
928
823642df
RL
929Sun Sep 20 20:57:02 1998 Robert Lipe <robertl@dgii.com>
930
931 * configure.in (i*86-*-sysv5*): Use fixinc.svr4 to patch byteorder
932 problems.
933 * configure: Regenerate.
934
2ba57343
RH
935Sun Sep 20 19:01:51 1998 Richard Henderson <rth@cygnus.com>
936
3873d24b
RH
937 * alpha.c (alpha_sr_alias_set): New variable.
938 (override_options): Set it.
939 (alpha_expand_prologue, alpha_expand_epilogue): Use it.
940 (mode_mask_operand): Fix signed-unsigned comparision warning.
941 (alpha_expand_block_move): Likewise.
942 (print_operand): Likewise.
943 (get_aligned_mem): Use change_address.
944 (alpha_set_memflags, alpha_set_memflags_1): Set the alias set.
945 (alphaev4_insn_pipe, alphaev4_next_group): New functions.
946 (alphaev4_next_nop, alphaev5_next_nop): New functions.
947 (alpha_align_insns): Remade from old alphaev5_align_insns
948 to handle multiple processors.
949 (alpha_reorg): Call alpha_align_insns for both ev4 and ev5.
950 * output.h (label_to_alignment): Prototype.
951
2ba57343
RH
952 * tree.c (new_alias_set): New function.
953 * tree.h (new_alias_set): Declare it.
954 * c-common.c (c_get_alias_set): Use it.
955
899f1ed6
RH
956Sun Sep 20 12:35:55 1998 Richard Henderson <rth@cygnus.com>
957
958 * fold-const.c (fold): Yet another COND_EXPR bug: when folding
959 to an ABS expr, convert an unsigned input to signed.
960
c479c2ac
JL
961Sun Sep 20 12:14:45 1998 Jeffrey A Law (law@cygnus.com)
962
963 * fold-const.c (fold): Fix another type in COND_EXPR handling code.
964
62616695
MH
9651998-09-20 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
966
967 * configure.in: Add support for c4x targets.
968 * configure: Rebuilt.
969
f5c97640
RH
970Sun Sep 20 00:00:51 1998 Richard Henderson <rth@cygnus.com>
971
972 * combine.c (distribute_notes): If an insn is a cc0 user, only
973 delete it if we can also delete the cc0 setter.
974
a58bd508
MT
975Sun Sep 20 00:22:23 1998 Michael Tiemann <michael@impact.tiemann.org>
976
977 * fold-const.c (fold): Fix typo in COND_EXPR handling code.
978 (invert_truthvalue): Enable truthvalue inversion for
979 floating-point operands if -ffast-math.
980
750930c1
MN
981Sat Sep 19 23:58:07 1998 Melissa O'Neill <oneill@cs.sfu.ca>
982
983 * configure.in: Disable collect2 for nextstep. Instead use
984 crtbegin/crtend.
985 * configure: Rebuilt.
986 * config/nextstep.h (STARTFILE_SPEC): Add crtbegin.
987 (ENDFILE_SPEC): Define.
988 (OBJECT_FORMAT_MACHO): Define.
989 (EH_FRAME_SECTION_ASM_OP): Define.
990 * crtstuff.c: Handle MACHO.
991
655d03a8
RL
992Sun Sep 20 00:24:24 1998 Robert Lipe <robertl@dgii.com>
993
994 * config/i386/sco5.h (TARGET_MEM_FUNCTIONS): Define.
995
b567319f
TG
9961998-09-19 Torbjorn Granlund <tege@matematik.su.se>
997
998 * fp-bit.c (pack_d): Do not clear SIGN when fraction is 0.
999 (_fpadd_parts): Get sign right for 0.
1000
9949a9f2
MH
10011998-09-19 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1002
1003 * ginclude/varargs.h: Add support for C4x target.
1004 * ginclude/stdargs.h: Likewise.
1005
3fe5612d
RH
1006Sat Sep 19 12:05:09 1998 Richard Henderson <rth@cygnus.com>
1007
1008 * alpha.c (alpha_return_addr): SET should be VOIDmode.
1009 (alpha_emit_set_long_const): Rewrite to be callable from reload
1010 and 32-bit hosts.
1011 (alpha_expand_epilogue): Update for alpha_emit_set_long_const.
1012 * alpha.md (movdi): Likewise.
1013
332072db
RE
1014Sat Sep 19 07:33:36 1998 Richard Earnshaw (rearnsha@arm.com)
1015
1016 * arm.c (add_constant): New parameter address_only, change caller.
1017 Set it non-zero if taking the address of an item in the pool.
1018 (arm_reorg): Handle cases where we need the address of an item in
1019 the pool.
1020
9c8cc54f
RE
1021 * arm.c (bad_signed_byte_operand): Check both arms of a sum in
1022 a memory address.
1023 * arm.md (splits for *extendqihi_insn and *extendqisi_insn): Handle
1024 memory addresses that are not in standard canonical form.
1025
cb0ca284
MH
1026Sat Sep 19 01:00:32 1998 Michael Hayes (mph@elec.canterbury.ac.nz)
1027
1028 * README.C4X: New file with information about the c4x ports.
1029 * ginclude/va-c4x.h: New file for c4x varargs support.
1030 * config/c4x: New directory with c4x port files.
1031
f10df53c
JL
1032Fri Sep 18 22:52:05 1998 Jeffrey A Law (law@cygnus.com)
1033
1034 * reload.c (find_reloads): Do not replace a pseudo with
1035 (MEM (reg_equiv_addr)) in the initializing insn for the
1036 pseudo.
1037
5accd822
DE
1038Fri Sep 18 23:50:56 1998 David Edelsohn <edelsohn@mhpcc.edu>
1039
1040 * toplev.c (rest_of_compilation): Set bct_p on second call to
1041 loop_optimize.
1042 * loop.c (loop_optimize, scan_loop, strength_reduce): New argument
1043 bct_p.
1044 (strength_reduce): Only call analyze_loop_iterations and
1045 insert_bct if bct_p set.
1046 (check_dbra_loop): Fix typo.
1047 (insert_bct): Use word_mode instead of SImode.
1048 (instrument_loop_bct): Likewise. Do not delete iteration count
1049 condition code generation insn. Initialize iteration count before
1050 loop start.
1051 * rtl.h (loop_optimize): Update prototype.
1052
1053 * ginclude/va-ppc.h (va_arg): longlong types in overflow area are
1054 not doubleword aligned.
1055
1056 * rs6000.c (optimization_options): New function.
1057 (secondary_reload_class): Only call true_regnum for PSEUDO_REGs.
1058 * rs6000.h (OPTIMIZATION_OPTIONS): Define.
1059 (REG_ALLOC_ORDER): Allocate highest numbered condition regsiters
1060 first; cr1 can be used for FP record condition insns.
1061
d2a73f8e
NC
1062Fri Sep 18 09:44:55 1998 Nick Clifton <nickc@cygnus.com>
1063
1064 * config/m32r/m32r.h (m32r_block_immediate_operand): Add to
1065 PREDICATE_CODES.
1066
1067 * config/m32r/m32r.md: Add "movstrsi" and "movstrsi_internal"
1068 patterns.
1069
1070 * config/m32r/m32r.c (m32r_print_operand): Add 's' and 'p'
1071 operators.
1072 (block_move_call): New function: Call a library routine to copy a
1073 block of memory.
1074 (m32r_expand_block_move): New function: Expand a "movstrsi"
1075 pattern into a sequence of insns.
1076 (m32r_output_block_move): New function: Expand a
1077 "movstrsi_internal" pattern into a sequence of assembler opcodes.
1078 (m32r_block_immediate_operand): New function: Return true if the
1079 RTL is an integer constant, less than or equal to MAX_MOVE_BYTES.
1080
7ac2148b
AM
1081Thu Sep 17 16:42:16 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
1082
1083 * except.c (start_catch_handler): Issue 'fatal' instead of 'error' and
1084 re-align some code.
1085 * libgcc2.c (__eh_rtime_match): fprintf a runtime error. Use <stdio.h>.
1086
9d2106a4
R
1087Thu Sep 17 12:24:33 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1088
1089 * regmove.c (copy_src_to_dest): Check that modes match.
1090
086afc19
RL
1091Wed Sep 16 22:10:42 1998 Robert Lipe <robertl@dgii.com>
1092
1093 * config/i386/sco5.h (SUPPORTS_WEAK): True only if targeting ELF.
1094
b66a3ac1
RH
1095Wed Sep 16 15:24:54 1998 Richard Henderson <rth@cygnus.com>
1096
1097 * i386.h (PREFERRED_RELOAD_CLASS): Respect an existing class
1098 narrower than FLOAT_REGS.
1099
0d7138a1
AO
1100Wed Sep 16 17:51:00 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
1101
1102 * cpplib.c: removed OLD_GPLUSPLUS_INCLUDE_DIR
1103 * cccp.c: ditto
1104 * Makefile.in (old_gxx_include_dir): removed
1105
f43a85ca
NC
1106Wed Sep 16 12:29:22 1998 Nick Clifton <nickc@cygnus.com>
1107
1108 * config/sh/sh.h: Update definition of HANDLE_PRAGMA to match
1109 new specification.
1110
1111 * config/sh/sh.c (handle_pragma): Rename to sh_handle_pragma().
1112 (sh_handle_pragma): Change function arguments to match new
1113 specification for HANDLE_PRAGMA.
1114
88dab4f6
KG
1115Wed Sep 16 12:43:19 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1116
1117 * gen-protos.c (parse_fn_proto): Cast argument of ISALNUM to
1118 `unsigned char'.
1119 (main): Mark parameter `argc' with ATTRIBUTE_UNUSED.
1120 When generating output, initialize missing struct member to zero.
1121
1a8fca8a
R
1122Wed Sep 16 14:47:43 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1123
1124 * regmove.c (copy_src_to_dest): Don't copy if that requires
1125 (a) new register(s).
1126
f15ebf65
BS
1127Wed Sep 16 01:29:12 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
1128
1129 * global.c (reg_allocno): Now static.
1130 * reload1.c (reg_allocno): Delete declaration.
1131 (order_regs_for_reload): Take no arguments. Don't treat regs
1132 allocated by global differently than those allocated by local-alloc.
1133
3dbf3a22
KI
1134Wed Sep 16 01:09:01 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
1135
b0e982be
KI
1136 * m68k/m68k.c (output_function_prologue): Reverse NO_ADDSUB_Q
1137 condition, fix format strings.
1138 (output_function_epilogue): Likewise.
1139
3dbf3a22
KI
1140 * m68k/m68k.c: Don't include <stdlib.h> directly.
1141
b86ba9c8
GK
1142Wed Sep 16 00:30:56 1998 Geoff Keating <geoffk@ozemail.com.au>
1143
1144 * gcse.c: New definition NEVER_SET for reg_first_set, reg_last_set,
1145 mem_first_set, mem_last_set; because 0 can be a CUID.
1146 (oprs_unchanged_p): Use new definition.
1147 (record_last_reg_set_info): Likewise.
1148 (record_last_mem_set_info): Likewise.
1149 (compute_hash_table): Likewise.
1150
54d65918
JL
1151Tue Sep 15 22:59:52 1998 Jeffrey A Law (law@cygnus.com)
1152
6f573ff9
JL
1153 * rs6000.c (output_epilogue): Handle Chill.
1154
fa88e837
JL
1155 * mn10200.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
1156 * mn10300.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
1157
0d8e55d8
JL
1158 * combine.c (make_extraction): If no mode is specified for
1159 an operand of insv, extv, or extzv, default it to word_mode.
1160 (simplify_comparison): Similarly.
1161 * expmed.c (store_bit_field): Similarly.
1162 (extract_bit_field): Similarly.
1163 * function.c (fixup_var_regs_1): Similarly.
1164 * recog.c (validate_replace_rtx_1): Similarly.
1165 * mips.md (extv, extzv, insv expanders): Default modes for most
1166 operands. Handle TARGET_64BIT.
1167 (movdi_uld, movdi_usd): New patterns.
1168
54d65918
JL
1169 * pa.c (emit_move_sequence): Do not replace a pseudo with its
1170 equivalent memory location unless we have been provided a scratch
1171 register. Similarly do not call find_replacement unless a
1172 scratch register has been provided.
1173
c09a3c2e
BS
1174Tue Sep 15 19:23:01 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
1175
1176 * i386.h (PREFERRED_RELOAD_CLASS): For standard 387 constants,
1177 return FLOAT_REGS.
1178
71038426
RH
1179Tue Sep 15 19:09:06 1998 Richard Henderson <rth@cygnus.com>
1180
1181 * tree.h (BUILT_IN_CALLER_RETURN_ADDRESS): Unused. Kill.
1182 (BUILT_IN_FP, BUILT_IN_SP, BUILT_IN_SET_RETURN_ADDR_REG): Kill.
1183 (BUILT_IN_EH_STUB_OLD, BUILT_IN_EH_STUB, BUILT_IN_SET_EH_REGS): Kill.
1184 (BUILT_IN_EH_RETURN, BUILT_IN_DWARF_CFA): New.
1185 * c-decl.c (init_decl_processing): Update accordingly.
1186 * expr.c (expand_builtin): Likewise.
1187
1188 * rtl.h (global_rtl): Add cfa entry.
1189 (virtual_cfa_rtx, VIRTUAL_CFA_REGNUM): New.
1190 (LAST_VIRTUAL_REGISTER): Update.
1191 * emit-rtl.c (global_rtl): Add cfa entry.
1192 (init_emit): Initialize it.
1193 * function.c (cfa_offset): New.
1194 (instantiate_virtual_regs): Initialize it.
1195 (instantiate_virtual_regs_1): Instantiate virtual_cfa_rtx.
1196 (expand_function_end): Call expand_eh_return.
1197 * tm.texi (ARG_POINTER_CFA_OFFSET): New.
1198
1199 * except.c (current_function_eh_stub_label): Kill.
1200 (current_function_eh_old_stub_label): Likwise; update all references.
1201 (expand_builtin_set_return_addr_reg): Kill.
1202 (expand_builtin_eh_stub_old, expand_builtin_eh_stub): Kill.
1203 (expand_builtin_set_eh_regs): Kill.
1204 (eh_regs): Produce a third reg for the actual handler address.
1205 (eh_return_context, eh_return_stack_adjust): New.
1206 (eh_return_handler, eh_return_stub_label): New.
1207 (init_eh_for_function): Initialize them.
1208 (expand_builtin_eh_return, expand_eh_return): New.
1209 * except.h: Update prototypes.
1210 * flow.c (find_basic_blocks_1): Update references to the stub label.
1211 * function.h (struct function): Kill stub label elements.
1212
1213 * libgcc2.c (in_reg_window): For REG_SAVED_REG, check that the
1214 register number is one that would be in the previous window.
1215 Provide a dummy definition for non-windowed targets.
1216 (get_reg_addr): New function.
1217 (get_reg, put_reg, copy_reg): Use it.
1218 (__throw): Rely on in_reg_window, not INCOMING_REGNO. Kill stub
1219 generating code and use __builtin_eh_return. Use __builtin_dwarf_cfa.
1220
1221 * alpha.c (alpha_eh_epilogue_sp_ofs): New.
1222 (alpha_init_expanders): Initialize it.
1223 (alpha_expand_epilogue): Use it.
1224 * alpha.h: Declare it.
1225 * alpha.md (eh_epilogue): New.
1226
1227 * m68h.h (ARG_POINTER_CFA_OFFSET): New.
1228 * sparc.h (ARG_POINTER_CFA_OFFSET): New.
1229
bb210aaf
MM
1230Tue Sep 15 19:31:58 1998 Michael Meissner <meissner@cygnus.com>
1231
1232 * i960.h (CONST_COSTS): Fix thinko. Test flag, not the constant
1233 flag bit mask.
1234
bf71cd2e
AM
1235Tue Sep 15 14:10:54 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
1236
1237 * except.h (struct eh_entry): Add false_label field.
1238 (end_catch_handler): Add prototype.
1239 * except.c (push_eh_entry): Set false_label field to NULL_RTX.
1240 (start_catch_handler): When using old style exceptions, issue
1241 runtime typematch code before continuing with the handler.
1242 (end_catch_handler): New function, generates label after handler
1243 if needed by older style exceptions.
1244 (expand_start_all_catch): No need to check for new style exceptions.
1245 (output_exception_table_entry): Only output the first handler label
1246 for old style exceptions.
1247 * libgcc2.c (__eh_rtime_match): New routine to lump runtime matching
1248 mechanism into one function, if a runtime matcher is provided.
1249
8a21007c
AM
1250Tue Sep 15 13:53:59 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
1251
1252 * config/i960/i960.h (SLOW_BYTE_ACCESS): Change definition to 1.
1253
11d09c08
MM
1254Tue Sep 15 09:59:01 1998 Mark Mitchell <mark@markmitchell.com>
1255
1256 * integrate.c (copy_decl_list): Fix typo.
1257
2d81c9bf
DM
1258Tue Sep 15 04:18:52 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
1259
1260 * config/sparc/sparc.md (movdf_const_intreg_sp32): Fix length
1261 attribute.
1262
e12994ab
JL
1263Mon Sep 14 14:02:53 PDT 1998 Jeff Law (law@cygnus.com)
1264
1265 * version.c: Bump for snapshot.
1266
028d0b2a
JL
1267Mon Sep 14 10:33:56 PDT 1998 Jeff Law (law@cygnus.com)
1268
1269 * version.c: Bump for snapshot.
1270
466973ed
JL
1271Mon Sep 14 09:51:05 PDT 1998 Jeff Law (law@cygnus.com)
1272
1273 * version.c: Bump for snapshot.
1274
ad299d9b
DM
1275Sun Sep 13 22:10:18 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
1276
1277 * invoke.texi (C Dialect Options): Put back missing @end itemize.
1278
1b015bec
AO
1279Mon Sep 14 02:33:46 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
1280
1281 * configure.in: remove usage of `!' to negate the result of a
1282 command; some common shells do not support it
1283
d7496fbb
DM
1284Sun Sep 13 19:17:35 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
1285
1286 * configure.in: in sparc9-sol2 config, use 'if test' not
1287 brackets.
1288 * configure: Rebuilt.
1289
1290 * config/sparc/sol2-sld-64.h (SPARC_DEFAULT_CMODEL): Change to
1291 CM_MEDANY.
1292 (CPP_CPU_SPEC): Do not define _LP64, header files do this.
1293 (CPP_CPU_DEFAULT_SPEC): Likewise.
1294 * config/sparc/sol2.h (INIT_SUBTARGET_OPTABS): Get the names right
1295 for arch64 libfuncs.
1296
073149a2
DM
1297 * config/sparc/sparc.md (goto_handler_and_restore): Allow any mode
1298 for operand zero.
1299
007e8d2a
KG
1300Sun Sep 13 09:11:59 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1301
1302 * acconfig.h (NEED_DECLARATION_STRSIGNAL): Provide a stub.
1303
1304 * collect2.c: Don't declare `sys_siglist' here.
1305 (my_strsignal): Prototype and define new function. Use it in
1306 place of `sys_siglist' hacks.
1307
1308 * mips_tfile.c: Likewise.
1309
1310 * configure.in (AC_CHECK_FUNCS): Check for strsignal.
1311 (GCC_NEED_DECLARATIONS): Likewise.
1312
1313 * system.h (strsignal): Prototype it, if necessary.
1314 (sys_siglist): Declare it, if necessary.
1315
9655bf95
DM
1316Sun Sep 13 04:37:28 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
1317
1318 * loop.c (move_movables): While removing insn sequences, preserve
1319 the next pointer of the most recently deleted insn when we skip
1320 over a NOTE.
1321
fbe39e48
BE
1322Sun Sep 13 08:13:39 1998 Ben Elliston <bje@cygnus.com>
1323
1324 * objc/config-lang.in: Do not output the name of the selected
1325 thread file when building the front-end. The Makefile for the
1326 runtime library will do this.
1327
1328 * objc/Make-lang.in: Do not build the runtime library or install
1329 the Objective C header files. The Makefile for the runtime
1330 library will do this.
1331
1332 * objc/Makefile.in (all.indirect): Only build the front-end.
1333 (compiler): Rename to `frontend'.
1334 (obj-runtime): Remove target.
1335 (copy-headers): Likewise.
1336 (clean): No need to remove `libobjc.a' any longer.
1337
b91d2c10
MM
1338Sat Sep 12 11:37:19 1998 Michael Meissner <meissner@cygnus.com>
1339
1340 * rs6000.h ({ASM,CPP}_CPU_SPEC): Add support for all machines
1341 supported with -mcpu=xxx.
1342
86465af7
DM
1343Fri Sep 11 23:55:54 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
1344
1345 * flow.c (mark_set_1): Recognize multi-register structure return
1346 values in CALL insns.
1347 (mark_used_regs): Likewise.
1348 (count_reg_sets_1): Likewise.
1349 (count_reg_references): Likewise.
1350 * rtlanal.c (note_stores): Likewise.
c0222c21
DM
1351 (reg_overlap_mentioned_p): Likewise.
1352 * haifa-sched.c (check_live_1): Likewise.
1353 (update_live_1): Likewise.
1354 (sched_analyze_1): Likewise.
1355 (sched_note_set): Likewise.
1356 (birthing_insn_p): Likewise.
1357 (attach_deaths): Likewise.
1358
1359 * config/sparc/sparc.md (movdf_const_intreg_sp64): Disable.
1360
86465af7 1361
37a29ee7
ED
1362Fri Sep 11 22:57:55 1998 Eric Dumazet <dumazet@cosmosbay.com>
1363
45259482 1364 * config/i386/sco5.h (ASM_WEAKEN_LABEL): Defined as in svr4.h.
37a29ee7 1365
75bba2a6
DM
1366Thu Sep 10 22:02:04 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
1367
1368 * glimits.h (__LONG_MAX__): Recognize __sparcv9 too.
1369
d1accaa3
JJ
1370Thu Sep 10 21:19:10 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
1371
1372 * configure.in: Add check for GAS subsection -1 support.
1373 * acconfig.h (HAVE_GAS_SUBSECTION_ORDERING): Add.
1374 * configure config.in: Rebuilt.
1375 * config/sparc/sparc.h (CASE_VECTOR_MODE): For V9 flag_pic, use
1376 SImode is subsection -1 works, else use DImode.
1377 (ASM_OUTPUT_ADDR_VEC_START, ASM_OUTPUT_ADDR_VEC_END): Define if
1378 subsection -1 works.
1379 * config/sparc/sparc.c (sparc_output_addr_vec,
1380 sparc_output_addr_diff_vec): Use them if defined.
1381
02e24c7a
MM
1382Thu Sep 10 10:46:01 1998 Mark Mitchell <mark@markmitchell.com>
1383
1384 * tree.h (DECL_ORIGIN): New macro.
1385 * integrate.c (copy_and_set_decl_abstract_origin): New function.
1386 (copy_decl_list): Use it.
1387 (integrate_parm_decls): Likewise.
1388 (integrate_decl_tree): Likewise.
1389 * dwarf2out.c (decl_ultimate_origin): Simplify.
1390 * dwarfout.c (decl_ultimate_origin): Likewise.
1391 * c-decl.c (duplicate_decls): Use DECL_ORIGIN.
1392 (pushdecl): Likewise.
1393
9517ead8
AG
1394Thu Sep 10 08:01:31 1998 Anthony Green <green@cygnus.com>
1395
1396 * config/rs6000/rs6000.c (output_epilog): Add Java support.
1397
95c81fb8
ML
1398