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