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