Fix System V profiling.
[gcc.git] / gcc / ChangeLog
1 Wed Nov 26 15:47:30 1997 Michael Meissner <meissner@cygnus.com>
2
3 * rs6000.c (output_function_profiler): Put label address in r0, and
4 store LR in 4(sp) for System V/eabi.
5
6 * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Keep stack aligned to 16
7 byte boundary, and maintain stack backchain.
8
9 Wed Nov 26 11:12:26 1997 Jason Merrill <jason@yorick.cygnus.com>
10
11 * toplev.c (main): Complain about -gdwarfn.
12
13 Tue Nov 25 20:32:24 1997 Michael Meissner <meissner@cygnus.com>
14
15 (patches originally from Geoffrey Keating)
16 * rs6000.c (function_arg): Excess floating point arguments don't
17 go into GPR registers after exhausting FP registers under the
18 System V.4 ABI.
19 (function_arg_partial_nregs): Ditto.
20
21 * rs6000.md (call insns): If -fPIC or -mrelocatable, add @plt
22 suffix to calls.
23
24 Tue Nov 25 23:37:27 1997 Jason Merrill <jason@yorick.cygnus.com>
25
26 * integrate.c (output_inline_function): Just unset DECL_INLINE.
27
28 Tue Nov 25 23:33:29 1997 scott snyder <snyder@d0sgif.fnal.gov>
29
30 * dwarf2out.c (outout_call_frame_info): Ensure that the info has
31 proper alignment.
32
33 * libgcc2.c (__throw): Initialize HANDLER.
34
35 Tue Nov 25 10:00:42 1997 Richard Henderson (rth@cygnus.com)
36
37 * alpha.h (CONST_OK_FOR_LETTER): Fix 'L' handling.
38
39 Tue Nov 25 10:00:42 1997 Jeffrey A Law (law@cygnus.com)
40
41 * crtstuff.c (do_global_dtors_aux): Handle multiple calls better.
42
43 Tue Nov 25 01:26:55 1997 Bruno Haible <haible@ilog.fr>:
44
45 * dwarf2out.c (ASM_OUTPUT_DWARF_DELTA1): Implement.
46
47 Mon Nov 24 22:41:55 1997 Jason Merrill <jason@yorick.cygnus.com>
48
49 * except.c (get_dynamic_handler_chain): Build up a FUNCTION_DECL.
50 * optabs.c (init_optabs): Lose get_dynamic_handler_chain_libfunc.
51 * expr.h: Likewise.
52
53 Fri Nov 21 15:20:05 1997 Jeffrey A Law (law@cygnus.com)
54
55 * Makefile.in (program_transform_cross_name): Clean up "-e" confusion.
56 (GCC_INSTALL_NAME, GCC_CROSS_NAME): Likewise.
57
58 Fri Nov 21 19:37:40 1997 Andrew Cagney <cagney@b1.cygnus.com>
59
60 * config/mips/elf64.h (MULTILIB_DEFAULTS): Test for
61 TARGET_ENDIAN_DEFAULT == zero instead of testing for macro
62 definition.
63
64 Fri Nov 21 12:49:56 1997 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
65
66 * stmt.c (expand_end_bindings): Allow jump into block with cleanups.
67
68 Fri Nov 21 12:18:51 1997 Jason Merrill <jason@yorick.cygnus.com>
69
70 * except.h: Add outer_context_label_stack.
71 * except.c: Likewise.
72 (expand_start_all_catch): Push the outer_context for the try block
73 onto outer_context_label_stack.
74 (expand_end_all_catch): Use it and pop it.
75
76 Fri Nov 21 10:13:11 1997 Robert Lipe (robertl@dgii.com)
77
78 * i386/sco5.h (HAVE_ATEXIT): Revert last change.
79
80 Thu Nov 20 16:11:50 1997 Richard Henderson <rth@cygnus.com>
81
82 * alpha.c (alpha_emit_set_const_1): Handle narrow hosts better.
83
84 Thu Nov 20 16:11:50 1997 Klaus Kaempf <kkaempf@progis.de>
85
86 * alpha/vms.h (ASM_OUTPUT_ADDR_VEC_ELT): Add an L for the local label
87 to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
88
89 Thu Nov 20 14:42:15 1997 Jason Merrill <jason@yorick.cygnus.com>
90
91 * Makefile.in (LIB2FUNCS): Remove C++ memory management support.
92 * libgcc2.c: Remove __builtin_new, __builtin_vec_new, set_new_handler,
93 __builtin_delete, and __builtin_vec_delete.
94
95 * except.c (output_exception_table): Don't bother with
96 __EXCEPTION_END__.
97
98 Thu Nov 20 16:11:50 1997 Jeffrey A Law (law@cygnus.com)
99
100 * pa.md (pre_stwm, post_stwm, pre_ldwm, post_ldwm): Base register
101 is an in/out operand.
102 (zero extended variants of stwm/stwm patterns): Similarly.
103
104 * mips/x-iris (FIXPROTO_DEFINES): Add -D_SGI_SOURCE.
105
106 Thu Nov 20 13:19:32 1997 Jason Merrill <jason@yorick.cygnus.com>
107
108 * dwarf2out.c (ASM_OUTPUT_DWARF_OFFSET4): Rename from VALUE4.
109 Use assemble_name.
110 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Use assemble_name.
111 (output_call_frame_info): Emit a \n after using it.
112
113 Thu Nov 20 00:38:46 1997 Dave Love <d.love@dl.ac.uk>
114
115 * configure.in: Add AC_ARG_ENABLE for Haifa as documentation.
116
117 Wed Nov 19 12:03:04 1997 Philippe De Muyter <phdm@macqel.be>
118
119 * dwarf2out.c (CIE_LENGTH_LABEL, FDE_LENGTH_LABEL): New macros.
120 (ASM_OUTPUT_DWARF_VALUE4): New macro.
121 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Define if SET_ASM_OP is
122 defined.
123 (output_call_frame_info): Do not output forward label differences
124 if ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL is defined.
125 * m68k/mot3300.h (SET_ASM_OP): Define when not using gas.
126
127 Tue Nov 18 23:03:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
128
129 * sh.md (attribute "type"): Add nil.
130 (movsi_ie): y/y alternative is type nil.
131 (movsf_ie): Replace ry/yr/X alternative by r/y/X , y/r/X and y/y/X
132 alternatives.
133 (movsf_ie+1): Delete.
134
135 Tue Nov 18 15:39:59 1997 Jim Wilson <wilson@cygnus.com>
136
137 * mips/mips.c (save_restore_insns): If gp_offset or fp_offset are
138 large_int, emit two insns instead of one splitable insn.
139 * dwarf2out.c (dwarf2out_frame_debug): When set cfa_store_offset
140 from cfa_temp_value, use cfa_offset. Add assert checking that
141 cfa_reg is SP.
142
143 Mon Nov 17 15:35:38 1997 Tom Tromey <tromey@cygnus.com>
144
145 * cccp.c (deps_output): Properly quote file names for make.
146
147 Mon Nov 17 13:21:40 1997 Jeffrey A Law (law@cygnus.com)
148
149 * t-h8300 (MULTILIB_EXCEPTIONS): Define.
150
151 Fri Nov 7 15:33:11 1997 Robert Lipe (robertl@dgii.com)
152
153 * i386/sco5.h (HAVE_ATEXIT): Delete definition.
154
155 Sun Nov 16 23:52:48 1997 Jeffrey A Law (law@cygnus.com)
156
157 * cse.c (cse_insn): Don't look at JUMP_LABEL field of a conditionl
158 return.
159 (cse_end_of_basic_block): Similarly.
160
161 Sun Nov 16 23:01:40 1997 J. Kean Johnston <jkj@sco.com>
162
163 * i386/sco5.h (ASM_OUTPUT_ALIGNED_BSS): Define.
164 (SELECT_RTX_SECTION): Define.
165 (LIBGCC_SPEC, LIB_SPEC): Do the right thing for PIC.
166
167 Sun Nov 16 22:47:03 1997 Manfred Hollstein <manfred@s-direktnet.de>
168
169 * Makefile.in (compare, compare-lean): Define $stage for each
170 shell command.
171 (gnucompare, gnucompare-lean): Likewise.
172
173 Sun Nov 16 22:02:16 1997 Richard Henderson (rth@cygnus.com)
174
175 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix offsets.
176
177 * alpha.h (ASM_OUTPUT_ADDR_DIFF_ELT): Add an L for the local label
178 to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
179
180 Fri Nov 14 09:09:20 1997 Fred Fish (fnf@cygnus.com)
181
182 * dwarfout.c (byte_size_attribute): Add local var upper_bound
183 and add case to handle STRING_TYPE.
184 * dwarfout.c (output_string_type_die): Fix code to generate
185 correct string length attribute for fixed length strings.
186 Still needs support for varying length strings.
187
188 Fri Nov 14 08:46:56 1997 Jeffrey A Law (law@cygnus.com)
189
190 * toplev.c (get_run_time): Do something sensible for cygwin32.
191
192 Fri Nov 14 07:24:20 1997 Richard Henderson <rth@cygnus.com>
193
194 * expr.c (expand_builtin_setjmp): Set
195 current_function_has_nonlocal_label.
196 * stupid.c (stupid_life_analysis): If has_nonlocal_label, kill
197 call-saved registers across calls.
198
199 * alpha.md (exception_receiver): Remove.
200 (nonlocal_goto_receiver_osf): New
201 (nonlocal_goto_receiver_vms): Renamed from nonlocal_goto_receiver.
202 (nonlocal_goto_receiver): New, select _osf or _vms.
203
204 * alpha.c (output_prolog [*]): Prefix entry labels with '$' to
205 keep them from being propogated to the object file.
206 (alpha_write_linkage): Likewise.
207 * alpha.md (call_vms): Likewise.
208 (call_value_vms): Likewise.
209 (unnamed osf call insns): Likewise.
210
211 * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Don't omit L from local label.
212 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
213
214 * alpha.c (call_operand): Any reg is valid for WinNT.
215 * alpha.md (call_nt, call_value_nt): Don't force address into $27.
216 (anon nt calls): Add 'R' alternative.
217 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE,
218 INITIALIZE_TRAMPOLINE): Handle lack of original $27 and 32-bit ptrs.
219
220 Fri Nov 14 06:59:33 1997 Jeffrey A Law (law@cygnus.com)
221
222 * calls.c (expand_call): Handle pcc_struct_value correctly for C++.
223
224 * i386/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Delete defines.
225 * i386/xm-mingw32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
226 * rs6000/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
227
228 Thu Nov 13 20:37:33 1997 Michael Meissner <meissner@tiktok.cygnus.com>
229
230 * reload1.c (new_spill_reg): Improve fixed or forbidden register
231 spill error message.
232
233 Thu Nov 13 20:29:08 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
234
235 * prefix.c: Use stdarg.h only ifdef __STDC__. Otherwise,
236 use varargs.h. Wrap header with <>, not "".
237
238 Thu Nov 13 20:21:17 1997 Jeffrey A Law (law@cygnus.com)
239
240 * integrate.c (save_for_inline_copying): Add return value from
241 savealloc.
242
243 Thu Nov 13 19:12:33 1997 Brendan Kehoe <brendan@cygnus.com>
244
245 * fixincludes: Be a little more restrictive on what we will
246 substitute to replace definitions of MAXINT for HPUX.
247
248 Thu Nov 13 18:41:02 1997 Michael Meissner <meissner@cygnus.com>
249
250 * dbxout.c (dbxout_symbol_location): Don't assume that variables
251 whose address is the stack or argument pointers are indirect
252 pointers.
253
254 1997-11-13 Paul Eggert <eggert@twinsun.com>
255
256 * cccp.c, cpplib.c (compare_defs):
257 Don't complain about arg name respellings unless pedantic.
258 * cpplib.c (compare_defs): Accept pfile as new arg.
259 All callers changed.
260
261 Thu Nov 13 23:33:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
262
263 * fold-const.c (fold_truthop): Fix bug in last change.
264
265 1997-11-13 Paul Eggert <eggert@twinsun.com>
266
267 Fix some confusion with IEEE minus zero.
268
269 * real.h (REAL_VALUES_IDENTICAL): New macro.
270
271 * expr.c (is_zeros_p): Don't consider -0.0 to be all zeros.
272 * fold-const.c (operand_equal_p): Don't consider -0.0 to be
273 identical to 0.0.
274 * tree.c (simple_cst_equal): Don't consider -0.0 to have the
275 same tree structure as 0.0.
276
277 * varasm.c (immed_real_const_1): Use new REAL_VALUES_IDENTICAL
278 macro instead of doing it by hand.
279
280 Thu Nov 13 16:56:14 1997 Jeffrey A Law (law@cygnus.com)
281
282 * v850/lib1funcs.asm: Minor whitespace changes.
283 * v850.c: Fix minor formatting problems in many places.
284 (construct_restore_jr, construct_save_jarl): Remove unwanted aborts.
285
286 Thu Nov 13 12:53:44 1997 Jim Wilson <wilson@cygnus.com>
287
288 * mips.h (GO_IF_LEGITIMATE_ADDRESS): Delete code swapping xplus0 and
289 xplus1 when xplus0 is not a register.
290
291 Thu Nov 13 11:41:42 1997 Jeffrey A Law (law@cygnus.com)
292
293 * flow.c (find_basic_blocks): During marking phase, if we encounter
294 an insn with a REG_LABEL note, make the target block live and
295 create an edge from the insn to the target block. Do not make
296 edges from all blocks to the target block.
297
298 * m68k/x-next (OTHER_FIXINCLUDES_DIRS): Include /NextDeveloper/Headers.
299
300 * confiugre.in: Tweak NCR entries.
301 * configure: Rebuilt.
302
303 Thu Nov 13 11:07:41 1997 Michael Meissner <meissner@cygnus.com>
304
305 * rs6000.c (num_insns_constant): Use REAL_VALUE_FROM_CONST_DOUBLE to
306 pick apart floating point values, instead of using CONST_DOUBLE_LOW
307 and CONST_DOUBLE_HIGH.
308
309 * rs6000.md (define_splits for DF constants): Use the appropriate
310 REAL_VALUE_* interface to pick apart DF floating point constants in
311 a machine independent fashion.
312
313 Thu Nov 13 00:06:58 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
314
315 * fold-const.c (fold_truthop): When changing a one-bit comparison
316 against zero into a comparison against mask, do a proper sign
317 extension.
318
319 Wed Nov 12 09:37:01 1997 Jeffrey A Law (law@cygnus.com)
320
321 * except.c: Do not include "assert.h".
322 (save_eh_status): Turn asserts into conditional aborts.
323 (restore_eh_status, scan_region): Likewise.
324 * dwarfout.c: Do not include "assert.h".
325 (bit_offset_attribute): Turn asserts into conditional aborts.
326 (bit_size_attribute, output_inlined_enumeration_type_die): Likewise.
327 (output_inlined_structure_type_die): Likewise.
328 (output_inlined_union_type_die): Likewise
329 (output_tagged_type_instantiation): Likewise.
330 (dwarfout_file_scope_decl): Likewise.
331 * dwarf2out.c: Do not include "assert.h"
332 (expand_builtin_dwarf_reg_size): Turn asserts into conditional aborts.
333 (reg_save, initial_return_save, dwarf2out_frame_debug): Likewise.
334 (add_child_die, modified_type_die, add_bit_offset_attribute): Likewise.
335 (add_bit_size_attribute, scope_die_for): Likewise.
336 (output_pending_types_for_scope): Likewise.
337 (get_inlined_enumeration_type_die): Likewise.
338 (get_inlined_structure_type_die): Likewise.
339 (get_inlined_union_type_die, gen_subprogram_die): Likewise.
340 (gen_tagged_type_instantiation_die): Likewise.
341
342 * flow.c (find_basic_blocks): Refine further to get a more correct
343 cfg, especially in the presense of exception handling, computed
344 gotos, and other non-trivial cases. Call abort if an inaccuracy
345 is detected in the cfg.
346
347 Tue Nov 11 21:47:27 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
348
349 * glimits.h (SHRT_MIN): Define in a way suitable for 16 bit hosts.
350
351 * c-lex.c (whitespace_cr, skip_white_space_on_line): New functions.
352 (skip_white_space): Use whitespace_cr.
353 (check_newline): Handle whitespace more consistently.
354
355 Tue Nov 11 16:25:49 1997 Jim Wilson <wilson@cygnus.com>
356
357 * i386/cygwin32.h (CPP_PREDEFINES): Delete -DPOSIX.
358 * i386/xm-cygwin32.h (POSIX): Define.
359
360 Mon Nov 10 20:53:11 1997 Gavin Koch <gavin@cygnus.com>
361
362 * config/mips/mips.h (MASK_DEBUG_H): Set to zero, so this bit
363 is available elsewhere.
364
365 Mon Nov 10 16:21:58 1997 Doug Evans <devans@canuck.cygnus.com>
366
367 * sparc/sparc.md (mov[sdt]f_const_insn): Fix condition to match
368 what the instruction can handle.
369
370 Mon Nov 10 03:02:19 1997 Jason Merrill <jason@yorick.cygnus.com>
371
372 * stmt.c (expand_decl_cleanup_no_eh): New fn.
373
374 * except.c (expand_leftover_cleanups): do_pending_stack_adjust.
375
376 Mon Nov 10 00:05:56 1997 Jeffrey A Law (law@cygnus.com)
377
378 * alias.c (MAX_ALIAS_LOOP_PASSES): Define.
379 (init_alias_analysis): Break out of loops after MAX_ALIAS_LOOP_PASSES.
380
381 Sun Nov 9 14:34:47 1997 David Edelsohn <edelsohn@mhpcc.edu>
382
383 * rs6000.md (lshrdi3_power): Delete '&' from first alternative and
384 swap instruction order.
385
386 Sun Nov 9 02:07:16 1997 Jeffrey A Law (law@cygnus.com)
387
388 * fixinc.svr4 (__STDC__): Add another case.
389
390 Sun Nov 9 02:00:29 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
391
392 * a29k.h (ELIGIBLE_FOR_EPILOGUE_DELAY): Avoid loads from varying
393 addresses in the epilogue delay slot.
394
395 Sun Nov 9 01:40:40 1997 Manfred Hollstein (manfred@s-direktnet.de)
396
397 * m88k/dgux.h (ASM_CPU_SPEC): Reformatted to suppress wrong whitespace
398 in generated `specs' file.
399
400 Sun Nov 9 01:37:11 1997 Jim Wilson (wilson@cygnus.com)
401
402 * flags.h (flag_rerun_loop_opt): Declare.
403 * loop.c (invariant_p, case LABEL_REF): Check flag_rerun_loop_opt.
404 * toplev.c (flag_rerum_loop_opt): Delete static.
405
406 Sat Nov 8 18:20:21 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
407
408 Bring over from FSF:
409
410 Thu Oct 30 12:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
411
412 * va-sh.h (__va_arg_sh1): Define.
413 (va_arg): Use it.
414 SH3E doesn't use any integer registers for subsequent arguments
415 once a non-float value was passed in the stack.
416 * sh.c (machine_dependent_reorg): If optimizing, put explicit
417 alignment in front label for ADDR_DIFF_VEC.
418 * sh.h (PASS_IN_REG_P): Fix SH3E case.
419 (ADJUST_INSN_LENGTH): If not optimizing, add two extra bytes length.
420
421 Tue Oct 28 15:06:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
422
423 * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Undefine before including
424 svr4.h.
425
426 Mon Oct 27 16:11:52 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
427
428 * sh.c (machine_dependent_reorg): When -flag_delayed_branches,
429 put an use_sfunc_addr before each sfunc.
430 * sh.md (use_sfunc_addr, dummy_jump): New insns.
431 (casesi): For TARGET_SH2, emit a dummy_jump after LAB.
432
433 Tue Oct 21 07:12:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
434
435 * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Don't redefine.
436
437 Fri Nov 7 10:22:24 1997 Jason Merrill <jason@yorick.cygnus.com>
438
439 * frame.c (add_fdes, count_fdes): Go back to checking pc_begin for
440 linked once FDEs.
441
442 Wed Nov 5 14:26:05 1997 Jeffrey A Law (law@cygnus.com)
443
444 * alias.c (find_base_value): Only return the known base value for
445 pseudo registers.
446
447 Wed Nov 5 11:27:14 1997 Jim Wilson <wilson@cygnus.com>
448
449 * i386.c (load_pic_register): Call prologue_get_pc_and_set_got.
450 * i386.md (prologue_set_got, prologue_get_pc): Add UNSPEC_VOLATILE
451 to pattern.
452 (prologue_get_pc_and_set_got): New pattern.
453
454 Tue Nov 4 20:36:50 1997 Richard Henderson (rth@cygnus.com)
455
456 * alpha.c (summarize_insn): Handle ASM_OPERANDS. Don't recurse
457 for SUBREG, just fall through.
458
459 * alpha.c (alpha_handle_trap_shadows): Init sum.defd to zero.
460
461 * alpha.md (attr trap): Make TRAP_YES non-zero for sanity's sake.
462
463 Tue Nov 4 18:49:42 1997 Jeffrey A Law (law@cygnus.com)
464
465 * fixincludes: Fix "hypot" prototype in NeXT math.h.
466
467 * Makefile.in (USE_ALLOCA): Always include alloca.o.
468 (USE_HOST_ALLOCA): Likewise.
469
470 * rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES
471 and LABEL_REFS fields.
472 * rtl.h (LABEL_REFS): Update.
473
474 Tue Nov 4 16:55:11 1997 Jim Wilson <wilson@cygnus.com>
475
476 * combine.c (try_combine): When setting elim_i2, check whether newi2pat
477 sets i2dest. When calling distribute_notes for i3dest_killed, pass
478 elim_i2 and elim_i1. When setting elim_i1, check if newi2pat
479 sets i1dest.
480
481 * mips.md (insv, extzv, extv): Add change_address call.
482 (movsi_ulw, movsi_usw): Change QImode to BLKmode in pattern.
483
484 * integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
485
486 * reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants.
487
488 * mips.c (mips_expand_epilogue): Emit blockage insn before call to
489 save_restore_insns if no FP and GP will be restored.
490
491 * dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode.
492 Convert CCmode to word_mode before calling GET_MODE_SIZE.
493
494 * acconfig.h (HAVE_INTTYPES_H): Undef.
495 * configure.in (inttypes.h): Check for conflicts between sys/types.h
496 and inttypes.h, and verify that intmax_t is defined.
497 * config/mips/x-iris (CC, OPT, OLDCC): Comment out.
498 * config/mips/x-iris3: Likewise.
499
500 Tue Nov 4 16:07:15 1997 Jeffrey A Law (law@cygnus.com)
501
502 * alias.c (find_base_value): When copying arguments, return the
503 tenative value for a hard register.
504
505 Tue Nov 4 13:40:35 1997 Doug Evans <devans@canuck.cygnus.com>
506
507 * c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
508 (yylex): Record wide strings using target endianness, not host.
509
510 Tue Nov 4 13:13:12 1997 Jeffrey A Law (law@cygnus.com)
511
512 * mn10200.h (ASM_OUTPUT_BSS): Delete.
513 (ASM_OUTPUT_ALIGNED_BSS): New macro
514 * mn10300.h (ASM_OUTPUT_BSS): Delete.
515 (ASM_OUTPUT_ALIGNED_BSS): New macro.
516 * v850.h (ASM_OUTPUT_BSS): Delete.
517 (ASM_OUTPUT_ALIGNED_BSS): New macro.
518
519 Tue Nov 4 00:55:48 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
520
521 * profile.c (branch_prob): Insert an insn after a NOTE_INSN_SETJMP.
522
523 Mon Nov 3 14:36:50 1997 Jeffrey A Law (law@cygnus.com)
524
525 * configure.in (sco5): Use cpio to install header files.
526
527 Sun Nov 2 23:31:43 1997 Manfred Hollstein <manfred@s-direktnet.de>
528
529 * aclocal.m4 (conftestdata_from, conftestdata_to): Names shortened to
530 14 char length.
531 * configure: Rebuild.
532
533 Sun Nov 2 19:44:00 1997 Robert Lipe (robertl@dgii.com)
534
535 * i386/sco5.h: enable -gstabs once again.
536
537 Sun Nov 2 19:27:21 1997 Jeffrey A Law (law@cygnus.com)
538
539 * arm.c (output_move_double): Allocate 3 entries in otherops array.
540
541 Sat Nov 1 21:43:00 1997 Mike Stump (mrs@wrs.com)
542
543 * except.c (expand_ex_region_start_for_decl): Emit EH_REGION_BEG
544 notes for sjlj exceptions too.
545 (expand_eh_region_end): Similarly for EH_REGION_END notes.
546 (exception_optimize): Optimize EH regions for sjlj exceptions too.
547 * final.c (final_scan_insn): Don't output labels for EH REGION
548 notes if doing sjlj exceptions.
549
550 Sat Nov 1 19:15:28 1997 Jeffrey A Law (law@cygnus.com)
551
552 * alias.c (init_alias_analysis): Handle -fno-alias-check when
553 optimizing correctly.
554
555 * expr.c (expand_builtin_setjmp): Don't emit a SETJMP note
556 or set current_function_calls_setjmp anymore.
557
558 * flow.c (find_basic_blocks): If we delete the label for an
559 exception handler, remove it from the EH label list and remove
560 the EH_BEGIN/EH_END notes for that EH region.
561
562 Sat Nov 1 16:44:49 1997 Jason Merrill (jason@cygnus.com)
563
564 * flow.c (find_basic_blocks): Generate correct flow control
565 information when exception handling notes are present.
566
567 Sat Nov 1 13:42:19 1997 Jeffrey A Law (law@cygnus.com)
568
569 * dwarf2out.c (output_call_frame_info): Fix length argument
570 to ASM_OUTPUT_ASCII.
571 (output_die, output_pubnames, output_line_info): Likewise.
572
573 Fri Oct 31 07:10:09 1997 Jeffrey A Law (law@cygnus.com)
574
575 * version.c: Bump for snapshot.
576
577 * dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to
578 output ASCII by default. Only use ASM_OUTPUT_DWARF_STRING if
579 flag_debug_asm is on.
580 (output_die, output_pubnames, output_line_info): Likewise.
581
582 * alias.c (init_alias_analysis): Add struct_value_incoming_rtx
583 and static_chain_rtx into the potential base values array if
584 they are registers.
585
586 * alias.c (new_reg_base_value): New array of potential base values.
587 (unique_id): Now file scoped static.
588 (find_base_value, case REG): Return the value in reg_base_value
589 array for the REG if it exists. Else, return the value from
590 new_reg_base_value if copying args and REG is a hard register.
591 (find_base_value, case PLUS): If either operand of the PLUS is
592 a REG, try to get its base value. Handle base + index and
593 index + base.
594 (record_set): Use new_reg_base_value instead of reg_base_value.
595 (init_alias_analysis): Allocate space for new_reg_base_value too.
596 Rework code to iterate over the insns propagating base value
597 information until nothing changes.
598
599 * global.c (global_alloc): Free the conflict matrix after
600 reload has finished.
601
602 Fri Oct 31 01:45:31 1997 Jason Merrill <jason@yorick.cygnus.com>
603
604 * libgcc2.c (L_eh): Define __eh_pc.
605 Replace __eh_type with generic pointer __eh_info.
606
607 Fri Oct 31 00:34:55 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
608
609 * expr.c (expand_increment): When enqueing a postincrement for a MEM,
610 use copy_to_reg if address is not a general_operand.
611
612 Fri Oct 31 00:16:55 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
613
614 * profile.c (output_func_start_profiler): Clear flag_inline_functions
615 for the duration of the call to rest_of_compilation.
616
617 Thu Oct 30 14:40:10 1997 Doug Evans <devans@canuck.cygnus.com>
618
619 * configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
620 Set extra_parts.
621 (sparc*-*-*): Recognize --with-cpu=v9.
622 * sparc/elf.h: New file.
623 * sparc/t-elf: New file.
624
625 Thu Oct 30 13:26:12 1997 Jeffrey A Law (law@cygnus.com)
626
627 * mn10300.c (const_8bit_operand): New function.
628 (mask_ok_for_mem_btst): New funtion.
629 * mn10300.md (btst patterns with mem operands): Use new functions
630 to avoid creating btst instructions with invalid operands.
631
632 Wed Oct 29 16:57:19 1997 Michael Meissner <meissner@cygnus.com>
633
634 * rs6000/xm-sysv4.h: Include xm-linux.h instead of xm-svr4.h if we
635 are running on PowerPC Linux.
636
637 Wed Oct 29 13:10:11 1997 Gavin Koch <gavin@cygnus.com>
638
639 * config/mips/elf64.h (PREFERRED_DEBUGGING_TYPE): Only define
640 if not previously defined.
641
642 Tue Oct 28 23:55:27 1997 Doug Evans (devans@cygnus.com)
643
644 * function.c (assign_parms): Correct mode of stack_parm if
645 entry_parm underwent a mode conversion.
646
647 1997-10-28 Brendan Kehoe <brendan@lisa.cygnus.com>
648
649 * global.c (global_alloc): Use xmalloc instead of alloca for
650 CONFLICTS, since max_allocno * allocno_row_words alone can be more
651 than 2.5Mb sometimes.
652
653 Tue Oct 28 15:29:15 1997 Richard Henderson <rth@cygnus.com>
654
655 * reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of
656 DEST for the spill, adjust mode of SRC to compensate.
657
658 Tue Oct 28 14:36:45 1997 Richard Henderson <rth@cygnus.com>
659
660 * alpha.md (reload_inqi): Check for MEM before strict_memory_address_p,
661 since any_memory_operand() allows pseudos during reload.
662 (reload_inhi, reload_outqi, reload_outhi): Likewise.
663
664 Tue Oct 28 11:53:14 1997 Jim Wilson <wilson@cygnus.com>
665
666 * m68k.md (btst patterns): Add 5200 support.
667
668 Tue Oct 28 11:58:40 1997 Toon Moene <toon@moene.indiv.nluug.nl>
669
670 * fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3)
671 optimizations, look inside dividend to determine if the expression
672 can be simplified by using EXACT_DIV_EXPR.
673
674 Tue Oct 28 10:19:01 1997 Jason Merrill <jason@yorick.cygnus.com>
675
676 From Brendan:
677 * dwarf2out.c (output_call_frame_info): Use l1 instead of ".".
678
679 Tue Oct 28 00:32:14 1997 Richard Henderson <rth@cygnus.com>
680
681 * alpha.c (summarize_insn [SUBREG]): Propogate SET.
682
683 Mon Oct 27 23:59:26 1997 Richard Henderson <rth@cygnus.com>
684
685 * alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap
686 on a CLOBBER.
687
688 Mon Oct 27 21:25:20 1997 Richard Henderson <rth@cygnus.com>
689
690 * alpha.md (movqi, movhi): Make sure new insns created during reload
691 won't need reloading themselves.
692 (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Likewise.
693
694 Mon Oct 27 16:11:10 1997 Jeffrey A Law (law@cygnus.com)
695
696 * mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
697
698 Sun Oct 26 13:50:44 1997 Richard Henderson <rth@cygnus.com>
699
700 * alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
701 Patch from Klaus Kaempf <kkaempf@progis.de>.
702
703 Sun Oct 26 13:31:47 1997 Jim Wilson (wilson@cygnus.com)
704
705 * expr.c (expand_expr, case INDIRECT_REF): Optimize a reference
706 to an element in a constant string.
707
708 Sun Oct 26 11:41:49 1997 Jason Merrill <jason@yorick.cygnus.com>
709
710 * dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
711 bit PC-relative offset. The exception range table pointer is now in
712 the CIE.
713 * frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
714 (count_fdes, add_fdes, get_cie): Adjust.
715 (cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.
716
717 From H.J. Lu:
718 * frame.c (count_fdes, add_fdes): Skip linked once FDE entries.
719
720 Sun Oct 26 11:52:01 1997 Richard Henderson <rth@cygnus.com>
721
722 * alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just
723 like stack_pointer_rtx.
724
725 Sun Oct 26 11:32:16 1997 Manfred Hollstein <manfred@s-direktnet.de>
726
727 * Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
728 targets using "$@" to provide support for similar but not identical
729 targets without having to duplicate code.
730 (bootstrap4): New goal.
731
732 * Makefile.in (compare, compare-lean, compare3): Combined to one
733 ruleset determining actions to be performed via $@.
734 (compare4, compare4-lean): New targets.
735 (gnucompare, gnucompare3): Combined to one ruleset determining
736 actions to be performed via $@. Also, note which files failed
737 the comparison test in .bad_compare.
738 (gnucompare-lean, gnucompare3-lean, gnucompare4-lean): New targets.
739
740 Sun Oct 26 10:06:11 1997 Toon Moene <toon@moene.indiv.nluug.nl>
741
742 * fold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR
743 if the dividend is a multiple of the divisor.
744
745 Sun Oct 26 09:21:40 1997 Jeffrey A Law (law@cygnus.com)
746
747 * Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.
748
749 * alias.c (find_base_term): Handle PRE_INC, PRE_DEC, POST_INC,
750 and POS_DEC.
751
752 * alias.c (true_dependence): Fix typo.
753
754 * toplev.c (flag_rerun_loop_opt): New variable.
755 (f_options): Handle -frerun-loop-opt.
756 (rest_of_compilation): If -frerun-loop-opt, then run the loop
757 optimizer twice.
758 (main): Enable -frerun-loop-opt by default for -O2 or greater.
759
760 * loop.c (simplify_giv_expr): Adding two invariants results
761 in an invariant.
762
763 Sun Oct 26 09:15:15 1997 Richard Henderson <rth@cygnus.com>
764
765 * expr.c (get_inner_reference): Remove the array bias after
766 converting the index to Pmode.
767
768 Sat Oct 25 12:20:58 1997 Jeffrey A Law (law@cygnus.com)
769
770 * mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
771 (TARGET_MULT_BUG): Define.
772 (TARGET_DEFAULT): Default to TARGET_MULT_BUG.
773 * mn10300.md (mulsi3): Handle TARGET_MULT_BUG.
774
775 Fri Oct 24 17:40:34 1997 Jeffrey A Law (law@cygnus.com)
776
777 * mn10200.c (indirect_memory_operand): Delete unused function.
778 * mn10200.h (EXTRA_CONSTRAINT): Handle 'R'.
779 * mn10200.md (bset, bclr insns): Handle output in a reg too.
780
781 Fri Oct 24 15:54:57 1997 Richard Henderson <rth@cygnus.com>
782
783 * alpha.md (call patterns): Revert Oct 16 change; if we are to elide
784 the callee's ldgp, we must do it ourselves, and we use the jsr tag
785 for more than scheduling.
786
787 Fri Oct 24 13:23:04 1997 Doug Evans <devans@canuck.cygnus.com>
788
789 * sparc/sparc.h (ASM_SPEC): Delete asm_arch.
790
791 Fri Oct 24 13:19:40 1997 Jeffrey A Law (law@cygnus.com)
792
793 * mn10300.c (symbolic_operand, legitimize_address): New functions.
794 * mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address.
795 (GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic.
796
797 Thu Oct 23 09:35:12 1997 Jeffrey A Law (law@cygnus.com)
798
799 * version.c: Bump for snapshot.
800
801 Thu Oct 23 08:03:59 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
802
803 * dbxout.c (dbxout_start_new_source_file): Use output_quoted_string
804 for FILENAME.
805
806 Wed Oct 22 00:34:12 1997 Jeffrey A Law (law@cygnus.com)
807
808 * toplev.c (flag_exceptions): Default value is 2.
809 (compile_file): If flag_exceptions still has the value 2, then
810 set it to 0.
811
812 * rs6000.c (struct machine_function): Add pic_offset_table_rtx.
813 (rs6000_save_machine_status): Save pic_offset_table_rtx.
814 (rs6000_restore_machine_status: Restore pic_offset_table_rtx.
815
816 * local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
817 are shared.
818
819 * rs6000.md (*movsi_got_internal_mem): New pattern.
820 (*movsi_got_internal_mem splitter): New define_split.
821
822 Tue Oct 21 18:14:03 1997 Jim Wilson <wilson@cygnus.com>
823
824 * obstack.h (obstack_empty_p): Fix spurious space after backslash.
825
826 Tue Oct 21 18:34:01 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
827
828 * rs6000.c: Avoid creating a stack frame under SYSV ABI if we
829 only need to save LR.
830
831 Tue Oct 21 10:06:40 1997 Jeffrey A Law (law@cygnus.com)
832
833 * mn10300.md (movqi, movhi): Avoid using address registers as
834 destinations unless absolutely necessary.
835
836 * mn10200.c (expand_prologue): Fix typo.
837
838 * mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed
839 addresses.
840 * mn10200.md (neghi2): Provide an alternative which works if
841 the input and output register are the same.
842
843 * mn10300.c (print_operand): Handle 'S'.
844 * mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for
845 shift amount in last alternative
846
847 * mn10300.c (expand_epilogue): Rework to handle register restores
848 in "ret" and "retf" instructions correctly.
849
850 Mon Oct 20 16:47:08 1997 Jim Wilson <wilson@cygnus.com>
851
852 * expmed.c (extract_bit_field): Don't make flag_force_mem disable
853 extzv for memory operands.
854
855 * cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
856 redundant conditional moves to single operand.
857
858 Mon Oct 20 15:30:26 1997 Nick Clifton <nickc@cygnus.com>
859
860 * v850.h: Move define of __v850__ from CPP_PREDEFINES
861 to CPP_SPEC.
862
863 * xm-v850.h: Use __v850 rather than __v850__ to
864 identify v850 port.
865
866 Mon Oct 20 14:15:02 1997 Jim Wilson <wilson@cygnus.com>
867
868 * mips/mips.c (compute_frame_size): Not a leaf function if
869 profile_flag set.
870
871 Mon Oct 20 14:16:38 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
872
873 * rs6000/t-ppccomm: Use -msdata=none for crtstuff.
874
875 Mon Oct 20 12:28:17 1997 Doug Evans <devans@canuck.cygnus.com>
876
877 * sparc/sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
878 (DEFAULT_ARCH32_P): New macro.
879 (TARGET_ARCH{32,64}): Allow compile time or runtime selection.
880 (enum cmodel): Declare.
881 (sparc_cmodel_string,sparc_cmodel): Declare.
882 (SPARC_DEFAULT_CMODEL): Provide default.
883 (TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}.
884 (TARGET_FULLANY): Deleted.
885 (TARGET_CM_MEDMID): New macro.
886 (CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC.
887 (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
888 (CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch).
889 (CPP_SPEC): Rewrite.
890 (CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
891 (CPP_{ENDIAN,SUBTARGET}_SPEC): New macros.
892 (ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
893 (ASM_SPEC): Add %(asm_arch).
894 (EXTRA_SPECS): Rename cpp_default to cpp_cpu_default.
895 Rename asm_default to asm_cpu_default.
896 Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian,
897 cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch.
898 (NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH.
899 ({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values.
900 (MASK_INT64,MASK_LONG64): Delete.
901 (MASK_ARCH64): Renamed to MASK_64BIT.
902 (MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete.
903 (EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG.
904 (TARGET_SWITCHES): Always provide 64 bit options.
905 (ARCH64_SWITCHES): Delete.
906 (TARGET_OPTIONS): New option -mcmodel=.
907 (INT_TYPE_SIZE): Always 32.
908 (MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH.
909 (INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_....
910 (FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support.
911 (PRINT_OPERAND_PUNCT_VALID_P): Add '_'.
912 * sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by
913 CPP_SPEC.
914 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
915 * sparc/linux.h: Likewise.
916 * sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete.
917 (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
918 (TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT.
919 (SPARC_DEFAULT_CMODEL): Define.
920 (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
921 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
922 (LONG_DOUBLE_TYPE_SIZE): Define.
923 (ASM_SPEC): Add %(asm_arch).
924 * sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
925 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
926 (TARGET_CPU_DEFAULT): Add ultrasparc case.
927 * sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete.
928 (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.
929 (SPARC_DEFAULT_CMODEL): Define.
930 * sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete.
931 (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT. Delete
932 MASK_LONG64, MASK_MEDANY.
933 (SPARC_DEFAULT_CMODEL): Define.
934 (CPP_PREDEFINES): Delete.
935 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
936 (ASM_SPEC): Add %(asm_arch).
937 (LONG_DOUBLE_TYPE_SIZE): Define.
938 (DWARF2_DEBUGGING_INFO): Define.
939 * sparc/splet.h (CPP_SPEC): Delete.
940 * sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
941 (FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support.
942 (BLOCK_PROFILER): Likewise.
943 * sparc/sparc.c (sparc_cmodel_string,sparc_cmodel): New globals.
944 (sparc_override_options): Handle code model selection.
945 (sparc_init_expanders): Renamed from sparc64_init_expanders.
946 * sparc/sparc.md: TARGET_<code_model> renamed to TARGET_CM_....
947 TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY.
948 (sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_....
949 (sethi_di_fullany): Delete.
950
951 Mon Oct 20 02:00:18 1997 Klaus Kaempf <kkaempf@progis.de>
952 Jeff Law <law@cygnus.com>
953 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
954
955 * alpha/vms.h (DIVSI3_LIBCALL): OTS$ functions are upper case.
956 (DIVDI3_LIBCALL, UDIVSI3_LIBCALL, UDIVDI3_LIBVALL): Likewise.
957 (MODSI3_LIBCALL, MODDI3_LIBCALL): Likewise.
958 (UMODSI3_LIBCALL, UMODDI3_LIBCALL): Likewise.
959 * alpha/alpha.md (arg_home): Likewise.
960
961 * alpha/alpha.c (vmskrunch): Delete
962 * alpha/vms.h (ENCODE_SECTION_INFO, ASM_DECLARE_FUNCTION_NAME): Delete.
963 * alpha.c (output_prolog, VMS): Use alloca for entry_label and don't
964 truncate to 64 characters.
965
966 * make-l2.com: Support openVMS/Alpha.
967
968 * vmsconfig.com: Fix to work on openVMS/Alpha and openVMS/VAX.
969
970 Sun Oct 19 19:00:35 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
971
972 * longlong.h (count_leading_zeros): Add missing casts to USItype.
973
974 Sun Oct 19 18:44:06 1997 Jeffrey A Law (law@cygnus.com)
975
976 * i386/bsd386.h (ASM_COMMENT_START): Define.
977
978 Sat Oct 18 13:47:15 1997 Jason Merrill <jason@yorick.cygnus.com>
979
980 * tree.c (restore_tree_status): Also free up temporary storage
981 when we finish a toplevel function.
982 (dump_tree_statistics): Print stats for backend obstacks.
983
984 Sat Oct 18 12:47:31 1997 Doug Evans <dje@canuck.cygnus.com>
985
986 * expr.c (use_group_regs): Don't call use_reg for MEMs.
987
988 Sat Oct 18 09:49:46 1997 Jason Merrill <jason@yorick.cygnus.com>
989
990 * libgcc2.c (__throw): Don't copy the return address.
991 * dwarf2out.c (expand_builtin_dwarf_reg_size): Ignore return address.
992
993 * except.c (exceptions_via_longjmp): Initialize to 2 (uninitialized).
994 * toplev.c (main): Initialize exceptions_via_longjmp.
995
996 * tree.c: Add extra_inline_obstacks.
997 (save_tree_status): Use it.
998 (restore_tree_status): If this is a toplevel inline obstack and we
999 didn't want to save anything on it, recycle it.
1000 (print_inline_obstack_statistics): New fn.
1001 * function.c (pop_function_context_from): Pass context to
1002 restore_tree_status.
1003 * obstack.h (obstack_empty_p): New macro.
1004
1005 Sat Oct 18 00:43:59 1997 Jeffrey A Law (law@cygnus.com)
1006
1007 * i386/freebsd.h (ASM_COMMENT_START): Fix.
1008
1009 Fri Oct 17 23:48:52 1997 Jim Wilson (wilson@cygnus.com)
1010
1011 * v850.c (ep_memory_offset): New function.
1012 (ep_memory_operand, substitute_ep_register, v850_reorg): Call it.
1013
1014 * v850.h (CONST_OK_FOR_*): Add and correct comments.
1015 (CONSTANT_ADDRESS_P): Add comment.
1016 (EXTRA_CONSTRAINT): Define 'U'.
1017 * v850.md: Add comments on bit field instructions.
1018 (addsi3): Delete &r/r/r alternative. Add r/r/U alternative.
1019 (lshrsi3): Use N not J constraint.
1020
1021 * v850.md (v850_tst1+1): New define_split for tst1 instruction.
1022
1023 * v850.c (reg_or_0_operand): Call register_operand.
1024 (reg_or_int5_operand): Likewise.
1025 * v850.h (MASK_BIG_SWITCH, TARGET_BIG_SWITCH): New macros.
1026 (TARGET_SWITCHES): Add "big-switch".
1027 (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE,
1028 ASM_OUTPUT_BEFORE_BASE_LABEL): Add support for TARGET_BIG_SWITCH.
1029 (CASE_DROPS_THROUGH): Comment out.
1030 (CASE_VECTOR_PC_RELATIVE, JUMP_TABLES_IN_TEXT_SECTION): Define.
1031 * v850.md (cmpsi): Delete compare mode.
1032 (casesi): New pattern.
1033
1034 * v850.h (CONST_OK_FOR_N): Delete redundant compare against zero.
1035 * v850.md (ashlsi3): Use SImode not QImode for shift count.
1036 (lshrsi3): Likewise.
1037
1038 * v850.c (print_operand): Add 'c', 'C', and 'z' support. Delete
1039 unreachable switch statement after 'b' support. Remove "b" from
1040 strings for 'b' support.
1041 * v850.md (branch_normal, branch_invert): Change %b to b%b.
1042
1043 Fri Oct 17 23:33:20 1997 Jeffrey A Law (law@cygnus.com)
1044
1045 * Makefile.in (LIBGCC2_CFLAGS): Avoid a backslash then an
1046 empty line if @inhibit_libc@ is empty.
1047
1048 Fri Oct 17 23:24:40 1997 Robert Lipe (robertl@dgii.com)
1049
1050 * i386/sco5.h: Let ELF use dwarf2 unwinding. COFF uses sjlj.
1051 (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Defined.
1052 (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
1053 (DWARF2_UNWIND_INFO): Let this track object file format.
1054 (EXTRA_SECTIONS): Add in_eh.
1055 (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Define.
1056 (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
1057
1058 Fri Oct 17 17:13:42 1997 David S. Miller <davem@tanya.rutgers.edu>
1059
1060 * sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
1061 * sparc/sparc.h (FUNCTION_PROFILER): Fix format string when
1062 TARGET_MEDANY.
1063 * sparc/sparc.c (dwarf2out_cfi_label): Extern no longer needed.
1064 (output_double_int): Output DI mode values correctly when
1065 HOST_BITS_PER_WIDE_INT is 64.
1066 (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
1067 fmovd so it works if a quad float ends up in one of the upper 32
1068 float regs.
1069 * sparc/sparc.md (pic_{lo_sum,sethi}_di): New patterns
1070 necessary for PIC support on sparc64.
1071
1072 Fri Oct 17 13:39:56 1997 Doug Evans <dje@canuck.cygnus.com>
1073
1074 * sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
1075 * sparc/sparc.h (PROMOTE_MODE): Promote small ints if arch64.
1076 (PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
1077 (SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
1078 (SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
1079 (SPARC_FP_ARG_FIRST): New macro.
1080 (CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
1081 (REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
1082 (NPARM_REGS): There are 32 fp argument registers now.
1083 (FUNCTION_ARG_REGNO_P): Likewise.
1084 (FIRST_PARM_OFFSET): Update to new v9 abi.
1085 (REG_PARM_STACK_SPACE): Define for arch64.
1086 (enum sparc_arg_class): Delete.
1087 (sparc_arg_count,sparc_n_named_args): Delete.
1088 (struct sparc_args): Redefine and use for arch32 as well as arch64.
1089 (GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
1090 (FUNCTION_ARG_ADVANCE): Rewrite.
1091 (FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
1092 (FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
1093 (FUNCTION_ARG_CALLEE_COPIES): Delete.
1094 (FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
1095 (STRICT_ARGUMENT_NAMING): Define.
1096 (doublemove_string): Declare.
1097 * sparc/sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
1098 (single_move_string): Use GEN_INT, and HOST_WIDE_INT.
1099 (doublemove_string): New function.
1100 (output_move_quad): Clean up some of the arch64 support.
1101 (compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
1102 Don't add 8 bytes of reserved space if arch64.
1103 (sparc_builtin_saveregs): Combine arch32/arch64 versions.
1104 (init_cumulative_args): New function.
1105 (function_arg_slotno): New static function.
1106 (function_arg,function_arg_partial_nregs): New functions.
1107 (function_arg_{pass_by_reference,advance}): New functions.
1108 (function_arg_padding): New function.
1109 * ginclude/va-sparc.h: Rewrite v9 support.
1110
1111 Fri Oct 17 12:29:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
1112
1113 * regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P
1114 for hard regs to determine base and index registers.
1115
1116 * reload.c (debug_reload_to_stream): New function. Specify stream
1117 into which to write debug info.
1118 (debug_reload): Modify to call debug_reload_to_stream with stderr.
1119
1120 Thu Oct 16 15:07:51 1997 Richard Henderson <rth@cygnus.com>
1121
1122 * combine.c (can_combine_p): Don't combine with an asm whose
1123 output is a hard register.
1124
1125 Thu Oct 16 15:43:26 1997 Mike Stump (mrs@wrs.com)
1126
1127 * c-decl.c (start_struct): Ensure that structs with forward
1128 declarations are in fact packed when -fpack-struct is given.
1129
1130 * stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
1131 we are packing a structure. This allows a structure with only
1132 bytes to be aligned on a byte boundary and have no padding on a
1133 m68k.
1134
1135 Thu Oct 16 15:17:54 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1136
1137 * rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
1138
1139 Thu Oct 16 11:20:30 1997 Richard Henderson <rth@cygnus.com>
1140
1141 * alpha.c (alpha_return_addr_rtx): New variable.
1142 (alpha_save_machine_status): New; save it.
1143 (alpha_restore_machine_status): New; restore it.
1144 (alpha_init_expanders): New; clear it.
1145 (alpha_return_addr): New; set it.
1146 (alpha_ra_ever_killed): New; if alpha_return_addr_rtx, regs_ever_live
1147 is overly conservative, so search the insns explicitly.
1148 (alpha_sa_mask [VMS]): Check alpha_ra_ever_killed.
1149 (alpha_sa_size [VMS && !VMS]): Likewise.
1150 * alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr.
1151 (INIT_EXPANDERS): New definition.
1152
1153 * alpha.c: Move REG_PV, REG_RA somewhere more visible in the file.
1154 (output_prolog [!VMS]): Use them.
1155
1156 * alpha.c (output_prolog [!VMS]): Move gp detection to ...
1157 (alpha_does_function_need_gp): ... a new function. Refine the
1158 CALL_INSN test to just TYPE_JSR.
1159 * alpha.md (most call insns): Fix some jsr/ibr type transpositions.
1160
1161 Thu Oct 16 09:36:47 1997 Jeffrey A Law (law@cygnus.com)
1162
1163 * version.c: Bump for snapshot.
1164
1165 Wed Oct 15 21:38:18 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1166
1167 * pa.c (move_operand): Respect -mdisable-indexing.
1168 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
1169
1170 Wed Oct 15 21:34:45 1997 David Edelsohn <edelsohn@mhpcc.edu>
1171
1172 * rs6000.md (udivsi3, divsi3): Split into MQ and non-MQ cases for
1173 PPC601.
1174 (umulsidi3,umulsi3_highpart): Ditto.
1175 (smulsi3_highpart_no_mq): Add !TARGET_POWER.
1176
1177 Wed Oct 15 18:21:46 1997 Richard Henderson <rth@cygnus.com>
1178
1179 * alpha.c (final_prescan_insn): Gut, remove and transform to ...
1180 (alpha_handle_trap_shadows): ... a new function. Handle the entire
1181 function in one go. Emit RTL for trapb, instead of printf directly.
1182 (alpha_reorg): New function. Call alpha_handle_trap_shadows.
1183 (trap_pending): Kill global variable.
1184 (output_epilog): Don't call final_prescan_insn.
1185 (struct shadow_summary): Elide $31 and $f31; now it fits in a word.
1186 * alpha.h (FINAL_PRESCAN_INSN): Remove.
1187 (MACHINE_DEPENENT_REORG): Define.
1188 * alpha.md (jsr patterns with trapb): Stupid and useless. Kill.
1189 (trapb): New insn.
1190
1191 Wed Oct 15 18:16:05 1997 Richard Henderson <rth@cygnus.com>
1192
1193 Tune Haifa scheduler for Alpha:
1194 * alpha.h (ISSUE_RATE): Define.
1195 * alpha.c (alpha_adjust_cost): Handle EV5 mult delay; don't apply
1196 EV4 adjustments to EV5.
1197 * alpha.md: Remove all scaling from function unit delays. Rework
1198 EV5 function units to match the CPU.
1199 (umuldi3_highpart): EV5 added the IMULH insn class.
1200
1201 Wed Oct 15 17:42:41 1997 Jeffrey A Law (law@cygnus.com)
1202
1203 * pa.c (following_call): Fail if the CALL_INSN is an indirect
1204 call.
1205
1206 Tue Oct 14 12:01:00 1997 Mark Mitchell <mmitchell@usa.net>
1207
1208 * cplus-dem.c (demangle_signature): Don't look for return types on
1209 constructors. Handle member template constructors.
1210
1211 Tue Oct 14 11:30:29 1997 Jason Merrill <jason@yorick.cygnus.com>
1212
1213 * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
1214 * tree.h: Declare them.
1215
1216 Fri Oct 10 13:46:56 1997 Doug Evans <dje@canuck.cygnus.com>
1217
1218 * configure.in: Handle --with-newlib.
1219 * Makefile.in (LIBGCC2_CFLAGS): Add @inhibit_libc@.
1220
1221 * sparc/t-sp64 (LIBGCC2_CFLAGS): Delete.
1222
1223 Wed Oct 8 14:37:44 1997 Jeffrey A Law (law@cygnus.com)
1224
1225 * config/ptx4.h: Fix typo.
1226
1227 Wed Oct 8 08:57:20 1997 Jeffrey A Law (law@cygnus.com)
1228
1229 * version.c: Bump for snapshot.
1230
1231 Tue Oct 7 16:27:34 1997 Manfred Hollstein <manfred@s-direktnet.de>
1232
1233 * aclocal.m4: Substitute INSTALL.
1234 * configure: Re-built.
1235
1236 Tue Oct 7 15:37:35 1997 Jeffrey A Law (law@cygnus.com)
1237
1238 * integrate.c (save_for_inline_copying): Avoid undefined pointer
1239 operations.
1240 (expand_inline_function): Likewise.
1241
1242 * dwarf2out.c (output_call_frame_info): Reinstate last change
1243 using flag_debug_asm check instead of flag_verbose_asm.
1244
1245 Tue Oct 7 12:57:26 1997 Jim Wilson <wilson@cygnus.com>
1246
1247 * dwarf2out.c (output_call_frame_info): Remove last change.
1248
1249 1997-10-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1250
1251 * frame.c (__frame_state_for): Execute the FDE insns until the
1252 current pc value is strictly bigger than the target pc value.
1253
1254 Tue Oct 7 11:00:42 1997 Jason Merrill <jason@yorick.cygnus.com>
1255
1256 * regclass.c (init_reg_modes): If we can't find a mode for the
1257 register, use the previous one.
1258
1259 Tue Oct 7 10:55:34 1997 Richard Henderson <rth@cygnus.com>
1260
1261 * haifa-sched.c (print_block_visualization): Call fprintf directly,
1262 don't sprintf through an alloca'ed buffer.
1263
1264 Tue Oct 7 10:52:29 1997 Thomas Koenig (ig25@rz.uni-karlsruhe.de)
1265
1266 * reload.c (decompose): Always initialize val.base.
1267
1268 Tue Oct 7 10:19:26 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
1269
1270 * m68k/mot3300.h (ASM_OUTPUT_ALIGN): Accept any alignment
1271 instead of aborting.
1272 * dwarf2out.c (output_call_frame_info): Call app_enable and
1273 app_disable to let GNU as accept the generated comments.
1274
1275 Tue Oct 7 11:41:21 1997 Michael Meissner <meissner@cygnus.com>
1276
1277 * tree.h (get_file_function_name): Add declaration.
1278 * dwarf2out.c (output_call_frame_info): No need to cast
1279 get_file_function_name call anymore.
1280 * profile.c (toplevel): Remove get_file_function_name
1281 declaration.
1282 * c-lang.c (finish_file): Ditto.
1283
1284 Tue Oct 7 10:01:45 1997 Chip Salzenberg <chip@rio.atlantic.net>
1285
1286 * Makefile.in (program_transform_name): Let autoconf substitute
1287 the correct value.
1288
1289 Tue Oct 7 09:54:35 1997 Jeffrey A Law (law@cygnus.com)
1290
1291 * haifa-sched.c (schedule_block): If the first real insn in a
1292 block has any special notes attached to it, remove them.
1293
1294 Tue Oct 7 09:48:51 1997 Richard Henderson <rth@cygnus.com>
1295
1296 * alpha.h (FLOAT_STORE_FLAG_VALUE): It's 2.0 not 0.5.
1297
1298 Mon Oct 6 12:47:32 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
1299
1300 * m88k.c (m88k_begin_prologue): Remove superfluous backslash.
1301
1302 Mon Oct 6 12:04:24 1997 Jeffrey A Law (law@cygnus.com)
1303
1304 * Makefile.in (check-g77): New test target.
1305 (CHECK-TARGETS): Add check-g77.
1306
1307 Fri Oct 3 11:56:36 1997 Jason Merrill <jason@yorick.cygnus.com>
1308
1309 * toplev.c (rest_of_compilation): Defer all non-nested inlines.
1310
1311 Fri Oct 3 15:49:27 1997 Michael Meissner <meissner@cygnus.com>
1312
1313 * flow.c (print_rtl_with_bb): Cast alloca return value for
1314 in_bb_p.
1315
1316 Thu Oct 2 21:15:03 1997 Richard Henderson <rth@cygnus.com>
1317
1318 * i386.h (RETURN_ADDR_RTX): New definition that works for
1319 __builtin_return_address(0) and -fomit-frame-pointer.
1320
1321 Wed Oct 1 13:43:53 1997 Jim Wilson <wilson@cygnus.com>
1322
1323 Bring over from FSF.
1324 Tue Aug 5 16:10:45 1997 Jason Merrill <jason@yorick.cygnus.com>
1325
1326 * mips.c (function_arg): Handle passing a struct
1327 containing a double in a DFmode register without the PARALLEL.
1328
1329 Wed Oct 1 11:13:25 1997 Ian Lance Taylor <ian@cygnus.com>
1330
1331 * pexecute.c: Use spawn if __CYGWIN32__.
1332
1333 * pexecute.c: Include "config.h" first, as per autoconf manual
1334 (from Paul Eggert <eggert@twinsun.com>).
1335
1336 Wed Oct 1 01:44:36 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
1337
1338 * m68k/x-mot3300 (XCFLAGS): Disable as's long/short jump
1339 optimisation for f/expr.o and f/stb.o.
1340
1341 Tue Sep 30 23:48:57 1997 Jeffrey A Law (law@cygnus.com)
1342
1343 * cse.c (this_insn_cc0_mode): Initialize.
1344
1345 Tue Sep 30 23:09:40 1997 Thomas Koenig <ig25@mvmap66.ciw.uni-karlsruhe.de>
1346
1347 * cccp.c (expand_to_temp_buffer): Initialize all members of obuf.
1348
1349 * haifa-sched.c (get_block_head_tail): Remove unneeded initialization.
1350
1351 Tue Sep 30 23:06:43 1997 Richard Henderson <rth@cygnus.com>
1352
1353 * alpha.md (beq): For registers and ints 0-255, use cmpeq+bne, since
1354 that pair will dual-issue on the 21164 and plus+beq won't.
1355 (bne): Likewise for cmpeq+beq.
1356
1357 Tue Sep 30 16:07:58 1997 Jim Wilson <wilson@cygnus.com>
1358
1359 * except.c (find_exception_handler_labels): Correct argument to free.
1360
1361 Tue Sep 30 11:00:00 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
1362
1363 * except.c (find_exception_handler_labels): Free LABELS when we're
1364 done.
1365
1366 Mon Sep 29 14:04:35 1997 Jeffrey A Law (law@cygnus.com)
1367
1368 * version.c: Bump for snapshot.
1369
1370 Mon Sep 29 10:51:53 1997 Jason Merrill <jason@yorick.cygnus.com>
1371
1372 * flow.c (find_basic_blocks): Mark calls as potentially jumping
1373 to the EH labels.
1374
1375 Mon Sep 29 09:58:06 1997 Jeffrey A Law (law@cygnus.com)
1376
1377 * configure.in: Substitute for "install" too.
1378 * configure: Rebuilt.
1379
1380 Mon Sep 29 00:38:42 1997 Aaron Jackson <jackson@negril.msrce.howard.edu>
1381
1382 * Makefile.in (bootstrap-lean, compare-lean): New targets.
1383
1384 Mon Sep 29 00:18:16 1997 Richard Henderson (rth@cygnus.com)
1385
1386 * alias.c (base_alias_check): Two symbols can conflict if they
1387 are accessed via AND.
1388 (memrefs_conflict_p): Likewise.
1389
1390 * alpha.h (SETUP_INCOMING_VARARGS): Emit a blockage insn
1391 after flushing argument registers to the stack.
1392
1393 * Makefile.in (mostlyclean): Remove .regmove files.
1394
1395 Sun Sep 28 18:59:58 1997 Jason Merrill <jason@yorick.cygnus.com>
1396
1397 * libgcc2.c (__throw): Fix thinko.
1398
1399 Sun Sep 28 12:00:52 1997 Mark Mitchell <mmitchell@usa.net>
1400
1401 * cplus-dem.c (demangle_template): Add new parameter. Handle new
1402 template-function mangling.
1403 (consume_count_with_underscores): New function.
1404 (demangle_signature): Handle new name-mangling scheme.
1405
1406 Sun Sep 28 01:55:04 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
1407
1408 * flow.c (print_rtl_with_bb): Cast alloca return values for variables
1409 start and end.
1410
1411 Sun Sep 28 01:05:16 1997 Jeffrey A Law (law@cygnus.com)
1412
1413 * frame.c: Remove last change.
1414 * dwarf2.h: Remove last change.
1415 * tree.h: Add declarations of DWARF2 unwind info support
1416 functions.
1417
1418 Sat Sep 27 11:02:38 1997 Jason Merrill <jason@yorick.cygnus.com>
1419
1420 * c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size.
1421 * tree.h (built_in_function): Likewise.
1422 * expr.c (expand_builtin): Likewise.
1423 * except.h: Likewise.
1424 * dwarf2out.c (expand_builtin_dwarf_reg_size): New fn.
1425 * libgcc2.c (copy_reg): New fn.
1426 (__throw): Use it.
1427
1428 Fri Sep 26 08:54:59 1997 Paul Eggert <eggert@twinsun.com>
1429
1430 * c-typeck.c (build_binary_op): Warn about comparing signed vs
1431 unsigned if -W is specified and -Wno-sign-compare is not.
1432 * c-decl.c (warn_sign_compare): Initialize to -1.
1433 (c_decode_option): -Wall no longer implies -Wsign-compare.
1434
1435 Fri Sep 26 09:00:13 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1436
1437 * frame.c: Include gansidecl.h for PROTO.
1438 * dwarf2out.c: Move inclusion of dwarf2.h down so that PROTO is
1439 defined. Don't declare dwarf2out_cfi_label here.
1440 * dwarf2.h: Add declarations of DWARF2 unwind info support
1441 functions.
1442 * m68k.c: Include dwarf2.h.
1443 (output_function_prologue): Add dwarf2 support.
1444 * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros.
1445 (INCOMING_FRAME_SP_OFFSET): Likewise.
1446
1447 * integrate.c (expand_inline_function): Make sure there is at
1448 least one insn that can be used as an insertion point.
1449
1450 Wed Sep 24 21:34:06 1997 Jason Merrill <jason@yorick.cygnus.com>
1451
1452 * dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
1453
1454 Wed Sep 24 22:05:30 1997 Jeffrey A Law (law@cygnus.com)
1455
1456 * version.c: Bump for snapshot.
1457
1458 Wed Sep 24 17:36:23 1997 Doug Evans <dje@canuck.cygnus.com>
1459
1460 Bring over from FSF.
1461
1462 Wed Sep 24 19:17:08 1997 Doug Evans <dje@cygnus.com>
1463
1464 * sparc/sparc.md (get_pc_via_call): Renamed from get_pc_sp32.
1465 (get_pc_via_rdpc): Renamed from get_pc_sp64.
1466 * sparc/sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
1467
1468 Wed Sep 24 18:38:22 1997 David S. Miller <davem@tanya.rutgers.edu>
1469
1470 * sparc/sparc.h (ASM_CPU_SPEC): Pass -Av9a for v8plus, ultrasparc.
1471 (TARGET_OPTIONS): Add -malign-loops=, -malign-jumps=,
1472 -malign-functions=.
1473 (sparc_align_{loops,jumps,funcs}_string): Declare.
1474 (sparc_align_{loops,jumps,funcs}): Declare.
1475 (DEFAULT_SPARC_ALIGN_FUNCS): New macro.
1476 (FUNCTION_BOUNDARY): Use sparc_align_funcs.
1477 (STACK_BIAS): Define.
1478 (SPARC_SIMM*_P): Cast to unsigned HOST_WIDE_INT first, then perform
1479 test.
1480 (SPARC_SETHI_P): New macro.
1481 (CONST_OK_FOR_LETTER_P): Use it.
1482 (ASM_OUTPUT_ALIGN_CODE): Define.
1483 (ASM_OUTPUT_LOOP_ALIGN): Define.
1484 * sparc/sparc.c (sparc_align_{loops,jumps,funcs}_string): New globals.
1485 (sparc_align_{loops,jumps,funcs}): New globals.
1486 (sparc_override_options): Handle -malign-loops=, -malign-jumps=,
1487 -malign-functions=.
1488 (move_operand): Use SPARC_SETHI_P.
1489 (arith_double_operand): Cast to unsigned HOST_WIDE_INT first, then
1490 perform test.
1491 (arith11_double_operand): Likewise.
1492 (arith10_double_operand): Likewise.
1493 (finalize_pic): Finish sparc64 support.
1494 (emit_move_sequence): Use SPARC_SETHI_P. Simplify low part of
1495 64 bit constants if able.
1496 (output_fp_move_quad): Don't use fmovq unless TARGET_HARD_QUAD.
1497 (sparc_builtin_saveregs, sparc64 case): Don't save fp regs if
1498 ! TARGET_FPU.
1499 * sparc/sparc.md (*): Use GEN_INT instead of gen_rtx.
1500 (get_pc_sp32): Use for sparc64 as well.
1501 (lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts.
1502 (sethi_di_sp64_const): Likewise.
1503 (movtf_cc_sp64): Check TARGET_HARD_QUAD.
1504 (cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in cast.
1505 (ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
1506
1507 Tue Sep 23 19:02:46 1997 Doug Evans <dje@cygnus.com>
1508
1509 * sparc/linux-aout.h (COMMENT_BEGIN): Delete.
1510 * sparc/linux.h (COMMENT_BEGIN): Likewise.
1511 * sparc/linux64.h (COMMENT_BEGIN): Likewise.
1512
1513 Tue Sep 23 14:48:18 1997 David S. Miller <davem@tanya.rutgers.edu>
1514
1515 Add sparc64 linux support.
1516 * configure.in (sparc64-*-linux*): Recognize. Add sparc/xm-sparc.h
1517 to xm_file list on 32-bit sparc-linux.
1518 * sparc/xm-sp64.h: New file.
1519 * sparc/linux64.h: New file.
1520 * sparc/xm-linux.h: Include some standard headers if not inhibit_libc.
1521 Don't include xm-sparc.h.
1522 * config/xm-linux.h (HAVE_PUTENV, HAVE_ATEXIT): Define.
1523 * glimits.h (LONG_MAX): Handle sparc64.
1524
1525 Sat Sep 20 03:07:54 1997 Doug Evans <dje@cygnus.com>
1526
1527 * sparc/sysv4.h (ASM_COMMENT_START): Delete.
1528 * sparc.h (ASM_COMMENT_START): Define.
1529 * sparc.c (output_function_prologue): Use it.
1530 (sparc_flat_output_function_{epi,pro}logue): Likewise.
1531
1532 Wed Sep 17 15:04:19 1997 Doug Evans <dje@cygnus.com>
1533
1534 * sparc/sysv4.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Delete,
1535 use sparc.h's copies.
1536 * sparc/sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Print
1537 ascii form as well.
1538
1539 Mon Sep 8 08:45:19 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1540
1541 * sparc.c (dwarf2out_cfi_label): Add declaration.
1542 (save_regs, output_function_prologue): Remove cast for it.
1543 (sparc_flat_{save_restore,output_function_prologue): Likewise.
1544 ({save,restore}_regs): No longer inline.
1545
1546 Tue Sep 23 12:34:51 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1547
1548 * fold-const.c (make_range): Correctly handle cases of converting
1549 from unsigned to signed type.
1550
1551 Tue Sep 23 12:34:51 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
1552
1553 * fold-const.c (merge_ranges): Make sure that if one range is subset
1554 of another, it will always be the second range. Correct (+,-) case to
1555 account for this.
1556
1557 Tue Sep 23 08:32:51 1997 Jason Merrill <jason@yorick.cygnus.com>
1558
1559 * final.c (final_end_function): Also do dwarf2 thing if
1560 DWARF2_DEBUGGING_INFO.
1561 (final_start_function): Likewise.
1562
1563 Tue Sep 23 01:15:50 1997 David S. Miller <davem@tanya.rutgers.edu>
1564
1565 * expmed.c (expand_divmod): If compute_mode is not the same as
1566 mode, handle the case where convert_modes() causes op1 to no
1567 longer be a CONST_INT.
1568
1569 * reorg.c (dbr_schedule): At end of this pass, add REG_BR_PRED
1570 note holding get_jump_flags() calculation to all JUMP_INSNs.
1571 * rtl.h (enum reg_note): New note types REG_BR_PRED and REG_SAVE_AREA.
1572 * rtl.c (reg_note_name): Add new note types.
1573
1574 Tue Sep 23 00:59:54 1997 Jeffrey A Law (law@cygnus.com)
1575
1576 * rtlanal.c (computed_jump_p): Fix typo in last change.
1577
1578 Tue Sep 23 00:42:44 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
1579
1580 * loop.c (indirect_jump_in_function_p): Return 0
1581 by default.
1582
1583 Tue Sep 23 00:33:55 1997 Jeffrey A Law (law@cygnus.com)
1584
1585 * rs6000/xm-rs6000.h: Fix thinko in last change.
1586 * rs6000/xm-sysv4.h: Likewise.
1587
1588 Mon Sep 22 19:33:53 1997 Jim Wilson <wilson@cygnus.com>
1589
1590 * mips.c (save_restore_insns): Only set RTX_FRAME_RELATED_P if store_p.
1591
1592 Mon Sep 22 14:41:00 1997 Jeffrey A Law (law@cygnus.com)
1593
1594 * reg-stack.c (find_blocks): Fix thinko in last change.
1595
1596 1997-09-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1597
1598 * m68k.c (output_function_prologue): Add dwarf2 support.
1599
1600 * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM,
1601 INCOMING_FRAME_SP_OFFSET): New definitions.
1602
1603 Mon Sep 22 11:36:42 1997 David S. Miller <davem@tanya.rutgers.edu>
1604
1605 * combine.c (try_combine): Use NULL_RTX instead of '0' where
1606 appropriate in calls to gen_rtx().
1607 * cse.c (cse_main): Likewise.
1608 * emit-rtl.c (gen_label_rtx): Likewise.
1609 * expr.c (init_expr_once): Likewise.
1610 * haifa-sched.c (flush_pending_lists, sched_analyze_insn,
1611 sched_analyze, init_rgn_data_dependences,
1612 compute_block_backward_dependences): Likewise.
1613 * sched.c (schedule_insns): Likewise.
1614 * varasm.c (immed_double_const): Likewise.
1615
1616 * sparc.h (INCOMING_FRAME_SP_OFFSET): Define to
1617 SPARC_STACK_BIAS for sake of dwarf2 on sparc64.
1618
1619 Mon Sep 22 11:21:33 1997 J. Kean Johnston <jkj@sco.com>
1620
1621 * i386/sco5.h: Make ELF default file format and add -mcoff/-melf..
1622 (MULTILIB_DEFAULTS): Define.
1623 (ASM_SPEC, CPP_SPEC): Handle -mcoff.
1624 (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
1625 (LIBGCC_SPEC): Likewise.
1626 (MASK_COFF, TARGET_COFF, TARGET_ELF): Define.
1627 (SUBTARGET_SWITCHES): Add -mcoff and -melf.
1628 * i386/t-sco5 (CRTSTUFF_T_CFLAGS): Add -fPIC.
1629 (CRTSTUFF_T_CFLAGS_S): Tweak for COFF.
1630 (EXTRA_PARTS, TAROUTOPTS): Delete.
1631 (libgcc1-elf, libgcc2-elf, libgcc-elf targets): Delete.
1632 (MULTILIB_OPTIONS): Define.
1633 (MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Likewise.
1634 (MULTILIB_MATCHE, MULTILIB_EXTRA_OPTS): Likewise.
1635
1636 Mon Sep 22 02:10:43 1997 Jeffrey A Law (law@cygnus.com)
1637
1638 * version.c: Bump for snapshot.
1639
1640 Sun Sep 21 17:45:45 1997 Jeffrey A Law (law@cygnus.com)
1641
1642 * loop.c (loop_number): Delete function. Change all references
1643 to use uid_loop_num array.
1644 * loop.h (loop_number): Delete declaration.
1645 * unroll.c (unroll_loop): Change "loop_number" references to
1646 use uid_loop_num instead.
1647
1648 * loop.c (loop_unroll_factor): Move outside #ifdef HAIFA
1649 conditional.
1650 (loop_unroll_iter): Remove unused variable and all references.
1651 (loop_optimize): Always allocate and clear space for loop_unroll_factor.
1652 (insert_bct): Fix minor formatting problems.
1653 * loop.h (loop_unroll_factor): Move decl outside #ifdef HAIFA.
1654 (loop_unroll_iter): Removed unused decl.
1655 * unroll.c (unroll_loop): Remove code to set loop_unroll_iter.
1656 Always record the unrolling factor.
1657
1658 * cse.c (simplify_relational_operation): Set h0u just like h0s.
1659 Similarly for h1u and h1s.
1660
1661 * flow.c (jmp_uses_reg_or_mem): Deleted unused function.
1662 (find_basic_blocks): Use computed_jump_p to determine if a
1663 particular JUMP_INSN is a computed jump.
1664 * reg-stack.c (find_blocks): Use computed_jump_p to determine
1665 if a particular JUMP_INSN is a computed jump.
1666 * rtlanal.c (jmp_uses_reg_or_mem): New function.
1667 (computed_jump_p): Likewise.
1668 * rtl.h (computed_jump_p): Declare.
1669 * genattrtab.c (pc_rtx): Define and initialize.
1670 * loop.c (loop_optimize): Always determine if the current
1671 function has a computed jump.
1672 (indirect_jump_in_function_p): Use computed_jump_p to determine
1673 if a particular JUMP_INSN is a computed jump.
1674
1675 * loop.c (fix_bct_param): Delete unused function.
1676 (check_bct_param): Likewise.
1677
1678 Sat Sep 20 16:22:06 1997 Jason Merrill <jason@yorick.cygnus.com>
1679
1680 * frame.c (__deregister_frame): Check properly for initialized object.
1681
1682 Fri Sep 19 20:51:03 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
1683
1684 * alpha/linux.h (HANDLE_SYSV_PRAGMA): Defined.
1685
1686 Fri Sep 19 18:53:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
1687
1688 * jump.c (thread_jumps): check can_reverse_comparison_p before
1689 threading a reversed-condition jump.
1690
1691 * sched.c (update_flow_info): Don't pass SCRATCH to dead_or_set_p.
1692 * haifa-sched.c (update_flow_info): Likewise.
1693
1694 Thu Sep 18 21:13:40 1997 Jeffrey A Law (law@cygnus.com)
1695
1696 * Makefile.in (BOOT_CFLAGS): Use -O2.
1697
1698 * configure.in (strtoul, bsearch): Have autoconf check for these
1699 functions.
1700 * configure, config.in: Rebuilt.
1701
1702 * m68k/xm-mot3300.h (alloca): Properly declare if __STDC__.
1703 * mips/mips.h (alloca): Likewise.
1704 * rs6000/xm-rs6000.h (alloca): Likewise.
1705 * rs6000/xm-sysv4.h: Likewise.
1706
1707 Thu Sep 18 14:22:22 1997 Jason Merrill <jason@yorick.cygnus.com>
1708
1709 * final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code.
1710 * dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along.
1711 (dwarf2out_stack_adjust): A BARRIER resets the args space to 0.
1712
1713 * except.c (end_eh_unwinder): Subtract 1 from return address.
1714 * libgcc2.c (__throw): Likewise.
1715 (find_exception_handler): Don't change PC here. Compare end with >.
1716
1717 Thu Sep 18 10:43:07 1997 Nick Clifton <nickc@cygnus.com>
1718
1719 * v850.c (compute_register_save_size): Correct register
1720 number.
1721 * v850.md (save_interrupt, return_interrupt): Correct
1722 register number.
1723 * v850/lib1funcs.asm (save_interrupt): Correct register number.
1724 (return_interrupt): Use stack pointer, not element pointer.
1725
1726 1997-09-18 Brendan Kehoe <brendan@lisa.cygnus.com>
1727
1728 * configure.in, configure: Make sure to create the stage* and include
1729 symbolic links in each subdirectory.
1730
1731 Thu Sep 18 01:47:06 1997 Jeffrey A Law (law@cygnus.com)
1732
1733 * pa.md (reload_peepholes): Don't allow addresses with side
1734 effects for the memory operand.
1735
1736 Wed Sep 17 18:19:53 1997 Jason Merrill <jason@yorick.cygnus.com>
1737
1738 * libgcc2.c (find_exception_handler): Subtract one from our PC when
1739 looking for a handler, to avoid hitting the beginning of the next
1740 region.
1741
1742 * except.c (expand_builtin_set_return_addr_reg): Use force_operand.
1743
1744 Wed Sep 17 18:33:59 1997 Jeffrey A Law (law@cygnus.com)
1745
1746 * mips/abi64.h (LONG_MAX_SPEC): Define.
1747 * mips.h (LONG_MAX_SPEC): Define.
1748 (CPP_SPEC): Include long_max_spec.
1749 (EXTRA_SPECS): Include long_max_spec.
1750
1751 Wed Sep 17 14:11:38 1997 Jeffrey A Law (law@cygnus.com)
1752
1753 * v850.c (construct_save_jarl): Fix thinko in last change.
1754
1755 Wed Sep 17 09:53:07 1997 Jeffrey A Law (law@cygnus.com)
1756
1757 * version.c: Bump for snapshot.
1758
1759 Tue Sep 16 14:22:36 1997 Jason Merrill <jason@yorick.cygnus.com>
1760
1761 * libgcc2.c (find_exception_handler): Not found is -1.
1762
1763 * integrate.c (expand_inline_function): Move expand_start_bindings
1764 after expanding the arguments.
1765
1766 Tue Sep 16 11:13:46 1997 Jim Wilson <wilson@cygnus.com>
1767
1768 * expr.c (expand_expr): Remove previous incorrect change.
1769 If target and slot has no DECL_RTL, then call mark_addressable
1770 again for the slot after we give it RTL.
1771
1772 Tue Sep 16 09:18:52 1997 Jason Merrill (jason@cygnus.com)
1773
1774 * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
1775 again for the slot after we give it RTL.
1776
1777 Tue Sep 16 00:13:20 1997 Nick Clifton <nickc@cygnus.com>
1778
1779 * v850.c (register_is_ok_for_epilogue,
1780 pattern_is_ok_for_epilogue, construct_restore_jr,
1781 pattern_is_ok_for_prologue, construct_save_jarl): New functions.
1782
1783 * v850.h (pattern_is_ok_for_prologue,
1784 pattern_is_ok_for_epilogue, register_is_ok_for_epilogue): New
1785 predicates.
1786
1787 * v850.md: Replace prologue and epilogue patterns with a
1788 match_parallel pattern.
1789
1790 Mon Sep 15 22:53:01 1997 Jeffrey A Law (law@cygnus.com)
1791
1792 * aclocal.m4: Add replacement for AC_PROG_INSTALL.
1793 * configure.in: Use EGCS_PROG_INSTALL.
1794
1795 Mon Sep 15 22:40:55 1997 Jim Wilson (wilson@cygnus.com)
1796
1797 * dwarf2out.c (gen_subprogram_die): Handle redefinition of an
1798 extern inline function.
1799
1800 Mon Sep 15 22:40:55 1997 Richard Henderson (rth@cygnus.com)
1801
1802 * dwarf2out.c (reg_loc_descriptor): Fix prototype.
1803 (concat_loc_descriptor): New function.
1804 (loc_descriptor): Call it.
1805 (add_AT_location_description): Also elide the descriptor if both
1806 halves of a CONCAT are pseudos.
1807 (add_location_or_const_value_attribute): Recognize CONCAT too.
1808
1809 Mon Sep 15 15:24:00 1997 Richard Henderson <rth@cygnus.com>
1810
1811 * alpha.md (movdi): Handle CONST_DOUBLE for TARGET_BUILD_CONSTANTS.
1812
1813 * alpha/alpha.c (output_prolog): New variable sa_reg. Use it for
1814 out-or-range reg_offset.
1815 (output_epilog): Likewise.
1816
1817 Mon Sep 15 15:39:26 1997 Jeffrey A Law (law@cygnus.com)
1818
1819 * cse.c (simplify_relational_operation): If MODE specifies a
1820 mode wider than HOST_WIDE_INT, then the high word of a CONST_INT
1821 is derived from the sign bit of the low word.
1822
1823 Mon Sep 15 11:43:38 1997 Jason Merrill <jason@yorick.cygnus.com>
1824
1825 Support dwarf2 unwinding on PUSH_ROUNDING targets like the x86.
1826
1827 * dwarf2.h: Add DW_CFA_GNU_args_size.
1828 * frame.c (execute_cfa_insn): Likewise.
1829 * dwarf2out.c (dwarf_cfi_name, output_cfi): Likewise.
1830 (dwarf2out_args_size, dwarf2out_stack_adjust): New fns.
1831 (dwarf2out_frame_debug): If this isn't a prologue or epilogue
1832 insn, hand it off to dwarf2out_stack_adjust.
1833 (dwarf2out_begin_prologue): Initialize args_size.
1834 * frame.h (struct frame_state): Add args_size.
1835 * libgcc2.c (__throw): Use args_size.
1836 * final.c (final_scan_insn): If we push args, hand off all insns
1837 to dwarf2out_frame_debug.
1838 * defaults.h (DWARF2_UNWIND_INFO): OK for !ACCUMULATE_OUTGOING_ARGS.
1839
1840 * dwarf2out.c dwarf2out_frame_debug): Fix typo.
1841 Handle epilogue restore of SP from FP.
1842 * emit-rtl.c (gen_sequence): Still generate a sequence if the
1843 lone insn has RTX_FRAME_RELATED_P set.
1844
1845 * frame.c (extract_cie_info): Handle "e" augmentation.
1846 * dwarf2out.c (ASM_OUTPUT_DWARF_*): Provide definitions in the
1847 absence of UNALIGNED_*_ASM_OP.
1848 (UNALIGNED_*_ASM_OP): Only provide defaults if OBJECT_FORMAT_ELF.
1849 (output_call_frame_info): Use "e" instead of "z" for augmentation.
1850 Don't emit augmentation fields length.
1851 (dwarf2out_do_frame): Move outside of #ifdefs.
1852 * defaults.h (DWARF2_UNWIND_INFO): Don't require unaligned data
1853 opcodes.
1854
1855 * sparc.h (UNALIGNED_INT_ASM_OP et al): Don't define here after all.
1856 * sparc/sysv4.h (UNALIGNED_INT_ASM_OP): Define here.
1857 * sparc/sunos4.h (DWARF2_UNWIND_INFO): Define to 0.
1858 * sparc/sun4gas.h: New file.
1859 * configure.in: Use sun4gas.h if SunOS 4 --with-gnu-as.
1860
1861 * collect2.c (write_c_file_stat, write_c_file_glob): Declare
1862 __register_frame_table and __deregister_frame.
1863
1864 1997-09-15 Brendan Kehoe <brendan@cygnus.com>
1865
1866 * except.c (find_exception_handler_labels): Use xmalloc instead of
1867 alloca, since MAX_LABELNO - MIN_LABELNO can be more than 1 million
1868 in some cases.
1869
1870 Sun Sep 14 21:01:23 1997 Jeffrey A Law (law@cygnus.com)
1871
1872 * Makefile.in: Various changes to build info files
1873 in the object tree rather than the source tree.
1874
1875 Sun Sep 14 12:24:30 1997 Jeffrey A Law (law@cygnus.com)
1876
1877 * fixinc.math: New file to fix math.h on some systems.
1878 * configure.in (freebsd, netbsd): Use fixinc.math on these
1879 systems.
1880 * configure: Rebuilt.
1881
1882 Sun Sep 14 11:11:05 1997 Jeffrey A Law (law@cygnus.com)
1883
1884 * regmove.c (regmove_optimize): If we end up moving the
1885 original insn due to lifetime overlaps, make sure to move
1886 REG_NOTES too.
1887
1888 Sat Sep 13 15:51:11 1997 Manfred Hollstein <manfred@s-direktnet.de>
1889
1890 * Makefile.in (INSTALL_{PROGRAM,DATA}): Use value found by configure.
1891
1892 Sat Sep 13 12:57:26 1997 Jeffrey A Law (law@cygnus.com)
1893
1894 * haifa-sched.c (add_branch_dependences): Make each insn in
1895 a SCHED_GROUP_P block explicitly depend on the previous insn.
1896
1897 Fri Sep 12 13:49:58 1997 Jason Merrill <jason@yorick.cygnus.com>
1898
1899 * except.h: Prototype dwarf2 hooks.
1900 * expr.c: Adjust.
1901
1902 Thu Sep 11 17:43:55 1997 Jim Wilson <wilson@cygnus.com>
1903
1904 * configure.in (native_prefix): Delete.
1905 (mips-dec-netbsd): Don't set prefix.
1906 (*linux*): Don't set prefix.
1907
1908 Thu Sep 11 15:48:32 1997 Fred Fish <fnf@ninemoons.com>
1909
1910 * protoize.c: Include <varargs.h> only if HAVE_VARARGS_H is
1911 defined. If not defined, include <sys/varargs.h> if
1912 HAVE_SYS_VARARGS_H is defined.
1913 * configure.in: Test for varargs.h and sys/varargs.h.
1914 * configure: Regenerate with autoconf.
1915 * config.in: Regenerate with autoheader.
1916
1917 * cpplib.c (quote_string): Cast first arg of sprintf call
1918 from "unsigned char *" to "char *".
1919 (output_line_command): Ditto.
1920 (macroexpand): Ditto.
1921 (do_line): Cast atoi arg from "unsigned char *" to "char *".
1922
1923 Wed Sep 10 21:37:30 1997 Jeffrey A Law (law@cygnus.com)
1924
1925 * version.c: Bump for snapshot.
1926
1927 * Makefile.in (compare): Exit with nonzero status if there
1928 are comparison failures. Note which files failed the
1929 comparison test in .bad_compare.
1930
1931 Wed Sep 10 17:05:46 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
1932
1933 * config/alpha/elf.h (CPP_PREDEFINES): Remove -D__PIC__ -D__pic__.
1934
1935 Wed Sep 10 16:37:28 1997 Fred Fish <fnf@ninemoons.com>
1936
1937 * Makefile.in (LN, LN_S): New macros, use where appropriate.
1938 * aclocal.m4 (GCC_PROG_LN_S, GCC_PROG_LN): New tests.
1939 * configure.in: Use GCC_PROG_LN_S and GCC_PROG_LN.
1940 * configure: Regenerated.
1941
1942 Thu Sep 11 11:09:43 1997 Jeffrey A Law (law@cygnus.com)
1943
1944 * loop.c (strength_reduce): Fix typo.
1945
1946 Wed Sep 10 16:01:15 1997 Jim Wilson <wilson@cygnus.com>
1947
1948 * m88k/m88k.c (struct option): Rename to struct options.
1949 * m88k/dolph.h (INITIALIZE_TRAMPOLINE): Delete here.
1950 * m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Delete ifdef and comments.
1951 * libgcc2.c (__enable_execute_stack): Check for __sysV88__ not
1952 __DOLPHIN__ or sysV88.
1953
1954 Wed Sep 10 14:58:40 1997 Jim Wilson <wilson@cygnus.com>
1955
1956 * emit-rtl.c (gen_lowpart_common): For a SUBREG, add in word when
1957 create new subreg.
1958
1959 Wed Sep 10 15:19:22 1997 Jeffrey A Law (law@cygnus.com)
1960
1961 * config.sub: Accept 'amigados' for backward compatability.
1962
1963 Wed Sep 10 14:05:08 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
1964
1965 * Makefile.in (testsuite/site.exp): New target.
1966 (check-gcc, check-g++): Depend on testsuite/site.exp.
1967 Don't stop for failure.
1968
1969 Wed Sep 10 12:59:57 1997 Jason Merrill <jason@yorick.cygnus.com>
1970
1971 * expr.c (expand_builtin): Only support __builtin_dwarf_fp_regnum()
1972 if DWARF2_UNWIND_INFO.
1973
1974 Wed Sep 10 11:49:20 1997 Jason Merrill <jason@yorick.cygnus.com>
1975
1976 Add support for exception handling using DWARF 2 frame unwind info.
1977 Currently works on SPARC and MIPS, and almost on x86.
1978
1979 * libgcc2.c (get_reg, put_reg, get_return_addr, put_return_addr,
1980 next_stack_level, in_reg_window): Helper fns.
1981 (__throw): Implement for DWARF2_UNWIND_INFO.
1982
1983 * expr.c (expand_builtin): Handle builtins used by __throw.
1984 * tree.h (enum built_in_function): Add builtins used by __throw.
1985 * c-decl.c (init_decl_processing): Declare builtins used by __throw.
1986 * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Used by __throw.
1987 * except.c (expand_builtin_unwind_init): Hook for dwarf2 __throw.
1988 (expand_builtin_extract_return_addr): Likewise.
1989 (expand_builtin_frob_return_addr): Likewise.
1990 (expand_builtin_set_return_addr_reg): Likewise.
1991 (expand_builtin_eh_stub): Likewise.
1992 (expand_builtin_set_eh_regs): Likewise.
1993 (eh_regs): Choose two call-clobbered registers for passing back values.
1994
1995 * frame.c, frame.h: New files for parsing dwarf 2 frame info.
1996 * Makefile.in (LIB2ADD): New variable. Add $(srcdir)/frame.c.
1997 (libgcc2.a): Use it instead of $(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS)
1998 (stmp-multilib): Likewise.
1999 ($(T)crtbegin.o, $(T)crtend.o): Add -fno-exceptions.
2000
2001 * except.c: #include "defaults.h".
2002 (exceptions_via_longjmp): Default depends on DWARF2_UNWIND_INFO.
2003 (emit_throw): Don't defeat assemble_external if DWARF2_UNWIND_INFO.
2004 (register_exception_table_p): New fn.
2005 (start_eh_unwinder): Don't do anything if DWARF2_UNWIND_INFO.
2006 (end_eh_unwinder): Likewise.
2007
2008 * crtstuff.c: Wrap .eh_frame section, use EH_FRAME_SECTION_ASM_OP,
2009 call __register_frame and __deregister_frame as needed.
2010 * varasm.c (eh_frame_section): New fn if EH_FRAME_SECTION_ASM_OP.
2011 * dwarf2out.c (EH_FRAME_SECTION): Now a function-like macro. Check
2012 EH_FRAME_SECTION_ASM_OP.
2013 * sparc/sysv4.h (EH_FRAME_SECTION_ASM_OP): Define.
2014 * mips/iris6.h: (EH_FRAME_SECTION_ASM_OP): Define.
2015 (LINK_SPEC): Add __EH_FRAME_BEGIN__ to hidden symbols.
2016
2017 * dwarf2out.c (output_call_frame_info): If no support for
2018 EXCEPTION_SECTION, mark the start of the frame info with a
2019 collectable tag.
2020 * collect2.c (frame_tables): New list.
2021 (is_ctor_dtor): Recognise frame entries.
2022 (scan_prog_file): Likewise.
2023 (main): Pass -fno-exceptions to sub-compile. Also do collection
2024 if there are any frame entries.
2025 (write_c_file_stat): Call __register_frame_table and
2026 __deregister_frame as needed.
2027 (write_c_file_glob): Likewise.
2028
2029 * defaults.h (DWARF2_UNWIND_INFO): Default to 1 if supported.
2030 Also require unaligned reloc support.
2031 * sparc.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
2032 UNALIGNED_DOUBLE_INT_ASM_OP): Define here.
2033 * sparc/sysv4.h: Not here.
2034
2035 * toplev.c (compile_file): Call dwarf2out_frame_{init,finish}.
2036 * dwarf2out.c (dwarf2out_init): Don't call dwarf2out_frame_init.
2037 (dwarf2out_finish): Don't call dwarf2out_frame_finish.
2038
2039 * libgcc2.c (L_eh): Reorganize, moving code shared by different
2040 EH implementations to the top.
2041 (find_exception_handler): Split out. Start from 0. Compare against
2042 end with >=.
2043 (__find_first_exception_table_match): Use it.
2044 * except.c (output_exception_table): Don't do anything if there's
2045 no table. Don't output a first entry of zeroes.
2046 (eh_outer_context): Adjust properly.
2047 (add_eh_table_entry): Use xrealloc.
2048 * toplev.c (compile_file): Just call output_exception_table.
2049
2050 Wed Sep 10 11:30:36 1997 Jason Merrill <jason@cygnus.com>
2051
2052 * i386.c (ix86_prologue): Add dwarf2 support for !do_rtl case.
2053
2054 Wed Sep 10 08:17:10 1997 Torbjorn Granlund <tege@pdc.kth..se>
2055
2056 * except.c (eh_outer_context): Do masking using expand_and.
2057
2058 Wed Sep 10 01:38:30 1997 Doug Evans <dje@cygnus.com>
2059
2060 Add port done awhile ago for the ARC cpu.
2061 * arc/arc.h: New file.
2062 * arc/arc.c: New file.
2063 * arc/arc.md: New file.
2064 * arc/initfini.c: New file.
2065 * arc/lib1funcs.asm: New file.
2066 * arc/t-arc: New file.
2067 * arc/xm-arc.h: New file.
2068 * ginclude/va-arc.h: New file.
2069 * ginclude/stdarg.h: Include va-arc.h ifdef __arc__.
2070 * ginclude/varargs.h: Likewise.
2071 * Makefile.in (USER_H): Add va-arc.h.
2072 * configure.in (arc-*-elf*): Recognize.
2073 * longlong.h: Add ARC support.
2074
2075 Wed Sep 10 01:32:54 1997 Jeffrey A Law (law@cygnus.com)
2076
2077 * expr.c (clear_storage): Use CONST0_RTX instead of const0_rtx.
2078 when clearing non-BLKmode data.
2079
2080 Wed Sep 10 00:29:29 1997 Manfred Hollstein <manfred@s-direktnet.de>
2081
2082 * m88k/sysv3.h (INITIALIZE_TRAMPOLINE) Define.
2083 * libgcc2.c (__enable_execute_stack): Provide for sysV88 too.
2084
2085 * xm-m88k.h (USG): Only define if it hasn't already been defined.
2086
2087 * Makefile.in (risky-stage1): Delete gratutious whitespace.
2088
2089 * Makefile.in (clean): Delete libgcc1-test.
2090
2091 * Makefile.in (INSTALL): cd to $(srcdir) before running texinfo.
2092
2093 Tue Sep 9 17:07:36 1997 Stan Cox <coxs@dg-rtp.dg.com>
2094
2095 * m88k.c (m88k_expand_prologue): Set MEM_IN_STRUCT_P of va_list
2096 template.
2097
2098 Tue Sep 9 09:50:02 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2099
2100 * dwarf2out.c (output_call_frame_info): Call named_section.
2101
2102 Tue Sep 9 09:12:17 1997 Jeffrey A Law (law@cygnus.com)
2103
2104 * haifa-sched.c (print_value): Fix last change.
2105
2106 Tue Sep 9 01:30:37 1997 Jason Merrill <jason@yorick.cygnus.com>
2107
2108 * mips.h (DWARF_FRAME_REGNUM): Use the same numbering regardless of
2109 write_symbols.
2110
2111 Mon Sep 8 16:32:43 1997 Jason Merrill <jason@yorick.cygnus.com>
2112
2113 * mips.c (function_prologue): Set up the CFA when ABI_32.
2114
2115 * sparc.c (save_regs): Check dwarf2out_do_frame instead of DWARF2_DEBUG
2116 for dwarf2 unwind info.
2117 (output_function_prologue, sparc_flat_output_function_prologue): Same.
2118
2119 * final.c (final_end_function): Check dwarf2out_do_frame instead
2120 of DWARF2_DEBUG for dwarf2 unwind info.
2121 (final_scan_insn): Likewise.
2122 (final_start_function): Likewise. Initialize dwarf2 frame debug here.
2123 (final): Not here.
2124
2125 * expr.c (expand_builtin_return_addr): Only SETUP_FRAME_ADDRESSES if
2126 count > 0.
2127
2128 * varasm.c (exception_section): Check EXCEPTION_SECTION first.
2129
2130 Mon Sep 8 15:15:11 1997 Nick Clifton <nickc@cygnus.com>
2131
2132 * v850.h (ASM_SPEC): Pass on target processor.
2133 (CPP_PREDEFINES): Only define if not already specified.
2134 (TARGET_VERSION): Only define if not already specified.
2135 (MASK_CPU, MASK_V850, MASK_DEFAULT): Bits to specify target
2136 processor.
2137 (EXTRA_SWITCHES): Extra entries in the switches array.
2138 (TARGET_DEFAULT): Set default target processor.
2139
2140 Mon Sep 8 18:26:35 1997 Jim Wilson <wilson@cygnus.com>
2141
2142 * m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): In MOTOROLA
2143 cases, add %# and %/, and add : to make them into extended asms.
2144
2145 Sun Sep 7 23:57:50 1997 Weiwen Liu <liu@hepunix.physics.yale.edu>
2146
2147 * alias.c (init_alias_analysis): Clean up incompatible pointer
2148 type warning in bzero.
2149 * regmove.c (regmove_optimize): Ditto.
2150 * haifa-sched.c (find_rgns): Ditto.
2151
2152 * haifa-sched.c (print_value): Clean up ptr->int cast
2153 warnings.
2154
2155 Sun Sep 7 23:18:32 1997 Fred Fish <fnf@ninemoons.com>
2156
2157 * INSTALL: Change 'amigados' to 'amigaos' to match current usage.
2158 * install.texi (Configurations): Ditto.
2159 * config.sub: Ditto.
2160
2161 Sun Sep 7 22:56:56 1997 Weiwen Liu (liu@hepvms.physics.yale.edu)
2162
2163 * Makefile.in (sdbout.o): Depend on insn-config.h.
2164
2165 Sun Sep 7 18:44:50 1997 Jim Wilson <wilson@cygnus.com>
2166
2167 * m68k/m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881.
2168 For 68303, 68332, cpu32, subtract MASK_68040_ONLY.
2169
2170 Sun Sep 7 18:30:46 1997 Jason Merrill <jason@yorick.cygnus.com>
2171
2172 * dwarf2out.c (dwarf2out_frame_debug): Assume that in a PARALLEL
2173 prologue insn, only the first elt is significant.
2174 (output_call_frame_info): For exception handling, always use 4-byte
2175 fields as specified by the dwarf2 spec.
2176 Don't skip trivial FDEs.
2177
2178 Sun Sep 7 14:19:39 1997 Jeffrey A Law (law@cygnus.com)
2179
2180 * version.c: Bump for snapshot.
2181
2182 Sun Sep 7 14:17:36 1997 Torbjorn Granlund (tege@pdc.kth.se)
2183
2184 * expmed.c (expand_divmod): Make op1_is_pow2 depend on unsignedp
2185 for negative constants. Promote EXACT_DIV_EXPR to TRUNC_DIV_EXPR
2186 when op1_is_pow2.
2187
2188 Sun Sep 7 13:46:46 1997 Jeffrey A Law (law@cygnus.com)
2189
2190 * final.c (shorten_branches): During first pass, assume worst
2191 possible alignment for ADDR_VEC and ADDR_VEC_DIFF insns.
2192
2193 * Makefile.in (distclean): Remove various things left around
2194 by running the testsuite.
2195
2196 Sun Sep 7 13:16:06 1997 Manfred Hollstein <manfred@s-direktnet.de>
2197
2198 * configure.in (out_file): Emit definition to config.status in order
2199 to have a defined value for configure.lang.
2200 * configure: Re-built.
2201
2202 Sun Sep 7 09:59:08 1997 Jan-Jaap van der Heijden (J.J.vanderHeijden@student.utwente.nl)
2203
2204 * configure.in: Make symlink to as-new rather than as.new. Similarly
2205 for ld-new.
2206 * configure: Rebuilt.
2207
2208 Fri Sep 5 16:54:55 1997 Jim Wilson <wilson@cygnus.com>
2209
2210 * profile.c (output_func_start_profiler): Set DECL_EXTERNAL to zero.
2211
2212 Fri Sep 5 16:16:44 1997 Christian Kuehnke <Christian.Kuehnke@arbi.Informatik.Uni-Oldenburg.DE>
2213
2214 * sparc/sparc.md: Add ultrasparc scheduling support.
2215 * sparc/sparc.h (RTX_COSTS): For MULT give v9 a cost of 25 insns.
2216
2217 Fri Sep 5 14:04:59 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
2218
2219 * integrate.c (save_for_inline_copying): Use 0, not NULL_PTR,
2220 as initial value for real_label_map.
2221 (copy_for_inline): Likewise.
2222
2223 Fri Sep 5 13:36:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
2224
2225 * sched.c (update_flow_info) When looking if to set found_split_dest
2226 or found_orig_dest, look at all parts of a PARALLEL.
2227 * haifa-sched.c (update_flow_info): Likewise.
2228
2229 Fri Sep 5 10:08:44 1997 Jeffrey A Law (law@cygnus.com)
2230
2231 * v850: New directory for v850 port.
2232 * v850/lib1funcs.asm: New file.
2233 * t-v850, v850.c, v850.h, v850.md, xm-v850.h: New files.
2234 * ginclude/va-v850.h: New file.
2235 * ginclude/varargs.h, ginclude/stdarg.h: Include va-mn10200.h.
2236 * configure.in (mn10200-*-*): New target.
2237 * configure: Rebuilt.
2238 * config.sub: Handle v850-elf.
2239 * Makefile.in (USER_H): Add va-mn10200.h.
2240 * invoke.texi: Document v850 stuff.
2241
2242 Fri Sep 5 09:37:50 1997 Jim Wilson (wilson@cygnus.com)
2243
2244 * sdbout.c (plain_type_1, case ARRAY_TYPE): Verify that TYPE_DOMAIN
2245 has integer TYPE_{MAX,MIN}_VALUE before using them.
2246
2247 * m68k/m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Add
2248 __HPUX_ASM__ versions.
2249
2250 Fri Sep 5 09:08:44 1997 Jeffrey A Law (law@cygnus.com)
2251
2252 * install.sh: Delete duplicate install script.
2253
2254 Thu Sep 4 23:14:27 1997 Stan Cox (coxs@dg-rtp.dg.com)
2255
2256 * reg-stack.c (subst_stack_regs): Pop the stack register for a
2257 computed goto which sets the same stack register.
2258
2259 * reg-stack.c (compare_for_stack_reg): Swap only if the source and
2260 destination are both on the regstack.
2261 (subst_stack_regs_pat): Put the destination at the top of the regstack.
2262
2263 Thu Sep 4 15:02:27 1997 Jim Wilson <wilson@cygnus.com>
2264
2265 * mips.md (nonlocal_goto_receiver): Define.
2266
2267 * profile.c (output_arc_profiler): Check next_insert_after for non
2268 NULL before deferencing it.
2269
2270 * i386/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define to -fPIC.
2271
2272 Thu Sep 4 14:51:57 1997 Jeffrey A Law (law@cygnus.com)
2273
2274 * i386.h (CPP_CPU_DEFAULT): Avoid using #elif.
2275
2276 Thu Sep 4 15:01:49 1997 Michael Meissner <meissner@cygnus.com>
2277
2278 * toplev.c (rest_of_compilation): For passes starting with
2279 flow_analysis, use print_rtl_with_bb instead of print_rtl.
2280
2281 * print-rtl.c (print_rtl_single): Print a single rtl value to a
2282 file.
2283
2284 * flow.c (print_rtl_with_bb): Print which insns start and end
2285 basic blocks. For the start of a basic block, also print the live
2286 information.
2287
2288 Thu Sep 4 11:51:43 1997 Jim Wilson <wilson@cygnus.com>
2289
2290 * toplev.c (main): Change #elif to #else/#ifdef
2291
2292 * tlink.c: Include ctype.h.
2293 * ginclude/va-mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif.
2294
2295 Thu Sep 4 11:17:16 1997 Mikeael Meissner (meissner@cygnus.com)
2296
2297 * bitmap.c: Conditionally include stdlib.h.
2298 (free): Provide a declaration if NEED_DECLARATION_FREE.
2299
2300 Thu Sep 4 09:58:53 1997 Joel Sherrill (joel@OARcorp.com)
2301
2302 * i960/i960.h: Added default for SUBTARGET_SWITCHES macro.
2303
2304 Thu Sep 4 09:53:20 1997 Jim Wilson (wilson@cygnus.com)
2305
2306 * profile.c (output_arc_profiler): Verify next_insert_after is an
2307 INSN before and after skipping a stack pop.
2308
2309 Thu Sep 4 07:39:19 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
2310
2311 * final.c (shorten_branches): Don't count the lengths of deleted
2312 instructions.
2313
2314 Thu Sep 4 09:43:01 1997 Jeffrey A Law (law@cygnus.com)
2315
2316 * version.c: Bump for snapshot.
2317
2318 Thu Sep 4 11:04:21 1997 Michael Meissner <meissner@cygnus.com>
2319
2320 * bitmap.h (EXECUTE_IF_AND_IN_BITMAP): New macro, to iterate over
2321 two bitmaps ANDed together.
2322 (bitmap_print): Declare.
2323
2324 * bitmap.c (function_obstack): Don't declare any more.
2325 (bitmap_obstack): Obstack for allocating links from.
2326 (bitmap_obstack_init): New static to say whether to initialize
2327 bitmap_obstack.
2328 (bitmap_element_allocate): Use bitmap_obstack to allocate from.
2329 (bitmap_release_memory): Free all memory allocated from
2330 bitmap_obstack.
2331
2332 * basic-block.h (EXECUTE_IF_AND_IN_REG_SET): New macro, invoke
2333 EXECUTE_IF_AND_IN_BITMAP.
2334
2335 Wed Sep 3 10:39:42 1997 Jim Wilson <wilson@cygnus.com>
2336
2337 * alias.c (true_dependence): Address with AND can alias scalars.
2338 (anti_dependence, output_dependence): Likewise.
2339
2340 * alias.c (true_dependence): Test x for BLKmode, in addition to mem.
2341
2342 Wed Sep 3 09:28:50 CDT 1997 Joel Sherrill (joel@OARcorp.com)
2343
2344 * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, m68k/rtems.h,
2345 mips/rtems64.h, pa/rtems.h, rs6000/rtems.h, sh/rtems.h,
2346 sparc/rtems.h (subtarget_switches): Removed SUBTARGET_SWITCHES
2347 definitions. Use -qrtems instead of -mrtems.
2348
2349 Wed Sep 3 09:05:41 1997 Robert Lipe (robert@dgii.com)
2350
2351 * xm-sco5.h (sys_siglist): Define.
2352 (SYS_SIGLIST_DECLARED): Likewise.
2353
2354 Tue Sep 2 23:33:33 1997 Jeffrey A Law (law@cygnus.com)
2355
2356 * expr.c (convert_move): Handle truncation from TQFmode to QFmode.
2357
2358 Wed Sep 3 02:09:30 1997 Torbjorn Granlund <tege@pdc.kth..se>
2359
2360 * except.c (eh_outer_context): Expand masking operation using
2361 expand_binop.
2362
2363 Tue Sep 2 18:09:39 1997 Jim Wilson <wilson@cygnus.com>
2364
2365 * alpha.md (floatdisf2-1): New pattern.
2366
2367 Tue Sep 2 18:41:55 1997 Jeffrey A Law (law@cygnus.com)
2368
2369 * xm-svr4.h (SYS_SIGLIST_DECLARED): Define.
2370 * xm-news.h (SYS_SIGLIST_DECLARED): Likewise.
2371 * xm-sysv4.h (SYS_SIGLIST_DECLARED): Likewise.
2372 * gcc.texi: Note that if you define sys_siglist that you should
2373 also define SYS_SIGLIST_DECLARED.
2374
2375 * mn10200.h (INITIALIZE_TRAMPOLINE): PC relative instructions
2376 are relative to the next instruction, not the current instruction.
2377
2378 Tue Sep 2 14:22:43 1997 Jim Wilson <wilson@cygnus.com>
2379
2380 * local-alloc.c (contains_replace_regs): New function.
2381 (update_equiv_regs): When adding a REG_EQUIV note for a set of a MEM,
2382 verify that there is no existing REG_EQUIV note, and add a call to
2383 contains_place_regs.
2384
2385 Tue Sep 2 12:48:11 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
2386
2387 * config/alpha/elf.h (CPP_PREDEFINES): Add -D__PIC__ -D__pic__.
2388 (STARTFILE_SPEC): Always use crtbegin.o%s
2389 (ENDFILE_SPEC): Always use crtend.o%s.
2390
2391 Tue Sep 2 12:00:36 1997 Jim Wilson <wilson@cygnus.com>
2392
2393 * alpha/alpha.h (PREFERRED_RELOAD_CLASS): Return NO_REGS if NO_REGS
2394 is passed in.
2395 * emit-rtl.c (gen_lowpart_common): Add code to convert CONST_INT to
2396 SFmode for 64 bit hosts.
2397
2398 Tue Sep 2 13:42:38 1997 Paul N. Hilfinger <hilfingr@CS.Berkeley.EDU>
2399
2400 * fixincludes: Permits spaces between # and define. Discard C++
2401 comments in sys/pci.h on HP/UX 10.20.
2402
2403 Mon Sep 1 22:13:18 1997 Jeffrey A Law (law@cygnus.com)
2404
2405 * version.c: Bump for snapshot.
2406
2407 * pa.c (restore_unscaled_index_insn_codes): New function.
2408 (record_unscaled_index_insn_codes): Likewise.
2409 (output_function_prologue): Call restore_unscaled_index_insn_codes.
2410 (output_function_epilogue): Free memory for unscaled_index_insn_codes.
2411 (pa_reorg): Call record_unscaled_index_insn_codes.
2412
2413 * haifa-sched.c (move_insn): Handle notes correctly for insns
2414 with SCHED_GROUP_P set.
2415
2416 Mon Sep 1 16:58:57 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
2417
2418 * alpha/xm-linux.h (USE_BFD): Undef before define.
2419
2420 Mon Sep 1 16:25:34 1997 Jim Wilson <wilson@cygnus.com>
2421
2422 * cse.c (cse_insn): Don't record BLKmode values.
2423
2424 Mon Sep 1 11:25:47 1997 Stephen Williams (steve@icarus.icarus.com)
2425
2426 * i960.h (LINK_SPEC): Handle "-mjX" and "-mrp" switches.
2427
2428 Mon Sep 1 08:29:46 1997 Jeffrey A Law (law@cygnus.com)
2429
2430 * cccp.c (sys_errlist): Remove special 4.4bsd declaration.
2431 * collect2.c (sys_errlist): Likewise.
2432 * cpplib.c (sys_errlist): Likewise.
2433 * gcc.c (sys_errlist): Likewise.
2434 * protoize (sys_errlist): Likewise.
2435 * configure.in: Check for strerror.
2436 * xm-freebsd.h (HAVE_STRERROR): Remove definition.
2437 * xm-gnu.h (HAVE_STRERROR): Likewise.
2438 * xm-linux.h (HAVE_STRERROR): Likewise.
2439 * xm-netbsd.h (HAVE_STRERROR): Likewise.
2440 * xm-bsd386.h (HAVE_STRERROR): Likewise.
2441 * xm-cygwin32.h (HAVE_STRERROR): Likewise.
2442 * xm-dos.h (HAVE_STRERROR): Likewise.
2443 * xm-mingw32.h (HAVE_STRERROR): Likewise.
2444 * xm-pa.h (HAVE_STRERROR): Likewise.
2445 * xm-papro.h (HAVE_STRERROR): Likewise.
2446 * xm-sysv4.h (HAVE_STRERROR): Likewise.
2447 * configure, config.in: Rebuilt.
2448
2449 * Makefile.in: Add several missing "else true" clauses.
2450
2451 * collect2.c: Change DONT_DECLARE_SYS_SIGLIST to SYS_SIGLIST_DECLARED.
2452 * mips-tfile.c: Likewise.
2453 * gcc.texi: DONT_DECLARE_SYS_SIGLIST: Remove docs.
2454 * xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition.
2455 * xm-freebsd.h, xm-bsd386.h, xm-sysv4.h, xm-sol2.h: Likewise.
2456 * configure.in: Check for sys_siglist declaration.
2457 * configure, config.in: Rebuilt.
2458
2459 Mon Sep 1 08:04:07 1997 Joel Sherrill (joel@OARcorp.com)
2460
2461 * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h,
2462 m68k/rtems.h, mips/rtems64.h, pa/rtems.h, rs6000/rtems.h,
2463 sparc/rtems.h (subtarget_switches): Added -mrtems as a switch.
2464 * i960/i960.h: Added SUBTARGET_SWITCHES macro.
2465 * rs6000/sysv4.h (extra_subtarget_switches): Added new
2466 macro EXTRA_SUBTARGET_SWITCHES.
2467 * configure.in (sh*-*-rtems*): New target.
2468 * sh/rtems.h: New file.
2469 * sh/sh.h: Added SUBTARGET_SWITCHES macro.
2470 * configure: Rebuilt.
2471
2472 Sat Aug 30 22:54:26 1997 Jim Wilson <wilson@cygnus.com>
2473
2474 * unroll.c (calculate_giv_inc): Handle increment with code PLUS.
2475
2476 Sat Aug 30 10:49:46 1997 David Edelsohn <edelsohn@mhpcc.edu>
2477
2478 * rs6000.md: Make DF fused-add operations pay attention to
2479 -mno-fused-add.
2480
2481 Fri Aug 29 19:19:54 1997 Jim Wilson <wilson@cygnus.com>
2482
2483 * i386/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Define.
2484
2485 Fri Aug 29 16:13:51 1997 Jeffrey A Law (law@cygnus.com)
2486
2487 * pa.md (reload_peepholes): Make sure operand is a REG before
2488 examining REGNO. Allow general registers too.
2489
2490 Fri Aug 29 11:42:04 1997 Jim Wilson <wilson@cygnus.com>
2491
2492 * varasm.c (mark_constants): Don't look inside CONST_DOUBLEs.
2493
2494 Fri Aug 29 09:33:20 1997 Philipp Thomas (kthomas@lxi165.gwdg.de)
2495
2496 * dwarf2out.c (build_abbrev_table): Use xrealloc, not xmalloc
2497 to reallocate abbrev_die_table.
2498
2499 Thu Aug 28 15:14:46 1997 Jim Wilson <wilson@cygnus.com>
2500
2501 * m68k/m68k.md (iorsi_zexthi_ashl16): Disable.
2502
2503 1997-08-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2504
2505 * Makefile.in (config.status): Depend on version.c
2506
2507 * expr.h (insn_gen_function): Reenable prototype.
2508
2509 * expr.c (move_by_pieces_1, clear_by_pieces_1): Fix prototype of
2510 first parameter.
2511
2512 Thu Aug 28 13:01:43 1997 Jim Wilson <wilson@cygnus.com>
2513
2514 * i386.c (ix86_expand_epilogue): Emit blockage instruction when pic.
2515
2516 Thu Aug 28 07:03:15 1997 Jeffrey A Law (law@cygnus.com)
2517
2518 * version.c: Bump for latest snapshot.
2519
2520 * bc-optab.c: Conditionally include stdlib.h.
2521 (free): Provide a declaration if NEED_DECLARATION_FREE.
2522 * tree.c (free): Provide a declaration if NEED_DECLARATION_FREE.
2523 * rtl.h (free): Remove declaration.
2524 * tree.h (free): Remvoe declaration.
2525
2526 * configure: Rebuilt.
2527
2528 Wed Aug 27 21:32:20 1997 Jeffrey A Law (law@cygnus.com)
2529
2530 * flags.h (flag_move_all_movables): Declare.
2531 (flag_reduce_all_givs): Likewise.
2532 * loop.c (move_movables): Handle flag_move_all_movables.
2533 (strength_reduce): Handle flag_reduce_all_givs.
2534 * toplev.c (flag_move_all_movables): Define.
2535 (flag_reduce_all_givs): Likewise.
2536 (f_options): Add -fmove-all-movables and -freduce-all-givs.
2537 * invoke.texi: Document new options, including alias stuff that
2538 wasn't included last time.
2539
2540 Wed Aug 27 18:08:51 1997 Bob Manson (manson@cygnus.com)
2541
2542 * t-h8300: Use TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS.
2543 * t-mn10200: Ditto.
2544 * t-vxsparc: Ditto.
2545 * t-vxworks68: Ditto.
2546 * t-vxworks960: Ditto.
2547 * t-vx29k: Ditto.
2548
2549 Wed Aug 27 16:35:29 1997 Richard Henderson <rth@cygnus.com>
2550
2551 * alpha/xm-alpha.h (alloca): Define alloca to builtin_alloca for GNUC
2552 if not already defined, and USE_C_ALLOCA not defined.
2553
2554 Wed Aug 27 16:08:43 1997 Jim Wilson <wilson@cygnus.com>
2555
2556 * config.guess: Replace with script that uses ../config.guess.
2557
2558 * config/alpha/elf.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1
2559 if USE_GNULIBC_1 is not defined.
2560
2561 Wed Aug 27 15:49:12 1997 Richard Henderson <rth@cygnus.com>
2562
2563 * alpha/elf.h (LINK_SPEC): Conditionalize on USE_GNULIBC_1.
2564 * config.guess: Recognize alpha-linux-gnulibc1.
2565 * configure.in (alpha-*-linux-gnulibc1): New target.
2566 (alpha-*-linux-gnu*): Don't build crtbegin/end.
2567
2568 Wed Aug 27 11:52:58 1997 Jim Wilson <wilson@cygnus.com>
2569
2570 * m68k.md (iorsi3_internal): Readd ! TARGET_5200 check lost in
2571 last change.
2572
2573 Wed Aug 27 01:56:18 1997 Doug Evans <dje@seba.cygnus.com>
2574
2575 * loop.c (combine_movables): Earlier insns don't match later ones.
2576
2577 Wed Aug 27 01:24:25 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
2578
2579 * config/linux.h (CC1_SPEC): Define it only if not defined.
2580
2581 * config/m68k/linux.h (CC1_SPEC): Undefine it before include
2582 <linux.h>
2583
2584 * config/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1 if
2585 USE_GNULIBC_1 is not defined.
2586
2587 * config/rs6000/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1.
2588
2589 * config/sparc/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
2590 as 1 if USE_GNULIBC_1 is not defined.
2591
2592 Wed Aug 27 00:49:14 1997 Jeffrey A Law (law@cygnus.com)
2593
2594 * reorg.c (dbr_schedule): Allow current_function_return_rtx
2595 to be something other than a REG.
2596 * function.c (expand_function_end): Fix current_function_return_rtx
2597 if it was a pseudo.
2598
2599 * t-freebsd (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
2600 * x-netbsd: Likewise
2601 * x-dgux (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS
2602 (INSTALL_HEADERS): Delete.
2603 * x-dguxbcs: Likewise.
2604 * x-hp3bsd44: Likewise
2605 * x-pa: Likewise.
2606
2607 Wed Aug 27 00:30:00 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
2608
2609 * i386.md (pop): pop increments the stack pointer.
2610 (prologue_set_stack_ptr): New pattern.
2611 * i386.c (ix86_expand_prologue): Use prologue_set_stack_ptr
2612 instead of subsi3.
2613
2614 Tue Aug 26 18:50:32 1997 Jim Wilson <wilson@cygnus.com>
2615
2616 * reload.c (find_reloads, case '0'): Reject matching a non-offsettable
2617 address where an offsettable address is required.
2618
2619 Tue Aug 26 17:54:56 1997 Michael P. Hayes (michaelh@ongaonga.chch.cri.nz>
2620
2621 * loop.c (check_final_value): Don't miss a biv increment in a
2622 parallel.
2623
2624 Tue Aug 26 12:03:49 1997 Jim Wilson (wilson@cygnus.com)
2625
2626 * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Check
2627 TYPE_DECL_IS_STUB instead of DECL_NAME.
2628
2629 Mon Aug 25 23:27:10 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
2630
2631 * objc/Make-lang.in ($(OBJC_O)): Also depend on cc1obj.
2632
2633 Mon Aug 25 23:27:10 1997 Jim Meyering <meyering@eng.ascend.com>
2634
2635 * objc/Make-lang.in ($(OBJC_O)): Also depend on $(GCC_PASSES).
2636
2637 Mon Aug 25 13:12:24 1997 Jeffrey A Law (law@cygnus.com)
2638
2639 * haifa-sched.c (find_pre_sched_live): Remove #if 0 code.
2640 (find_post_sched_live): Likewise.
2641
2642 * haifa-sched.c (schedule_block): Remove old code to get arguments
2643 from hard regs into pseudos early.
2644
2645 Mon Aug 25 08:55:00 1997 Jeffrey A Law (law@cygnus.com)
2646
2647 * version.c: Bump for new snapshot.
2648
2649 * local-alloc.c (update_equiv_regs): All the target to reject
2650 promotion of some REG_EQUAL to REG_EQUIV notes.
2651 * pa.h (DONT_RECORD_EQUIVALENCE): Define.
2652
2653 * pa.c (secondary_reload_class): (mem (mem ... )) does not need
2654 secondary reloads.
2655
2656 * pa.c (hppa_builtin_saveregs): Emit a blockage insn after the
2657 store of the argument registers.
2658
2659 Mon Aug 25 08:39:02 1997 Craig Burley (burley@gnu.ai.mit.edu)
2660
2661 * fold-const.c (multiple_of_p): New function.
2662 (fold): Turn some cases of *_DIV_EXPR into EXACT_DIV_EXPR.
2663
2664 Mon Aug 25 01:47:41 1997 Jeffrey A Law (law@cygnus.com)
2665
2666 * expr.h (insn_gen_function): Temporarily remove prototype.
2667
2668 Sun Aug 24 17:22:21 1997 Jim Wilson <wilson@cygnus.com>
2669
2670 * Makefile.in (install-info): Don't cd into srcdir. Add srcdir to
2671 filenames. Use sed to extract base filename for install.
2672
2673 Sat Aug 23 18:19:40 1997 John F. Carr <jfc@mit.edu>
2674
2675 * unroll.c (find_splittable_givs): Only share if two givs have the
2676 same add and multiply values.
2677
2678 Sat Aug 23 14:36:27 1997 Jim Wilson <wilson@cygnus.com>
2679
2680 * m68k/next.h (GO_IF_INDEXABLE_BASE): Fix typo in undef.
2681 * m68k/m68kemb.h (LIB_SPEC): Add missing comment end before it.
2682
2683 Sat Aug 23 00:18:22 1997 Jeffrey A Law (law@cygnus.com)
2684
2685 * pa.c (pa_reorg): Always put begin_brtab and end_brtab insns
2686 around branch tables.
2687 * pa.md (begin_brtab, end_brtab): Only emit the .begin_brtab
2688 and .end_brtab directives if TARGET_GAS.
2689
2690 Fri Aug 22 14:05:55 1997 Jim Wilson <wilson@cygnus.com>
2691
2692 * alias.c (true_dependence): Pass x_addr not x to varies.
2693
2694 * acconfig.h (NEED_DECLARATION_CALLOC): Add.
2695 * configure.in: Add GCC_NEED_DECLARATION call for calloc.
2696 * rs6000/xm-rs6000.h (malloc, realloc, calloc, free): Delete
2697 declarations.
2698 * config.in, configure: Regenerate.
2699
2700 Thu Aug 21 23:52:16 1997 John F. Carr <jfc@mit.edu>
2701
2702 * alias.c (find_base_value): Improve handling of PLUS, MINUS, and
2703 LO_SUM.
2704 (record_set): Handle LO_SUM like PLUS.
2705 (init_alias_analysis): When following chains of base addresses,
2706 do not stop on reaching a hard register.
2707
2708 Thu Aug 21 20:17:37 1997 Jeffrey A Law (law@cygnus.com)
2709
2710 * version.c: Bump for new snapshot.
2711
2712 Thu Aug 21 17:28:00 1997 Jim Wilson <wilson@cygnus.com>
2713
2714 * alpha.h (ARCH_ASM_FILE_START): Define.
2715 (ASM_FILE_START): Use ARCH_ASM_FILE_START.
2716 * osf12.h, osf2or3.h (ARCH_ASM_FILE_START): Redefine to null string.
2717
2718 Thu Aug 21 10:22:19 1997 Jeffrey A Law (law@cygnus.com)
2719
2720 * Makefile.in (install-common): Put gcov comment at start of line.
2721
2722 Wed Aug 20 22:47:33 1997 Jeffrey A Law (law@cygnus.com)
2723
2724 * alias.c (init_alias_analysis): When simplifying the reg_base_value
2725 array, simplify entries for hard registers too.
2726
2727 Wed Aug 20 12:35:47 1997 Dave Love <d.love@dl.ac.uk>
2728
2729 * dwarf2.h (enum dwarf_call_frame_info): Remove trailing comma from
2730 list.
2731
2732 Wed Aug 20 11:58:33 1997 Jim Wilson <wilson@cygnus.com>
2733
2734 * stmt.c (start_cleanup_deferal, end_cleanup_deferal): Test
2735 block_stack before dereferencing it.
2736
2737 Wed Aug 20 11:57:11 1997 Michael Meissner <meissner@cygnus.com>
2738
2739 * rs6000.h (ISSUE_RATE): Define instead of MACHINE_issue_rate.
2740
2741 Tue Aug 19 17:10:56 1997 Jason Merrill <jason@yorick.cygnus.com>
2742
2743 * cplus-dem.c: Add 'extern' to prepends_underscore.
2744
2745 Tue Aug 19 09:34:57 1997 Jeffrey A Law (law@cygnus.com)
2746
2747 * haifa-sched.c (ISSUE_RATE): Renamed from MACHINE_issue_rate.
2748 (get_issue_rate): Delete.
2749 * pa.h (ISSUE_RATE): Define.
2750
2751 * configure.in: Turn on haifa by default for the PA.
2752 * configure: Rebuilt.
2753 * pa.c (override_options): Accept -mschedule=7200 option.
2754 (pa_adjust_cost): No longer need to scale costs for newer
2755 processors.
2756 * pa.h (enum processor_type): Add PROCESSOR_7200.
2757 * pa.md: Revamp scheduling parameters to work better with
2758 haifa. Add scheduling parameters for the 7200.
2759
2760 * haifa-sched.c (move_insn): Reemit notes for SCHED_GROUP_P
2761 insns too.
2762 (schedule_block): When adjusting basic_block_{head,end}, account
2763 for movement of SCHED_GROUP_P insns too.
2764
2765 * haifa-sched.c (debug_dependencies): Fix thinko.
2766
2767 * Makefile.in (EXPECT, RUNTEST, RUNTESTFLAGS): Define.
2768 (site.exp, check, check-g++, check-gcc): New targets.
2769
2770 * haifa-sched.c: Make lots of variables static.
2771
2772 Tue Aug 19 07:18:34 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
2773
2774 * expr.h, real.h: Finish prototyping.
2775
2776 Mon Aug 18 21:49:02 1997 Jim Wilson <wilson@cygnus.com>
2777
2778 * reload.c (find_reloads): Add code to convert RELOAD_FOR_OPADDR_ADDR
2779 reloads to RELOAD_FOR_OPERAND_ADDRESS reloads.
2780 * reload1.c: Undo bugfix from Aug 11.
2781
2782 Mon Aug 18 17:39:02 1997 Mike Meissner <meissner@cygnus.com>
2783
2784 * configure.in ({powerpc,rs6000}*-*-*, --with-cpu): Remove single
2785 quotes around the name.
2786 * configure: Regenerate.
2787
2788 Mon Aug 18 13:46:47 1997 Jim Wilson <wilson@cygnus.com>
2789
2790 * Makefile.in (stmp-multilib-sub): Fix typo in last change.
2791
2792 Thu Aug 7 10:33:13 1997 Manfred Hollstein <manfred@s-direktnet.de>
2793
2794 * Makefile.in (sub-makes): Pass the current value of LANGUAGES down
2795 to sub-makes to avoid building more passes than the user might have
2796 requested on the command line.
2797
2798 Sun Aug 17 15:42:17 1997 Dave Love (d.love@dl.ac.uk)
2799
2800 * configure.in: Expurgate `broken_install' (install is
2801 autoconfed).
2802
2803 * configure.lang: Substitute autoconfed ${INSTALL} (not currently
2804 relevant).
2805
2806 Sat Aug 16 01:08:12 1997 Jeffrey A Law (law@cygnus.com)
2807
2808 * loop.c (is_power_of_2, is_conditional_branch): Delete unused
2809 functions and declarations.
2810 (analyze_loop_iterations): Use condjump_p.
2811 (insert_bct): Likewise. Use exact_log2.
2812
2813 Fri Aug 15 23:48:32 1997 Jeffrey A Law (law@cygnus.com)
2814
2815 * haifa-sched.c (find_post_sched_live): Call FREE_REG_SET as needed.
2816 (schedule_region): Likewise.
2817 (schedule_insns): Likewise.
2818
2819 * PROJECTS: Update with Haifa stuff.
2820
2821 Fri Aug 15 12:49:56 1997 Jeffrey A Law (law@cygnus.com)
2822
2823 * version.c: Change the version string to look like:
2824 egcs-2.90.00 970814 (gcc2-970802 experimental).
2825
2826 * loop.c (is_conditional_branch): Make definition match declaration.
2827
2828 * gcc.c: Take out experimental snapshot warning message.
2829
2830 Fri Aug 15 13:43:39 1997 Michael Meissner <meissner@cygnus.com>
2831
2832 * haifa-sched.c (debug_dependencies): Use GET_NOTE_INSN_NAME to
2833 print out the names of the notes. Print out the name of the insn
2834 that is not a note, and not an {,CALL_,JUMP_}INSN.
2835
2836 Wed Aug 13 17:32:38 1997 Jason Merrill <jason@yorick.cygnus.com>
2837
2838 * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
2839 again for the slot after we give it RTL.
2840
2841 Wed Aug 13 01:03:37 1997 Doug Evans <dje@canuck.cygnus.com>
2842
2843 * configure.in (haifa configury): Fix typo.
2844 * configure: Regenerate.
2845
2846 Tue Aug 12 10:20:36 1997 Jeffrey A Law (law@cygnus.com)
2847
2848 * version.c: Bump version to "gcc-3.0.0 970802 experimental".
2849
2850 * gcc.info*: Rebuilt.
2851
2852 * COPYING.g77, README.g77: New files.
2853 * real.c (ereal_unto_float, ereal_unto_double): New functions.
2854 * real.h (ereal_unto_float, ereal_unto_double): Declare them.
2855 (REAL_VALUE_UNTO_TARGET_DOUBLE, REAL_VALUE_UNTO_TARGET_SINGLE): Define.
2856
2857 Mon Aug 11 14:50:55 1997 Jeffrey A Law (law@cygnus.com)
2858
2859 * Integrate Haifa instruction scheduler.
2860 * Makefile.in (ALL_CFLAGS): Add SCHED_CFLAGS. Prefix all references
2861 to sched with $(SCHED_CFLAGS.
2862 * configure.in: Handle --enable-haifa.
2863 * configure: Rebuilt.
2864 * flags.h: Add new flags for haifa instruction scheduler.
2865 * genattrtab.c (expand_units): For haifa, don't subtract one
2866 when computing blockage.
2867 * toplev.h (flag_schedule_interblock): Haifa scheduler flag.
2868 (flag_schedule_speculative): Ditto.
2869 (flag_schedule_speculative_load): Ditto.
2870 (flag_schedule_speculative_load_dangerous): Ditto.
2871 (flag_schedule_reverse_before_reload): Ditto.
2872 (flag_schedule_reverse_after_reload): Ditto.
2873 (flag_branch_on_count_reg): Ditto.
2874 (f_options): Add Haifa switches.
2875 (main): Turn off some Haifa options if appropriate macro is
2876 defined. Process Haifa switches.
2877 * unroll.c (iteration_info): No longer static, since Haifa
2878 scheduler uses it.
2879 (unroll_loop): Inform HAIFA scheduler about loop unrolling factor.
2880 * unroll.c (unroll_loop): Set loop_unroll_iter, loop_start_value.
2881 * loop.h (loop_unroll_factor, loop_number): Add HAIFA decls.
2882 * loop.h (loop_initial_value,loop_unroll_iter): New globals.
2883 * loop.c (loop_optimize): If HAIFA is defined, allocate additional
2884 storage for the Haifa scheduler.
2885 (mark_loop_jump): If HAIFA defined, set LABEL_OUTSIDE_LOOP_P and
2886 LABEL_NEXTREF.
2887 (strength_reduce): If HAIFA and HAVE_decrement_and_branch_on_count
2888 are defined, call analyze_loop_iterations and insert_bct to use
2889 countdown loops.
2890 (record_giv): Refine test for jumps out of loops if HAIFA is
2891 defined.
2892 (analyze_loop_iterations): New function to identify if we can use
2893 a countdown loop.
2894 (insert_bct): Insert countdown loop.
2895 (instrument_loop_bct): Low level code to insert countdown loop.
2896 (loop_number): Calculate UID of loop.
2897 (indirect_jump_in_function_p): Return true if an indirect jump is
2898 in the function.
2899 (is_power_of_2): Return true if value is a power of 2.
2900 (is_conditional_branch): Return true if insn is a conditional
2901 jump.
2902 (fix_bct_param): Process -fbct-{min,max}-N switches.
2903 (check_bct_param): Return true if loop should be instrumented.
2904 * loop.c (loop_initial_value,loop_unroll_iter): New globals.
2905 (loop_optimize): Initialize.
2906 (get_condition_for_loop): Ditto.
2907 * loop.c (strength_reduce): Inside of code that uses #ifdef
2908 HAVE_decrement_and_branch_on_count code, test it to make sure the
2909 condition is true.
2910 (instrument_loop_bct): Ditto.
2911 * haifa-sched.c: New file.
2912
2913
2914 * Integrate regmove pass.
2915 * Makefile.in (OBJS): Add regmove.o
2916 (regmove.o): Add dependencies.
2917 * flow.c (find_use_as_address): No longer static.
2918 * rtl.h (find_use_as_address): Declare.
2919 * toplev.c (regmove_dump, flag_regmove): Define.
2920 (f_options): Add -fregmove.
2921 (regmove_dump_file, regmove_time): Define.
2922 (fatal_insn): Close the regmove dump file.
2923 (compile_file): Initialize regmove_time; open/close the regmove dump
2924 file as needed. Print regmove time as needed.
2925 (rest_of_compilation): Run regmove pass if requested, dump
2926 RTL after regmove if requested.
2927 (main): If -O2 or more, turn on regmove. Handle dump switches.
2928 * regmove.c: New file.
2929
2930 Mon Aug 11 14:15:02 1997 Jeffrey A Law (law@cygnus.com)
2931
2932 * Integrate tlink patch from jason@cygnus.com
2933 * gcc.c (SWITCH_TAKES_ARG): Add 'V', 'B' and 'b'.
2934 (process_command): Increment n_switches for them. Don't discard
2935 their args. Validate them.
2936 (main): Escape " marks when creating COLLECT_GCC_OPTIONS.
2937 From Rohan Lenard.
2938 (process_command): Set include_prefixes from COMPILER_PATH.
2939 (main): Set COLLECT_GCC_OPTIONS sooner.
2940 * confiugre.in: Link ../ld/ld.new to collect-ld rather than real-ld.
2941 * tlink.c, hash.c, hash.h: New files.
2942 * Makefile.in (USE_COLLECT2): Always use collect2.
2943 (collect2): Depend on and link in hash.o and tlink.o.
2944 (tlink.o, hash.o): Add dependencies.
2945
2946 Mon Aug 11 10:04:49 1997 Jeffrey A Law (law@cygnus.com)
2947
2948 * Integrate alias analysis changes from jfc@mit.edu
2949 * Makefile.in (OBJS): Add alias.o
2950 (alias.o): Add dependencies.
2951 * alias.c: New file.
2952 * sched.c: Remove alias analysis code. It lives in alias.c now.
2953 (sched_analyze_2): Add new arguments to true_dependence.
2954 (schedule_insns): Always call init_alias_analysis.
2955 * calls.c (expand_call): Note calls to malloc, calloc, and realloc;
2956 mark return value from such functions as a pointer and keep track of
2957 them for alias analysis. If a return value from a function is a
2958 pointer, mark it as such.
2959 * combine.c (distribute_notes): Handle REG_NOALIAS.
2960 * cse.c (struct write_data): Delete. No longer needed.
2961 (invalidate): Don't call set_nonvarying_address_components anymore.
2962 Use true_dependence to decide if an entry should be removed from
2963 the hash table.
2964 (invalidate_memory): Remove WRITES argument, simplify appropriately.
2965 Fix all callers.
2966 (note_mem_written): Similarly for WRITE_PTR argument.
2967 (invalidate_from_clobbers): Similarly for W argument.
2968 (invalidate_for_call): Remove memory elements from the hash table.
2969 (refers_to_mem_p, cse_rtx_addr_varies_p): Deleted.
2970 (cse_rtx_varies_p): New function. Derived from old
2971 cse_rtx_addr_varies_p.
2972 (cse_insn): Remove WRITES_MEMORY and INIT variables and all references.
2973 Don't call note_mem_written anymore. Stack pushes invalidate the stack
2974 pointer if PUSH_ROUNDING is defined. No longer need to call
2975 cse_rtx_addr_varies_p to decide if a MEM should be invalidated.
2976 (skipped_writes_memory): Remove variable.
2977 (invalidate_skipped_set): Simplify and wewrite to use invalidate_memory.
2978 (invalidate_skipped_block): Simplify for new alias analysis code.
2979 (cse_set_around_loop): Likewise.
2980 (cse_main): Call init_alias_analysis.
2981 * flags.h (flag_alias_check, flag_argument_noalias): Declare.
2982 * toplev.c (flag_alias_check, flag_argument_noalias): Define.
2983 (f_options): Add new alias checking arguments.
2984 (main): Set flag_alias_check when optimizing.
2985 * local_alloc (validate_equiv_mem_from_store): Add new arguments
2986 to true_dependence.
2987 (memref_referenced_p): Likewise.
2988 * loop.c (NUM_STORES): Increase to 30.
2989 (prescan_loop): Only non-constant calls set unknown_address_altered.
2990 (invariant_p): Add new arguments to true_dependence.
2991 (record_giv): Initialize unrolled and shared fields.
2992 (emit_iv_add_mult): Call record_base_value as needed.
2993 * loop.h (struct induction): Add unrolled and shared fields.
2994 * unroll.c (unroll_loop): Call record_base_value as needed.
2995 (copy_loop_body): Likewise.
2996 (final_biv_value): Likewise.
2997 (final_giv_value): Likewise.
2998 (find_splittable_regs): Likewise. Only create one new pseudo
2999 if we have multiple address GIVs that were combined with the same
3000 dst_reg GIV. Note when a new register is created due to unrolling.
3001 * rtl.c (reg_note_name): Add REG_NOALIAS.
3002 * rtl.h (enum reg_note): Similarly.
3003 (rtx_varies_p, may_trap_p, side_effects_p): Declare.
3004 (volatile_refs_p, volatile_insn_p, remove_note): Likewise.
3005 (note_stores, refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
3006 (true_dependence, read_dependence, anti_dependence): Likewise.
3007 (output_dependence, init_alias_analysis, end_alias_analysis): Likewise.
3008 (mark_user_reg, mark_reg_pointer): Likewise.
3009
3010
3011 * Integrate reload bugfix from Wilon which enables the PA port
3012 to bootstrap again.
3013 * reload1.c (reload): Sum needs for both OPADDR_ADDR and and
3014 OPERAND_ADDRESS when computing how many registers an insn needs.
3015 (reload_reg_free_p): OPADDR_ADDR and OPERAND_ADDRESS reloads do
3016 conflict.
3017 (reload_reg_free_before_p): Treat OPERAND_ADDRESS reloads just like
3018 OPADDR_ADDR reload.
3019 (reload_reg_reaches_end_p): For RELOAD_FOR_OPADDR_ADDR insns, registers
3020 in reload_reg_use_in_op_addr do not reach the end.
3021 do not reach the end.
3022 (reloads_conflict): RELOAD_FOR_OPADDR_ADDR conflicts with
3023 RELOAD_FOR_OPERAND_ADDRESS.
3024
3025 Sun Aug 10 12:00:20 1997 Jeffrey A Law (law@cygnus.com)
3026
3027 * egcs project officially starts.
3028