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