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