]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
call.c (add_template_candidate_real): New function.
[gcc.git] / gcc / ChangeLog
CommitLineData
c3499f00
GK
1Tue Jan 27 17:21:09 1998 Gavin Koch (gavin@cygnus.com)
2
3 * mips/mips.c (mips_expand_prologue,mips_expand_epilogue):
4 Change mode of registers used to add/sub from
5 hard_frame_pointer_rtx from word_mode to Pmode.
6
01898d58
NC
7Tue Jan 27 11:02:04 1998 Nick Clifton <nickc@cygnus.com>
8
6db34dd4
NC
9 * v850.h (ASM_OUTPUT_ALIGNED_BSS): Use
10 asm_output_aligned_bss() instead of asm_output_bss().
11
01898d58
NC
12 * toplev.c (rest_of_compilation): Replace references to
13 stack_reg_dump_file and dbr_sched_dump_file with references to
14 rtl_dump_file.
15
7b6ffd11
KI
16Tue Jan 27 10:22:13 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
17
18 * tlink.c (scan_linker_output): Call fclose() for opened files.
19
60593797
RH
20Tue Jan 27 05:05:26 1998 Richard Henderson <rth@cygnus.com>
21
22 * alpha.c (output_epilog [!VMS]): Don't tag global functions if
23 compiling with -fpic -- we want to be able to override symbols
24 properly.
25 (alpha_expand_block_move): Fix thinko in last change.
26
27 * alpha.h (ASM_OUTPUT_MI_THUNK): New define.
28 * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): New define.
29 * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): New undef.
30
5e4aab97
RH
31Tue Jan 27 03:21:23 1998 Richard Henderson <rth@cygnus.com>
32
33 * alpha.md (abssf, absdf): Revert last change.
34
69145bcc
JC
35Tue Jan 27 00:26:50 1998 John Carr <jfc@mit.edu>
36
37 * dwarf2out.c (dwarf2out_frame_init): Test value of DWARF2_UNWIND_INFO.
38 * mips/sni-svr4.h: Define DWARF2_UNWIND_INFO as 0.
39
4926b75a
JL
40Tue Jan 27 00:07:02 1998 Jeffrey A Law (law@cygnus.com)
41
42 * emit-rtl.c (gen_lowpart_common): Handle more case where converting
43 a CONST_INT into SFmode.
44
c6aded7c
AG
45Tue Jan 20 16:01:03 1998 Anthony Green <green@cygnus.com>
46
47 * flags.h: New flag (optimize_size).
48 * toplev.c (main): Parse -Os option and set optimize_space
49 accordingly.
50 * gcc.c (default_compilers), cp/lang-specs.h, f/lang-specs.h: Define
51 __OPTIMIZE_SIZE__ when compiling with -Os.
52 * config/dsp16xx/dsp16xx.h, config/i386/i386.h,
53 config/i386/dgux.h, config/i960/i960.h, config/pdp11/pdp11.h,
54 config/v850/v850.h (OPTIMIZATION_OPTIONS): New SIZE argument
55 to macro.
56 * config/i386/i386.c (optimization_options): Accept new SIZE argument.
57
3698f44e
MH
58Mon Jan 26 23:57:39 1998 Manfred Hollstein <manfred@s-direktnet.de>
59
60 * libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl
61 stuff only if MCT_TEXT is #define'd.
62
ac8a456a
MO
63Mon Jan 26 23:52:51 1998 Markus F.X.J. Oberhumer <k3040e4@c210.edvz.uni-linz.ac.at>
64
65 * configure.in (i*86-pc-msdosdjgpp): Treat like msdos & go32
66 configurations.
67
032713aa
NC
68Fri Jan 23 09:39:36 1998 Nick Clifton <nickc@cygnus.com>
69
70 * toplev.c: Add -dM command line option to dump RTL after the
71 machine dependent reorganisation pass, if there is one.
72 Reorganise RTL dump code, so that only one file handle is
73 needed.
74
ec2be682
BK
75Mon Jan 26 12:09:42 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com>
76
77 * except.c (check_exception_handler_labels): Disable warning when
78 flag_syntax_only.
79
e232b7b3
JW
80Mon Jan 26 18:17:32 1998 Jim Wilson <wilson@cygnus.com>
81
82 * sparc.c (pic_setup_code): Don't set LABEL_PRESERVE_P.
83
2a851b5c
R
84Mon Jan 26 18:11:30 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
85
86 * c-decl.c (grokdeclarator): Get parameter tags from
87 last_function_parm_tags.
88 * dwarfout.c (output_formal_types): Set TREE_ASM_WRITTEN before
89 traversing the parameter types.
90 (output_type): No early exit for FUNCTION_TYPE / METHOD_TYPE context.
91
808fbfac
JL
92Mon Jan 26 01:44:12 1998 Jeffrey A Law (law@cygnus.com)
93
94 * h8300.c (print_operand): Handle CONST_DOUBLE for 'e', 'f', and
95 the default case.
96 (get_shift_alg): Fix typo.
97
15389075
RH
98Sun Jan 25 22:22:04 1998 Richard Henderson <rth@cygnus.com>
99
100 * alpha.c (alpha_expand_block_move): Copy ADDRESSOF to reg.
101
83c8ddef
RH
102Sun Jan 25 22:14:28 1998 Richard Henderson <rth@cygnus.com>
103
104 * toplev.c (get_run_time): Make sure each case gets its variables.
105
db81d74a
RH
106Sun Jan 25 22:10:21 1998 Richard Henderson <rth@cygnus.com>
107
108 * configure.in (build_xm_file): Add auto-config.h if host=build.
109 (host_xm_file_list): Don't add $(srcdir) to auto-config.h.
110 (build_xm_file_list): Likewise.
111 * configure: Rebuild.
112
f745c7a2
AB
113Sun Jan 25 22:00:25 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk>
114
115 * recog.c (validate_replace_rtx_1): Only perform substitutions
116 of arguments to commutative and comparison operators once.
117
963f4057
KG
118Sun Jan 25 12:30:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
119
91a51951
KG
120 * sparc.c (output_cbranch): Add default case in
121 enumeration switch.
122
123 * reorg.c (insn_sets_resource_p): Correct typo in prototype.
124 (emit_delay_sequence): Eliminate unused parameter, all callers
125 changed.
126 (fill_simple_delay_slots): Likewise.
127 (fill_slots_from_thread): Likewise.
128 (fill_eager_delay_slots): Likewise.
129 (mark_referenced_resources): Add default case in enumeration switch.
130 (mark_set_resources): Likewise.
131 (rare_destination): Likewise.
132 (mostly_true_jump): Likewise.
133 (find_dead_or_set_registers): Likewise.
134 (redirect_with_delay_slots_safe_p): Remove unused variable `slots'.
135 (update_reg_unused_notes): Remove unused variable `p'.
136 (mark_target_live_regs): Remove unused variables `next' and
137 `jump_count'.
138 (fill_simple_delay_slots): Remove unused variable `j'.
139 (fill_slots_from_thread): Add parentheses around assignment used
140 as truth value.
141 (dbr_schedule): Likewise.
142
963f4057
KG
143 * objc/Make-lang.in (objc.stage1): Depend on stage1-start.
144 (objc.stage2, objc.stage3, objc.stage4): Likewise.
145
e82ad93d
MT
146Sun Jan 25 12:13:47 1998 Michael Tiemann <michael@tiemann.org>
147
148 * cse.c (simplify_ternary_operation): Don't try to simplify
149 IF_THEN_ELSE expressions (created by combine) that don't use
150 relational operators.
151
b4b04bf9
JL
152Fri Jan 23 22:48:24 1998 Jeffrey A Law (law@cygnus.com)
153
ed1ecb19
JL
154 * cse.c (simplify_ternary_operation): Handle more IF_THEN_ELSE
155 simplifications.
156
b4b04bf9
JL
157 * crtstuff.c (init_dummy): Keep the epilogue in the init
158 section for non-ELF systems.
159
deeef0ac
R
160Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
161
162 * sh.md (movqi_i+1): New peephole.
163
03566575
JW
164Fri Jan 23 15:39:42 1998 Jim Wilson <wilson@cygnus.com>
165
166 * Makefile.in: Remove remaining bytecode stuff.
167 * emit-rtl.c, expr.c: Likewise.
168
eb96c120
NC
169Fri Jan 23 12:41:10 1998 Nick Clifton (nickc@cygnus.com)
170
171 * toplev.c (lang_options): Add unknown-pragma options.
172
f03204e9
PB
173Thu Jan 22 23:43:38 1998 Per Bothner <bothner@cygnus.com>
174
175 * dwarfout.c (byte_size_attribute): Simplify and fix - don't need
176 special (and incomplete) handling for Chill arrays.
177
4e762a38
JC
178Fri Jan 23 00:27:23 1998 John Carr <jfc@mit.edu>
179
180 * toplev.c (get_run_time): Call sysconf(_SC_CLK_TCK), when available,
181 to get clock rate.
182
c3499f00 183Fri Jan 23 00:19:36 1998 Gavin Koch (gavin@cygnus.com)
319f217e
GK
184
185 * mips.md (muldi3_internal2): Reverse test for TARGET_MIPS16.
186
19f673eb
SS
1871998-01-22 scott snyder <snyder@d0sgif.fnal.gov>
188
189 * mips.c (function_prologue): Use HARD_FRAME_POINTER_REGNUM in
190 .frame directive instead of FRAME_POINTER_REGNUM.
191
74cf1c6d
RK
192Fri Jan 23 00:08:55 1998 Robin Kirkham <rjk@mlb.dmt.csiro.au>
193
194 * m68k.h (TARGET_SWITCHES): -mcpu32 now clears MASK_68881.
195 (MACHINE_STATE_m68010_up): Replaced __mc68332__ with __mcpu32__.
196 * m68k/m68k-none.h(CPP_FPU_SPEC): Update relative to TARGET_SWITCHES.
197 (CPP_SPEC, ASM_SPEC, CC1_SPEC): Likewise.
198 (CPP_SPEC): -m68332 defines both __mc68332 and __mcpu32__.
199 * m68k/t-m68kbare (MULTILIB_OPTIONS): Add mcpu32.
200 (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
201 (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
202 mcpu32 or m5200.
203 * longlong.h: Replace __mc68332__ with __mcpu32__.
204
e1402e7d
JL
205Thu Jan 22 19:55:40 PST 1998 Jeff Law (law@cygnus.com)
206
207 * version.c: Bump for snapshot.
208
6d49a073
JW
209Thu Jan 22 14:47:31 1998 Jim Wilson <wilson@cygnus.com>
210
211 * reload.c (push_reload): In WORD_REGISTER_OPERATIONS code, add test
212 to require the SUBREG mode to be smaller than the SUBREG_REG mode.
213 * reload1.c (eliminate_regs): Likewise.
214
c485e6a0
JL
215Thu Jan 22 14:49:14 1998 Jeffrey A Law (law@cygnus.com)
216
217 * regmove.c (find_matches): Initialize matches->earlyclobber too.
218
84303d9a
RH
219Thu Jan 22 01:40:52 1998 Richard Henderson <rth@cygnus.com>
220
221 * alpha.md (abssf2, absdf2): Disable in IEEE mode.
222 (negsf2, negdf2): Use proper subtract in IEEE mode.
223
b93a436e
JL
224Tue Jan 20 09:29:09 1998 Jeffrey A Law (law@cygnus.com)
225
27766f0e
JL
226 * Makefile.in: Remove more bytecode stuff.
227 * expr.c, stmt.c, config/msdos/top.sed: Likewise.
228 * vax/xm-vms.h, winnt/config-nt.sed: Likewise.
229 * f/install.texi, objc/Make-lang.in: Likewise.
230
b93a436e
JL
231 * Makefile.in: Remove all bytecode support.
232 (OBJS): Make sure last entry is a real object file, not EXTRA_OBJS.
233 * emit-rtl.c: Remove all bytecode support.
234 * expr.c, expr.h function.c, integrate.c: Likewise.
235 * output.h, regclass.c, rtl.h, stmt.c, toplev.c: Likewise.
236 * tree.h, varasm.c: Likewise.
424e713c
JL
237 * config/m68k/m68k.h: Likewise.
238 * bi-*, bc-*, bytecode*: Delete bytecode related files.
c9804136 239 * modemap.def: Likewise.
b93a436e 240
7e07e3ba
GK
241Tue Jan 20 09:02:31 1998 Gavin Koch (gavin@cygnus.com)
242
243 * mips/mips.md (divsi3,divdi3,modsi3,moddi3,udivsi3,udivdi3,
244 umodsi3,umoddi3): Handle mips16 div/mod by a constant.
245
685885b7
RH
246Mon Jan 19 21:57:00 1998 Richard Henderson <rth@cygnus.com>
247
248 * i386.md (push): Prohibit symbolic constants if flag_pic.
249 (movsi+1): Likewise for move to non-register.
250
5830e3a0
JW
251Mon Jan 19 11:15:38 1998 Jim Wilson <wilson@cygnus.com>
252
11ea364a
JW
253 * alpha.c (mode_mask_operand): Accept 0xffffffff on 32 bit host.
254 (print_operand): Handle 0xffffffff on 32 bit host.
255
a851212a
JW
256 * configure.in (thread_file): Rename uses before main loop to
257 target_thread_file. Initialize to empty in main loop. Set thread_file
258 to target_thread_file after main loop if not set.
259 * configure: Rebuild.
260
5830e3a0
JW
261 * genattrtab.c (find_and_mark_used_attributes): Handle CONST_INT.
262 (add_values_to_cover): Revert last change (which had no ChangeLog
263 entry).
264 (simplify_with_current_value_aux): Handle CONST_INT.
265
829e1aaf
AS
266Mon Jan 19 10:14:55 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
267
268 * unprotoize.c: Define UNPROTOIZE first, to actually take effect.
269
76844337
RH
270Mon Jan 19 10:11:52 1998 Richard Henderson <rth@cygnus.com>
271
272 * configure.in: Add cpp stringify test.
273 * acconfig.h (HAVE_CPP_STRINGIFY): New tag.
274 * gengenrtl.c: Use it.
275 * configure, config.in: Rebuild.
276
a3f80023
AS
277Mon Jan 19 09:43:15 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
278
279 * Makefile.in (genrtl.c genrtl.h): Add dummy command for GNU make.
280
c5d0345e
RH
281Mon Jan 19 09:38:18 1998 Richard Henderson <rth@cygnus.com>
282
283 * configure.in: Find declaration for sbrk.
284 * acconfig.h (NEED_DECLARATION_SBRK): New tag.
285 * config.in, configure: Rebuild.
286 * mips-tfile.c: Properly protect declaration of sbrk and free.
287 * toplev.c: Properly protect declaration of sbrk.
288
bb02e7ea
RH
289Sun Jan 18 20:18:01 1998 Richard Henderson <rth@cygnus.com>
290
291 * alpha.c (alpha_handle_trap_shadows): Ignore CLOBBERs.
292
30c2fa75
JL
293Sun Jan 18 01:54:27 1998 Jeffrey A Law (law@cygnus.com)
294
295 * alpha/xm-winnt.h (HAS_INIT_SECTION): Undefine.
296
a0372c94
MS
297Sun Jan 18 00:57:35 1998 Mike Stump (mrs@wrs.com)
298
299 * configure.in (i960-wrs-vxworks): Default to latest vxworks release.
300
c9ec4f99
DM
301Sat Jan 17 23:41:36 1998 David S. Miller <davem@tanya.rutgers.edu>
302
0e9ff885
DM
303 * combine.c (force_to_mode, nonzero_bits): Correctly optimize
304 constant offset computations from objects with known alignment in
305 the presence of STACK_BIAS.
306
7bcac048
DM
307 * varasm.c (immed_double_const): Add casts to HOST_WIDE_INT where
308 necessary.
309 (const_hash): Hash val is unsigned long.
310 (SYMHASH): Likewise.
311
312 * tree.c (TYPE_HASH): Type of hash val is unsigned long.
313
314 * print-tree.c (print_node_brief): HOST_PTR_PRINTF format wants a
315 char pointer, not HOST_WIDE_INT.
316 (print_node): Likewise. Also hash is unsigned long not
317 HOST_WIDE_INT.
318
319 * cse.c (canon_hash): Hash is unsigned long not HOST_WIDE_INT.
320
c9ec4f99
DM
321 * explow.c (optimize_save_area_alloca): New function for targets
322 where SETJMP_VIA_SAVE_AREA is true.
323 (allocate_dynamic_stack_space): On SETJMP_VIA_SAVE_AREA targets,
324 compute the amount of stack space needed should we find later that
325 setjmp is never called by this function, stuff rtl for this inside
326 a REG_NOTE of the final SET of stack_pointer_rtx.
327 * toplev.c (rest_of_compilation): If SETJMP_VIA_SAVE_AREA and
328 current_function_calls_alloca, call optimize_save_area_alloca.
329
ca097615
JW
330Sat Jan 17 23:22:59 1998 John Wehle (john@feith.com)
331
332 * i386.md: Remove redundant integer push patterns.
333 Don't bother checking for TARGET_PUSH_MEMORY when
334 pushing constants or registers.
335
a3105a89
MK
336Sat Jan 17 22:35:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
337 J.J VanderHeijden <J.J.vanderHeijden@student.utwente.nl>
338
339 * pexecute.c (pexecute): New function for mingw32. Supports pipes.
340 (pwait): New function for mingw32.
341
342 * gcc.c (execute): Mingw32 pexecute() supports pipes, but cygwin32
343 pipe support is broken for now.
344
51549d76
LI
3451998-01-17 Lee Iverson <leei@Canada.AI.SRI.COM>
346
ffc3503d
JL
347 * emit_rtl.c (init_emit_once): Ensure that potential aliasing
348 between frame_pointer_rtx, hard_frame_pointer_rtx, and
349 arg_pointer_rtx is respected in initialization.
350 (init_emit_once): Use gen_rtx_raw_REG() to create
351 return_address_pointer_rtx.
352
51549d76
LI
353 * reorg.c: #include "expr.h" for rtx prototypes.
354 * Makefile.in (reorg.o): Depend on expr.h
355
b24a815b
PN
356Sat Jan 17 21:28:08 1998 Pieter Nagel <pnagel@epiuse.co.za>
357
358 * Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and
359 local_prefix to sub-make invocations.
360
1e7b997a
DM
361Sat Jan 17 21:24:16 1998 David T. McWherter <dtm@waterw.com>
362
363 * objc-parse.c: Recognize protocol qualifiers in class definitions.
364
340fb41f
JL
365Sat Jan 17 21:16:19 1998 Jeffrey A Law (law@cygnus.com)
366
ffc3503d
JL
367 * rtl.h: Fix typos.
368
aef28d1d 369 * acconfig.h (NEED_DECLARATION_ATOL): New declaration to check for.
6885fc87 370 * configure.in: Check for atol.
aef28d1d
JL
371 * rtl.c (atol): Only provide the declaration if NEED_DECLARATION_ATOL.
372
4399e7a3
JL
373 * rtl.c (read_rtx): Initialize list_rtx to NULL, not NULL_RTX.
374
72ec635f
JL
375 * loop.c (find_and_verify_loops): When attempting to move insns from
376 inside the loop outside the loop, create a BARRIER if no suitable
377 one was found.
378
1be6e437
JL
379 * jump.c (jump_optimize): Remove Dec 17, 1997 chance in
380 favor of an equivalent change from gcc-2.8.
381
340fb41f
JL
382 * i386/x-sco5 (CC): Remove trailing whitespace.
383
982255c8
KG
384Sat Jan 17 21:09:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
385
386 * gengenrtl.c (type_from_format): De-ANSIfy function signature.
387 (accessor_from_format): Likewise.
388 (xmalloc): New function for use when linking with alloca.o.
389
db8abea3
BH
390Mon Jan 5 02:53:01 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
391
392 * frame.c (find_fde): Correct FDE's upper bound.
393
5d483f63
RH
394Fri Jan 16 16:23:52 1998 Richard Henderson <rth@cygnus.com>
395
396 * gengenrtl.c (DEF_RTL_EXPR): Provide a K&R compliant version.
397
9a960e6b
JL
398Fri Jan 16 10:16:10 1998 Jeffrey A Law (law@cygnus.com)
399
400 * calls.c (expand_call): Move #ifdef code out of macro argument
401 lists.
402 (emit_library_call, emit_library_call_value): Likewise.
403
a4b18346
JL
404Fri Jan 16 00:46:40 1998 Jeffrey A Law (law@cygnus.com)
405
406 * rtl.def (INLINE_HEADER): Fix bug exposed by gen_rtx_FOO changes.
407
a252996a
JL
408Thu Jan 15 01:02:30 1998 Jeffrey A Law (law@cygnus.com)
409
410 * version.c: Bump for snapshot.
411
38a448ca
RH
412Wed Jan 14 22:49:17 1998 Richard Henderson <rth@cygnus.com>
413
414 * alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO;
415 change gen_rtx(expr...) to gen_rtx_fmt_foo(expr...).
416 * caller-save.c, calls.c, combine.c, cse.c: Likewise.
417 * dwarf2out.c, except.c, explow.c, expmed.c, expr.c: Likewise.
418 * final.c, flow.c, function.c, genpeep.c, haifa-sched.c: Likewise.
419 * halfpic.c, integrate.c, jump.c, local-alloc.c, loop.c: Likewise.
420 * profile.c, recog.c, reg-stack.c, regclass.c, regmove.c: Likewise.
421 * reload.c, reload1.c, reorg.c, sched.c, stmt.c, stupid.c: Likewise.
422 * unroll.c, varasm.c: Likewise.
423 * config/alpha/alpha.c, config/alpha/alpha.md: Likewise.
424
425Wed Jan 14 19:36:08 1998 Gavin Koch (gavin@cygnus.com)
60db002d
GK
426
427 * mips.h: Fix some type-o's from a previous change.
428
a8decb2c
JL
429Wed Jan 14 01:26:05 1998 Jeffrey A Law (law@cygnus.com)
430
431 * loop.c (check_dbra_loop): Make sure initial value is a
432 CONST_INT before trying to normalize it.
433
0e2b736c
RL
434Tue Jan 13 23:27:54 1998 Robert Lipe (robertl@dgii.com)
435
436 * sco5.h (ASM_OUTPUT_SECTION_NAME): Refresh from ../svr4.h.
437
a3aa3d8c
HB
438Tue Jan 13 22:47:02 1998 Herman ten Brugge <herman@htbrug.net.HCC.nl>
439
440 * cppexp.c: Include gansidecl.h
441
8b496c8d
ILT
442Tue Jan 13 22:43:35 1998 Ian Lance Taylor <ian@cygnus.com>
443
444 * svr4.h (LINK_SPEC): Never specify -h.
445 * ptx4.h (LINK_SPEC): Likewise.
446 * rs6000/sysv4.h (LINK_SPEC): Likewise.
447 * sparc/sol2.h (LINK_SPEC): Likewise.
448
c995fea1
RH
449Tue Jan 13 22:39:40 1998 Richard Henderson (rth@cygnus.com)
450
8d47dfc5
RH
451 * c-typeck.c (comptypes): Exit early on NULL input.
452
c995fea1
RH
453 * haifa-sched.c (schedule_insns): Correctly remove inter-block
454 dependencies after reload.
455
88ea0ad1
FS
456Tue Jan 13 22:22:31 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
457
458 * rs6000/linux.h (CPP_PREDEFINES): Add -D__ELF__.
459
f5e86959
JL
460Tue Jan 13 22:14:57 1998 Klaus Kaempf <kkaempf@progis.de>
461
462 * alpha/vms.h (DIR_SEPARATOR): define
463
464Tue Jan 13 22:13:04 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
6c32c807
BH
465
466 * Makefile.in (stamp-proto): Remove.
467 (protoize.o, unprotoize.o): Straightforward compile.
468 * unprotoize.c: Define UNPROTOIZE here, not in the Makefile.
469
93006f8c
MK
470Tue Jan 13 21:59:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
471
472 * i386/cygwin32.h (STRIP_NAME_ENCODING): Define for Win32 to strip
473 off the trailing @[NUM] added by ENCODE_SECTION_INFO.
474
e4c4f8df
JL
475Tue Jan 13 21:55:06 1998 Jeffrey A Law (law@cygnus.com)
476
477 * arm/netbsd.h (DWARF2_UNWIND_INFO): Define as zero for now.
478 * i386/netbsd.h, m68k/netbsd.h, ns32k/netbsd.h: Likewise.
479 * sparc/netbsd.h, vax/netbsd.h: Likewise.
480
4aa0c2a5
SS
481Tue Jan 13 21:37:07 1998 Shigeya Suzuki <shigeya@foretune.co.jp>
482
483 * i386/bsd386.h (DWARF2_UNWIND_INFO): Define as zero for now.
484
c43143f6
JW
485Tue Jan 13 17:50:55 1998 Jim Wilson <wilson@cygnus.com>
486
487 * configure.in (target_cpu_default, target_cpu_default2): Use double
488 quotes around them when testing their value.
489 * configure: Rebuilt.
490
4b8140a6
JC
491Tue Jan 13 09:07:44 1998 John Carr <jfc@mit.edu>
492
493 * gengenrtl.c (gencode): Emit new function obstack_alloc_rtx
494 to allocate rtx.
495 (gendef): Call obstack_alloc_rtx.
496
82de9b28 497Tue Jan 13 01:16:36 1998 Robert Lipe (robertl@dgii.com)
fe07d4c1
RL
498
499 * configure.in: (i[3456]86-UnixWare7-sysv5): Treat much like SVR4
500 for now.
501
23092526
MK
502Thu Dec 18 18:40:17 1997 Mumit Khan <khan@xraylith.wisc.edu>
503
504 * i386/mingw32.h (INCOMING_RETURN_ADDR_RTX): Delete. Use the value
505 of DWARF2_UNWIND_INFO, if any, from i386/cygwin32.h instead.
506 (STANDARD_INCLUDE_DIR): Change to /usr/local/i386-mingw32/include.
507
32318600
JW
508Tue Jan 13 00:44:02 1998 Jim Wilson <wilson@cygnus.com>
509
510 * mips.md (return_internal): Change mode from SImode to VOIDmode.
511
ef720b21
KJ
512Sat Jan 10 22:11:39 1998 J. Kean Johnston <jkj@sco.com>
513
514 * i386/sco5.h (STARTFILE_SPEC, ENDFILE_SPEC): Correctly handle
515 "-static".
516
cde21847
SC
517Sat Jan 10 22:04:15 1998 Stan Cox <scox@equinox.cygnus.com>
518
519 * i386.md: (movsicc_1, movhicc_1): For alternate 3 set the opcode
520 suffix from operand 3.
521
184bb750
R
522Sat Jan 10 21:50:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
523 Jeffrey A Law (law@cygnus.com)
524
525 * regmove.c: New implementation of regmove pass.
526 * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2): Remove
527 decls, make them have external linkage. Return a value from
528 optimize_reg_copy_1.
529 * reload.h (count_occurrences): Add decl.
530 * reload1.c (count_occurrences): Delete decl, make it have external
531 linkage.
532 * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Declare.
533
3f9e9508
JL
534Sat Jan 10 20:30:12 1998 Jeffrey A Law (law@cygnus.com)
535
536 * regclass.c (record_address_regs): Don't use REG_OK_FOR_BASE_P
537 if it is not defined.
538
3b80f6ca
RH
539Thu Jan 8 21:06:54 1998 Richard Henderson <rth@cygnus.com>
540
541 * Makefile.in (OBJ, GEN, RTL_H): Add genrtl.[oh] bits.
542 * emit-rtl.c (gen_rtx): Move special code to ...
543 (gen_rtx_CONST_INT): New function.
544 (gen_rtx_REG): New function.
545 (*): Update all calls to gen_rtx.
546 * genemit.c (gen_exp): Emit calls to gen_rtx_FOO for constant FOO.
547 * rtl.h: Include genrtl.h; prototype CONST_INT & REG generators.
548 (GEN_INT): Call gen_rtx_CONST_INT.
549 * gengenrtl.c: New file.
550
1c72c7f6
JC
551Mon Jan 5 13:00:18 1998 John F. Carr <jfc@mit.edu>
552
553 * alias.c (*_dependence): Call base_alias_check before canon_rtx.
554 (base_alias_check): If no base found for address call canon_rtx and
555 try again.
556
8fa4e1b4
JL
557Mon Jan 5 11:39:49 1998 Jeffrey A Law (law@cygnus.com)
558
559 * mips.c (mips_expand_prologue): Handle large frame with no outgoing
560 arguments for mips16.
561 (mips_expand_epilogue): Pass "orig_tsize" to save_restore_insns.
562 Don't lose if tsize is zero after handling large stack for mips16.
563 * mips.md (return): For trivial return, return address is in $31.
564
eb774d8d
NS
565Sun Jan 4 20:24:00 1998 Nigel Stephens <nigel@algor.co.uk>
566
567 * mips/mips16.S: Various changes to make it work with -msingle-float
568 and -EL.
569
2bcb2ab3
GK
570Sun Jan 4 14:25:18 1998 Gavin Koch <gavin@cygnus.com>
571 Ian Lance Taylor <ian@cygnus.com>
572 Jeff Law <law@cygnus.com>
573
574 * mips.c, mips.h, mips.md: First cut at merging in mips16
575 support. Major modifications throughout all three files.
576
db0d1ed9
SS
577Sun Jan 4 01:01:50 1998 scott snyder <snyder@d0sgif.fnal.gov>
578
579 * configure.in: Make gthr-default.h a forwarding header instead of
580 a symlink.
581
79873958
KG
582Sat Jan 3 12:08:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
583
86e011ad
KG
584 * gcov-io.h: Include sys/types.h to ensure we get size_t.
585
79873958
KG
586 * pa.h (ASM_OUTPUT_MI_THUNK): Add missing % in fprintf.
587
35a42f5f
JW
588Fri Jan 2 23:40:09 1998 Jim Wilson (wilson@cygnus.com)
589 Jeffrey A Law (law@cygnus.com)
590
591 * crtstuff.c (__frame_dummy): New function for irix6.
592 (__do_global_ctors): Call __frame_dummy for irix6.
593 * iris6.h (LINK_SPEC): Hide __frame_dummy too.
594
ef86d2ee
WL
595Fri Jan 2 04:57:57 1998 Weiwen Liu <liu@hepmail.physics.yale.edu>
596
597 * alpha.c (vms_valid_decl_attribute_p): Move within #if OPEN_VMS.
598
6c174fc0
RH
599Fri Jan 2 04:34:14 1998 Richard Henderson <rth@cygnus.com>
600
601 * c-decl.c (init_decl_processing): Provide proper fallback symbol
602 for __builtin_memset.
603 * expr.c (expand_builtin) [MEMSET]: Arg 3 type code is INTEGER_TYPE
604 not INTEGER_CST. Assert arg 3 is a constant.
605
606 * alpha.c (mode_width_operand): Accept 64-bit modes.
607 (mode_mask_operand): Likewise.
608 (print_operand): Likewise for 'M' and 'U' codes.
609 (alpha_expand_unaligned_load): New function.
610 (alpha_expand_unaligned_store): Likewise.
611 (alpha_expand_unaligned_load_words): Likewise.
612 (alpha_expand_unaligned_store_words): Likewise.
613 (alpha_expand_block_move): Likewise.
614 (alpha_expand_block_clear): Likewise.
615 * alpha.h (MOVE_RATIO): New define.
616 * alpha.md (extxl, ext*h, ins*l, mskxl): Name them.
617 (insql, insxh, mskxh, extv, extzv, insv, movstrqi, clrstrqi): New.
618
619 * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Set to 3.
620 (CONSTANT_ALIGNMENT, DATA_ALIGNMENT): Disable.
621
8fbf199e
RH
622Thu Jan 1 15:40:15 1998 Richard Henderson <rth@cygnus.com>
623
624 * configure.in: Put parenthesis around TARGET_CPU_DEFAULT's value.
625 * configure: Update.
626
2d490e3e
JL
627Thu Jan 1 10:49:12 1998 Jeffrey A Law (law@cygnus.com)
628
aa2ae679
JL
629 * emit-rtl.c (operand_subword): Correctly handle extracting a word
630 from a CONST_DOUBLE for 16bit targets with !WORDS_BIG_ENDIAN.
631
2d490e3e
JL
632 * mn10200.md (tstxx, cmpxx): Use "nonimmediate_operand" as predicate
633 for first argument.
634
6e26218f
ILT
635Wed Dec 31 14:42:18 1997 Ian Lance Taylor <ian@cygnus.com>
636
637 * configure.in: Set and subsitute host_exeext. Use it when creating
638 the assembler and linker symlinks.
639 * configure: Rebuild.
640 * Makefile.in (exeext): Set to @host_exeext@.
641 (build_exeext): New variable, set to @build_exeext@.
642 (FLAGS_TO_PASS): Pass down build_exeext.
643 (STAGESTUFF): Use build_exeext, not exeext, for gen* and bi*
644 programs.
645
1b31097e
JL
646Wed Dec 31 10:05:44 1997 Jeffrey A Law (law@cygnus.com)
647
648 * mn10200.md (addsi3, subsi3): Fix thinkos.
649
194faace
RH
650Tue Dec 30 00:04:49 1997 Richard Henderson <rth@cygnus.com>
651
652 * sparc.h (ASM_OUTPUT_MI_THUNK): Move %o7 through %g1 instead of
653 save+restore. Fix pic+big_offset delay slot. Use "pic" case for
654 unix always, since we want to be able to thunk to functions in a
655 shared library from an application.
656
975602f8
ILT
657Mon Dec 29 14:37:31 1997 Ian Lance Taylor <ian@cygnus.com>
658
659 * mips/t-ecoff (CROSS_LIBGCC1): Define to libgcc1-asm.a.
660 (LIB1ASMSRC, LIB1ASMFUNCS): Define.
661
0eb1ad44
JL
662Mon Dec 29 14:03:38 1997 Jeffrey A Law (law@cygnus.com)
663
664 * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
665 offset's mode is not ptr_mode, convert it.
666
eff0f7ac
MM
667Mon Dec 29 15:58:18 1997 Michael Meissner <meissner@cygnus.com>
668
669 * libgcc2.c (inhibit_libc): Don't define inhibit_libc when cross
670 compiling if it was already defined.
671
2c3a56ad
JL
672Sun Dec 28 00:32:16 1997 Jeffrey A Law (law@cygnus.com)
673
674 * flow.c (find_basic_blocks): Don't create a new basic block
675 for calls in a LIBCALL block.
676
fc97718f
DE
677Sun Dec 28 00:30:24 1997 David Edelsohn <edelsohn@mhpcc.edu>
678
679 * config/fp-bit.c (L_df_to_sf): Fix typo in last change.
680
5b5a2a1e
JL
681Sat Dec 27 22:43:12 1997 Jeffrey A Law (law@cygnus.com)
682
683 * cse.c (rtx_cost): Remove conflicting default case.
684
128f7968
RH
685Sat Dec 27 21:20:02 1997 Richard Henderson <rth@cygnus.com>
686
687 * configure.in: Move default enabling of Haifa out of for loop.
688 * configure: Rebuild.
689
e81b4fbe
JL
690Thu Dec 25 01:02:54 1997 Jeffrey A Law (law@cygnus.com)
691
692 * version.c: Bump for snapshot.
693
f24af81b
TT
6941997-12-25 Teemu Torma <tot@trema.com>
695
696 * Makefile.in (GTHREAD_FLAGS): New var.
697 (LIBGCC2_CFLAGS): Added $(GTHREAD_FLAGS).
698 (distclean): Remove gthr-default.h.
699
700 * configure.in: Accept dce as a thread package.
701 Check for thread.h and pthread.h.
702 Link gthr-default.h to appropriate thread file and set
703 gthread_flags.
704 (hppa1.1-*-hpux10*): If --enable-threads, use dce threads and
705 include multilib definitions from pa/t-dce-thr.
706 (sparc-*-solaris2*): Enable threads by default, if thread.h or
707 pthread.h is found, preferring posix threads over solaris ones.
708
709 * config/pa/t-dce-thr: New file.
710 * config/pa/t-pa: Removed multilibs.
711 * config/sparc/t-sol2: Ditto.
712
713 * gthr.h: New file.
714 * gthr-single.h: New file.
715 * gthr-posix.h: New file.
716 * gthr-solaris.h: New file.
717 * gthr-dce.h: New file.
718 * libgcc-thr.h: Removed.
719 * objc/thr-dce.c: New file copied from thr-decosf1.c.
720
721 * frame.c: Include gthr.h instead of libgcc-thr.h.
722 * libgcc2.c: Include gthr.h instead of libgcc-thr.h.
723 (eh_context_initialize): If __gthread_once fails, use static eh
724 context.
725 (eh_context_free): Call __gthread_key_dtor.
726
d9a4ee00
JL
727Wed Dec 24 23:33:17 1997 Jeffrey A Law (law@cygnus.com)
728
729 * expr.h (MUST_PASS_IN_STACK): Allow target port to override.
730
04bd620d
JW
731Wed Dec 24 23:12:14 1997 Jim Wilson <wilson@cygnus.com>
732
556c714b 733 * cse.c (max_insn_uid): New variable.
556c714b
JW
734 (cse_around_loop): Use max_insn_uid.
735 (cse_main): Set max_insn_uid.
736
04bd620d
JW
737 * abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and TARGET_DEFAULT,
738 and define __LONG_MAX__ appropriately. Add support for -mabi=X,
739 -mlong64, and -mgp{32,64} options.
740 * mips.c (mips_abi): Change type to int.
741 * mips.h (enum mips_abi_type): Delete.
742 (ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants.
743 (mips_abi): Change type to int.
744
439d5a35
JC
745Wed Dec 24 22:38:34 1997 John Carr <jfc@mit.edu>
746
747 * flags.h, toplev.c, calls.c, alias.c: Remove flag_alias_check;
748 optimization is now always enabled.
749
750 * calls.c (expand_call): Recognize C++ operator new as malloc-like
751 function.
752
753 * alias.c (memrefs_conflict_p): Eliminate tests now done by
754 base_alias_check.
755 (*_dependence): Call canon_rtx before base_alias_check.
756 (init_alias_once): New function to precompute set of registers which
757 can hold Pmode function arguments.
758
759 * rtl.h: Declare init_alias_once.
760
761 * toplev.c (compile_file): Call init_alias_once.
762
280e521f
JL
763Wed Dec 24 22:34:55 1997 Jeffrey A Law (law@cygnus.com)
764
765 * tree.c (restore_tree_status): Do not dereference a null pointer.
766
95b8c0c8
PE
767Tue Dec 23 12:56:46 1997 Paul Eggert <eggert@twinsun.com>:
768
769 * genattrtab.c (main): Check HAVE_{G,S}ETRLIMIT in addition to
770 RLIMIT_STACK. This maintains consistency with the recent, similar
771 patch to cccp.c and toplev.c.
772
71d9b493
RH
773Tue Dec 23 05:17:28 1997 Richard Henderson <rth@cygnus.com>
774
775 * genattrtab.c (expand_units): For large nr opclasses, expand
776 function_units_used with ORX to prevent blowups. Tag with FFS.
777 (num_unit_opclasses): New variable.
778 (gen_unit): Update it.
779 (enum operator): Add ORX_OP.
780 (operate_exp): Treat ORX as or, except don't expand across an if.
781 Reuse number rtx's after operating on them.
782 (check_attr_value): Accept IOR, AND, & FFS.
783 (write_test_expr): Transmute `in_comparison' to `flags'. Allow
784 for attribute value caching. Handle CONST_STRING, IF_THEN_ELSE.
785 (write_expr_attr_cache, write_toplevel_expr): New functions.
786 (write_attr_get): Handle FFS-tagged expressions.
787 (make_canonical): Don't expand const attributes.
788 (convert_const_symbol_ref): Dike out.
789 (evaluate_eq_attr): Handle SYMBOL_REF.
790 (main): Don't emit get_attr_foo for const attributes.
791
792 * alpha.c (override_options): Reinstate PROCESSOR_EV6.
793 (alpha_adjust_cost): Add EV6 tuning; streamline EV5 tests.
794 * alpha.h (REGISTER_MOVE_COST): Increase ftoi/itof cost slightly.
795 * alpha.md: Redo all of the scheduling, adding EV6 support, and
796 combining function units where possible.
797 (attr "type"): Split loads, stores, cmov into int/fp. Combine
798 multiplies and divides. Add EV6 sqrt, ftoi, itof.
799 (attr "opsize"): New attribute.
800 (sqrtsf2-1, sqrtdf2-1): Provide proper TP_INSN patterns.
801 (movsf2-[12], movdf2-[12]): Provide CIX varients; don't allow CIX
802 to control register allocation.
803 (movsi2-1, movdi2-1): Likewise.
804
b0435cf4
RH
805Tue Dec 23 03:53:21 1997 Richard Henderson <rth@cygnus.com>
806
807 * alpha.h (CPP_PREDEFINES, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC,
808 MD_STARTFILE_PREFIX, ASM_FILE_START, ASM_SPEC, ASM_FINAL_SPEC):
809 Move OSF/1 specific defines out.
810 * alpha/elf.h (TARGET_VERSION, CPP_PREDEFINES, DEFAULT_VTABLE_THUNKS):
811 Move Linux specific defines out.
812 (LINK_SPEC): Genericize.
813 (ASM_FILE_START): Emit .arch if using more than the base insn set.
814 (ASM_OUTPUT_SOURCE_LINE): Remove; identical to alpha.h version.
815 (SDB_DEBUGGING_INFO): Remove; gas can't handle it.
816 (HANDLE_SYSV_PRAGMA): Define.
817 * alpha/osf.h: New file.
818 * alpha/linux.h: Split. Retain file-format independant defines.
819 Import Linux bits from elf.h.
820 (CPP_PREDEFINES): Take a file-format specific SUB_CPP_PREDEFINES
821 (FUNCTION_PROFILER): _mcount takes its address in $28.
822 (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Remove undef.
823 * alpha/linux-ecoff.h: New file.
824 * alpha/linux-elf.h: New file.
825 * alpha/vms.h (LIB_SPEC, LINK_SPEC): Copy from osf.h.
826 * alpha/win-nt.h (TARGET_DEFAULT): Define.
827 * configure.in (alpha*-*-osf*, alpha*-*-linux*) [tm_file]:
828 Add new headers as appropriate.
829
830 * configure.in (alpha*): Enable Haifa by default.
831 (*-*-winnt3*): Change to winnt*, since we're not v3 specific.
832 * configure: Rebuild.
833
5768f211
RH
834Tue Dec 23 03:14:54 1997 Richard Henderson <rth@cygnus.com>
835
836 * Makefile.in (clean): Remove the stages with their objects here ...
837 (distclean): ... instead of here.
838
9e04c65a
KG
839Mon Dec 22 11:24:01 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
840
841 * cse.c (rtx_cost): Add default case in enumeration switch.
842 * fix-header.c (recognized_macro): Likewise.
843 (recognized_extern): Likewise.
844 (write_rbrac): Likewise.
845 * objc/objc-act.c (encode_aggregate): Likewise.
846 (gen_declarator): Likewise.
847 (gen_declspecs): Likewise.
848
1d88b804
JL
849Mon Dec 22 09:58:51 1997 Jeffrey A Law (law@cygnus.com)
850
851 * haifa-sched.c (create_reg_dead_note): Detect and handle another
852 case where we kill more regs after sched than were killed before
853 sched.
854 * sched.c (create_reg_dead_note): Similarly.
855
bbeba0ba
JL
856Mon Dec 22 09:18:37 1997 Jeffrey A Law (law@cygnus.com)
857
858 * c-pragma.c: Include flags.h.
859
05853640
MK
860Sun Dec 21 22:10:59 1997 Mumit Khan <khan@xraylith.wisc.edu>
861
862 * i386/cygwin32.h (NO_IMPLICIT_EXTERN_C): Don't assume anything
863 about system headers.
864 (LIB_SPEC): Add -ladvapi32 -lshell32 to be consistent with mingw32
865 and also to resolve symbols in prefix.c.
866
867 * i386/xm-cygwin32.h (HAVE_BCOPY): Define. This avoids a conflict
868 between gansidecl.h and newlib's _ansi.h when building libgcc2.a,
869 when the definitions in auto-config.h is not visible.
870 (HAVE_BZERO): Likewise.
871 (HAVE_BCMP): Likewise.
872 (HAVE_RINDEX): Likewise.
873 (HAVE_INDEX): Likewise.
874
44201dba
JL
875Sun Dec 21 21:54:22 1997 Jeffrey A Law (law@cygnus.com)
876
877 * pa.c (emit_move_sequence): Handle a function label source
878 operand.
879
d300e551
NC
880Sun Dec 21 16:13:55 1997 Nick Clifton <nickc@cygnus.com
881
882 * c-pragma.c (handle_pragma_token): Generate warning messages
883 about unknown pragmas if warn_unknown_pragmas is set.
884
885 * c-decl.c (c_decode_option): Parse -Wunknown-pragmas command
886 line option to set variable: warn_unknown_pragmas.
887
d3245704
MH
888Sun Dec 21 15:51:10 1997 Manfred Hollstein <manfred@lts.sel.alcatel.de>
889
890 * m68k/mot3300.h (ASM_BYTE_OP): Don't include '\t' in the
891 definition.
892 (ASM_OUTPUT_ASCII): Prefix ASM_BYTE_OP by one single '\t'.
893
5198352e
JL
894Sun Dec 21 13:58:39 1997 Jeffrey A Law (law@cygnus.com)
895
896 * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Define.
897 (libgcc2.a): Depend on $(DPBIT) and $(FPBIT). Add rules to
898 generate more fine grained floating point emulation libraries.
899 * config/fp-bit.c: Add protecting #ifdef to all functions so
900 that they can be compiled separately. If !FINE_GRAINED_LIBRARIES,
901 then compile all suitable functions.
902 (pack_d, unpack_d, fpcmp_parts): Add declarations, define with two
903 underscores to avoid namespace pollution.
904 * t-mn10200 (LIB2FUNCS_EXTRA): Remove fp-bit.c
905 (FPBIT): Define.
906 * t-mn10300 (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
907 (FPBIT): Define.
908 (DPBIT): Define.
909
9f1ff8e8 910Sat Dec 20 11:26:47 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1d300e19
KG
911 Jeff Law <law@cygnus.com>
912
913 * bitmap.c (bitmap_clear): Ensure `inline' is at the beginning
914 of the declaration.
915 * c-decl.c (finish_decl): Use parentheses around && within ||.
916 * rtl.c: Include stdlib.h.
917 (read_skip_spaces): Add parentheses around assignments used as
918 truth values.
919 (read_rtx): Initialize list_rtx.
920 * cppexp.c (parse_number): Use || when operands are truth values.
921 * alias.c (find_base_value): Add default case.
922 (memrefs_conflict): Likewise.
923 * combine.c (sets_function_arg_p): Likewise.
924 * genemit.c (gen_exp): Likewise.
925 * local-alloc.c (contains_replace_regs): Likewise.
926 * rtlanal.c (jmp_uses_reg_or_mem): Likewise.
927 * fold-const.c (fold_convert): Use "&&" for truth values.
928 (fold): Add default case.
929 * sdbout.c (sdbout_field_types): Fix typo in declaration.
930 (sdbout_one_type): Add default case.
931 * alpha.c (alpha_sa_mask): Prototype only if OPEN_VMS.
932 (some_operand): Add default case.
933 (input_operand): Likewise.
934 (signed_comparison_operator): Likewise.
935 (divmod_operator): Likewise.
936 (alpha_set_memflags_1): Likewise.
937 * reload1.c (reload_cse_simplify_operands): Ensure function
938 always returns a value.
939 * scan-decls.c (scan_decls): Likewise.
940 * c-lex.c (skip_white_space): Fix typo in declaraion.
941 * c-typeck.c (comp_target_types): Add parentheses around assignment
942 used as truth value.
943 (print_spelling): Likewise.
944 (constructor_implicit, constructor_result): Remove unused variables.
945 * collect2.c (scan_library): Protect prototype with
946 #ifdef SCAN_LIBRARIES.
947 * emit-rtl.c (find_line_note): Fix typo in declaration.
948 * final.c (asm_insn_count): Protect prototype with
949 #ifdef HAVE_ATTR_length.
950 * flow.c (find_auto_inc): Protect prototype with #ifdef AUTO_INC_DEC.
951 (try_pre_increment_1, try_pre_increment): Likewise.
952 * regclass.c (auto_inc_dec_reg_p): Protect prototype with
953 #ifdef FORBIDDEN_INC_DEC_CLASSES. Make return type explicit.
954 * gcov-io.h (__store_long, __write_long, __read_long): Fix
955 unsigned/signed comparisons.
956 * gcov.c (read_files): Remove unused "first_type" variable.
957 (scan _for_source_files): Initialize s_ptr.
958 (function_summary): Eliminate "%lf" formatting, use %ld for
959 longs.
960 (output_data): Initialize branch_probs and last_line_num.
961 Eliminate "%lf" formatting, use "%ld" for longs.
962
18543a22
ILT
963Fri Dec 19 17:31:11 1997 Ian Lance Taylor <ian@cygnus.com>
964
afba61d1
ILT
965 * mips16.S: New file.
966
967 * libgcc2.c (varargs): Handle mips16.
968
18543a22
ILT
969 * expr.c (do_tablejump): Let CASE_VECTOR_PC_RELATIVE be an
970 expression.
971 * stmt.c (expand_end_case): Likewise.
972 * alpha.h (CASE_VECTOR_PC_RELATIVE): Update.
973 * fx80.h, gmicro.h, m68k.h, m88k.h, ns32k.h: Likewise.
974 * rs6000.h, sh.h, tahoe.h, v850.h vax.h z8k.h: Likewise.
975
dbf3231e
AS
976Tue Dec 16 15:14:09 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
977
978 * objc/Make-lang.in: Create runtime-info.h and libobjc_entry.o in
979 the build directory.
980 (libobjc.a): Update dependency list.
981 (libobjc.dll): Likewise. Use libobjc_entry.o from the build
982 directory.
983 (objc/sendmsg.o): Add -Iobjc to find runtime-info.h.
984 (objc.mostlyclean): Remove runtime-info.h.
985
e1ee5cdc
RH
986Fri Dec 19 00:19:42 1997 Richard Henderson <rth@cygnus.com>
987
988 * tree.c (build_range_type): Allow creation of ranges with no maximum.
989 * dbxout.c (dbxout_range_type): Handle missing TYPE_MAX_VALUE.
990 * dwarf2out.c (add_subscript_info): Likewise.
991 * dwarfout.c (subscript_data_attribute, byte_size_attribute): Likewise.
992 * sdbout.c (plain_type_1): Likewise.
993 * stmt.c (pushcase_range, all_cases_count, node_has_high_bound):
994 Likewise.
995 * fold-const.c (int_const_binop, fold_convert, make_range, fold):
996 Likewise.
997
dfe91418
JL
998Thu Dec 18 17:05:10 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
999
1000 * mips.c (fatal): Remove declaration.
1001
10021997-12-18 Mark Mitchell <mmitchell@usa.net>
1003
1004 * integrate.c (get_label_from_map): New function.
1005 (expand_inline_function): Use it. Initialize the label_map to
1006 NULL_RTX instead of gen_label_rtx.
1007 (copy_rtx_and_substitute): Use get_label_from_map.
1008 * integrate.h (get_label_from_map): New function.
1009 (set_label_from_map): New macro.
1010 * unroll.c (unroll_loop): Use them.
1011 (copy_loop_body): Ditto.
1012
337e2b69
ILT
1013Thu Dec 18 19:19:57 1997 Ian Lance Taylor <ian@cygnus.com>
1014
1015 * mips/mips.h (INIT_SUBTARGET_OPTABS): Define if not defined.
1016 (INIT_TARGET_OPTABS): Define.
1017 * mips/ecoff.h: Include gofast.h before mips.h.
1018 (INIT_SUBTARGET_OPTABS): Define instead of INIT_TARGET_OPTABS.
1019 * mips/elf64.h: Likewise.
1020 * mips/elf.h (ASM_OUTPUT_SECTION_NAME): Define.
1021
02531345
JM
1022Thu Dec 18 14:51:12 1997 Jason Merrill <jason@yorick.cygnus.com>
1023
1024 * except.c: Remove register_exception_table{,_p}.
1025
913b5d54
GK
1026Thu Dec 18 14:57:29 1997 Gavin Koch <gavin@cygnus.com>
1027
efb84aa5
GK
1028 * unroll.c (calculate_giv_inc): Handle constant increment found in
1029 a MEM with an appropriate REG_EQUAL note.
1030
bb1b857a
GK
1031 * calls.c (expand_call): Implement LOAD_ARGS_REVERSED.
1032
913b5d54
GK
1033 * dwarf2out.c (dwarf2out_frame_debug): Handle adjustments of the
1034 frame pointer in the prologue.
1035
80aab652
RL
1036Thu Dec 18 00:19:38 1997 Robert Lipe <robertl@dgii.com>
1037
1038 * i386/x-sco5 (CLIB) Deleted. (ALLOCA) Added.
1039 * i386/xm-sco5.h (USE_C_ALLOCA) Added.
1040
f5c4bc60
BM
1041Tue Dec 16 18:51:00 1997 Bill Moyer <billm@cygnus.com>
1042
1043 * config/m68k/m68k.c (output_function_prologue): Typecast
1044 dwarf2out_cfi_label to (char *).
1045 * config/m68k/m68kemb.h (STARTFILE_SPEC): Redefined to "".
1046
8dcb5295
RH
1047Wed Dec 17 15:06:04 1997 Richard Henderson <rth@cygnus.com>
1048
1049 * sparc.md (jump): Don't use the annul bit around an empty loop.
1050 Patch from Kevin.Kelly@East.Sun.COM.
1051
a99503b1
SC
1052Wed Dec 17 00:51:36 1997 Stan Cox (scox@cygnus.com)
1053
1be6e437 1054 * jump.c: (jump_optimize): Don't use the return register as a
a99503b1
SC
1055 source1 of a conditional move.
1056
e13c943c
RH
1057Tue Dec 16 23:45:40 1997 Richard Henderson <rth@cygnus.com>
1058
1059 * sparc.c (DF_MODES): Or the mask not the bit number.
1060 (function_arg) [ARCH64]: Send unprototyped arg to fp reg first.
1061
be3d27d6
CI
1062Wed Dec 17 00:13:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
1063
1064 * combine.c (force_to_mode): return immediately if operand is a CLOBBER.
1065
f184a264
MH
1066Tue Dec 16 23:44:54 1997 Manfred Hollstein <manfred@s-direktnet.de>
1067
ade7386a
MH
1068 * fixincludes (size_t): Add support for Motorola's stdlib.h
1069 which fails to provide a definition for size_t.
1070 (fabs/hypot): Provide a prototype for fabs on m88k-motorola-sysv3.
1071 (strlen,strspn,strcspn return value): Handle different layout on sysV88.
1072 (hypot): Provide a fake for hypot for m88k-motorola-sysv3.
1073
f184a264
MH
1074 * m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
1075 prevent unresolved externals in libio.
1076 * m88k/xm-sysv3.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Likewise.
1077
afc96791
L
1078Tue Dec 16 23:25:45 1997 H.J. Lu (hjl@gnu.org)
1079
1080 * config/sparc/linux64.h (LIBGCC_SPEC): Removed.
1081 (CPP_SUBTARGET_SPEC): Add %{pthread:-D_REENTRANT}.
1082 (LIB_SPEC): Updated for glibc 2.
1083
e9818f3c
JL
1084Tue Dec 16 20:11:36 1997 Jeffrey A Law (law@cygnus.com)
1085
1086 * ginclude/stdarg.h: Undo BeOS changes, they break hpux.
1087 * ginclude/varargs.h: Likewise.
1088
a3fd4e75 1089Tue Dec 16 00:32:01 1997 Jeffrey A Law (law@cygnus.com)
520cd331
JL
1090
1091 * version.c: Bump for snapshot.
1092
a3fd4e75
JL
1093Tue Dec 16 00:14:29 1997 H.J. Lu (hjl@gnu.org)
1094
1095 * frame.h (__register_frame, __register_frame_table,
1096 __deregister_frame): New.
1097 * frame.c (__register_frame, __register_frame_table,
1098 __deregister_frame): New.
1099 * frame.c (__deregister_frame_info): Return void *.
1100 * frame.h (__deregister_frame_info): Ditto.
1101 * collect2.c (__deregister_frame_info): Ditto.
1102
166cdf4a
RH
1103Mon Dec 15 18:40:08 1997 Richard Henderson <rth@cygnus.com>
1104
1105 * expmed.c (expand_shift): If SHIFT_COUNT_TRUNCATED, drop a SUBREG.
1106
bcbbac26
RH
1107Mon Dec 15 18:31:43 1997 Richard Henderson <rth@cygnus.com>
1108
1109 * alpha.c (alpha_cpu_name): New variable.
1110 (alpha_mlat_string): Likewise.
1111 (alpha_memory_latency): Likewise.
1112 (override_options): Handle -mmemory-latency.
1113 (alpha_adjust_cost): Adjust load cost for latency.
1114 * alpha.h (TARGET_OPTIONS): Add meory-latency.
1115 (REGISTER_MOVE_COST): Define in terms of memory_latency. Take
1116 TARGET_CIX into account.
1117 (MEMORY_MOVE_COST): Define in terms of memory_latency.
1118 * invoke.texi (DEC Alpha Options): Document -mmemory-latency.
1119
1120 * alpha.h (ASM_COMMENT_START): New macro.
1121
1122Mon Dec 15 17:48:05 1997 Richard Henderson <rth@cygnus.com>
1914f5da
RH
1123
1124 * reload.h, reload1.c (eliminate_regs), caller-save.c, dbxout.c,
1125 dwarfout.c, dwarf2out.c, reload.c, sdbout.c: Revert March 15 change.
1126
1127 * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
1128 SUBREG_REG if the word count is unchanged.
1129 * reload1.c (eliminate_regs) [case SET]: If W_R_O, preserve
1130 subregs of identical word size for push_reload.
1131
a701efba
MM
1132Mon Dec 15 Mark Mitchell <mmitchell@usa.net> 11:41:32 1997
1133
1134 * toplev.c (rest_of_compilation): Don't call save_for_inline_copy
1135 if all we're doing is dealing with -Wreturn-type.
1136
5e21ac7a
RH
1137Mon Dec 15 09:44:39 1997 Richard Henderson <rth@cygnus.com>
1138
1139 * alpha.md (zero_extendqihi2, zero_extendqisi2, zero_extendqidi2):
1140 Use and 255 instead of zapnot 1, since it schedules better.
1141
296f8acc
JL
1142Mon Dec 15 08:48:24 1997 Jeffrey A Law (law@cygnus.com)
1143
1144 * stmt.c (expand_asm_operands): If an ASM has no outputs, then treat
1145 it as volatile.
1146
6d8ccdbb
JL
1147Mon Dec 15 00:04:48 1997 Jeffrey A Law (law@cygnus.com)
1148
1149 * haifa-sched.c (remove_dependencies): Set RTX_INTEGRATED_P on
1150 dependency we delete. Properly update prev for multiple consecutive
1151 deletions.
1152 (priority): Skip deleted dependence.
1153
14e83f2e
PB
1154Fri Dec 12 18:54:23 1997 Per Bothner <bothner@cygnus.com>
1155
1156 * expr.c (expand_builtin): Support BUILT_IN_FMOD - just call fmod.
1157
100d81d4
JM
1158Fri Dec 12 01:19:48 1997 Jason Merrill <jason@yorick.cygnus.com>
1159
9b8d9d6b
JM
1160 * flow.c (flow_analysis): Be consistent with find_basic_blocks in
1161 determining when a new basic block starts.
1162
74c3447c
JM
1163 * alpha/osf2or3.h (LIB_SPEC): Restore missing defn.
1164
1165 * pa.h (TEXT_SPACE_P): Use TREE_CODE_CLASS.
1166 * pa.md (iorsi3): Add missing args to *_operand calls.
1167
100d81d4
JM
1168 * except.c (call_get_eh_context): Don't mess with sequences.
1169 (emit_eh_context): Include the call in the sequence here.
1170
5a5ab947
PE
11711997-12-11 Paul Eggert <eggert@twinsun.com>
1172
1173 * collect2.c (write_c_file_glob): Allocate initial frame object
1174 in static storage and pass its address.
1175
01eb7f9a
JM
1176Thu Dec 11 23:33:48 1997 Jason Merrill <jason@yorick.cygnus.com>
1177
1178 * except.c (call_get_eh_context): Don't take a parm.
1179 Put the call at the top of the function.
1180 (emit_eh_context): Adjust.
1181 (get_eh_context): Replace with former use_eh_context.
1182 (get_eh_context_once, get_saved_pc_ref): Remove.
1183 (start_eh_unwinder, end_eh_unwinder, emit_unwinder): Remove.
1184 * except.h: Adjust.
1185 * integrate.c (expand_inline_function): Adjust.
1186 * toplev.c (rest_of_compilation): Don't call emit_unwinder.
1187
d19814a3
ML
1188Fri Oct 10 17:58:31 CEST 1997 Marc Lehmann <pcg@goof.com>
1189
1190 * i386/xm-go32.h (EXECUTABLE_SUFFIX): Define.
1191 (DIR_SEPARATOR, NO_SYS_SIGLIST): Likewise.
1192
7567d496
MH
1193Thu Dec 11 23:55:17 1997 Manfred Hollstein <manfred@s-direktnet.de>
1194
ade7386a 1195 * fixincludes (strlen,strspn,strcspn return value): Handle different
7567d496
MH
1196 layout on sysV88.
1197 (hypot): Provide a fake for hypot which is broken on
1198 m88k-motorola-sysv3.
1199
0a6969ad
JC
1200Thu Dec 11 23:50:17 1997 John F. Carr <jfc@mit.edu>
1201
1202 * tree.c, tree.h: Change tree_code_type, tree_code_length, and
1203 tree_code_name from pointers to arrays.
1204 * tree.c: Remove standard_tree_code_* variables, no longer used.
1205 * print-tree.c: Remove declaration of tree_code_name.
1206
1207 * cp/lex.c (init_lex): Update for tree_code_* changes.
1208 * objc/objc-act.c (init_objc): Likewise.
1209
1210 * tree.def, cp/cp-tree.def, objc/objc-tree.def: Update for tree_code
1211 changes.
1212
c55dcc7d
FF
1213Thu Dec 11 23:34:54 1997 Fred Fish <fnf@ninemoons.com>
1214
1215 * config.sub: Add support for BeOS target.
1216 * configure.in: Likewise.
1217 * ginclude/stdarg.h: Likewise.
1218 * ginclude/stddef.h: Likewise.
1219 * ginclude/varargs.h: Likewise.
1220 * rs6000/beos.h: New file for BeOS.
1221 * rs6000/t-beos: Likewise.
1222 * rs6000/x-beos: Likewise.
1223 * rs6000/xm-beos.h: Likewise.
1224 * toplev.c (get_run_time): Just return 0 on BeOS.
1225
9cf3ae46
JL
1226Thu Dec 11 23:25:23 1997 Jeffrey A Law (law@cygnus.com)
1227 Toon Moene (toon@moene.indiv.nluug.nl)
1228
1229 * m68k.h (GO_IF_LEGITIMATE_ADDRESS): No longer cater to horribly
1230 old and broken Sun3 assemblers. Newer versions handle large
1231 offsets correctly as does the GNU assembler.
1232
7cc273ad
L
1233Thu Dec 11 23:06:48 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
1234
1235 * objc/objc-act.c (lang_report_error_function): Disable.
1236 * objc/objc-parse.y: Include "output.h".
1237 (yyerror): Remove redundant decl.
1238 (yyprint): Fix prototype.
1239 (apply_args_register_offset): Remove redundant decl.
1240 (get_file_function_name): Likewise.
1241
74d7ab55
JM
1242Thu Dec 11 22:02:10 1997 Jason Merrill <jason@yorick.cygnus.com>
1243
1244 * flow.c (find_basic_blocks): A CALL_INSN that can throw starts
1245 a new basic block.
1246 (find_basic_blocks_1): Likewise.
1247
0776059e
JM
1248Thu Dec 11 21:08:48 1997 Jason Merrill <jason@yorick.cygnus.com>
1249
1250 * except.c (use_eh_context): Don't copy_rtx a REG.
1251 (emit_throw): Lose old unwinder support.
1252 (expand_internal_throw): Likewise.
1253 * libgcc2.c (struct eh_context): Likewise.
1254 (new_eh_context): Likewise.
1255 (__get_eh_info): Lose redundant cast.
1256 (__get_dynamic_handler_chain): Likewise.
1257 (__get_saved_pc): Lose.
1258 Lose all old unwinder support code.
1259
154bba13
TT
1260Thu Dec 11 20:42:18 1997 Teemu Torma <tot@trema.com>
1261
1262 Thread-safe EH support for pthreads, DCE threads and Solaris threads.
1263
1264 * integrate.c (expand_inline_function): If the inline fn uses eh
1265 context, make sure that the current fn has one.
1266 * toplev.c (rest_of_compilation): Call emit_eh_context.
1267 * except.c (use_eh_context): New fn.
1268 (get_eh_context_once): New fn.
1269 (call_get_eh_context): New fn.
1270 (emit_eh_context): New fn.
1271 (get_eh_context): Call either get_eh_context_once or
1272 call_get_eh_context, depending on what we have.
1273 (get_dynamic_handler_chain): Call get_eh_context_once.
1274 * except.h: Prototypes for fns above.
1275 * optabs.c (get_eh_context_libfunc): Removed.
1276 (init_optabs): Don't initialize it.
1277 * expr.h (get_eh_context_libfunc): Removed.
1278 * rtl.h, rtl.c: New reg_note REG_EH_CONTEXT.
1279 * config/pa/pa.h (CPP_SPEC): Support for -threads.
1280 * config/pa/pa-hpux10.h (LIB_SPEC): Ditto.
1281 * config/pa/t-pa (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
1282 New multilib for -threads.
1283 * config/sparc/t-sol2: Added multilibs for -threads and
1284 made -pthreads alias to it.
1285 * config/sparc/sol2.h (CPP_SPEC, LIB_SPEC):
1286 Added -threads and -pthreads options.
1287 * libgcc-thr.h: New file.
1288 * libgcc2.c: (__get_cpp_eh_context): Removed.
1289 (struct cpp_eh_context): Removed.
1290 (struct eh_context): Replaced cpp_eh_context with generic language
1291 specific pointer.
1292 (__get_eh_info): New function.
1293 (__throw): Check eh_context::info.
1294 (__sjthrow): Ditto.
1295 * libgcc2.c: Include libgcc-thr.h.
1296 (new_eh_context, __get_eh_context,
1297 eh_pthread_initialize, eh_context_initialize, eh_context_static,
1298 eh_context_specific, eh_context_free): New functions.
1299 (get_eh_context, eh_context_key): New variables.
1300 (__sjthrow, __sjpopnthrow, __eh_pcnthrow, __throw): Use
1301 get_eh_context to get the context.
1302 (longjmp): Move the declaration inside
1303 #ifdef DONT_USE_BUILTIN_SETJMP.
1304 * frame.c: Include libgcc-thr.h.
1305 (object_mutex): Mutex to protect the object list.
1306 (find_fde, __register_frame, __register_frame_table,
1307 __deregister_frame): Hold the lock while accessing objects.
1308 * except.h (get_eh_context): Declare.
1309 * except.c (current_function_ehc): Define.
1310 (current_function_dhc, current_function_dcc): Removed.
1311 (get_eh_context): New function.
1312 (get_dynamic_handler_chain): Use get_eh_context.
1313 (get_saved_pc_ref): Ditto.
1314 (get_dynamic_cleanup_chain): Removed references to
1315 current_function_dcc.
1316 (save_eh_status, restore_eh_status): Save and restore
1317 current_function_ehc instead.
1318 * optabs.c (get_eh_context_libfunc): New variable.
1319 (init_optabs): Initialize it.
1320 * expr.h: Declare get_eh_context_libfunc.
1321 * function.h (struct function): Replaced dhc and dcc with ehc.
1322 * except.c (get_saved_pc_ref): New functions.
1323 (eh_saved_pc_rtx, eh_saved_pc): Deleted.
1324 (expand_internal_throw_indirect): Use get_saved_pc_ref() instead
1325 of eh_saved_pc.
1326 (end_eh_unwinder): Likewise.
1327 (init_eh): Remove initialization of eh_saved_pc.
1328 * optabs.c (get_saved_pc_libfunc): New variable.
1329 (init_optabs): Initialize it.
1330 * expr.h: Declare get_saved_pc_libfunc.
1331 * except.h (eh_saved_pc_rtx): Deleted.
1332 (get_saved_pc_ref): Declared.
1333
1334 From Scott Snyder <snyder@d0sgif.fnal.gov>:
1335 * libgcc2.c (__get_saved_pc): New.
1336 (__eh_type, __eh_pc): Deleted.
1337 (__eh_pcnthrow): Use __get_saved_pc() instead of __eh_pc.
1338 (__get_dynamic_handler_chain): Move __dynamic_handler_chain inside
1339 this fcn.
1340
68d75312
JC
1341Thu Dec 11 17:23:48 1997 John F. Carr <jfc@mit.edu>
1342
b16d8734
JC
1343 * sparc/sol2.h: Use 64 bit multiply and divide functions in
1344 Solaris libc. Define TARGET_LIVE_G0 and TARGET_BROKEN_SAVERESTORE
1345 as 0.
1346
68d75312
JC
1347 * rtl.h (global_rtl): New variable, replacing separate variables for
1348 commonly used rtl.
1349 (const_int_rtx): Now array of rtx_def, not rtx.
1350 * emit-rtl.c: Update for new rtl data structures.
1351 * genattrtab.c: Define global_rtl.
1352
44517326 1353Thu Dec 11 15:50:29 1997 David Edelsohn <edelsohn@mhpcc.edu>
f40421ce 1354
44517326
DE
1355 * configure.in ({rs6000,powerpc}-*-*): Enable Haifa scheduler by
1356 default.
f40421ce 1357
8587487b
AG
1358Wed Dec 10 12:30:18 1997 Anthony Green <green@cygnus.com>
1359
1360 * crtstuff.c (__do_global_ctors): Fix typo.
1361
08ce3276
MH
1362Tue Dec 9 09:43:59 1997 Manfred Hollstein <manfred@s-direktnet.de>
1363
1364 * toplev.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
1365 to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
1366
c229cba9
DE
1367Tue Dec 9 09:38:58 1997 David Edelsohn <edelsohn@mhpcc.edu>
1368
1369 * rs6000.h (FUNCTION_ARG_PADDING): Define.
1370 * rs6000.c (function_arg_padding): New function.
1371
b2c59d0b
MH
1372Tue Dec 9 10:34:21 1997 Manfred Hollstein <manfred@s-direktnet.de>
1373
1374 * m68k.c: Include tree.h only once.
1375
c1132c27
RK
1376Tue Dec 9 09:32:33 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1377
1378 * integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
1379
ac957f13
JL
1380Tue Dec 9 01:16:06 1997 Jeffrey A Law (law@cygnus.com)
1381
1382 * Partially cleaned up prototyping code from HJ.
a1d061a1 1383 * tree.h: Add many prototypes.
ac957f13
JL
1384 * haifa-sched.c (haifa_classify_insn): Renamed from classify_insn.
1385 All references changed.
1386 * rtl.h: Protect from multiple inclusions. Add many prototypes.
1387
f40421ce 1388Tue Dec 9 01:15:15 1997 Fred Fish <fnf@ninemoons.com>
ac957f13
JL
1389
1390 * libgcc2.c (string.h): Hoist inclusion to occur before first use of
1391 string functions like strlen.
1392
0a232106
MH
1393Tue Dec 9 00:57:38 1997 Manfred Hollstein <manfred@s-direktnet.de>
1394
1395 * configure.in: Check for functions getrlimit and setrlimit.
1396 * cccp.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
1397 to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
1398
25b76cc1
JS
1399Mon Dec 8 23:53:26 1997 Jay Sachs <sachs@bull.cs.williams.edu>
1400
1401 * Makefile.in (compare*): Handle losing behavior from 4.4bsd make.
1402
26250081
RH
1403Mon Dec 8 21:03:28 1997 Richard Henderson <rth@cygnus.com>
1404
1405 * alpha.c (REG_RA, alpha_return_addr, output_epilog):
1406 Fix merge problems.
1407
1408 * alpha.c (override_options): Don't know about scheduling for EV6.
1409 * alpha.md (ev5 function units): Don't overload as ev6.
1410
1411 * alpha.c (alpha_adjust_cost): Simplify. Fix typo in ev5 mult case.
1412 * alpha.md (define_attr type): Add mvi.
1413 (ev5_e0): Define sceduling parameters for it.
1414 (TARGET_MAX insns): Type is mvi not shift.
1415
7120f213
RH
1416Mon Dec 8 18:15:00 1997 Richard Henderson <rth@cygnus.com>
1417
1418 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix backported gcc-2.8 bug.
1419
afa80947
R
1420Mon Dec 8 21:17:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
1421
1422 * cstamp-h, auto-config.h: Delete.
1423
51ca169b
JL
1424Sun Dec 7 19:19:03 1997 Jeffrey A Law (law@cygnus.com)
1425
1426 * version.c: Bump for snapshot.
1427
16169366
JL
1428Sat Dec 6 22:22:22 1997 Jeffrey A Law (law@cygnus.com)
1429
1430 * cccp.c: Fix typo brought over in merge.
1431
efeb5d4f 1432 * Merge in changes from gcc-2.8.
0fe09481 1433
da932f04
JL
1434Mon Nov 3 05:45:32 1997 Philippe De Muyter <phdm@macqel.be>
1435
1436 * m68k.c: Include tree.h for dwarf2out_cfi_label.
1437
1438 * gcc.c (process_command): Do not take address of function fatal when
1439 calling lang_specific_driver.
1440
1441Sat Dec 6 01:02:38 1997 Mumit Khan <khan@xraylith.wisc.edu>
1442
1443 * config/i386/cygwin32.h (DWARF2_UNWIND): Exception handling
1444 doesn't work with it yet, so set it to 0.
1445 * config/i386/xm-cygwin32.h (NO_SYS_SIGLIST): Define.
1446
1447Sat Dec 6 01:01:02 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
1448
1449 * cse.c (cse_insn): Check for invalid entries when taking references.
1450
81797aba
JL
1451Fri Dec 5 18:26:25 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
1452
1453 * loop.c (invariant_p): Don't test flag_rerun_loop_opt.
1454 (loop_optimize, scan_loop, strength_reduce): New argument unroll_p.
1455 * toplev.c (rest_of_compilation): Pass it. Remove code to
1456 save / clear / restore flag_unroll_{,all_}loops.
1457
1458Fri Dec 5 16:26:03 1997 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
1459
1460 * i386.c (notice_update_cc): Remove bogus pentium GCC code.
1461
1462Fri Dec 5 16:25:14 1997 Jeffrey A Law (law@cygnus.com)
1463
1464 * stmt.c (warn_if_unused_value): Don't warn for TRY_CATCH_EXPR.
1465
5dfa7520
JM
1466Thu Dec 4 11:51:00 1997 Jason Merrill <jason@yorick.cygnus.com>
1467
d07daca1
JM
1468 * except.c (get_dynamic_handler_chain): Only make the call once per
1469 function.
1470
5dfa7520
JM
1471 * except.c (expand_end_all_catch): Fix for sjlj exceptions.
1472
4d7b7169
R
1473Thu Dec 4 12:30:40 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
1474
1475 * sh.c (final_prescan_insn): Use local label prefix
1476 when emitting .uses pseudo-ops.
1477
e701eb4d
JM
1478Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
1479
1480 * libgcc2.c (__throw): Use __builtin_return_addr instead of __eh_pc.
1481 * except.c: Lose outer_context_label_stack.
1482 (expand_eh_region_end): Rethrow from outer_context here.
1483 (expand_fixup_region_end): Let expand_eh_region_end do the rethrow.
1484 (expand_internal_throw): Take no args.
1485 (expand_internal_throw_indirect): Lose.
1486 (expand_leftover_cleanups, expand_start_all_catch): Use expand_rethrow.
1487 (expand_start_all_catch): Start a rethrow region.
1488 (expand_end_all_catch): End it.
1489 (expand_rethrow): New fn.
1490 * except.h: Reflect above changes.
1491 * flow.c: Revert change of Nov 27.
1492
6a242b6a
JL
1493Thu Dec 4 00:24:09 1997 Jeffrey A Law (law@cygnus.com)
1494
1495 * i386/t-sol2 (CRTSTUFF_T_CFLAGS): Turn on the optimizer.
1496
9762d48d
JM
1497Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
1498
1499 * except.c (expand_fixup_region_end): New fn.
1500 (expand_fixup_region_start): Likewise.
1501 (expand_eh_region_start_tree): Store cleanup into finalization here.
1502 * stmt.c (expand_cleanups): Use them to protect fixups.
1503
868e82ab
GK
1504Wed Dec 3 11:41:13 1997 Gavin Koch <gavin@cygnus.com>
1505
1506 * mips/mips.md (muldi3_r4000): Broaden the output template
1507 and attribute assignments to handle three operand dmult;
1508 rename to muldi3_internal2.
1509 (muldi3): Call the new muldi3_internal2 for R4000, and
1510 any GENERATE_MULT3 chip.
1511
716cc7f7
JM
1512Tue Dec 2 19:40:43 1997 Jason Merrill <jason@yorick.cygnus.com>
1513
1514 * stmt.c (expand_decl_cleanup): Update thisblock after eh_region_start.
1515
9fb82071
JW
1516Tue Dec 2 12:54:33 1997 Jim Wilson <wilson@cygnus.com>
1517
1518 * unroll.c (find_splittable_givs): Remove last change. Handle givs
1519 with a dest_reg that was created by loop.
1520
f2d76545
JL
1521Sat Nov 29 12:44:57 1997 David Edelsohn <edelsohn@mhpcc.edu>
1522
1523 * rs6000.c (function_arg_partial_nregs): Undo Nov. 26 patch.
1524
1525 * rs6000/aix41.h (ASM_CPU_SPEC): Define.
1526
b4dfb707
JL
1527Fri Nov 28 10:00:27 1997 Jeffrey A Law (law@cygnus.com)
1528
1529 * configure.in: Fix NCR entries.
1530
80c2681c
JL
1531Thu Nov 27 12:20:19 1997 Jeffrey A Law (law@cygnus.com)
1532
586a5f99
JL
1533 * flow.c (find_basic_blocks): Handle cfg issues for rethrows and
1534 nested exceptions correctly.
1535
80c2681c
JL
1536 * unroll.c (find_splittable_givs): Don't split givs with a dest_reg
1537 that was created by loop.
1538
f45ebe47
JL
1539Thu Nov 27 09:34:58 1997 Jason Merrill <jason@yorick.cygnus.com>
1540
1541 * expr.c (preexpand_calls): Don't look past a TRY_CATCH_EXPR.
1542
1543 * except.c (expand_start_all_catch): One more do_pending_stack_adjust.
1544
034e84c4
MM
1545Wed Nov 26 15:47:30 1997 Michael Meissner <meissner@cygnus.com>
1546
8fbd2dc7
MM
1547 * rs6000.c (SMALL_DATA_REG): Register to use for small data relocs.
1548 (print_operand): Use SMALL_DATA_REG for the register involved in
1549 small data relocations.
1550 (print_operand_address): Ditto.
1551
1552 * rs6000/linux.h (LINK_SPEC): Pass -dynamic-linker /lib/ld.so.1 if
1553 -dynamic linker is not used.
1554
a226df46
MM
1555 * rs6000.md (call insns): For local calls, use @local suffix under
1556 System V. Don't use @plt under Solaris.
1557
034e84c4
MM
1558 * rs6000.c (output_function_profiler): Put label address in r0, and
1559 store LR in 4(sp) for System V/eabi.
1560
1561 * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Keep stack aligned to 16
1562 byte boundary, and maintain stack backchain.
1563
f2d76545
JL
1564Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
1565
1566 * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
1567 fix_truncsfdi2): Change *.
1568
33e5c8c3
JM
1569Wed Nov 26 11:12:26 1997 Jason Merrill <jason@yorick.cygnus.com>
1570
1571 * toplev.c (main): Complain about -gdwarfn.
1572
f45ebe47
JL
1573Tue Nov 25 22:43:30 1997 Jason Merrill <jason@yorick.cygnus.com>
1574
1575 * dwarfout.c (output_type): If finalizing, write out nested types
1576 of types we've already written.
1577
92dcf4c8
MM
1578Tue Nov 25 20:32:24 1997 Michael Meissner <meissner@cygnus.com>
1579
1580 (patches originally from Geoffrey Keating)
1581 * rs6000.c (function_arg): Excess floating point arguments don't
1582 go into GPR registers after exhausting FP registers under the
1583 System V.4 ABI.
1584 (function_arg_partial_nregs): Ditto.
1585
1586 * rs6000.md (call insns): If -fPIC or -mrelocatable, add @plt
1587 suffix to calls.
1588
f4744807
JM
1589Tue Nov 25 23:37:27 1997 Jason Merrill <jason@yorick.cygnus.com>
1590
1591 * integrate.c (output_inline_function): Just unset DECL_INLINE.
1592
1593Tue Nov 25 23:33:29 1997 scott snyder <snyder@d0sgif.fnal.gov>
1594
1595 * dwarf2out.c (outout_call_frame_info): Ensure that the info has
1596 proper alignment.
1597
1598 * libgcc2.c (__throw): Initialize HANDLER.
1599
0609f021
JW
1600Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
1601
1602 * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
1603 fix_truncsfdi2): Change *X to ?*X.
1604
c905c108
RH
1605Tue Nov 25 10:00:42 1997 Richard Henderson (rth@cygnus.com)
1606
1607 * alpha.h (CONST_OK_FOR_LETTER): Fix 'L' handling.
1608
5041a61c
JL
1609Tue Nov 25 10:00:42 1997 Jeffrey A Law (law@cygnus.com)
1610
1611 * crtstuff.c (do_global_dtors_aux): Handle multiple calls better.
1612
bb727b5a
JM
1613Tue Nov 25 01:26:55 1997 Bruno Haible <haible@ilog.fr>:
1614
1615 * dwarf2out.c (ASM_OUTPUT_DWARF_DELTA1): Implement.
1616
1617Mon Nov 24 22:41:55 1997 Jason Merrill <jason@yorick.cygnus.com>
1618
1619 * except.c (get_dynamic_handler_chain): Build up a FUNCTION_DECL.
1620 * optabs.c (init_optabs): Lose get_dynamic_handler_chain_libfunc.
1621 * expr.h: Likewise.
1622
f45ebe47
JL
1623Sat Nov 22 18:58:20 1997 Jeffrey A Law (law@cygnus.com)
1624
1625 * pa-hpux10.h (NEW_HP_ASSEMBLER): Define.
1626 * pa.h (LEGITIMATE_CONSTANT_P): Reject LABEL_REFs if not using
1627 gas and not using the new HP assembler.
1628
ef85603e
JL
1629Fri Nov 21 15:20:05 1997 Jeffrey A Law (law@cygnus.com)
1630
1631 * Makefile.in (program_transform_cross_name): Clean up "-e" confusion.
1632 (GCC_INSTALL_NAME, GCC_CROSS_NAME): Likewise.
1633
6cc1f5cb
AC
1634Fri Nov 21 19:37:40 1997 Andrew Cagney <cagney@b1.cygnus.com>
1635
1636 * config/mips/elf64.h (MULTILIB_DEFAULTS): Test for
1637 TARGET_ENDIAN_DEFAULT == zero instead of testing for macro
1638 definition.
1639
72eb1038
BH
1640Fri Nov 21 12:49:56 1997 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
1641
1642 * stmt.c (expand_end_bindings): Allow jump into block with cleanups.
1643
1418bb67
JM
1644Fri Nov 21 12:18:51 1997 Jason Merrill <jason@yorick.cygnus.com>
1645
1646 * except.h: Add outer_context_label_stack.
1647 * except.c: Likewise.
1648 (expand_start_all_catch): Push the outer_context for the try block
1649 onto outer_context_label_stack.
1650 (expand_end_all_catch): Use it and pop it.
1651
9dab7833
RL
1652Fri Nov 21 10:13:11 1997 Robert Lipe (robertl@dgii.com)
1653
1654 * i386/sco5.h (HAVE_ATEXIT): Revert last change.
1655
858e4e8c
RH
1656Thu Nov 20 16:11:50 1997 Richard Henderson <rth@cygnus.com>
1657
1658 * alpha.c (alpha_emit_set_const_1): Handle narrow hosts better.
1659
a21d14e9
KK
1660Thu Nov 20 16:11:50 1997 Klaus Kaempf <kkaempf@progis.de>
1661
1662 * alpha/vms.h (ASM_OUTPUT_ADDR_VEC_ELT): Add an L for the local label
1663 to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
1664
ced78d8b
JM
1665Thu Nov 20 14:42:15 1997 Jason Merrill <jason@yorick.cygnus.com>
1666
1667 * Makefile.in (LIB2FUNCS): Remove C++ memory management support.
1668 * libgcc2.c: Remove __builtin_new, __builtin_vec_new, set_new_handler,
1669 __builtin_delete, and __builtin_vec_delete.
1670
1671 * except.c (output_exception_table): Don't bother with
1672 __EXCEPTION_END__.
1673
a09ff88b
JL
1674Thu Nov 20 16:11:50 1997 Jeffrey A Law (law@cygnus.com)
1675
1b8b89f1
JL
1676 * pa.md (pre_stwm, post_stwm, pre_ldwm, post_ldwm): Base register
1677 is an in/out operand.
1678 (zero extended variants of stwm/stwm patterns): Similarly.
1679
a09ff88b
JL
1680 * mips/x-iris (FIXPROTO_DEFINES): Add -D_SGI_SOURCE.
1681
7bb9fb0e
JM
1682Thu Nov 20 13:19:32 1997 Jason Merrill <jason@yorick.cygnus.com>
1683
1684 * dwarf2out.c (ASM_OUTPUT_DWARF_OFFSET4): Rename from VALUE4.
1685 Use assemble_name.
1686 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Use assemble_name.
1687 (output_call_frame_info): Emit a \n after using it.
1688
9101297d
DL
1689Thu Nov 20 00:38:46 1997 Dave Love <d.love@dl.ac.uk>
1690
1691 * configure.in: Add AC_ARG_ENABLE for Haifa as documentation.
1692
2ed2af28
PDM
1693Wed Nov 19 12:03:04 1997 Philippe De Muyter <phdm@macqel.be>
1694
1695 * dwarf2out.c (CIE_LENGTH_LABEL, FDE_LENGTH_LABEL): New macros.
1696 (ASM_OUTPUT_DWARF_VALUE4): New macro.
1697 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Define if SET_ASM_OP is
1698 defined.
1699 (output_call_frame_info): Do not output forward label differences
1700 if ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL is defined.
1701 * m68k/mot3300.h (SET_ASM_OP): Define when not using gas.
1702
4dff12bf
R
1703Tue Nov 18 23:03:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
1704
1705 * sh.md (attribute "type"): Add nil.
1706 (movsi_ie): y/y alternative is type nil.
1707 (movsf_ie): Replace ry/yr/X alternative by r/y/X , y/r/X and y/y/X
1708 alternatives.
1709 (movsf_ie+1): Delete.
1710
218c2cdb
JW
1711Tue Nov 18 15:39:59 1997 Jim Wilson <wilson@cygnus.com>
1712
1713 * mips/mips.c (save_restore_insns): If gp_offset or fp_offset are
1714 large_int, emit two insns instead of one splitable insn.
1715 * dwarf2out.c (dwarf2out_frame_debug): When set cfa_store_offset
1716 from cfa_temp_value, use cfa_offset. Add assert checking that
1717 cfa_reg is SP.
1718
d5b79362
TT
1719Mon Nov 17 15:35:38 1997 Tom Tromey <tromey@cygnus.com>
1720
1721 * cccp.c (deps_output): Properly quote file names for make.
1722
de1ea87a
JL
1723Mon Nov 17 13:21:40 1997 Jeffrey A Law (law@cygnus.com)
1724
1725 * t-h8300 (MULTILIB_EXCEPTIONS): Define.
1726
cb0112a7
RL
1727Fri Nov 7 15:33:11 1997 Robert Lipe (robertl@dgii.com)
1728
1729 * i386/sco5.h (HAVE_ATEXIT): Delete definition.
1730
85c3ba60
JL
1731Sun Nov 16 23:52:48 1997 Jeffrey A Law (law@cygnus.com)
1732
1733 * cse.c (cse_insn): Don't look at JUMP_LABEL field of a conditionl
1734 return.
1735 (cse_end_of_basic_block): Similarly.
ef720b21 1736
9155d500
KJ
1737Sun Nov 16 23:01:40 1997 J. Kean Johnston <jkj@sco.com>
1738
1739 * i386/sco5.h (ASM_OUTPUT_ALIGNED_BSS): Define.
1740 (SELECT_RTX_SECTION): Define.
1741 (LIBGCC_SPEC, LIB_SPEC): Do the right thing for PIC.
1742
4931312c
MH
1743Sun Nov 16 22:47:03 1997 Manfred Hollstein <manfred@s-direktnet.de>
1744
1745 * Makefile.in (compare, compare-lean): Define $stage for each
1746 shell command.
1747 (gnucompare, gnucompare-lean): Likewise.
1748
8dfe3c62
RH
1749Sun Nov 16 22:02:16 1997 Richard Henderson (rth@cygnus.com)
1750
1751 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix offsets.
1752
1753 * alpha.h (ASM_OUTPUT_ADDR_DIFF_ELT): Add an L for the local label
1754 to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
1755
874a8709
FF
1756Fri Nov 14 09:09:20 1997 Fred Fish (fnf@cygnus.com)
1757
1758 * dwarfout.c (byte_size_attribute): Add local var upper_bound
1759 and add case to handle STRING_TYPE.
1760 * dwarfout.c (output_string_type_die): Fix code to generate
1761 correct string length attribute for fixed length strings.
1762 Still needs support for varying length strings.
1763
ea466196
JL
1764Fri Nov 14 08:46:56 1997 Jeffrey A Law (law@cygnus.com)
1765
1766 * toplev.c (get_run_time): Do something sensible for cygwin32.
1767
202f590e
RH
1768Fri Nov 14 07:24:20 1997 Richard Henderson <rth@cygnus.com>
1769
f35bcbc5
RH
1770 * expr.c (expand_builtin_setjmp): Set
1771 current_function_has_nonlocal_label.
1772 * stupid.c (stupid_life_analysis): If has_nonlocal_label, kill
1773 call-saved registers across calls.
1774
1775 * alpha.md (exception_receiver): Remove.
1776 (nonlocal_goto_receiver_osf): New
1777 (nonlocal_goto_receiver_vms): Renamed from nonlocal_goto_receiver.
1778 (nonlocal_goto_receiver): New, select _osf or _vms.
1779
531ea24e
RH
1780 * alpha.c (output_prolog [*]): Prefix entry labels with '$' to
1781 keep them from being propogated to the object file.
1782 (alpha_write_linkage): Likewise.
1783 * alpha.md (call_vms): Likewise.
1784 (call_value_vms): Likewise.
1785 (unnamed osf call insns): Likewise.
1786
1787 * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Don't omit L from local label.
1788 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1789
202f590e
RH
1790 * alpha.c (call_operand): Any reg is valid for WinNT.
1791 * alpha.md (call_nt, call_value_nt): Don't force address into $27.
1792 (anon nt calls): Add 'R' alternative.
1793 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE,
1794 INITIALIZE_TRAMPOLINE): Handle lack of original $27 and 32-bit ptrs.
1795
238ad62b
JL
1796Fri Nov 14 06:59:33 1997 Jeffrey A Law (law@cygnus.com)
1797
f78b5ca1
JL
1798 * calls.c (expand_call): Handle pcc_struct_value correctly for C++.
1799
238ad62b
JL
1800 * i386/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Delete defines.
1801 * i386/xm-mingw32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
1802 * rs6000/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
1803
da275344
MM
1804Thu Nov 13 20:37:33 1997 Michael Meissner <meissner@tiktok.cygnus.com>
1805
1806 * reload1.c (new_spill_reg): Improve fixed or forbidden register
1807 spill error message.
1808
1f1e1545
KG
1809Thu Nov 13 20:29:08 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1810
1811 * prefix.c: Use stdarg.h only ifdef __STDC__. Otherwise,
1812 use varargs.h. Wrap header with <>, not "".
1813
daa4b717
JL
1814Thu Nov 13 20:21:17 1997 Jeffrey A Law (law@cygnus.com)
1815
1816 * integrate.c (save_for_inline_copying): Add return value from
1817 savealloc.
1818
9bb5394e
BK
1819Thu Nov 13 19:12:33 1997 Brendan Kehoe <brendan@cygnus.com>
1820
1821 * fixincludes: Be a little more restrictive on what we will
1822 substitute to replace definitions of MAXINT for HPUX.
1823
9571f69b
MM
1824Thu Nov 13 18:41:02 1997 Michael Meissner <meissner@cygnus.com>
1825
1826 * dbxout.c (dbxout_symbol_location): Don't assume that variables
1827 whose address is the stack or argument pointers are indirect
1828 pointers.
1829
e7cbb6b6
PE
18301997-11-13 Paul Eggert <eggert@twinsun.com>
1831
1832 * cccp.c, cpplib.c (compare_defs):
1833 Don't complain about arg name respellings unless pedantic.
1834 * cpplib.c (compare_defs): Accept pfile as new arg.
1835 All callers changed.
1836
9f29ca78
R
1837Thu Nov 13 23:33:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
1838
1839 * fold-const.c (fold_truthop): Fix bug in last change.
1840
41c9120b
PE
18411997-11-13 Paul Eggert <eggert@twinsun.com>
1842
1843 Fix some confusion with IEEE minus zero.
1844
1845 * real.h (REAL_VALUES_IDENTICAL): New macro.
1846
1847 * expr.c (is_zeros_p): Don't consider -0.0 to be all zeros.
1848 * fold-const.c (operand_equal_p): Don't consider -0.0 to be
1849 identical to 0.0.
1850 * tree.c (simple_cst_equal): Don't consider -0.0 to have the
1851 same tree structure as 0.0.
1852
1853 * varasm.c (immed_real_const_1): Use new REAL_VALUES_IDENTICAL
1854 macro instead of doing it by hand.
1855
323d8e7b
JL
1856Thu Nov 13 16:56:14 1997 Jeffrey A Law (law@cygnus.com)
1857
1858 * v850/lib1funcs.asm: Minor whitespace changes.
1859 * v850.c: Fix minor formatting problems in many places.
1860 (construct_restore_jr, construct_save_jarl): Remove unwanted aborts.
1861
13529ea4
JW
1862Thu Nov 13 12:53:44 1997 Jim Wilson <wilson@cygnus.com>
1863
1864 * mips.h (GO_IF_LEGITIMATE_ADDRESS): Delete code swapping xplus0 and
1865 xplus1 when xplus0 is not a register.
1866
759c135e
JL
1867Thu Nov 13 11:41:42 1997 Jeffrey A Law (law@cygnus.com)
1868
8930b063
JL
1869 * flow.c (find_basic_blocks): During marking phase, if we encounter
1870 an insn with a REG_LABEL note, make the target block live and
1871 create an edge from the insn to the target block. Do not make
1872 edges from all blocks to the target block.
1873
0be28489
JL
1874 * m68k/x-next (OTHER_FIXINCLUDES_DIRS): Include /NextDeveloper/Headers.
1875
759c135e
JL
1876 * confiugre.in: Tweak NCR entries.
1877 * configure: Rebuilt.
1878
47ad8c61
MM
1879Thu Nov 13 11:07:41 1997 Michael Meissner <meissner@cygnus.com>
1880
1881 * rs6000.c (num_insns_constant): Use REAL_VALUE_FROM_CONST_DOUBLE to
1882 pick apart floating point values, instead of using CONST_DOUBLE_LOW
1883 and CONST_DOUBLE_HIGH.
1884
1885 * rs6000.md (define_splits for DF constants): Use the appropriate
1886 REAL_VALUE_* interface to pick apart DF floating point constants in
1887 a machine independent fashion.
1888
5a6b3365
R
1889Thu Nov 13 00:06:58 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
1890
1891 * fold-const.c (fold_truthop): When changing a one-bit comparison
1892 against zero into a comparison against mask, do a proper sign
1893 extension.
1894
2ec1535d
JL
1895Wed Nov 12 09:37:01 1997 Jeffrey A Law (law@cygnus.com)
1896
3a88cbd1
JL
1897 * except.c: Do not include "assert.h".
1898 (save_eh_status): Turn asserts into conditional aborts.
1899 (restore_eh_status, scan_region): Likewise.
1900 * dwarfout.c: Do not include "assert.h".
1901 (bit_offset_attribute): Turn asserts into conditional aborts.
1902 (bit_size_attribute, output_inlined_enumeration_type_die): Likewise.
1903 (output_inlined_structure_type_die): Likewise.
1904 (output_inlined_union_type_die): Likewise
1905 (output_tagged_type_instantiation): Likewise.
1906 (dwarfout_file_scope_decl): Likewise.
1907 * dwarf2out.c: Do not include "assert.h"
1908 (expand_builtin_dwarf_reg_size): Turn asserts into conditional aborts.
1909 (reg_save, initial_return_save, dwarf2out_frame_debug): Likewise.
1910 (add_child_die, modified_type_die, add_bit_offset_attribute): Likewise.
1911 (add_bit_size_attribute, scope_die_for): Likewise.
1912 (output_pending_types_for_scope): Likewise.
1913 (get_inlined_enumeration_type_die): Likewise.
1914 (get_inlined_structure_type_die): Likewise.
1915 (get_inlined_union_type_die, gen_subprogram_die): Likewise.
1916 (gen_tagged_type_instantiation_die): Likewise.
1917
2ec1535d
JL
1918 * flow.c (find_basic_blocks): Refine further to get a more correct
1919 cfg, especially in the presense of exception handling, computed
1920 gotos, and other non-trivial cases. Call abort if an inaccuracy
1921 is detected in the cfg.
1922
a6124a42
R
1923Tue Nov 11 21:47:27 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
1924
1925 * glimits.h (SHRT_MIN): Define in a way suitable for 16 bit hosts.
1926
1927 * c-lex.c (whitespace_cr, skip_white_space_on_line): New functions.
1928 (skip_white_space): Use whitespace_cr.
1929 (check_newline): Handle whitespace more consistently.
1930
8f3189a4
JW
1931Tue Nov 11 16:25:49 1997 Jim Wilson <wilson@cygnus.com>
1932
1933 * i386/cygwin32.h (CPP_PREDEFINES): Delete -DPOSIX.
1934 * i386/xm-cygwin32.h (POSIX): Define.
1935
6d1350cd
GK
1936Mon Nov 10 20:53:11 1997 Gavin Koch <gavin@cygnus.com>
1937
1938 * config/mips/mips.h (MASK_DEBUG_H): Set to zero, so this bit
1939 is available elsewhere.
1940
d1f4474e
DE
1941Mon Nov 10 16:21:58 1997 Doug Evans <devans@canuck.cygnus.com>
1942
1943 * sparc/sparc.md (mov[sdt]f_const_insn): Fix condition to match
1944 what the instruction can handle.
1945
c7ae64f2
JM
1946Mon Nov 10 03:02:19 1997 Jason Merrill <jason@yorick.cygnus.com>
1947
1948 * stmt.c (expand_decl_cleanup_no_eh): New fn.
1949
1950 * except.c (expand_leftover_cleanups): do_pending_stack_adjust.
1951
ea64ef27
JL
1952Mon Nov 10 00:05:56 1997 Jeffrey A Law (law@cygnus.com)
1953
1954 * alias.c (MAX_ALIAS_LOOP_PASSES): Define.
1955 (init_alias_analysis): Break out of loops after MAX_ALIAS_LOOP_PASSES.
1956
47ad8c61
MM
1957Sun Nov 9 14:34:47 1997 David Edelsohn <edelsohn@mhpcc.edu>
1958
1959 * rs6000.md (lshrdi3_power): Delete '&' from first alternative and
1960 swap instruction order.
1961
0ff27f58
JL
1962Sun Nov 9 02:07:16 1997 Jeffrey A Law (law@cygnus.com)
1963
1964 * fixinc.svr4 (__STDC__): Add another case.
1965
7091039c
R
1966Sun Nov 9 02:00:29 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
1967
1968 * a29k.h (ELIGIBLE_FOR_EPILOGUE_DELAY): Avoid loads from varying
1969 addresses in the epilogue delay slot.
1970
553914ad
MH
1971Sun Nov 9 01:40:40 1997 Manfred Hollstein (manfred@s-direktnet.de)
1972
1973 * m88k/dgux.h (ASM_CPU_SPEC): Reformatted to suppress wrong whitespace
1974 in generated `specs' file.
1975
64fde701
JW
1976Sun Nov 9 01:37:11 1997 Jim Wilson (wilson@cygnus.com)
1977
1978 * flags.h (flag_rerun_loop_opt): Declare.
1979 * loop.c (invariant_p, case LABEL_REF): Check flag_rerun_loop_opt.
1980 * toplev.c (flag_rerum_loop_opt): Delete static.
1981
1245df60
R
1982Sat Nov 8 18:20:21 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
1983
1245df60
R
1984 Bring over from FSF:
1985
1986 Thu Oct 30 12:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
1987
1988 * va-sh.h (__va_arg_sh1): Define.
1989 (va_arg): Use it.
1990 SH3E doesn't use any integer registers for subsequent arguments
1991 once a non-float value was passed in the stack.
1992 * sh.c (machine_dependent_reorg): If optimizing, put explicit
1993 alignment in front label for ADDR_DIFF_VEC.
1994 * sh.h (PASS_IN_REG_P): Fix SH3E case.
1995 (ADJUST_INSN_LENGTH): If not optimizing, add two extra bytes length.
1996
1997 Tue Oct 28 15:06:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
1998
1999 * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Undefine before including
2000 svr4.h.
2001
2002 Mon Oct 27 16:11:52 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
2003
2004 * sh.c (machine_dependent_reorg): When -flag_delayed_branches,
2005 put an use_sfunc_addr before each sfunc.
2006 * sh.md (use_sfunc_addr, dummy_jump): New insns.
2007 (casesi): For TARGET_SH2, emit a dummy_jump after LAB.
2008
2009 Tue Oct 21 07:12:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
2010
2011 * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Don't redefine.
2012
97991933
JM
2013Fri Nov 7 10:22:24 1997 Jason Merrill <jason@yorick.cygnus.com>
2014
2015 * frame.c (add_fdes, count_fdes): Go back to checking pc_begin for
2016 linked once FDEs.
2017
eaf407a5
JL
2018Wed Nov 5 14:26:05 1997 Jeffrey A Law (law@cygnus.com)
2019
2020 * alias.c (find_base_value): Only return the known base value for
2021 pseudo registers.
2022
4f9ca067
JW
2023Wed Nov 5 11:27:14 1997 Jim Wilson <wilson@cygnus.com>
2024
2025 * i386.c (load_pic_register): Call prologue_get_pc_and_set_got.
2026 * i386.md (prologue_set_got, prologue_get_pc): Add UNSPEC_VOLATILE
2027 to pattern.
2028 (prologue_get_pc_and_set_got): New pattern.
2029
f4e31cf5
RH
2030Tue Nov 4 20:36:50 1997 Richard Henderson (rth@cygnus.com)
2031
2032 * alpha.c (summarize_insn): Handle ASM_OPERANDS. Don't recurse
2033 for SUBREG, just fall through.
2034
2035 * alpha.c (alpha_handle_trap_shadows): Init sum.defd to zero.
2036
2037 * alpha.md (attr trap): Make TRAP_YES non-zero for sanity's sake.
2038
f754c4a1
JL
2039Tue Nov 4 18:49:42 1997 Jeffrey A Law (law@cygnus.com)
2040
3ed18aeb
JL
2041 * fixincludes: Fix "hypot" prototype in NeXT math.h.
2042
3fe40e05
JL
2043 * Makefile.in (USE_ALLOCA): Always include alloca.o.
2044 (USE_HOST_ALLOCA): Likewise.
2045
f754c4a1
JL
2046 * rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES
2047 and LABEL_REFS fields.
2048 * rtl.h (LABEL_REFS): Update.
2049
ab00eb0a
JW
2050Tue Nov 4 16:55:11 1997 Jim Wilson <wilson@cygnus.com>
2051
ff3467a9
JW
2052 * combine.c (try_combine): When setting elim_i2, check whether newi2pat
2053 sets i2dest. When calling distribute_notes for i3dest_killed, pass
2054 elim_i2 and elim_i1. When setting elim_i1, check if newi2pat
2055 sets i1dest.
2056
4911814e
JW
2057 * mips.md (insv, extzv, extv): Add change_address call.
2058 (movsi_ulw, movsi_usw): Change QImode to BLKmode in pattern.
2059
474eff88
JW
2060 * integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
2061
3feffdfe
JW
2062 * reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants.
2063
ab00eb0a
JW
2064 * mips.c (mips_expand_epilogue): Emit blockage insn before call to
2065 save_restore_insns if no FP and GP will be restored.
7636d567 2066
31c8581d
JW
2067 * dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode.
2068 Convert CCmode to word_mode before calling GET_MODE_SIZE.
2069
7636d567
JW
2070 * acconfig.h (HAVE_INTTYPES_H): Undef.
2071 * configure.in (inttypes.h): Check for conflicts between sys/types.h
2072 and inttypes.h, and verify that intmax_t is defined.
2073 * config/mips/x-iris (CC, OPT, OLDCC): Comment out.
2074 * config/mips/x-iris3: Likewise.
2075
73774bc7
JL
2076Tue Nov 4 16:07:15 1997 Jeffrey A Law (law@cygnus.com)
2077
2078 * alias.c (find_base_value): When copying arguments, return the
2079 tenative value for a hard register.
2080
645ebf37
DE
2081Tue Nov 4 13:40:35 1997 Doug Evans <devans@canuck.cygnus.com>
2082
2083 * c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
2084 (yylex): Record wide strings using target endianness, not host.
2085
f7620587
JL
2086Tue Nov 4 13:13:12 1997 Jeffrey A Law (law@cygnus.com)
2087
2088 * mn10200.h (ASM_OUTPUT_BSS): Delete.
2089 (ASM_OUTPUT_ALIGNED_BSS): New macro
2090 * mn10300.h (ASM_OUTPUT_BSS): Delete.
2091 (ASM_OUTPUT_ALIGNED_BSS): New macro.
2092 * v850.h (ASM_OUTPUT_BSS): Delete.
2093 (ASM_OUTPUT_ALIGNED_BSS): New macro.
2094
1686f1a2
R
2095Tue Nov 4 00:55:48 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
2096
2097 * profile.c (branch_prob): Insert an insn after a NOTE_INSN_SETJMP.
2098
f6857708
JL
2099Mon Nov 3 14:36:50 1997 Jeffrey A Law (law@cygnus.com)
2100
2101 * configure.in (sco5): Use cpio to install header files.
2102
e566af04
MH
2103Sun Nov 2 23:31:43 1997 Manfred Hollstein <manfred@s-direktnet.de>
2104
2105 * aclocal.m4 (conftestdata_from, conftestdata_to): Names shortened to
2106 14 char length.
2107 * configure: Rebuild.
2108
cbd44549
RL
2109Sun Nov 2 19:44:00 1997 Robert Lipe (robertl@dgii.com)
2110
2111 * i386/sco5.h: enable -gstabs once again.
2112
56636818
JL
2113Sun Nov 2 19:27:21 1997 Jeffrey A Law (law@cygnus.com)
2114
2115 * arm.c (output_move_double): Allocate 3 entries in otherops array.
2116
9ad8a5f0
MS
2117Sat Nov 1 21:43:00 1997 Mike Stump (mrs@wrs.com)
2118
2119 * except.c (expand_ex_region_start_for_decl): Emit EH_REGION_BEG
2120 notes for sjlj exceptions too.
2121 (expand_eh_region_end): Similarly for EH_REGION_END notes.
2122 (exception_optimize): Optimize EH regions for sjlj exceptions too.
2123 * final.c (final_scan_insn): Don't output labels for EH REGION
2124 notes if doing sjlj exceptions.
2125
f8671389
JL
2126Sat Nov 1 19:15:28 1997 Jeffrey A Law (law@cygnus.com)
2127
8072f69c
JL
2128 * alias.c (init_alias_analysis): Handle -fno-alias-check when
2129 optimizing correctly.
2130
6cad9e32
JL
2131 * expr.c (expand_builtin_setjmp): Don't emit a SETJMP note
2132 or set current_function_calls_setjmp anymore.
2133
f8671389
JL
2134 * flow.c (find_basic_blocks): If we delete the label for an
2135 exception handler, remove it from the EH label list and remove
2136 the EH_BEGIN/EH_END notes for that EH region.
2137
a886ae74
JM
2138Sat Nov 1 16:44:49 1997 Jason Merrill (jason@cygnus.com)
2139
2140 * flow.c (find_basic_blocks): Generate correct flow control
2141 information when exception handling notes are present.
2142
c2c85462
JL
2143Sat Nov 1 13:42:19 1997 Jeffrey A Law (law@cygnus.com)
2144
2145 * dwarf2out.c (output_call_frame_info): Fix length argument
2146 to ASM_OUTPUT_ASCII.
2147 (output_die, output_pubnames, output_line_info): Likewise.
2148
8c316ae2
JL
2149Fri Oct 31 07:10:09 1997 Jeffrey A Law (law@cygnus.com)
2150
27ca375a
JL
2151 * version.c: Bump for snapshot.
2152
8d4e65a6
JL
2153 * dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to
2154 output ASCII by default. Only use ASM_OUTPUT_DWARF_STRING if
2155 flag_debug_asm is on.
2156 (output_die, output_pubnames, output_line_info): Likewise.
2157
ec907dd8
JL
2158 * alias.c (init_alias_analysis): Add struct_value_incoming_rtx
2159 and static_chain_rtx into the potential base values array if
2160 they are registers.
2161
2162 * alias.c (new_reg_base_value): New array of potential base values.
2163 (unique_id): Now file scoped static.
2164 (find_base_value, case REG): Return the value in reg_base_value
2165 array for the REG if it exists. Else, return the value from
2166 new_reg_base_value if copying args and REG is a hard register.
2167 (find_base_value, case PLUS): If either operand of the PLUS is
2168 a REG, try to get its base value. Handle base + index and
2169 index + base.
2170 (record_set): Use new_reg_base_value instead of reg_base_value.
2171 (init_alias_analysis): Allocate space for new_reg_base_value too.
2172 Rework code to iterate over the insns propagating base value
2173 information until nothing changes.
2174
8c316ae2
JL
2175 * global.c (global_alloc): Free the conflict matrix after
2176 reload has finished.
2177
6874c264
JM
2178Fri Oct 31 01:45:31 1997 Jason Merrill <jason@yorick.cygnus.com>
2179
2180 * libgcc2.c (L_eh): Define __eh_pc.
2181 Replace __eh_type with generic pointer __eh_info.
2182
59fe8c2c
R
2183Fri Oct 31 00:34:55 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
2184
2185 * expr.c (expand_increment): When enqueing a postincrement for a MEM,
2186 use copy_to_reg if address is not a general_operand.
2187
d1271ded
R
2188Fri Oct 31 00:16:55 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
2189
2190 * profile.c (output_func_start_profiler): Clear flag_inline_functions
2191 for the duration of the call to rest_of_compilation.
2192
ac52b80b
DE
2193Thu Oct 30 14:40:10 1997 Doug Evans <devans@canuck.cygnus.com>
2194
2195 * configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
2196 Set extra_parts.
2197 (sparc*-*-*): Recognize --with-cpu=v9.
2198 * sparc/elf.h: New file.
2199 * sparc/t-elf: New file.
2200
f8912297
JL
2201Thu Oct 30 13:26:12 1997 Jeffrey A Law (law@cygnus.com)
2202
2203 * mn10300.c (const_8bit_operand): New function.
2204 (mask_ok_for_mem_btst): New funtion.
2205 * mn10300.md (btst patterns with mem operands): Use new functions
2206 to avoid creating btst instructions with invalid operands.
2207
05ef204d
MM
2208Wed Oct 29 16:57:19 1997 Michael Meissner <meissner@cygnus.com>
2209
2210 * rs6000/xm-sysv4.h: Include xm-linux.h instead of xm-svr4.h if we
2211 are running on PowerPC Linux.
2212
feecabdf
GK
2213Wed Oct 29 13:10:11 1997 Gavin Koch <gavin@cygnus.com>
2214
2215 * config/mips/elf64.h (PREFERRED_DEBUGGING_TYPE): Only define
2216 if not previously defined.
2217
de957303
DE
2218Tue Oct 28 23:55:27 1997 Doug Evans (devans@cygnus.com)
2219
2220 * function.c (assign_parms): Correct mode of stack_parm if
2221 entry_parm underwent a mode conversion.
2222
ba3b3878
BK
22231997-10-28 Brendan Kehoe <brendan@lisa.cygnus.com>
2224
2225 * global.c (global_alloc): Use xmalloc instead of alloca for
2226 CONFLICTS, since max_allocno * allocno_row_words alone can be more
2227 than 2.5Mb sometimes.
2228
d540ae2c
RH
2229Tue Oct 28 15:29:15 1997 Richard Henderson <rth@cygnus.com>
2230
2231 * reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of
2232 DEST for the spill, adjust mode of SRC to compensate.
2233
42f4929d
RH
2234Tue Oct 28 14:36:45 1997 Richard Henderson <rth@cygnus.com>
2235
2236 * alpha.md (reload_inqi): Check for MEM before strict_memory_address_p,
2237 since any_memory_operand() allows pseudos during reload.
2238 (reload_inhi, reload_outqi, reload_outhi): Likewise.
2239
08417478
JW
2240Tue Oct 28 11:53:14 1997 Jim Wilson <wilson@cygnus.com>
2241
2242 * m68k.md (btst patterns): Add 5200 support.
2243
750e8348
TM
2244Tue Oct 28 11:58:40 1997 Toon Moene <toon@moene.indiv.nluug.nl>
2245
2246 * fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3)
2247 optimizations, look inside dividend to determine if the expression
2248 can be simplified by using EXACT_DIV_EXPR.
2249
ede19932
JM
2250Tue Oct 28 10:19:01 1997 Jason Merrill <jason@yorick.cygnus.com>
2251
2252 From Brendan:
2253 * dwarf2out.c (output_call_frame_info): Use l1 instead of ".".
2254
66d91cb9
RH
2255Tue Oct 28 00:32:14 1997 Richard Henderson <rth@cygnus.com>
2256
2257 * alpha.c (summarize_insn [SUBREG]): Propogate SET.
2258
4f3f5e9f
RH
2259Mon Oct 27 23:59:26 1997 Richard Henderson <rth@cygnus.com>
2260
2261 * alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap
2262 on a CLOBBER.
2263
f3352b9e
RH
2264Mon Oct 27 21:25:20 1997 Richard Henderson <rth@cygnus.com>
2265
2266 * alpha.md (movqi, movhi): Make sure new insns created during reload
2267 won't need reloading themselves.
2268 (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Likewise.
2269
0cecc190
JL
2270Mon Oct 27 16:11:10 1997 Jeffrey A Law (law@cygnus.com)
2271
2272 * mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
2273
a09ba5a2
RH
2274Sun Oct 26 13:50:44 1997 Richard Henderson <rth@cygnus.com>
2275
2276 * alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
2277 Patch from Klaus Kaempf <kkaempf@progis.de>.
2278
7581a30f
JW
2279Sun Oct 26 13:31:47 1997 Jim Wilson (wilson@cygnus.com)
2280
2281 * expr.c (expand_expr, case INDIRECT_REF): Optimize a reference
2282 to an element in a constant string.
2283
d84e64d4
JM
2284Sun Oct 26 11:41:49 1997 Jason Merrill <jason@yorick.cygnus.com>
2285
2286 * dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
2287 bit PC-relative offset. The exception range table pointer is now in
2288 the CIE.
2289 * frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
2290 (count_fdes, add_fdes, get_cie): Adjust.
2291 (cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.
2292
2293 From H.J. Lu:
2294 * frame.c (count_fdes, add_fdes): Skip linked once FDE entries.
2295
96286722
RH
2296Sun Oct 26 11:52:01 1997 Richard Henderson <rth@cygnus.com>
2297
2298 * alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just
2299 like stack_pointer_rtx.
2300
e85988b5
MH
2301Sun Oct 26 11:32:16 1997 Manfred Hollstein <manfred@s-direktnet.de>
2302
361e618f
MH
2303 * Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
2304 targets using "$@" to provide support for similar but not identical
2305 targets without having to duplicate code.
2306 (bootstrap4): New goal.
2307
e85988b5
MH
2308 * Makefile.in (compare, compare-lean, compare3): Combined to one
2309 ruleset determining actions to be performed via $@.
2310 (compare4, compare4-lean): New targets.
2311 (gnucompare, gnucompare3): Combined to one ruleset determining
2312 actions to be performed via $@. Also, note which files failed
2313 the comparison test in .bad_compare.
2314 (gnucompare-lean, gnucompare3-lean, gnucompare4-lean): New targets.
2315
91585c63
TM
2316Sun Oct 26 10:06:11 1997 Toon Moene <toon@moene.indiv.nluug.nl>
2317
2318 * fold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR
2319 if the dividend is a multiple of the divisor.
2320
da0af5a5
JL
2321Sun Oct 26 09:21:40 1997 Jeffrey A Law (law@cygnus.com)
2322
7337c67f
JL
2323 * Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.
2324
adb9effb 2325 * alias.c (find_base_term): Handle PRE_INC, PRE_DEC, POST_INC,
6d849a2a 2326 and POS_DEC.
6d849a2a
JL
2327
2328 * alias.c (true_dependence): Fix typo.
2329
6d6d0fa0
JL
2330 * toplev.c (flag_rerun_loop_opt): New variable.
2331 (f_options): Handle -frerun-loop-opt.
2332 (rest_of_compilation): If -frerun-loop-opt, then run the loop
2333 optimizer twice.
2334 (main): Enable -frerun-loop-opt by default for -O2 or greater.
2335
da0af5a5
JL
2336 * loop.c (simplify_giv_expr): Adding two invariants results
2337 in an invariant.
2338
ca0f2220
RH
2339Sun Oct 26 09:15:15 1997 Richard Henderson <rth@cygnus.com>
2340
2341 * expr.c (get_inner_reference): Remove the array bias after
2342 converting the index to Pmode.
2343
a6f7ba17
JL
2344Sat Oct 25 12:20:58 1997 Jeffrey A Law (law@cygnus.com)
2345
2346 * mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
2347 (TARGET_MULT_BUG): Define.
2348 (TARGET_DEFAULT): Default to TARGET_MULT_BUG.
2349 * mn10300.md (mulsi3): Handle TARGET_MULT_BUG.
2350
17ad8a3b
JL
2351Fri Oct 24 17:40:34 1997 Jeffrey A Law (law@cygnus.com)
2352
2353 * mn10200.c (indirect_memory_operand): Delete unused function.
2354 * mn10200.h (EXTRA_CONSTRAINT): Handle 'R'.
2355 * mn10200.md (bset, bclr insns): Handle output in a reg too.
2356
e16b49d3
RH
2357Fri Oct 24 15:54:57 1997 Richard Henderson <rth@cygnus.com>
2358
2359 * alpha.md (call patterns): Revert Oct 16 change; if we are to elide
2360 the callee's ldgp, we must do it ourselves, and we use the jsr tag
2361 for more than scheduling.
2362
27f65411
DE
2363Fri Oct 24 13:23:04 1997 Doug Evans <devans@canuck.cygnus.com>
2364
2365 * sparc/sparc.h (ASM_SPEC): Delete asm_arch.
2366
e9ad4573
JL
2367Fri Oct 24 13:19:40 1997 Jeffrey A Law (law@cygnus.com)
2368
2369 * mn10300.c (symbolic_operand, legitimize_address): New functions.
2370 * mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address.
2371 (GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic.
2372
66724f0a
JL
2373Thu Oct 23 09:35:12 1997 Jeffrey A Law (law@cygnus.com)
2374
2375 * version.c: Bump for snapshot.
2376
c401498b
R
2377Thu Oct 23 08:03:59 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
2378
2379 * dbxout.c (dbxout_start_new_source_file): Use output_quoted_string
2380 for FILENAME.
2381
b22b9b3e
JL
2382Wed Oct 22 00:34:12 1997 Jeffrey A Law (law@cygnus.com)
2383
56bf1fd9
JL
2384 * toplev.c (flag_exceptions): Default value is 2.
2385 (compile_file): If flag_exceptions still has the value 2, then
2386 set it to 0.
2387
a04232e5
JL
2388 * rs6000.c (struct machine_function): Add pic_offset_table_rtx.
2389 (rs6000_save_machine_status): Save pic_offset_table_rtx.
2390 (rs6000_restore_machine_status: Restore pic_offset_table_rtx.
2391
0bd83abd
JL
2392 * local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
2393 are shared.
2394
b22b9b3e
JL
2395 * rs6000.md (*movsi_got_internal_mem): New pattern.
2396 (*movsi_got_internal_mem splitter): New define_split.
2397
c1e385db
JW
2398Tue Oct 21 18:14:03 1997 Jim Wilson <wilson@cygnus.com>
2399
2400 * obstack.h (obstack_empty_p): Fix spurious space after backslash.
2401
1a986152
GK
2402Tue Oct 21 18:34:01 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
2403
2404 * rs6000.c: Avoid creating a stack frame under SYSV ABI if we
2405 only need to save LR.
2406
5d29a95f
JL
2407Tue Oct 21 10:06:40 1997 Jeffrey A Law (law@cygnus.com)
2408
c6ee9150
JL
2409 * mn10300.md (movqi, movhi): Avoid using address registers as
2410 destinations unless absolutely necessary.
2411
d5255ba2
JL
2412 * mn10200.c (expand_prologue): Fix typo.
2413
9d2128b8
JL
2414 * mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed
2415 addresses.
2416 * mn10200.md (neghi2): Provide an alternative which works if
2417 the input and output register are the same.
2418
576e5acc
JL
2419 * mn10300.c (print_operand): Handle 'S'.
2420 * mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for
2421 shift amount in last alternative
2422
5d29a95f
JL
2423 * mn10300.c (expand_epilogue): Rework to handle register restores
2424 in "ret" and "retf" instructions correctly.
2425
3bf1b082
JW
2426Mon Oct 20 16:47:08 1997 Jim Wilson <wilson@cygnus.com>
2427
2428 * expmed.c (extract_bit_field): Don't make flag_force_mem disable
2429 extzv for memory operands.
2430
2431 * cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
2432 redundant conditional moves to single operand.
2433
ddbd8d36
NC
2434Mon Oct 20 15:30:26 1997 Nick Clifton <nickc@cygnus.com>
2435
2436 * v850.h: Move define of __v850__ from CPP_PREDEFINES
2437 to CPP_SPEC.
2438
2439 * xm-v850.h: Use __v850 rather than __v850__ to
2440 identify v850 port.
2441
a944a4eb
JW
2442Mon Oct 20 14:15:02 1997 Jim Wilson <wilson@cygnus.com>
2443
2444 * mips/mips.c (compute_frame_size): Not a leaf function if
2445 profile_flag set.
2446
2d5b6dea
GK
2447Mon Oct 20 14:16:38 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
2448
2449 * rs6000/t-ppccomm: Use -msdata=none for crtstuff.
2450
f0a9fa6c
DE
2451Mon Oct 20 12:28:17 1997 Doug Evans <devans@canuck.cygnus.com>
2452
2453 * sparc/sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
2454 (DEFAULT_ARCH32_P): New macro.
2455 (TARGET_ARCH{32,64}): Allow compile time or runtime selection.
2456 (enum cmodel): Declare.
2457 (sparc_cmodel_string,sparc_cmodel): Declare.
2458 (SPARC_DEFAULT_CMODEL): Provide default.
2459 (TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}.
2460 (TARGET_FULLANY): Deleted.
2461 (TARGET_CM_MEDMID): New macro.
2462 (CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC.
2463 (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
2464 (CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch).
2465 (CPP_SPEC): Rewrite.
2466 (CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
2467 (CPP_{ENDIAN,SUBTARGET}_SPEC): New macros.
2468 (ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
2469 (ASM_SPEC): Add %(asm_arch).
2470 (EXTRA_SPECS): Rename cpp_default to cpp_cpu_default.
2471 Rename asm_default to asm_cpu_default.
2472 Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian,
2473 cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch.
2474 (NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH.
2475 ({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values.
2476 (MASK_INT64,MASK_LONG64): Delete.
2477 (MASK_ARCH64): Renamed to MASK_64BIT.
2478 (MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete.
2479 (EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG.
2480 (TARGET_SWITCHES): Always provide 64 bit options.
2481 (ARCH64_SWITCHES): Delete.
2482 (TARGET_OPTIONS): New option -mcmodel=.
2483 (INT_TYPE_SIZE): Always 32.
2484 (MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH.
2485 (INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_....
2486 (FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support.
2487 (PRINT_OPERAND_PUNCT_VALID_P): Add '_'.
2488 * sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by
2489 CPP_SPEC.
2490 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
2491 * sparc/linux.h: Likewise.
2492 * sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete.
2493 (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
2494 (TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT.
2495 (SPARC_DEFAULT_CMODEL): Define.
2496 (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
2497 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
2498 (LONG_DOUBLE_TYPE_SIZE): Define.
2499 (ASM_SPEC): Add %(asm_arch).
2500 * sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
2501 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
2502 (TARGET_CPU_DEFAULT): Add ultrasparc case.
2503 * sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete.
2504 (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.
2505 (SPARC_DEFAULT_CMODEL): Define.
2506 * sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete.
2507 (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT. Delete
2508 MASK_LONG64, MASK_MEDANY.
2509 (SPARC_DEFAULT_CMODEL): Define.
2510 (CPP_PREDEFINES): Delete.
2511 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
2512 (ASM_SPEC): Add %(asm_arch).
2513 (LONG_DOUBLE_TYPE_SIZE): Define.
2514 (DWARF2_DEBUGGING_INFO): Define.
2515 * sparc/splet.h (CPP_SPEC): Delete.
2516 * sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
2517 (FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support.
2518 (BLOCK_PROFILER): Likewise.
2519 * sparc/sparc.c (sparc_cmodel_string,sparc_cmodel): New globals.
2520 (sparc_override_options): Handle code model selection.
2521 (sparc_init_expanders): Renamed from sparc64_init_expanders.
2522 * sparc/sparc.md: TARGET_<code_model> renamed to TARGET_CM_....
2523 TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY.
2524 (sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_....
2525 (sethi_di_fullany): Delete.
2526
a3b0df2d
KK
2527Mon Oct 20 02:00:18 1997 Klaus Kaempf <kkaempf@progis.de>
2528 Jeff Law <law@cygnus.com>
2529 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2530
3a133c72
KK
2531 * alpha/vms.h (DIVSI3_LIBCALL): OTS$ functions are upper case.
2532 (DIVDI3_LIBCALL, UDIVSI3_LIBCALL, UDIVDI3_LIBVALL): Likewise.
2533 (MODSI3_LIBCALL, MODDI3_LIBCALL): Likewise.
2534 (UMODSI3_LIBCALL, UMODDI3_LIBCALL): Likewise.
2535 * alpha/alpha.md (arg_home): Likewise.
2536
a3b0df2d
KK
2537 * alpha/alpha.c (vmskrunch): Delete
2538 * alpha/vms.h (ENCODE_SECTION_INFO, ASM_DECLARE_FUNCTION_NAME): Delete.
2539 * alpha.c (output_prolog, VMS): Use alloca for entry_label and don't
2540 truncate to 64 characters.
2541
2542 * make-l2.com: Support openVMS/Alpha.
2543
2544 * vmsconfig.com: Fix to work on openVMS/Alpha and openVMS/VAX.
2545
7d4f2e6c
R
2546Sun Oct 19 19:00:35 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
2547
2548 * longlong.h (count_leading_zeros): Add missing casts to USItype.
2549
decd44ac
JL
2550Sun Oct 19 18:44:06 1997 Jeffrey A Law (law@cygnus.com)
2551
2552 * i386/bsd386.h (ASM_COMMENT_START): Define.
2553
d1485032
JM
2554Sat Oct 18 13:47:15 1997 Jason Merrill <jason@yorick.cygnus.com>
2555
2556 * tree.c (restore_tree_status): Also free up temporary storage
2557 when we finish a toplevel function.
2558 (dump_tree_statistics): Print stats for backend obstacks.
2559
6bd35f86
DE
2560Sat Oct 18 12:47:31 1997 Doug Evans <dje@canuck.cygnus.com>
2561
2562 * expr.c (use_group_regs): Don't call use_reg for MEMs.
2563
d1485032
JM
2564Sat Oct 18 09:49:46 1997 Jason Merrill <jason@yorick.cygnus.com>
2565
2566 * libgcc2.c (__throw): Don't copy the return address.
2567 * dwarf2out.c (expand_builtin_dwarf_reg_size): Ignore return address.
2568
2569 * except.c (exceptions_via_longjmp): Initialize to 2 (uninitialized).
2570 * toplev.c (main): Initialize exceptions_via_longjmp.
2571
2572 * tree.c: Add extra_inline_obstacks.
2573 (save_tree_status): Use it.
2574 (restore_tree_status): If this is a toplevel inline obstack and we
2575 didn't want to save anything on it, recycle it.
2576 (print_inline_obstack_statistics): New fn.
2577 * function.c (pop_function_context_from): Pass context to
2578 restore_tree_status.
2579 * obstack.h (obstack_empty_p): New macro.
2580
6981eacf
JL
2581Sat Oct 18 00:43:59 1997 Jeffrey A Law (law@cygnus.com)
2582
2583 * i386/freebsd.h (ASM_COMMENT_START): Fix.
2584
1933ec7e
JW
2585Fri Oct 17 23:48:52 1997 Jim Wilson (wilson@cygnus.com)
2586
2587 * v850.c (ep_memory_offset): New function.
2588 (ep_memory_operand, substitute_ep_register, v850_reorg): Call it.
2589
2590 * v850.h (CONST_OK_FOR_*): Add and correct comments.
2591 (CONSTANT_ADDRESS_P): Add comment.
2592 (EXTRA_CONSTRAINT): Define 'U'.
2593 * v850.md: Add comments on bit field instructions.
2594 (addsi3): Delete &r/r/r alternative. Add r/r/U alternative.
2595 (lshrsi3): Use N not J constraint.
2596
2597 * v850.md (v850_tst1+1): New define_split for tst1 instruction.
2598
2599 * v850.c (reg_or_0_operand): Call register_operand.
2600 (reg_or_int5_operand): Likewise.
2601 * v850.h (MASK_BIG_SWITCH, TARGET_BIG_SWITCH): New macros.
2602 (TARGET_SWITCHES): Add "big-switch".
2603 (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE,
2604 ASM_OUTPUT_BEFORE_BASE_LABEL): Add support for TARGET_BIG_SWITCH.
2605 (CASE_DROPS_THROUGH): Comment out.
2606 (CASE_VECTOR_PC_RELATIVE, JUMP_TABLES_IN_TEXT_SECTION): Define.
2607 * v850.md (cmpsi): Delete compare mode.
2608 (casesi): New pattern.
2609
2610 * v850.h (CONST_OK_FOR_N): Delete redundant compare against zero.
2611 * v850.md (ashlsi3): Use SImode not QImode for shift count.
2612 (lshrsi3): Likewise.
2613
2614 * v850.c (print_operand): Add 'c', 'C', and 'z' support. Delete
2615 unreachable switch statement after 'b' support. Remove "b" from
2616 strings for 'b' support.
2617 * v850.md (branch_normal, branch_invert): Change %b to b%b.
2618
13c2de98
JL
2619Fri Oct 17 23:33:20 1997 Jeffrey A Law (law@cygnus.com)
2620
2621 * Makefile.in (LIBGCC2_CFLAGS): Avoid a backslash then an
2622 empty line if @inhibit_libc@ is empty.
2623
b2167bee
RL
2624Fri Oct 17 23:24:40 1997 Robert Lipe (robertl@dgii.com)
2625
2626 * i386/sco5.h: Let ELF use dwarf2 unwinding. COFF uses sjlj.
2627 (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Defined.
2628 (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
2629 (DWARF2_UNWIND_INFO): Let this track object file format.
2630 (EXTRA_SECTIONS): Add in_eh.
2631 (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Define.
2632 (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
2633
bf2a2c6b
DM
2634Fri Oct 17 17:13:42 1997 David S. Miller <davem@tanya.rutgers.edu>
2635
2636 * sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
da2a90f7
DM
2637 * sparc/sparc.h (FUNCTION_PROFILER): Fix format string when
2638 TARGET_MEDANY.
f4f8e370
DE
2639 * sparc/sparc.c (dwarf2out_cfi_label): Extern no longer needed.
2640 (output_double_int): Output DI mode values correctly when
2641 HOST_BITS_PER_WIDE_INT is 64.
9d162eb2
DE
2642 (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
2643 fmovd so it works if a quad float ends up in one of the upper 32
2644 float regs.
7e37212e
DM
2645 * sparc/sparc.md (pic_{lo_sum,sethi}_di): New patterns
2646 necessary for PIC support on sparc64.
bf2a2c6b 2647
9ff84e67
DE
2648Fri Oct 17 13:39:56 1997 Doug Evans <dje@canuck.cygnus.com>
2649
2650 * sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
2651 * sparc/sparc.h (PROMOTE_MODE): Promote small ints if arch64.
2652 (PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
2653 (SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
2654 (SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
2655 (SPARC_FP_ARG_FIRST): New macro.
2656 (CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
2657 (REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
2658 (NPARM_REGS): There are 32 fp argument registers now.
2659 (FUNCTION_ARG_REGNO_P): Likewise.
2660 (FIRST_PARM_OFFSET): Update to new v9 abi.
2661 (REG_PARM_STACK_SPACE): Define for arch64.
2662 (enum sparc_arg_class): Delete.
2663 (sparc_arg_count,sparc_n_named_args): Delete.
2664 (struct sparc_args): Redefine and use for arch32 as well as arch64.
2665 (GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
2666 (FUNCTION_ARG_ADVANCE): Rewrite.
2667 (FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
2668 (FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
2669 (FUNCTION_ARG_CALLEE_COPIES): Delete.
2670 (FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
2671 (STRICT_ARGUMENT_NAMING): Define.
2672 (doublemove_string): Declare.
2673 * sparc/sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
2674 (single_move_string): Use GEN_INT, and HOST_WIDE_INT.
2675 (doublemove_string): New function.
2676 (output_move_quad): Clean up some of the arch64 support.
2677 (compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
2678 Don't add 8 bytes of reserved space if arch64.
2679 (sparc_builtin_saveregs): Combine arch32/arch64 versions.
2680 (init_cumulative_args): New function.
2681 (function_arg_slotno): New static function.
2682 (function_arg,function_arg_partial_nregs): New functions.
2683 (function_arg_{pass_by_reference,advance}): New functions.
2684 (function_arg_padding): New function.
c1215820 2685 * ginclude/va-sparc.h: Rewrite v9 support.
9ff84e67 2686
b8fb2d72
CI
2687Fri Oct 17 12:29:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
2688
f22376c7
CI
2689 * regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P
2690 for hard regs to determine base and index registers.
2691
b8fb2d72
CI
2692 * reload.c (debug_reload_to_stream): New function. Specify stream
2693 into which to write debug info.
2694 (debug_reload): Modify to call debug_reload_to_stream with stderr.
2695
b79ee7eb
RH
2696Thu Oct 16 15:07:51 1997 Richard Henderson <rth@cygnus.com>
2697
2698 * combine.c (can_combine_p): Don't combine with an asm whose
2699 output is a hard register.
2700
5c19a356
MS
2701Thu Oct 16 15:43:26 1997 Mike Stump (mrs@wrs.com)
2702
2703 * c-decl.c (start_struct): Ensure that structs with forward
2704 declarations are in fact packed when -fpack-struct is given.
2705
2706 * stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
2707 we are packing a structure. This allows a structure with only
2708 bytes to be aligned on a byte boundary and have no padding on a
2709 m68k.
2710
02bef6da
RK
2711Thu Oct 16 15:17:54 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2712
2713 * rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
2714
9ecc37f0
RH
2715Thu Oct 16 11:20:30 1997 Richard Henderson <rth@cygnus.com>
2716
2717 * alpha.c (alpha_return_addr_rtx): New variable.
2718 (alpha_save_machine_status): New; save it.
2719 (alpha_restore_machine_status): New; restore it.
2720 (alpha_init_expanders): New; clear it.
2721 (alpha_return_addr): New; set it.
2722 (alpha_ra_ever_killed): New; if alpha_return_addr_rtx, regs_ever_live
2723 is overly conservative, so search the insns explicitly.
2724 (alpha_sa_mask [VMS]): Check alpha_ra_ever_killed.
2725 (alpha_sa_size [VMS && !VMS]): Likewise.
2726 * alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr.
2727 (INIT_EXPANDERS): New definition.
2728
2729 * alpha.c: Move REG_PV, REG_RA somewhere more visible in the file.
2730 (output_prolog [!VMS]): Use them.
2731
2732 * alpha.c (output_prolog [!VMS]): Move gp detection to ...
2733 (alpha_does_function_need_gp): ... a new function. Refine the
2734 CALL_INSN test to just TYPE_JSR.
2735 * alpha.md (most call insns): Fix some jsr/ibr type transpositions.
2736
bda2ffef
JL
2737Thu Oct 16 09:36:47 1997 Jeffrey A Law (law@cygnus.com)
2738
2739 * version.c: Bump for snapshot.
2740
96b63cd7
RK
2741Wed Oct 15 21:38:18 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2742
2743 * pa.c (move_operand): Respect -mdisable-indexing.
2744 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
2745
f192bf8b
DE
2746Wed Oct 15 21:34:45 1997 David Edelsohn <edelsohn@mhpcc.edu>
2747
2748 * rs6000.md (udivsi3, divsi3): Split into MQ and non-MQ cases for
2749 PPC601.
2750 (umulsidi3,umulsi3_highpart): Ditto.
2751 (smulsi3_highpart_no_mq): Add !TARGET_POWER.
2752
2ea844d3
RH
2753Wed Oct 15 18:21:46 1997 Richard Henderson <rth@cygnus.com>
2754
2755 * alpha.c (final_prescan_insn): Gut, remove and transform to ...
2756 (alpha_handle_trap_shadows): ... a new function. Handle the entire
2757 function in one go. Emit RTL for trapb, instead of printf directly.
2758 (alpha_reorg): New function. Call alpha_handle_trap_shadows.
2759 (trap_pending): Kill global variable.
2760 (output_epilog): Don't call final_prescan_insn.
2761 (struct shadow_summary): Elide $31 and $f31; now it fits in a word.
2762 * alpha.h (FINAL_PRESCAN_INSN): Remove.
2763 (MACHINE_DEPENENT_REORG): Define.
2764 * alpha.md (jsr patterns with trapb): Stupid and useless. Kill.
2765 (trapb): New insn.
2766
74835ed8
RH
2767Wed Oct 15 18:16:05 1997 Richard Henderson <rth@cygnus.com>
2768
2769 Tune Haifa scheduler for Alpha:
2770 * alpha.h (ISSUE_RATE): Define.
2771 * alpha.c (alpha_adjust_cost): Handle EV5 mult delay; don't apply
2772 EV4 adjustments to EV5.
2773 * alpha.md: Remove all scaling from function unit delays. Rework
2774 EV5 function units to match the CPU.
2775 (umuldi3_highpart): EV5 added the IMULH insn class.
2776
cdc0de30
JL
2777Wed Oct 15 17:42:41 1997 Jeffrey A Law (law@cygnus.com)
2778
2779 * pa.c (following_call): Fail if the CALL_INSN is an indirect
2780 call.
2781
041c97f2
MM
2782Tue Oct 14 12:01:00 1997 Mark Mitchell <mmitchell@usa.net>
2783
2784 * cplus-dem.c (demangle_signature): Don't look for return types on
2785 constructors. Handle member template constructors.
2786
f0632762
JM
2787Tue Oct 14 11:30:29 1997 Jason Merrill <jason@yorick.cygnus.com>
2788
2789 * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
22ef8a13 2790 * tree.h: Declare them.
f0632762 2791
dec88383
DE
2792Fri Oct 10 13:46:56 1997 Doug Evans <dje@canuck.cygnus.com>
2793
2794 * configure.in: Handle --with-newlib.
2795 * Makefile.in (LIBGCC2_CFLAGS): Add @inhibit_libc@.
2796
2797 * sparc/t-sp64 (LIBGCC2_CFLAGS): Delete.
2798
0e1f3f5e
JL
2799Wed Oct 8 14:37:44 1997 Jeffrey A Law (law@cygnus.com)
2800
2801 * config/ptx4.h: Fix typo.
2802
12504ae0
JL
2803Wed Oct 8 08:57:20 1997 Jeffrey A Law (law@cygnus.com)
2804
2805 * version.c: Bump for snapshot.
2806
5643c767
MH
2807Tue Oct 7 16:27:34 1997 Manfred Hollstein <manfred@s-direktnet.de>
2808
2809 * aclocal.m4: Substitute INSTALL.
2810 * configure: Re-built.
2811
aa0c1401
JL
2812Tue Oct 7 15:37:35 1997 Jeffrey A Law (law@cygnus.com)
2813
f644bd14
JL
2814 * integrate.c (save_for_inline_copying): Avoid undefined pointer
2815 operations.
2816 (expand_inline_function): Likewise.
2817
aa0c1401
JL
2818 * dwarf2out.c (output_call_frame_info): Reinstate last change
2819 using flag_debug_asm check instead of flag_verbose_asm.
2820
6c2df6c9
JW
2821Tue Oct 7 12:57:26 1997 Jim Wilson <wilson@cygnus.com>
2822
2823 * dwarf2out.c (output_call_frame_info): Remove last change.
2824
13ab2b83
AS
28251997-10-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2826
2827 * frame.c (__frame_state_for): Execute the FDE insns until the
2828 current pc value is strictly bigger than the target pc value.
2829
066c2fea
JM
2830Tue Oct 7 11:00:42 1997 Jason Merrill <jason@yorick.cygnus.com>
2831
2832 * regclass.c (init_reg_modes): If we can't find a mode for the
2833 register, use the previous one.
2834
2f308fec
RH
2835Tue Oct 7 10:55:34 1997 Richard Henderson <rth@cygnus.com>
2836
2837 * haifa-sched.c (print_block_visualization): Call fprintf directly,
2838 don't sprintf through an alloca'ed buffer.
2839
43984e29
TK
2840Tue Oct 7 10:52:29 1997 Thomas Koenig (ig25@rz.uni-karlsruhe.de)
2841
2842 * reload.c (decompose): Always initialize val.base.
2843
e9e30253
MH
2844Tue Oct 7 10:19:26 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
2845
2846 * m68k/mot3300.h (ASM_OUTPUT_ALIGN): Accept any alignment
2847 instead of aborting.
2848 * dwarf2out.c (output_call_frame_info): Call app_enable and
2849 app_disable to let GNU as accept the generated comments.
2850
496651db
MM
2851Tue Oct 7 11:41:21 1997 Michael Meissner <meissner@cygnus.com>
2852
2853 * tree.h (get_file_function_name): Add declaration.
2854 * dwarf2out.c (output_call_frame_info): No need to cast
2855 get_file_function_name call anymore.
2856 * profile.c (toplevel): Remove get_file_function_name
2857 declaration.
2858 * c-lang.c (finish_file): Ditto.
2859
e6347456
CS
2860Tue Oct 7 10:01:45 1997 Chip Salzenberg <chip@rio.atlantic.net>
2861
2862 * Makefile.in (program_transform_name): Let autoconf substitute
2863 the correct value.
2864
1447b516
JL
2865Tue Oct 7 09:54:35 1997 Jeffrey A Law (law@cygnus.com)
2866
2867 * haifa-sched.c (schedule_block): If the first real insn in a
2868 block has any special notes attached to it, remove them.
2869
1a42ead7
RH
2870Tue Oct 7 09:48:51 1997 Richard Henderson <rth@cygnus.com>
2871
2872 * alpha.h (FLOAT_STORE_FLAG_VALUE): It's 2.0 not 0.5.
2873
4b6140f1
MH
2874Mon Oct 6 12:47:32 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
2875
2876 * m88k.c (m88k_begin_prologue): Remove superfluous backslash.
2877
dc84d7bc
JL
2878Mon Oct 6 12:04:24 1997 Jeffrey A Law (law@cygnus.com)
2879
2880 * Makefile.in (check-g77): New test target.
2881 (CHECK-TARGETS): Add check-g77.
2882
c0da11c4
JM
2883Fri Oct 3 11:56:36 1997 Jason Merrill <jason@yorick.cygnus.com>
2884
2885 * toplev.c (rest_of_compilation): Defer all non-nested inlines.
2886
d8d64559
MM
2887Fri Oct 3 15:49:27 1997 Michael Meissner <meissner@cygnus.com>
2888
2889 * flow.c (print_rtl_with_bb): Cast alloca return value for
2890 in_bb_p.
2891
e414ab29
RH
2892Thu Oct 2 21:15:03 1997 Richard Henderson <rth@cygnus.com>
2893
2894 * i386.h (RETURN_ADDR_RTX): New definition that works for
2895 __builtin_return_address(0) and -fomit-frame-pointer.
2896
15039abe
JW
2897Wed Oct 1 13:43:53 1997 Jim Wilson <wilson@cygnus.com>
2898
2899 Bring over from FSF.
2900 Tue Aug 5 16:10:45 1997 Jason Merrill <jason@yorick.cygnus.com>
2901
2902 * mips.c (function_arg): Handle passing a struct
2903 containing a double in a DFmode register without the PARALLEL.
2904
281de624
ILT
2905Wed Oct 1 11:13:25 1997 Ian Lance Taylor <ian@cygnus.com>
2906
d8d64559 2907 * pexecute.c: Use spawn if __CYGWIN32__.
281de624 2908
d8d64559 2909 * pexecute.c: Include "config.h" first, as per autoconf manual
281de624
ILT
2910 (from Paul Eggert <eggert@twinsun.com>).
2911
3cbdd5fc
PDM
2912Wed Oct 1 01:44:36 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
2913
2914 * m68k/x-mot3300 (XCFLAGS): Disable as's long/short jump
2915 optimisation for f/expr.o and f/stb.o.
2916
135d84b8
JL
2917Tue Sep 30 23:48:57 1997 Jeffrey A Law (law@cygnus.com)
2918
2919 * cse.c (this_insn_cc0_mode): Initialize.
2920
55d89719
TK
2921Tue Sep 30 23:09:40 1997 Thomas Koenig <ig25@mvmap66.ciw.uni-karlsruhe.de>
2922
d3878e49
TK
2923 * cccp.c (expand_to_temp_buffer): Initialize all members of obuf.
2924
2925 * haifa-sched.c (get_block_head_tail): Remove unneeded initialization.
55d89719 2926
e9d0757e
RH
2927Tue Sep 30 23:06:43 1997 Richard Henderson <rth@cygnus.com>
2928
2929 * alpha.md (beq): For registers and ints 0-255, use cmpeq+bne, since
2930 that pair will dual-issue on the 21164 and plus+beq won't.
2931 (bne): Likewise for cmpeq+beq.
2932
3f34faec
JW
2933Tue Sep 30 16:07:58 1997 Jim Wilson <wilson@cygnus.com>
2934
2935 * except.c (find_exception_handler_labels): Correct argument to free.
2936
3226dac5 2937Tue Sep 30 11:00:00 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
988cea7d
BK
2938
2939 * except.c (find_exception_handler_labels): Free LABELS when we're
2940 done.
2941
3a6eabfa
JL
2942Mon Sep 29 14:04:35 1997 Jeffrey A Law (law@cygnus.com)
2943
2944 * version.c: Bump for snapshot.
2945
974c50f9
JM
2946Mon Sep 29 10:51:53 1997 Jason Merrill <jason@yorick.cygnus.com>
2947
2948 * flow.c (find_basic_blocks): Mark calls as potentially jumping
2949 to the EH labels.
2950
9b16d2c4
JL
2951Mon Sep 29 09:58:06 1997 Jeffrey A Law (law@cygnus.com)
2952
2953 * configure.in: Substitute for "install" too.
2954 * configure: Rebuilt.
2955
b1e3ddfd
AJ
2956Mon Sep 29 00:38:42 1997 Aaron Jackson <jackson@negril.msrce.howard.edu>
2957
2958 * Makefile.in (bootstrap-lean, compare-lean): New targets.
2959
6662a38d
RH
2960Mon Sep 29 00:18:16 1997 Richard Henderson (rth@cygnus.com)
2961
c02f035f
RH
2962 * alias.c (base_alias_check): Two symbols can conflict if they
2963 are accessed via AND.
2964 (memrefs_conflict_p): Likewise.
2965
7a14fdc5
RH
2966 * alpha.h (SETUP_INCOMING_VARARGS): Emit a blockage insn
2967 after flushing argument registers to the stack.
2968
6662a38d
RH
2969 * Makefile.in (mostlyclean): Remove .regmove files.
2970
f3447109
JM
2971Sun Sep 28 18:59:58 1997 Jason Merrill <jason@yorick.cygnus.com>
2972
2973 * libgcc2.c (__throw): Fix thinko.
2974
37f6b6bf
MM
2975Sun Sep 28 12:00:52 1997 Mark Mitchell <mmitchell@usa.net>
2976
2977 * cplus-dem.c (demangle_template): Add new parameter. Handle new
2978 template-function mangling.
2979 (consume_count_with_underscores): New function.
2980 (demangle_signature): Handle new name-mangling scheme.
2981
adfc539e
PDM
2982Sun Sep 28 01:55:04 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
2983
2984 * flow.c (print_rtl_with_bb): Cast alloca return values for variables
2985 start and end.
2986
92cbe4d2
JL
2987Sun Sep 28 01:05:16 1997 Jeffrey A Law (law@cygnus.com)
2988
2989 * frame.c: Remove last change.
2990 * dwarf2.h: Remove last change.
2991 * tree.h: Add declarations of DWARF2 unwind info support
2992 functions.
2993
2f3ca9e7
JM
2994Sat Sep 27 11:02:38 1997 Jason Merrill <jason@yorick.cygnus.com>
2995
2996 * c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size.
2997 * tree.h (built_in_function): Likewise.
2998 * expr.c (expand_builtin): Likewise.
2999 * except.h: Likewise.
3000 * dwarf2out.c (expand_builtin_dwarf_reg_size): New fn.
3001 * libgcc2.c (copy_reg): New fn.
3002 (__throw): Use it.
3003
407cb092
PE
3004Fri Sep 26 08:54:59 1997 Paul Eggert <eggert@twinsun.com>
3005
3006 * c-typeck.c (build_binary_op): Warn about comparing signed vs
3007 unsigned if -W is specified and -Wno-sign-compare is not.
3008 * c-decl.c (warn_sign_compare): Initialize to -1.
3009 (c_decode_option): -Wall no longer implies -Wsign-compare.
3010
3ba10494
AS
3011Fri Sep 26 09:00:13 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3012
a7cc7f29
AS
3013 * frame.c: Include gansidecl.h for PROTO.
3014 * dwarf2out.c: Move inclusion of dwarf2.h down so that PROTO is
3015 defined. Don't declare dwarf2out_cfi_label here.
3016 * dwarf2.h: Add declarations of DWARF2 unwind info support
3017 functions.
3018 * m68k.c: Include dwarf2.h.
3019 (output_function_prologue): Add dwarf2 support.
3020 * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros.
3021 (INCOMING_FRAME_SP_OFFSET): Likewise.
3022
3ba10494
AS
3023 * integrate.c (expand_inline_function): Make sure there is at
3024 least one insn that can be used as an insertion point.
3025
c5cec899
JM
3026Wed Sep 24 21:34:06 1997 Jason Merrill <jason@yorick.cygnus.com>
3027
3028 * dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
3029
e166cb18
JL
3030Wed Sep 24 22:05:30 1997 Jeffrey A Law (law@cygnus.com)
3031
3032 * version.c: Bump for snapshot.
3033
01a94cba
DE
3034Wed Sep 24 17:36:23 1997 Doug Evans <dje@canuck.cygnus.com>
3035
3036 Bring over from FSF.
3037
3038 Wed Sep 24 19:17:08 1997 Doug Evans <dje@cygnus.com>
3039
3040 * sparc/sparc.md (get_pc_via_call): Renamed from get_pc_sp32.
3041 (get_pc_via_rdpc): Renamed from get_pc_sp64.
3042 * sparc/sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
3043
3044 Wed Sep 24 18:38:22 1997 David S. Miller <davem@tanya.rutgers.edu>
3045
3046 * sparc/sparc.h (ASM_CPU_SPEC): Pass -Av9a for v8plus, ultrasparc.
3047 (TARGET_OPTIONS): Add -malign-loops=, -malign-jumps=,
3048 -malign-functions=.
3049 (sparc_align_{loops,jumps,funcs}_string): Declare.
3050 (sparc_align_{loops,jumps,funcs}): Declare.
3051 (DEFAULT_SPARC_ALIGN_FUNCS): New macro.
3052 (FUNCTION_BOUNDARY): Use sparc_align_funcs.
3053 (STACK_BIAS): Define.
3054 (SPARC_SIMM*_P): Cast to unsigned HOST_WIDE_INT first, then perform
3055 test.
3056 (SPARC_SETHI_P): New macro.
3057 (CONST_OK_FOR_LETTER_P): Use it.
3058 (ASM_OUTPUT_ALIGN_CODE): Define.
3059 (ASM_OUTPUT_LOOP_ALIGN): Define.
3060 * sparc/sparc.c (sparc_align_{loops,jumps,funcs}_string): New globals.
3061 (sparc_align_{loops,jumps,funcs}): New globals.
3062 (sparc_override_options): Handle -malign-loops=, -malign-jumps=,
3063 -malign-functions=.
3064 (move_operand): Use SPARC_SETHI_P.
3065 (arith_double_operand): Cast to unsigned HOST_WIDE_INT first, then
3066 perform test.
3067 (arith11_double_operand): Likewise.
3068 (arith10_double_operand): Likewise.
3069 (finalize_pic): Finish sparc64 support.
3070 (emit_move_sequence): Use SPARC_SETHI_P. Simplify low part of
3071 64 bit constants if able.
3072 (output_fp_move_quad): Don't use fmovq unless TARGET_HARD_QUAD.
3073 (sparc_builtin_saveregs, sparc64 case): Don't save fp regs if
3074 ! TARGET_FPU.
3075 * sparc/sparc.md (*): Use GEN_INT instead of gen_rtx.
3076 (get_pc_sp32): Use for sparc64 as well.
3077 (lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts.
3078 (sethi_di_sp64_const): Likewise.
3079 (movtf_cc_sp64): Check TARGET_HARD_QUAD.
3080 (cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in cast.
3081 (ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
3082
3083 Tue Sep 23 19:02:46 1997 Doug Evans <dje@cygnus.com>
3084
3085 * sparc/linux-aout.h (COMMENT_BEGIN): Delete.
3086 * sparc/linux.h (COMMENT_BEGIN): Likewise.
3087 * sparc/linux64.h (COMMENT_BEGIN): Likewise.
3088
3089 Tue Sep 23 14:48:18 1997 David S. Miller <davem@tanya.rutgers.edu>
3090
3091 Add sparc64 linux support.
3092 * configure.in (sparc64-*-linux*): Recognize. Add sparc/xm-sparc.h
3093 to xm_file list on 32-bit sparc-linux.
3094 * sparc/xm-sp64.h: New file.
3095 * sparc/linux64.h: New file.
3096 * sparc/xm-linux.h: Include some standard headers if not inhibit_libc.
3097 Don't include xm-sparc.h.
3098 * config/xm-linux.h (HAVE_PUTENV, HAVE_ATEXIT): Define.
3099 * glimits.h (LONG_MAX): Handle sparc64.
3100
3101 Sat Sep 20 03:07:54 1997 Doug Evans <dje@cygnus.com>
3102
3103 * sparc/sysv4.h (ASM_COMMENT_START): Delete.
3104 * sparc.h (ASM_COMMENT_START): Define.
3105 * sparc.c (output_function_prologue): Use it.
3106 (sparc_flat_output_function_{epi,pro}logue): Likewise.
3107
3108 Wed Sep 17 15:04:19 1997 Doug Evans <dje@cygnus.com>
3109
3110 * sparc/sysv4.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Delete,
3111 use sparc.h's copies.
3112 * sparc/sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Print
3113 ascii form as well.
3114
3115 Mon Sep 8 08:45:19 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3116
3117 * sparc.c (dwarf2out_cfi_label): Add declaration.
3118 (save_regs, output_function_prologue): Remove cast for it.
3119 (sparc_flat_{save_restore,output_function_prologue): Likewise.
3120 ({save,restore}_regs): No longer inline.
3121
ce2157a1
JL
3122Tue Sep 23 12:34:51 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3123
3124 * fold-const.c (make_range): Correctly handle cases of converting
3125 from unsigned to signed type.
3126
3127Tue Sep 23 12:34:51 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
3128
3129 * fold-const.c (merge_ranges): Make sure that if one range is subset
3130 of another, it will always be the second range. Correct (+,-) case to
3131 account for this.
3132
c5cec899
JM
3133Tue Sep 23 08:32:51 1997 Jason Merrill <jason@yorick.cygnus.com>
3134
3135 * final.c (final_end_function): Also do dwarf2 thing if
3136 DWARF2_DEBUGGING_INFO.
3137 (final_start_function): Likewise.
3138
c107334d
DM
3139Tue Sep 23 01:15:50 1997 David S. Miller <davem@tanya.rutgers.edu>
3140
e13a25d5
DM
3141 * expmed.c (expand_divmod): If compute_mode is not the same as
3142 mode, handle the case where convert_modes() causes op1 to no
3143 longer be a CONST_INT.
3144
c107334d
DM
3145 * reorg.c (dbr_schedule): At end of this pass, add REG_BR_PRED
3146 note holding get_jump_flags() calculation to all JUMP_INSNs.
3147 * rtl.h (enum reg_note): New note types REG_BR_PRED and REG_SAVE_AREA.
3148 * rtl.c (reg_note_name): Add new note types.
3149
8d7532d9
JL
3150Tue Sep 23 00:59:54 1997 Jeffrey A Law (law@cygnus.com)
3151
0774afd7 3152 * rtlanal.c (computed_jump_p): Fix typo in last change.
8d7532d9 3153
7019d00e
L
3154Tue Sep 23 00:42:44 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
3155
3156 * loop.c (indirect_jump_in_function_p): Return 0
3157 by default.
3158
b9dfb357
JL
3159Tue Sep 23 00:33:55 1997 Jeffrey A Law (law@cygnus.com)
3160
3161 * rs6000/xm-rs6000.h: Fix thinko in last change.
3162 * rs6000/xm-sysv4.h: Likewise.
3163
4b7e467b
JW
3164Mon Sep 22 19:33:53 1997 Jim Wilson <wilson@cygnus.com>
3165
3166 * mips.c (save_restore_insns): Only set RTX_FRAME_RELATED_P if store_p.
3167
8c8e6faa
JL
3168Mon Sep 22 14:41:00 1997 Jeffrey A Law (law@cygnus.com)
3169
3170 * reg-stack.c (find_blocks): Fix thinko in last change.
3171
078e983e
AS
31721997-09-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3173
3174 * m68k.c (output_function_prologue): Add dwarf2 support.
3175
3176 * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM,
3177 INCOMING_FRAME_SP_OFFSET): New definitions.
3178
d7027667
DM
3179Mon Sep 22 11:36:42 1997 David S. Miller <davem@tanya.rutgers.edu>
3180
9524f769
DM
3181 * combine.c (try_combine): Use NULL_RTX instead of '0' where
3182 appropriate in calls to gen_rtx().
3183 * cse.c (cse_main): Likewise.
3184 * emit-rtl.c (gen_label_rtx): Likewise.
3185 * expr.c (init_expr_once): Likewise.
3186 * haifa-sched.c (flush_pending_lists, sched_analyze_insn,
3187 sched_analyze, init_rgn_data_dependences,
3188 compute_block_backward_dependences): Likewise.
3189 * sched.c (schedule_insns): Likewise.
3190 * varasm.c (immed_double_const): Likewise.
3191
d7027667
DM
3192 * sparc.h (INCOMING_FRAME_SP_OFFSET): Define to
3193 SPARC_STACK_BIAS for sake of dwarf2 on sparc64.
3194
fbf8b71c
KJ
3195Mon Sep 22 11:21:33 1997 J. Kean Johnston <jkj@sco.com>
3196
3197 * i386/sco5.h: Make ELF default file format and add -mcoff/-melf..
3198 (MULTILIB_DEFAULTS): Define.
3199 (ASM_SPEC, CPP_SPEC): Handle -mcoff.
3200 (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
3201 (LIBGCC_SPEC): Likewise.
3202 (MASK_COFF, TARGET_COFF, TARGET_ELF): Define.
3203 (SUBTARGET_SWITCHES): Add -mcoff and -melf.
3204 * i386/t-sco5 (CRTSTUFF_T_CFLAGS): Add -fPIC.
3205 (CRTSTUFF_T_CFLAGS_S): Tweak for COFF.
3206 (EXTRA_PARTS, TAROUTOPTS): Delete.
3207 (libgcc1-elf, libgcc2-elf, libgcc-elf targets): Delete.
3208 (MULTILIB_OPTIONS): Define.
3209 (MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Likewise.
3210 (MULTILIB_MATCHE, MULTILIB_EXTRA_OPTS): Likewise.
3211
c14a951f
JL
3212Mon Sep 22 02:10:43 1997 Jeffrey A Law (law@cygnus.com)
3213
3214 * version.c: Bump for snapshot.
3215
7014927a
JL
3216Sun Sep 21 17:45:45 1997 Jeffrey A Law (law@cygnus.com)
3217
37aa45a2
JL
3218 * loop.c (loop_number): Delete function. Change all references
3219 to use uid_loop_num array.
3220 * loop.h (loop_number): Delete declaration.
3221 * unroll.c (unroll_loop): Change "loop_number" references to
3222 use uid_loop_num instead.
3223
b47404d1
JL
3224 * loop.c (loop_unroll_factor): Move outside #ifdef HAIFA
3225 conditional.
3226 (loop_unroll_iter): Remove unused variable and all references.
3227 (loop_optimize): Always allocate and clear space for loop_unroll_factor.
3228 (insert_bct): Fix minor formatting problems.
3229 * loop.h (loop_unroll_factor): Move decl outside #ifdef HAIFA.
3230 (loop_unroll_iter): Removed unused decl.
3231 * unroll.c (unroll_loop): Remove code to set loop_unroll_iter.
3232 Always record the unrolling factor.
3233
cb3bb2a7
JL
3234 * cse.c (simplify_relational_operation): Set h0u just like h0s.
3235 Similarly for h1u and h1s.
3236
d5ff3a2e 3237 * flow.c (jmp_uses_reg_or_mem): Deleted unused function.
2a1777af
JL
3238 (find_basic_blocks): Use computed_jump_p to determine if a
3239 particular JUMP_INSN is a computed jump.
3240 * reg-stack.c (find_blocks): Use computed_jump_p to determine
3241 if a particular JUMP_INSN is a computed jump.
3242 * rtlanal.c (jmp_uses_reg_or_mem): New function.
3243 (computed_jump_p): Likewise.
3244 * rtl.h (computed_jump_p): Declare.
3245 * genattrtab.c (pc_rtx): Define and initialize.
3246 * loop.c (loop_optimize): Always determine if the current
3247 function has a computed jump.
3248 (indirect_jump_in_function_p): Use computed_jump_p to determine
3249 if a particular JUMP_INSN is a computed jump.
3250
7014927a
JL
3251 * loop.c (fix_bct_param): Delete unused function.
3252 (check_bct_param): Likewise.
3253
6d53d7c2
JM
3254Sat Sep 20 16:22:06 1997 Jason Merrill <jason@yorick.cygnus.com>
3255
3256 * frame.c (__deregister_frame): Check properly for initialized object.
3257
5a5e9503 3258Fri Sep 19 20:51:03 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
71e4fbe6
L
3259
3260 * alpha/linux.h (HANDLE_SYSV_PRAGMA): Defined.
3261
272299b9
R
3262Fri Sep 19 18:53:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
3263
cc5e1642
R
3264 * jump.c (thread_jumps): check can_reverse_comparison_p before
3265 threading a reversed-condition jump.
3266
272299b9
R
3267 * sched.c (update_flow_info): Don't pass SCRATCH to dead_or_set_p.
3268 * haifa-sched.c (update_flow_info): Likewise.
3269
18511014
JL
3270Thu Sep 18 21:13:40 1997 Jeffrey A Law (law@cygnus.com)
3271
e6493727
JL
3272 * Makefile.in (BOOT_CFLAGS): Use -O2.
3273
1e467e19
JL
3274 * configure.in (strtoul, bsearch): Have autoconf check for these
3275 functions.
3276 * configure, config.in: Rebuilt.
3277
18511014
JL
3278 * m68k/xm-mot3300.h (alloca): Properly declare if __STDC__.
3279 * mips/mips.h (alloca): Likewise.
3280 * rs6000/xm-rs6000.h (alloca): Likewise.
3281 * rs6000/xm-sysv4.h: Likewise.
3282
6020d360
JM
3283Thu Sep 18 14:22:22 1997 Jason Merrill <jason@yorick.cygnus.com>
3284
3285 * final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code.
3286 * dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along.
3287 (dwarf2out_stack_adjust): A BARRIER resets the args space to 0.
3288
3289 * except.c (end_eh_unwinder): Subtract 1 from return address.
3290 * libgcc2.c (__throw): Likewise.
3291 (find_exception_handler): Don't change PC here. Compare end with >.
3292
b24bcfb3
NC
3293Thu Sep 18 10:43:07 1997 Nick Clifton <nickc@cygnus.com>
3294
3295 * v850.c (compute_register_save_size): Correct register
3296 number.
3297 * v850.md (save_interrupt, return_interrupt): Correct
3298 register number.
3299 * v850/lib1funcs.asm (save_interrupt): Correct register number.
3300 (return_interrupt): Use stack pointer, not element pointer.
3301
93cf819d
BK
33021997-09-18 Brendan Kehoe <brendan@lisa.cygnus.com>
3303
3304 * configure.in, configure: Make sure to create the stage* and include
3305 symbolic links in each subdirectory.
3306
f0501149
JL
3307Thu Sep 18 01:47:06 1997 Jeffrey A Law (law@cygnus.com)
3308
3309 * pa.md (reload_peepholes): Don't allow addresses with side
3310 effects for the memory operand.
3311
4f870c04
JM
3312Wed Sep 17 18:19:53 1997 Jason Merrill <jason@yorick.cygnus.com>
3313
3314 * libgcc2.c (find_exception_handler): Subtract one from our PC when
3315 looking for a handler, to avoid hitting the beginning of the next
3316 region.
3317
3318 * except.c (expand_builtin_set_return_addr_reg): Use force_operand.
3319
4eb66248
JL
3320Wed Sep 17 18:33:59 1997 Jeffrey A Law (law@cygnus.com)
3321
3322 * mips/abi64.h (LONG_MAX_SPEC): Define.
3323 * mips.h (LONG_MAX_SPEC): Define.
3324 (CPP_SPEC): Include long_max_spec.
3325 (EXTRA_SPECS): Include long_max_spec.
3326
44158507
JL
3327Wed Sep 17 14:11:38 1997 Jeffrey A Law (law@cygnus.com)
3328
3329 * v850.c (construct_save_jarl): Fix thinko in last change.
3330
bf520cd9
JL
3331Wed Sep 17 09:53:07 1997 Jeffrey A Law (law@cygnus.com)
3332
3333 * version.c: Bump for snapshot.
3334
255fe733
JM
3335Tue Sep 16 14:22:36 1997 Jason Merrill <jason@yorick.cygnus.com>
3336
c0727e2a
JM
3337 * libgcc2.c (find_exception_handler): Not found is -1.
3338
255fe733
JM
3339 * integrate.c (expand_inline_function): Move expand_start_bindings
3340 after expanding the arguments.
3341
21002281
JW
3342Tue Sep 16 11:13:46 1997 Jim Wilson <wilson@cygnus.com>
3343
3344 * expr.c (expand_expr): Remove previous incorrect change.
3345 If target and slot has no DECL_RTL, then call mark_addressable
3346 again for the slot after we give it RTL.
3347
e693cc28 3348Tue Sep 16 09:18:52 1997 Jason Merrill (jason@cygnus.com)
f633220c 3349
e693cc28
UD
3350 * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
3351 again for the slot after we give it RTL.
f633220c 3352
145870b5
NC
3353Tue Sep 16 00:13:20 1997 Nick Clifton <nickc@cygnus.com>
3354
84e75068 3355 * v850.c (register_is_ok_for_epilogue,
145870b5
NC
3356 pattern_is_ok_for_epilogue, construct_restore_jr,
3357 pattern_is_ok_for_prologue, construct_save_jarl): New functions.
3358
84e75068 3359 * v850.h (pattern_is_ok_for_prologue,
145870b5
NC
3360 pattern_is_ok_for_epilogue, register_is_ok_for_epilogue): New
3361 predicates.
3362
84e75068 3363 * v850.md: Replace prologue and epilogue patterns with a
145870b5
NC
3364 match_parallel pattern.
3365
76143254
JL
3366Mon Sep 15 22:53:01 1997 Jeffrey A Law (law@cygnus.com)
3367
3368 * aclocal.m4: Add replacement for AC_PROG_INSTALL.
3369 * configure.in: Use EGCS_PROG_INSTALL.
3370
4401bf24
JL
3371Mon Sep 15 22:40:55 1997 Jim Wilson (wilson@cygnus.com)
3372
3373 * dwarf2out.c (gen_subprogram_die): Handle redefinition of an
3374 extern inline function.
3375
3376Mon Sep 15 22:40:55 1997 Richard Henderson (rth@cygnus.com)
3377
3378 * dwarf2out.c (reg_loc_descriptor): Fix prototype.
3379 (concat_loc_descriptor): New function.
3380 (loc_descriptor): Call it.
3381 (add_AT_location_description): Also elide the descriptor if both
3382 halves of a CONCAT are pseudos.
3383 (add_location_or_const_value_attribute): Recognize CONCAT too.
3384
0d24ff5d
RH
3385Mon Sep 15 15:24:00 1997 Richard Henderson <rth@cygnus.com>
3386
4bb43724
RH
3387 * alpha.md (movdi): Handle CONST_DOUBLE for TARGET_BUILD_CONSTANTS.
3388
0d24ff5d
RH
3389 * alpha/alpha.c (output_prolog): New variable sa_reg. Use it for
3390 out-or-range reg_offset.
3391 (output_epilog): Likewise.
3392
05ef8897
JL
3393Mon Sep 15 15:39:26 1997 Jeffrey A Law (law@cygnus.com)
3394
3395 * cse.c (simplify_relational_operation): If MODE specifies a
3396 mode wider than HOST_WIDE_INT, then the high word of a CONST_INT
3397 is derived from the sign bit of the low word.
3398
ca55abae
JM
3399Mon Sep 15 11:43:38 1997 Jason Merrill <jason@yorick.cygnus.com>
3400
3401 Support dwarf2 unwinding on PUSH_ROUNDING targets like the x86.
3402
3403 * dwarf2.h: Add DW_CFA_GNU_args_size.
3404 * frame.c (execute_cfa_insn): Likewise.
3405 * dwarf2out.c (dwarf_cfi_name, output_cfi): Likewise.
3406 (dwarf2out_args_size, dwarf2out_stack_adjust): New fns.
3407 (dwarf2out_frame_debug): If this isn't a prologue or epilogue
3408 insn, hand it off to dwarf2out_stack_adjust.
3409 (dwarf2out_begin_prologue): Initialize args_size.
3410 * frame.h (struct frame_state): Add args_size.
3411 * libgcc2.c (__throw): Use args_size.
3412 * final.c (final_scan_insn): If we push args, hand off all insns
3413 to dwarf2out_frame_debug.
3414 * defaults.h (DWARF2_UNWIND_INFO): OK for !ACCUMULATE_OUTGOING_ARGS.
3415
3416 * dwarf2out.c dwarf2out_frame_debug): Fix typo.
3417 Handle epilogue restore of SP from FP.
3418 * emit-rtl.c (gen_sequence): Still generate a sequence if the
3419 lone insn has RTX_FRAME_RELATED_P set.
3420
3421 * frame.c (extract_cie_info): Handle "e" augmentation.
3422 * dwarf2out.c (ASM_OUTPUT_DWARF_*): Provide definitions in the
3423 absence of UNALIGNED_*_ASM_OP.
3424 (UNALIGNED_*_ASM_OP): Only provide defaults if OBJECT_FORMAT_ELF.
3425 (output_call_frame_info): Use "e" instead of "z" for augmentation.
3426 Don't emit augmentation fields length.
3427 (dwarf2out_do_frame): Move outside of #ifdefs.
3428 * defaults.h (DWARF2_UNWIND_INFO): Don't require unaligned data
3429 opcodes.
3430
3431 * sparc.h (UNALIGNED_INT_ASM_OP et al): Don't define here after all.
3432 * sparc/sysv4.h (UNALIGNED_INT_ASM_OP): Define here.
3433 * sparc/sunos4.h (DWARF2_UNWIND_INFO): Define to 0.
3434 * sparc/sun4gas.h: New file.
3435 * configure.in: Use sun4gas.h if SunOS 4 --with-gnu-as.
3436
3437 * collect2.c (write_c_file_stat, write_c_file_glob): Declare
3438 __register_frame_table and __deregister_frame.
3439
1d77fa53
BK
34401997-09-15 Brendan Kehoe <brendan@cygnus.com>
3441
3442 * except.c (find_exception_handler_labels): Use xmalloc instead of
3443 alloca, since MAX_LABELNO - MIN_LABELNO can be more than 1 million
3444 in some cases.
3445
8be52aaa
JL
3446Sun Sep 14 21:01:23 1997 Jeffrey A Law (law@cygnus.com)
3447
3448 * Makefile.in: Various changes to build info files
3449 in the object tree rather than the source tree.
3450
a3ee3246
JL
3451Sun Sep 14 12:24:30 1997 Jeffrey A Law (law@cygnus.com)
3452
3453 * fixinc.math: New file to fix math.h on some systems.
3454 * configure.in (freebsd, netbsd): Use fixinc.math on these
3455 systems.
3456 * configure: Rebuilt.
3457
124da275
JL
3458Sun Sep 14 11:11:05 1997 Jeffrey A Law (law@cygnus.com)
3459
3460 * regmove.c (regmove_optimize): If we end up moving the
3461 original insn due to lifetime overlaps, make sure to move
3462 REG_NOTES too.
3463
fca9d4b0
MH
3464Sat Sep 13 15:51:11 1997 Manfred Hollstein <manfred@s-direktnet.de>
3465
3466 * Makefile.in (INSTALL_{PROGRAM,DATA}): Use value found by configure.
3467
326ee7a3
JL
3468Sat Sep 13 12:57:26 1997 Jeffrey A Law (law@cygnus.com)
3469
3470 * haifa-sched.c (add_branch_dependences): Make each insn in
3471 a SCHED_GROUP_P block explicitly depend on the previous insn.
3472
ca55abae
JM
3473Fri Sep 12 13:49:58 1997 Jason Merrill <jason@yorick.cygnus.com>
3474
3475 * except.h: Prototype dwarf2 hooks.
3476 * expr.c: Adjust.
3477
5188d2b2
JW
3478Thu Sep 11 17:43:55 1997 Jim Wilson <wilson@cygnus.com>
3479
3480 * configure.in (native_prefix): Delete.
3481 (mips-dec-netbsd): Don't set prefix.
3482 (*linux*): Don't set prefix.
3483
2e384318
FF
3484Thu Sep 11 15:48:32 1997 Fred Fish <fnf@ninemoons.com>
3485
70988851
FF
3486 * protoize.c: Include <varargs.h> only if HAVE_VARARGS_H is
3487 defined. If not defined, include <sys/varargs.h> if
3488 HAVE_SYS_VARARGS_H is defined.
3489 * configure.in: Test for varargs.h and sys/varargs.h.
3490 * configure: Regenerate with autoconf.
3491 * config.in: Regenerate with autoheader.
3492
2e384318
FF
3493 * cpplib.c (quote_string): Cast first arg of sprintf call
3494 from "unsigned char *" to "char *".
3495 (output_line_command): Ditto.
3496 (macroexpand): Ditto.
3497 (do_line): Cast atoi arg from "unsigned char *" to "char *".
3498
3fb2f401
JL
3499Wed Sep 10 21:37:30 1997 Jeffrey A Law (law@cygnus.com)
3500
f2e4e16f
JL
3501 * version.c: Bump for snapshot.
3502
3fb2f401
JL
3503 * Makefile.in (compare): Exit with nonzero status if there
3504 are comparison failures. Note which files failed the
3505 comparison test in .bad_compare.
3506
d26cb668
L
3507Wed Sep 10 17:05:46 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
3508
3509 * config/alpha/elf.h (CPP_PREDEFINES): Remove -D__PIC__ -D__pic__.
3510
ac64120e
JW
3511Wed Sep 10 16:37:28 1997 Fred Fish <fnf@ninemoons.com>
3512
3513 * Makefile.in (LN, LN_S): New macros, use where appropriate.
3514 * aclocal.m4 (GCC_PROG_LN_S, GCC_PROG_LN): New tests.
3515 * configure.in: Use GCC_PROG_LN_S and GCC_PROG_LN.
3516 * configure: Regenerated.
3517
3518Thu Sep 11 11:09:43 1997 Jeffrey A Law (law@cygnus.com)
3519
3520 * loop.c (strength_reduce): Fix typo.
3521
db87ec0b
JW
3522Wed Sep 10 16:01:15 1997 Jim Wilson <wilson@cygnus.com>
3523
3524 * m88k/m88k.c (struct option): Rename to struct options.
3525 * m88k/dolph.h (INITIALIZE_TRAMPOLINE): Delete here.
3526 * m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Delete ifdef and comments.
3527 * libgcc2.c (__enable_execute_stack): Check for __sysV88__ not
3528 __DOLPHIN__ or sysV88.
3529
04395f96
JW
3530Wed Sep 10 14:58:40 1997 Jim Wilson <wilson@cygnus.com>
3531
3532 * emit-rtl.c (gen_lowpart_common): For a SUBREG, add in word when
3533 create new subreg.
3534
becdcf6d
JL
3535Wed Sep 10 15:19:22 1997 Jeffrey A Law (law@cygnus.com)
3536
3537 * config.sub: Accept 'amigados' for backward compatability.
3538
04395f96 3539Wed Sep 10 14:05:08 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
3979dfb8
JW
3540
3541 * Makefile.in (testsuite/site.exp): New target.
3542 (check-gcc, check-g++): Depend on testsuite/site.exp.
3543 Don't stop for failure.
3544
ca55abae
JM
3545Wed Sep 10 12:59:57 1997 Jason Merrill <jason@yorick.cygnus.com>
3546
3547 * expr.c (expand_builtin): Only support __builtin_dwarf_fp_regnum()
3548 if DWARF2_UNWIND_INFO.
3549
3550Wed Sep 10 11:49:20 1997 Jason Merrill <jason@yorick.cygnus.com>
3551
3552 Add support for exception handling using DWARF 2 frame unwind info.
3553 Currently works on SPARC and MIPS, and almost on x86.
3554
3555 * libgcc2.c (get_reg, put_reg, get_return_addr, put_return_addr,
3556 next_stack_level, in_reg_window): Helper fns.
3557 (__throw): Implement for DWARF2_UNWIND_INFO.
3558
3559 * expr.c (expand_builtin): Handle builtins used by __throw.
3560 * tree.h (enum built_in_function): Add builtins used by __throw.
3561 * c-decl.c (init_decl_processing): Declare builtins used by __throw.
3562 * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Used by __throw.
3563 * except.c (expand_builtin_unwind_init): Hook for dwarf2 __throw.
3564 (expand_builtin_extract_return_addr): Likewise.
3565 (expand_builtin_frob_return_addr): Likewise.
3566 (expand_builtin_set_return_addr_reg): Likewise.
3567 (expand_builtin_eh_stub): Likewise.
3568 (expand_builtin_set_eh_regs): Likewise.
3569 (eh_regs): Choose two call-clobbered registers for passing back values.
3570
3571 * frame.c, frame.h: New files for parsing dwarf 2 frame info.
3572 * Makefile.in (LIB2ADD): New variable. Add $(srcdir)/frame.c.
3573 (libgcc2.a): Use it instead of $(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS)
3574 (stmp-multilib): Likewise.
3575 ($(T)crtbegin.o, $(T)crtend.o): Add -fno-exceptions.
3576
3577 * except.c: #include "defaults.h".
3578 (exceptions_via_longjmp): Default depends on DWARF2_UNWIND_INFO.
3579 (emit_throw): Don't defeat assemble_external if DWARF2_UNWIND_INFO.
3580 (register_exception_table_p): New fn.
3581 (start_eh_unwinder): Don't do anything if DWARF2_UNWIND_INFO.
3582 (end_eh_unwinder): Likewise.
3583
3584 * crtstuff.c: Wrap .eh_frame section, use EH_FRAME_SECTION_ASM_OP,
3585 call __register_frame and __deregister_frame as needed.
3586 * varasm.c (eh_frame_section): New fn if EH_FRAME_SECTION_ASM_OP.
3587 * dwarf2out.c (EH_FRAME_SECTION): Now a function-like macro. Check
3588 EH_FRAME_SECTION_ASM_OP.
3589 * sparc/sysv4.h (EH_FRAME_SECTION_ASM_OP): Define.
3590 * mips/iris6.h: (EH_FRAME_SECTION_ASM_OP): Define.
3591 (LINK_SPEC): Add __EH_FRAME_BEGIN__ to hidden symbols.
3592
3593 * dwarf2out.c (output_call_frame_info): If no support for
3594 EXCEPTION_SECTION, mark the start of the frame info with a
3595 collectable tag.
3596 * collect2.c (frame_tables): New list.
3597 (is_ctor_dtor): Recognise frame entries.
3598 (scan_prog_file): Likewise.
3599 (main): Pass -fno-exceptions to sub-compile. Also do collection
3600 if there are any frame entries.
3601 (write_c_file_stat): Call __register_frame_table and
3602 __deregister_frame as needed.
3603 (write_c_file_glob): Likewise.
3604
3605 * defaults.h (DWARF2_UNWIND_INFO): Default to 1 if supported.
3606 Also require unaligned reloc support.
3607 * sparc.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
3608 UNALIGNED_DOUBLE_INT_ASM_OP): Define here.
3609 * sparc/sysv4.h: Not here.
3610
3611 * toplev.c (compile_file): Call dwarf2out_frame_{init,finish}.
3612 * dwarf2out.c (dwarf2out_init): Don't call dwarf2out_frame_init.
3613 (dwarf2out_finish): Don't call dwarf2out_frame_finish.
3614
3615 * libgcc2.c (L_eh): Reorganize, moving code shared by different
3616 EH implementations to the top.
3617 (find_exception_handler): Split out. Start from 0. Compare against
3618 end with >=.
3619 (__find_first_exception_table_match): Use it.
3620 * except.c (output_exception_table): Don't do anything if there's
3621 no table. Don't output a first entry of zeroes.
3622 (eh_outer_context): Adjust properly.
3623 (add_eh_table_entry): Use xrealloc.
3624 * toplev.c (compile_file): Just call output_exception_table.
3625
3626Wed Sep 10 11:30:36 1997 Jason Merrill <jason@cygnus.com>
3627
3628 * i386.c (ix86_prologue): Add dwarf2 support for !do_rtl case.
3629
3630Wed Sep 10 08:17:10 1997 Torbjorn Granlund <tege@pdc.kth..se>
3631
3632 * except.c (eh_outer_context): Do masking using expand_and.
3633
b4d940a2
JL
3634Wed Sep 10 01:38:30 1997 Doug Evans <dje@cygnus.com>
3635
3636 Add port done awhile ago for the ARC cpu.
3637 * arc/arc.h: New file.
3638 * arc/arc.c: New file.
3639 * arc/arc.md: New file.
3640 * arc/initfini.c: New file.
3641 * arc/lib1funcs.asm: New file.
3642 * arc/t-arc: New file.
3643 * arc/xm-arc.h: New file.
3644 * ginclude/va-arc.h: New file.
3645 * ginclude/stdarg.h: Include va-arc.h ifdef __arc__.
3646 * ginclude/varargs.h: Likewise.
3647 * Makefile.in (USER_H): Add va-arc.h.
3648 * configure.in (arc-*-elf*): Recognize.
3649 * longlong.h: Add ARC support.
3650
3651Wed Sep 10 01:32:54 1997 Jeffrey A Law (law@cygnus.com)
3652
3653 * expr.c (clear_storage): Use CONST0_RTX instead of const0_rtx.
3654 when clearing non-BLKmode data.
3655
10211581
JL
3656Wed Sep 10 00:29:29 1997 Manfred Hollstein <manfred@s-direktnet.de>
3657
9dfc6eba
MH
3658 * m88k/sysv3.h (INITIALIZE_TRAMPOLINE) Define.
3659 * libgcc2.c (__enable_execute_stack): Provide for sysV88 too.
3660
55259219
MH
3661 * xm-m88k.h (USG): Only define if it hasn't already been defined.
3662
3663 * Makefile.in (risky-stage1): Delete gratutious whitespace.
3664
ee291069
MH
3665 * Makefile.in (clean): Delete libgcc1-test.
3666
10211581
JL
3667 * Makefile.in (INSTALL): cd to $(srcdir) before running texinfo.
3668
3669Tue Sep 9 17:07:36 1997 Stan Cox <coxs@dg-rtp.dg.com>
48f0be1b
SC
3670
3671 * m88k.c (m88k_expand_prologue): Set MEM_IN_STRUCT_P of va_list
3672 template.
3673
ca55abae
JM
3674Tue Sep 9 09:50:02 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3675
3676 * dwarf2out.c (output_call_frame_info): Call named_section.
3677
8f3d79e0
JL
3678Tue Sep 9 09:12:17 1997 Jeffrey A Law (law@cygnus.com)
3679
3680 * haifa-sched.c (print_value): Fix last change.
3681
ca55abae
JM
3682Tue Sep 9 01:30:37 1997 Jason Merrill <jason@yorick.cygnus.com>
3683
3684 * mips.h (DWARF_FRAME_REGNUM): Use the same numbering regardless of
3685 write_symbols.
3686
3687Mon Sep 8 16:32:43 1997 Jason Merrill <jason@yorick.cygnus.com>
3688
3689 * mips.c (function_prologue): Set up the CFA when ABI_32.
3690
3691 * sparc.c (save_regs): Check dwarf2out_do_frame instead of DWARF2_DEBUG
3692 for dwarf2 unwind info.
3693 (output_function_prologue, sparc_flat_output_function_prologue): Same.
3694
3695 * final.c (final_end_function): Check dwarf2out_do_frame instead
3696 of DWARF2_DEBUG for dwarf2 unwind info.
3697 (final_scan_insn): Likewise.
3698 (final_start_function): Likewise. Initialize dwarf2 frame debug here.
3699 (final): Not here.
3700
3701 * expr.c (expand_builtin_return_addr): Only SETUP_FRAME_ADDRESSES if
3702 count > 0.
3703
3704 * varasm.c (exception_section): Check EXCEPTION_SECTION first.
3705
74aca74b
NC
3706Mon Sep 8 15:15:11 1997 Nick Clifton <nickc@cygnus.com>
3707
3708 * v850.h (ASM_SPEC): Pass on target processor.
3709 (CPP_PREDEFINES): Only define if not already specified.
3710 (TARGET_VERSION): Only define if not already specified.
3711 (MASK_CPU, MASK_V850, MASK_DEFAULT): Bits to specify target
3712 processor.
3713 (EXTRA_SWITCHES): Extra entries in the switches array.
3714 (TARGET_DEFAULT): Set default target processor.
3715
c0b04148
JW
3716Mon Sep 8 18:26:35 1997 Jim Wilson <wilson@cygnus.com>
3717
3718 * m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): In MOTOROLA
3719 cases, add %# and %/, and add : to make them into extended asms.
3720
52b7724b
WL
3721Sun Sep 7 23:57:50 1997 Weiwen Liu <liu@hepunix.physics.yale.edu>
3722
3723 * alias.c (init_alias_analysis): Clean up incompatible pointer
3724 type warning in bzero.
3725 * regmove.c (regmove_optimize): Ditto.
3726 * haifa-sched.c (find_rgns): Ditto.
3727
3728 * haifa-sched.c (print_value): Clean up ptr->int cast
3729 warnings.
3730
0c82f6bf
FF
3731Sun Sep 7 23:18:32 1997 Fred Fish <fnf@ninemoons.com>
3732
3733 * INSTALL: Change 'amigados' to 'amigaos' to match current usage.
3734 * install.texi (Configurations): Ditto.
3735 * config.sub: Ditto.
3736
1fed1f51
WL
3737Sun Sep 7 22:56:56 1997 Weiwen Liu (liu@hepvms.physics.yale.edu)
3738
3739 * Makefile.in (sdbout.o): Depend on insn-config.h.
3740
239e68f6
JW
3741Sun Sep 7 18:44:50 1997 Jim Wilson <wilson@cygnus.com>
3742
3743 * m68k/m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881.
3744 For 68303, 68332, cpu32, subtract MASK_68040_ONLY.
3745
267c09ab
JM
3746Sun Sep 7 18:30:46 1997 Jason Merrill <jason@yorick.cygnus.com>
3747
3748 * dwarf2out.c (dwarf2out_frame_debug): Assume that in a PARALLEL
3749 prologue insn, only the first elt is significant.
3750 (output_call_frame_info): For exception handling, always use 4-byte
3751 fields as specified by the dwarf2 spec.
3752 Don't skip trivial FDEs.
3753
db7cafb0
JL
3754Sun Sep 7 14:19:39 1997 Jeffrey A Law (law@cygnus.com)
3755
3756 * version.c: Bump for snapshot.
3757
3758Sun Sep 7 14:17:36 1997 Torbjorn Granlund (tege@pdc.kth.se)
3759
3760 * expmed.c (expand_divmod): Make op1_is_pow2 depend on unsignedp
3761 for negative constants. Promote EXACT_DIV_EXPR to TRUNC_DIV_EXPR
3762 when op1_is_pow2.
3763
3764Sun Sep 7 13:46:46 1997 Jeffrey A Law (law@cygnus.com)
3765
bf520cd9
JL
3766 * final.c (shorten_branches): During first pass, assume worst
3767 possible alignment for ADDR_VEC and ADDR_VEC_DIFF insns.
db7cafb0
JL
3768
3769 * Makefile.in (distclean): Remove various things left around
3770 by running the testsuite.
3771
7ed46111
MH
3772Sun Sep 7 13:16:06 1997 Manfred Hollstein <manfred@s-direktnet.de>
3773
3774 * configure.in (out_file): Emit definition to config.status in order
3775 to have a defined value for configure.lang.
3776 * configure: Re-built.
3777
e41cea70
JJH
3778Sun Sep 7 09:59:08 1997 Jan-Jaap van der Heijden (J.J.vanderHeijden@student.utwente.nl)
3779
bf520cd9 3780 * configure.in: Make symlink to as-new rather than as.new. Similarly
e41cea70
JJH
3781 for ld-new.
3782 * configure: Rebuilt.
3783
1aeb1f6f
JW
3784Fri Sep 5 16:54:55 1997 Jim Wilson <wilson@cygnus.com>
3785
3786 * profile.c (output_func_start_profiler): Set DECL_EXTERNAL to zero.
3787
770a0113
CK
3788Fri Sep 5 16:16:44 1997 Christian Kuehnke <Christian.Kuehnke@arbi.Informatik.Uni-Oldenburg.DE>
3789
3790 * sparc/sparc.md: Add ultrasparc scheduling support.
3791 * sparc/sparc.h (RTX_COSTS): For MULT give v9 a cost of 25 insns.
3792
f5ffa999
PDM
3793Fri Sep 5 14:04:59 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
3794
3795 * integrate.c (save_for_inline_copying): Use 0, not NULL_PTR,
3796 as initial value for real_label_map.
3797 (copy_for_inline): Likewise.
3798
acceac1a
R
3799Fri Sep 5 13:36:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
3800
3801 * sched.c (update_flow_info) When looking if to set found_split_dest
3802 or found_orig_dest, look at all parts of a PARALLEL.
3803 * haifa-sched.c (update_flow_info): Likewise.
3804
f84271d9
JL
3805Fri Sep 5 10:08:44 1997 Jeffrey A Law (law@cygnus.com)
3806
3807 * v850: New directory for v850 port.
3808 * v850/lib1funcs.asm: New file.
3809 * t-v850, v850.c, v850.h, v850.md, xm-v850.h: New files.
3810 * ginclude/va-v850.h: New file.
3811 * ginclude/varargs.h, ginclude/stdarg.h: Include va-mn10200.h.
3812 * configure.in (mn10200-*-*): New target.
3813 * configure: Rebuilt.
3814 * config.sub: Handle v850-elf.
3815 * Makefile.in (USER_H): Add va-mn10200.h.
3816 * invoke.texi: Document v850 stuff.
3817
89cc6098
JW
3818Fri Sep 5 09:37:50 1997 Jim Wilson (wilson@cygnus.com)
3819
04940ba5
JW
3820 * sdbout.c (plain_type_1, case ARRAY_TYPE): Verify that TYPE_DOMAIN
3821 has integer TYPE_{MAX,MIN}_VALUE before using them.
3822
89cc6098
JW
3823 * m68k/m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Add
3824 __HPUX_ASM__ versions.
3825
c74f7db8
JL
3826Fri Sep 5 09:08:44 1997 Jeffrey A Law (law@cygnus.com)
3827
bf520cd9 3828 * install.sh: Delete duplicate install script.
c74f7db8 3829
914ec131
SC
3830Thu Sep 4 23:14:27 1997 Stan Cox (coxs@dg-rtp.dg.com)
3831
3832 * reg-stack.c (subst_stack_regs): Pop the stack register for a
3833 computed goto which sets the same stack register.
3834
3835 * reg-stack.c (compare_for_stack_reg): Swap only if the source and
3836 destination are both on the regstack.
3837 (subst_stack_regs_pat): Put the destination at the top of the regstack.
3838
c1090daa
JW
3839Thu Sep 4 15:02:27 1997 Jim Wilson <wilson@cygnus.com>
3840
d5d1738a
JW
3841 * mips.md (nonlocal_goto_receiver): Define.
3842
f4da7881
JW
3843 * profile.c (output_arc_profiler): Check next_insert_after for non
3844 NULL before deferencing it.
3845
c1090daa
JW
3846 * i386/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define to -fPIC.
3847
da594c94
JL
3848Thu Sep 4 14:51:57 1997 Jeffrey A Law (law@cygnus.com)
3849
3850 * i386.h (CPP_CPU_DEFAULT): Avoid using #elif.
3851
3e28fe44
MM
3852Thu Sep 4 15:01:49 1997 Michael Meissner <meissner@cygnus.com>
3853
3854 * toplev.c (rest_of_compilation): For passes starting with
3855 flow_analysis, use print_rtl_with_bb instead of print_rtl.
3856
3857 * print-rtl.c (print_rtl_single): Print a single rtl value to a
3858 file.
3859
3860 * flow.c (print_rtl_with_bb): Print which insns start and end
3861 basic blocks. For the start of a basic block, also print the live
3862 information.
3863
7053ca72
JW
3864Thu Sep 4 11:51:43 1997 Jim Wilson <wilson@cygnus.com>
3865
417b0fa2
JW
3866 * toplev.c (main): Change #elif to #else/#ifdef
3867
7053ca72
JW
3868 * tlink.c: Include ctype.h.
3869 * ginclude/va-mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif.
3870
f05a8b25
MM
3871Thu Sep 4 11:17:16 1997 Mikeael Meissner (meissner@cygnus.com)
3872
3873 * bitmap.c: Conditionally include stdlib.h.
bf520cd9 3874 (free): Provide a declaration if NEED_DECLARATION_FREE.
f05a8b25 3875
02d7a569
JS
3876Thu Sep 4 09:58:53 1997 Joel Sherrill (joel@OARcorp.com)
3877
3878 * i960/i960.h: Added default for SUBTARGET_SWITCHES macro.
3879
6030b6af
JW
3880Thu Sep 4 09:53:20 1997 Jim Wilson (wilson@cygnus.com)
3881
3882 * profile.c (output_arc_profiler): Verify next_insert_after is an
3883 INSN before and after skipping a stack pop.
3884
04da53bd
R
3885Thu Sep 4 07:39:19 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
3886
3887 * final.c (shorten_branches): Don't count the lengths of deleted
3888 instructions.
3889
780532a4
JL
3890Thu Sep 4 09:43:01 1997 Jeffrey A Law (law@cygnus.com)
3891
3892 * version.c: Bump for snapshot.
3893
22fa5b8a
MM
3894Thu Sep 4 11:04:21 1997 Michael Meissner <meissner@cygnus.com>
3895
3896 * bitmap.h (EXECUTE_IF_AND_IN_BITMAP): New macro, to iterate over
3897 two bitmaps ANDed together.
3898 (bitmap_print): Declare.
3899
3900 * bitmap.c (function_obstack): Don't declare any more.
3901 (bitmap_obstack): Obstack for allocating links from.
3902 (bitmap_obstack_init): New static to say whether to initialize
3903 bitmap_obstack.
3904 (bitmap_element_allocate): Use bitmap_obstack to allocate from.
3905 (bitmap_release_memory): Free all memory allocated from
3906 bitmap_obstack.
3907
3908 * basic-block.h (EXECUTE_IF_AND_IN_REG_SET): New macro, invoke
3909 EXECUTE_IF_AND_IN_BITMAP.
3910
57163df0
JW
3911Wed Sep 3 10:39:42 1997 Jim Wilson <wilson@cygnus.com>
3912
fa8b6024
JW
3913 * alias.c (true_dependence): Address with AND can alias scalars.
3914 (anti_dependence, output_dependence): Likewise.
3915
57163df0
JW
3916 * alias.c (true_dependence): Test x for BLKmode, in addition to mem.
3917
8aa4e786
JS
3918Wed Sep 3 09:28:50 CDT 1997 Joel Sherrill (joel@OARcorp.com)
3919
3920 * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, m68k/rtems.h,
3921 mips/rtems64.h, pa/rtems.h, rs6000/rtems.h, sh/rtems.h,
3922 sparc/rtems.h (subtarget_switches): Removed SUBTARGET_SWITCHES
3923 definitions. Use -qrtems instead of -mrtems.
3924
feb21122
RL
3925Wed Sep 3 09:05:41 1997 Robert Lipe (robert@dgii.com)
3926
3927 * xm-sco5.h (sys_siglist): Define.
3928 (SYS_SIGLIST_DECLARED): Likewise.
3929
704af6a1
JL
3930Tue Sep 2 23:33:33 1997 Jeffrey A Law (law@cygnus.com)
3931
3932 * expr.c (convert_move): Handle truncation from TQFmode to QFmode.
3933
127cd405
TG
3934Wed Sep 3 02:09:30 1997 Torbjorn Granlund <tege@pdc.kth..se>
3935
3936 * except.c (eh_outer_context): Expand masking operation using
3937 expand_binop.
3938
8cf02b47
JW
3939Tue Sep 2 18:09:39 1997 Jim Wilson <wilson@cygnus.com>
3940
3941 * alpha.md (floatdisf2-1): New pattern.
3942
49dad301
JL
3943Tue Sep 2 18:41:55 1997 Jeffrey A Law (law@cygnus.com)
3944
068f1cb8
JL
3945 * xm-svr4.h (SYS_SIGLIST_DECLARED): Define.
3946 * xm-news.h (SYS_SIGLIST_DECLARED): Likewise.
f04e7122 3947 * xm-sysv4.h (SYS_SIGLIST_DECLARED): Likewise.
068f1cb8
JL
3948 * gcc.texi: Note that if you define sys_siglist that you should
3949 also define SYS_SIGLIST_DECLARED.
3950
49dad301
JL
3951 * mn10200.h (INITIALIZE_TRAMPOLINE): PC relative instructions
3952 are relative to the next instruction, not the current instruction.
3953
a1729519
JW
3954Tue Sep 2 14:22:43 1997 Jim Wilson <wilson@cygnus.com>
3955
3956 * local-alloc.c (contains_replace_regs): New function.
3957 (update_equiv_regs): When adding a REG_EQUIV note for a set of a MEM,
3958 verify that there is no existing REG_EQUIV note, and add a call to
3959 contains_place_regs.
3960
290c8b1f
L
3961Tue Sep 2 12:48:11 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
3962
3963 * config/alpha/elf.h (CPP_PREDEFINES): Add -D__PIC__ -D__pic__.
3964 (STARTFILE_SPEC): Always use crtbegin.o%s
3965 (ENDFILE_SPEC): Always use crtend.o%s.
3966
a6a503ed
JW
3967Tue Sep 2 12:00:36 1997 Jim Wilson <wilson@cygnus.com>
3968
3969 * alpha/alpha.h (PREFERRED_RELOAD_CLASS): Return NO_REGS if NO_REGS
3970 is passed in.
3971 * emit-rtl.c (gen_lowpart_common): Add code to convert CONST_INT to
3972 SFmode for 64 bit hosts.
3973
a94729bc
PH
3974Tue Sep 2 13:42:38 1997 Paul N. Hilfinger <hilfingr@CS.Berkeley.EDU>
3975
3976 * fixincludes: Permits spaces between # and define. Discard C++
3977 comments in sys/pci.h on HP/UX 10.20.
3978
c9e03727
JL
3979Mon Sep 1 22:13:18 1997 Jeffrey A Law (law@cygnus.com)
3980
3981 * version.c: Bump for snapshot.
3982
2eddfed1
JL
3983 * pa.c (restore_unscaled_index_insn_codes): New function.
3984 (record_unscaled_index_insn_codes): Likewise.
3985 (output_function_prologue): Call restore_unscaled_index_insn_codes.
3986 (output_function_epilogue): Free memory for unscaled_index_insn_codes.
3987 (pa_reorg): Call record_unscaled_index_insn_codes.
3988
c9e03727
JL
3989 * haifa-sched.c (move_insn): Handle notes correctly for insns
3990 with SCHED_GROUP_P set.
3991
a5d6a95b
L
3992Mon Sep 1 16:58:57 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
3993
3994 * alpha/xm-linux.h (USE_BFD): Undef before define.
3995
bc4ddc77
JW
3996Mon Sep 1 16:25:34 1997 Jim Wilson <wilson@cygnus.com>
3997
3998 * cse.c (cse_insn): Don't record BLKmode values.
3999
f3e0ca6c
SW
4000Mon Sep 1 11:25:47 1997 Stephen Williams (steve@icarus.icarus.com)
4001
4002 * i960.h (LINK_SPEC): Handle "-mjX" and "-mrp" switches.
4003
e3512ac2
JL
4004Mon Sep 1 08:29:46 1997 Jeffrey A Law (law@cygnus.com)
4005
a63d08e6
JL
4006 * cccp.c (sys_errlist): Remove special 4.4bsd declaration.
4007 * collect2.c (sys_errlist): Likewise.
4008 * cpplib.c (sys_errlist): Likewise.
4009 * gcc.c (sys_errlist): Likewise.
4010 * protoize (sys_errlist): Likewise.
4011 * configure.in: Check for strerror.
4012 * xm-freebsd.h (HAVE_STRERROR): Remove definition.
4013 * xm-gnu.h (HAVE_STRERROR): Likewise.
4014 * xm-linux.h (HAVE_STRERROR): Likewise.
4015 * xm-netbsd.h (HAVE_STRERROR): Likewise.
4016 * xm-bsd386.h (HAVE_STRERROR): Likewise.
4017 * xm-cygwin32.h (HAVE_STRERROR): Likewise.
4018 * xm-dos.h (HAVE_STRERROR): Likewise.
4019 * xm-mingw32.h (HAVE_STRERROR): Likewise.
4020 * xm-pa.h (HAVE_STRERROR): Likewise.
4021 * xm-papro.h (HAVE_STRERROR): Likewise.
4022 * xm-sysv4.h (HAVE_STRERROR): Likewise.
4023 * configure, config.in: Rebuilt.
4024
db814993
JL
4025 * Makefile.in: Add several missing "else true" clauses.
4026
e3512ac2
JL
4027 * collect2.c: Change DONT_DECLARE_SYS_SIGLIST to SYS_SIGLIST_DECLARED.
4028 * mips-tfile.c: Likewise.
4029 * gcc.texi: DONT_DECLARE_SYS_SIGLIST: Remove docs.
4030 * xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition.
4031 * xm-freebsd.h, xm-bsd386.h, xm-sysv4.h, xm-sol2.h: Likewise.
4032 * configure.in: Check for sys_siglist declaration.
4033 * configure, config.in: Rebuilt.
4034
5d84b57e
JS
4035Mon Sep 1 08:04:07 1997 Joel Sherrill (joel@OARcorp.com)
4036
4037 * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h,
4038 m68k/rtems.h, mips/rtems64.h, pa/rtems.h, rs6000/rtems.h,
4039 sparc/rtems.h (subtarget_switches): Added -mrtems as a switch.
4040 * i960/i960.h: Added SUBTARGET_SWITCHES macro.
4041 * rs6000/sysv4.h (extra_subtarget_switches): Added new
4042 macro EXTRA_SUBTARGET_SWITCHES.
4043 * configure.in (sh*-*-rtems*): New target.
4044 * sh/rtems.h: New file.
4045 * sh/sh.h: Added SUBTARGET_SWITCHES macro.
4046 * configure: Rebuilt.
4047
2599dcc7
JW
4048Sat Aug 30 22:54:26 1997 Jim Wilson <wilson@cygnus.com>
4049
4050 * unroll.c (calculate_giv_inc): Handle increment with code PLUS.
4051
3b7e5ef4
DE
4052Sat Aug 30 10:49:46 1997 David Edelsohn <edelsohn@mhpcc.edu>
4053
4054 * rs6000.md: Make DF fused-add operations pay attention to
4055 -mno-fused-add.
4056
5cd5f4a7
JW
4057Fri Aug 29 19:19:54 1997 Jim Wilson <wilson@cygnus.com>
4058
4059 * i386/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Define.
4060
63e7fe9b
JL
4061Fri Aug 29 16:13:51 1997 Jeffrey A Law (law@cygnus.com)
4062
4063 * pa.md (reload_peepholes): Make sure operand is a REG before
4064 examining REGNO. Allow general registers too.
4065
eb7b11fd
JW
4066Fri Aug 29 11:42:04 1997 Jim Wilson <wilson@cygnus.com>
4067
4068 * varasm.c (mark_constants): Don't look inside CONST_DOUBLEs.
4069
c760091a
PT
4070Fri Aug 29 09:33:20 1997 Philipp Thomas (kthomas@lxi165.gwdg.de)
4071
5cd5f4a7 4072 * dwarf2out.c (build_abbrev_table): Use xrealloc, not xmalloc
c760091a
PT
4073 to reallocate abbrev_die_table.
4074
57583338
JW
4075Thu Aug 28 15:14:46 1997 Jim Wilson <wilson@cygnus.com>
4076
4077 * m68k/m68k.md (iorsi_zexthi_ashl16): Disable.
4078
eae4b970
AS
40791997-08-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4080
4f91a0f8
AS
4081 * Makefile.in (config.status): Depend on version.c
4082
eae4b970
AS
4083 * expr.h (insn_gen_function): Reenable prototype.
4084
4085 * expr.c (move_by_pieces_1, clear_by_pieces_1): Fix prototype of
4086 first parameter.
4087
00fc09e1
JW
4088Thu Aug 28 13:01:43 1997 Jim Wilson <wilson@cygnus.com>
4089
4090 * i386.c (ix86_expand_epilogue): Emit blockage instruction when pic.
4091
2601ebca
JL
4092Thu Aug 28 07:03:15 1997 Jeffrey A Law (law@cygnus.com)
4093
4094 * version.c: Bump for latest snapshot.
4095
4096 * bc-optab.c: Conditionally include stdlib.h.
4097 (free): Provide a declaration if NEED_DECLARATION_FREE.
4098 * tree.c (free): Provide a declaration if NEED_DECLARATION_FREE.
4099 * rtl.h (free): Remove declaration.
4100 * tree.h (free): Remvoe declaration.
4101
4102 * configure: Rebuilt.
4103
e5eb27e5
JL
4104Wed Aug 27 21:32:20 1997 Jeffrey A Law (law@cygnus.com)
4105
4106 * flags.h (flag_move_all_movables): Declare.
4107 (flag_reduce_all_givs): Likewise.
4108 * loop.c (move_movables): Handle flag_move_all_movables.
4109 (strength_reduce): Handle flag_reduce_all_givs.
4110 * toplev.c (flag_move_all_movables): Define.
4111 (flag_reduce_all_givs): Likewise.
4112 (f_options): Add -fmove-all-movables and -freduce-all-givs.
4113 * invoke.texi: Document new options, including alias stuff that
4114 wasn't included last time.
4115
d995a6dc
BM
4116Wed Aug 27 18:08:51 1997 Bob Manson (manson@cygnus.com)
4117
4118 * t-h8300: Use TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS.
4119 * t-mn10200: Ditto.
4120 * t-vxsparc: Ditto.
4121 * t-vxworks68: Ditto.
4122 * t-vxworks960: Ditto.
4123 * t-vx29k: Ditto.
4124
ba64ca33
RH
4125Wed Aug 27 16:35:29 1997 Richard Henderson <rth@cygnus.com>
4126
4127 * alpha/xm-alpha.h (alloca): Define alloca to builtin_alloca for GNUC
4128 if not already defined, and USE_C_ALLOCA not defined.
4129
ca20876d
JW
4130Wed Aug 27 16:08:43 1997 Jim Wilson <wilson@cygnus.com>
4131
7818d6fc
JW
4132 * config.guess: Replace with script that uses ../config.guess.
4133
ca20876d
JW
4134 * config/alpha/elf.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1
4135 if USE_GNULIBC_1 is not defined.
4136
704a6306
RH
4137Wed Aug 27 15:49:12 1997 Richard Henderson <rth@cygnus.com>
4138
4139 * alpha/elf.h (LINK_SPEC): Conditionalize on USE_GNULIBC_1.
4140 * config.guess: Recognize alpha-linux-gnulibc1.
4141 * configure.in (alpha-*-linux-gnulibc1): New target.
4142 (alpha-*-linux-gnu*): Don't build crtbegin/end.
4143
67f68fd2
JW
4144Wed Aug 27 11:52:58 1997 Jim Wilson <wilson@cygnus.com>
4145
4146 * m68k.md (iorsi3_internal): Readd ! TARGET_5200 check lost in
4147 last change.
4148
88016fb7
DE
4149Wed Aug 27 01:56:18 1997 Doug Evans <dje@seba.cygnus.com>
4150
4151 * loop.c (combine_movables): Earlier insns don't match later ones.
4152
bba17b29
L
4153Wed Aug 27 01:24:25 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
4154
4155 * config/linux.h (CC1_SPEC): Define it only if not defined.
4156
4157 * config/m68k/linux.h (CC1_SPEC): Undefine it before include
4158 <linux.h>
4159
4160 * config/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1 if
4161 USE_GNULIBC_1 is not defined.
4162
33d2808b 4163 * config/rs6000/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1.
bba17b29
L
4164
4165 * config/sparc/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
4166 as 1 if USE_GNULIBC_1 is not defined.
4167
ed4044e0
JL
4168Wed Aug 27 00:49:14 1997 Jeffrey A Law (law@cygnus.com)
4169
f345de42
JL
4170 * reorg.c (dbr_schedule): Allow current_function_return_rtx
4171 to be something other than a REG.
4172 * function.c (expand_function_end): Fix current_function_return_rtx
4173 if it was a pseudo.
4174
ed4044e0
JL
4175 * t-freebsd (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
4176 * x-netbsd: Likewise
4177 * x-dgux (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS
4178 (INSTALL_HEADERS): Delete.
4179 * x-dguxbcs: Likewise.
4180 * x-hp3bsd44: Likewise
4181 * x-pa: Likewise.
4182
47d36400
BS
4183Wed Aug 27 00:30:00 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
4184
4185 * i386.md (pop): pop increments the stack pointer.
4186 (prologue_set_stack_ptr): New pattern.
4187 * i386.c (ix86_expand_prologue): Use prologue_set_stack_ptr
4188 instead of subsi3.
4189
fc79eafe
JW
4190Tue Aug 26 18:50:32 1997 Jim Wilson <wilson@cygnus.com>
4191
4192 * reload.c (find_reloads, case '0'): Reject matching a non-offsettable
4193 address where an offsettable address is required.
4194
c5da853f
MH
4195Tue Aug 26 17:54:56 1997 Michael P. Hayes (michaelh@ongaonga.chch.cri.nz>
4196
4197 * loop.c (check_final_value): Don't miss a biv increment in a
4198 parallel.
4199
d4ef15f2
JW
4200Tue Aug 26 12:03:49 1997 Jim Wilson (wilson@cygnus.com)
4201
4202 * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Check
4203 TYPE_DECL_IS_STUB instead of DECL_NAME.
4204
10549cbd
JW
4205Mon Aug 25 23:27:10 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
4206
4207 * objc/Make-lang.in ($(OBJC_O)): Also depend on cc1obj.
4208
4209Mon Aug 25 23:27:10 1997 Jim Meyering <meyering@eng.ascend.com>
4210
4211 * objc/Make-lang.in ($(OBJC_O)): Also depend on $(GCC_PASSES).
4212
484df988
JL
4213Mon Aug 25 13:12:24 1997 Jeffrey A Law (law@cygnus.com)
4214
4215 * haifa-sched.c (find_pre_sched_live): Remove #if 0 code.
4216 (find_post_sched_live): Likewise.
4217
4218 * haifa-sched.c (schedule_block): Remove old code to get arguments
4219 from hard regs into pseudos early.
4220
39dfb55a
JL
4221Mon Aug 25 08:55:00 1997 Jeffrey A Law (law@cygnus.com)
4222
4223 * version.c: Bump for new snapshot.
4224
4225 * local-alloc.c (update_equiv_regs): All the target to reject
4226 promotion of some REG_EQUAL to REG_EQUIV notes.
4227 * pa.h (DONT_RECORD_EQUIVALENCE): Define.
4228
4229 * pa.c (secondary_reload_class): (mem (mem ... )) does not need
4230 secondary reloads.
4231
4232 * pa.c (hppa_builtin_saveregs): Emit a blockage insn after the
4233 store of the argument registers.
4234
4235Mon Aug 25 08:39:02 1997 Craig Burley (burley@gnu.ai.mit.edu)
4236
4237 * fold-const.c (multiple_of_p): New function.
4238 (fold): Turn some cases of *_DIV_EXPR into EXACT_DIV_EXPR.
4239
d78778eb
JL
4240Mon Aug 25 01:47:41 1997 Jeffrey A Law (law@cygnus.com)
4241
4242 * expr.h (insn_gen_function): Temporarily remove prototype.
4243
feb9ea1a
JW
4244Sun Aug 24 17:22:21 1997 Jim Wilson <wilson@cygnus.com>
4245
4246 * Makefile.in (install-info): Don't cd into srcdir. Add srcdir to
4247 filenames. Use sed to extract base filename for install.
4248
b6ffe602
JC
4249Sat Aug 23 18:19:40 1997 John F. Carr <jfc@mit.edu>
4250
4251 * unroll.c (find_splittable_givs): Only share if two givs have the
4252 same add and multiply values.
4253
2ebfd230
JW
4254Sat Aug 23 14:36:27 1997 Jim Wilson <wilson@cygnus.com>
4255
4256 * m68k/next.h (GO_IF_INDEXABLE_BASE): Fix typo in undef.
4257 * m68k/m68kemb.h (LIB_SPEC): Add missing comment end before it.
4258
251ffdee
JL
4259Sat Aug 23 00:18:22 1997 Jeffrey A Law (law@cygnus.com)
4260
4261 * pa.c (pa_reorg): Always put begin_brtab and end_brtab insns
4262 around branch tables.
4263 * pa.md (begin_brtab, end_brtab): Only emit the .begin_brtab
4264 and .end_brtab directives if TARGET_GAS.
4265
19372aa1
JW
4266Fri Aug 22 14:05:55 1997 Jim Wilson <wilson@cygnus.com>
4267
27314274
JW
4268 * alias.c (true_dependence): Pass x_addr not x to varies.
4269
19372aa1
JW
4270 * acconfig.h (NEED_DECLARATION_CALLOC): Add.
4271 * configure.in: Add GCC_NEED_DECLARATION call for calloc.
4272 * rs6000/xm-rs6000.h (malloc, realloc, calloc, free): Delete
4273 declarations.
4274 * config.in, configure: Regenerate.
4275
2a2c8203
JC
4276Thu Aug 21 23:52:16 1997 John F. Carr <jfc@mit.edu>
4277
4278 * alias.c (find_base_value): Improve handling of PLUS, MINUS, and
4279 LO_SUM.
4280 (record_set): Handle LO_SUM like PLUS.
4281 (init_alias_analysis): When following chains of base addresses,
4282 do not stop on reaching a hard register.
4283
d80357b7
JL
4284Thu Aug 21 20:17:37 1997 Jeffrey A Law (law@cygnus.com)
4285
4286 * version.c: Bump for new snapshot.
4287
b4f32d7b
JW
4288Thu Aug 21 17:28:00 1997 Jim Wilson <wilson@cygnus.com>
4289
4290 * alpha.h (ARCH_ASM_FILE_START): Define.
4291 (ASM_FILE_START): Use ARCH_ASM_FILE_START.
4292 * osf12.h, osf2or3.h (ARCH_ASM_FILE_START): Redefine to null string.
4293
ca363bb6
JL
4294Thu Aug 21 10:22:19 1997 Jeffrey A Law (law@cygnus.com)
4295
4296 * Makefile.in (install-common): Put gcov comment at start of line.
4297
7557aa98
JL
4298Wed Aug 20 22:47:33 1997 Jeffrey A Law (law@cygnus.com)
4299
4300 * alias.c (init_alias_analysis): When simplifying the reg_base_value
4301 array, simplify entries for hard registers too.
4302
c34e3ae4
DL
4303Wed Aug 20 12:35:47 1997 Dave Love <d.love@dl.ac.uk>
4304
4305 * dwarf2.h (enum dwarf_call_frame_info): Remove trailing comma from
4306 list.
4307
e3eef942
JW
4308Wed Aug 20 11:58:33 1997 Jim Wilson <wilson@cygnus.com>
4309
4310 * stmt.c (start_cleanup_deferal, end_cleanup_deferal): Test
4311 block_stack before dereferencing it.
4312
4313Wed Aug 20 11:57:11 1997 Michael Meissner <meissner@cygnus.com>
246853b9
MM
4314
4315 * rs6000.h (ISSUE_RATE): Define instead of MACHINE_issue_rate.
4316
04f41951
JM
4317Tue Aug 19 17:10:56 1997 Jason Merrill <jason@yorick.cygnus.com>
4318
4319 * cplus-dem.c: Add 'extern' to prepends_underscore.
4320
e933cbe0
JL
4321Tue Aug 19 09:34:57 1997 Jeffrey A Law (law@cygnus.com)
4322
62d65906
JL
4323 * haifa-sched.c (ISSUE_RATE): Renamed from MACHINE_issue_rate.
4324 (get_issue_rate): Delete.
4325 * pa.h (ISSUE_RATE): Define.
4326
2da05a5b
JL
4327 * configure.in: Turn on haifa by default for the PA.
4328 * configure: Rebuilt.
4329 * pa.c (override_options): Accept -mschedule=7200 option.
4330 (pa_adjust_cost): No longer need to scale costs for newer
4331 processors.
4332 * pa.h (enum processor_type): Add PROCESSOR_7200.
4333 * pa.md: Revamp scheduling parameters to work better with
4334 haifa. Add scheduling parameters for the 7200.
4335
4f64eaca
JL
4336 * haifa-sched.c (move_insn): Reemit notes for SCHED_GROUP_P
4337 insns too.
4338 (schedule_block): When adjusting basic_block_{head,end}, account
4339 for movement of SCHED_GROUP_P insns too.
4340
4341 * haifa-sched.c (debug_dependencies): Fix thinko.
4342
e933cbe0
JL
4343 * Makefile.in (EXPECT, RUNTEST, RUNTESTFLAGS): Define.
4344 (site.exp, check, check-g++, check-gcc): New targets.
4345
4f64eaca 4346 * haifa-sched.c: Make lots of variables static.
61822835 4347
e9576d2c
L
4348Tue Aug 19 07:18:34 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
4349
4350 * expr.h, real.h: Finish prototyping.
4351
61822835
JL
4352Mon Aug 18 21:49:02 1997 Jim Wilson <wilson@cygnus.com>
4353
4354 * reload.c (find_reloads): Add code to convert RELOAD_FOR_OPADDR_ADDR
4355 reloads to RELOAD_FOR_OPERAND_ADDRESS reloads.
4356 * reload1.c: Undo bugfix from Aug 11.
4357
f24b370a
MM
4358Mon Aug 18 17:39:02 1997 Mike Meissner <meissner@cygnus.com>
4359
4360 * configure.in ({powerpc,rs6000}*-*-*, --with-cpu): Remove single
4361 quotes around the name.
4362 * configure: Regenerate.
4363
1c4c5851
JW
4364Mon Aug 18 13:46:47 1997 Jim Wilson <wilson@cygnus.com>
4365
4366 * Makefile.in (stmp-multilib-sub): Fix typo in last change.
4367
71abb567
MH
4368Thu Aug 7 10:33:13 1997 Manfred Hollstein <manfred@s-direktnet.de>
4369
4370 * Makefile.in (sub-makes): Pass the current value of LANGUAGES down
4371 to sub-makes to avoid building more passes than the user might have
4372 requested on the command line.
4373
6042434a
DL
4374Sun Aug 17 15:42:17 1997 Dave Love (d.love@dl.ac.uk)
4375
4376 * configure.in: Expurgate `broken_install' (install is
4377 autoconfed).
4378
4379 * configure.lang: Substitute autoconfed ${INSTALL} (not currently
4380 relevant).
4381
38ea060f
JL
4382Sat Aug 16 01:08:12 1997 Jeffrey A Law (law@cygnus.com)
4383
4384 * loop.c (is_power_of_2, is_conditional_branch): Delete unused
4385 functions and declarations.
4386 (analyze_loop_iterations): Use condjump_p.
4387 (insert_bct): Likewise. Use exact_log2.
4388
f187056f
JL
4389Fri Aug 15 23:48:32 1997 Jeffrey A Law (law@cygnus.com)
4390
4391 * haifa-sched.c (find_post_sched_live): Call FREE_REG_SET as needed.
4392 (schedule_region): Likewise.
4393 (schedule_insns): Likewise.
4394
4395 * PROJECTS: Update with Haifa stuff.
4396
9af06254
JL
4397Fri Aug 15 12:49:56 1997 Jeffrey A Law (law@cygnus.com)
4398
4399 * version.c: Change the version string to look like:
11c21791 4400 egcs-2.90.00 970814 (gcc2-970802 experimental).
9af06254 4401
0945e937
JL
4402 * loop.c (is_conditional_branch): Make definition match declaration.
4403
9af06254
JL
4404 * gcc.c: Take out experimental snapshot warning message.
4405
ebc25a17
MM
4406Fri Aug 15 13:43:39 1997 Michael Meissner <meissner@cygnus.com>
4407
4408 * haifa-sched.c (debug_dependencies): Use GET_NOTE_INSN_NAME to
4409 print out the names of the notes. Print out the name of the insn
4410 that is not a note, and not an {,CALL_,JUMP_}INSN.
4411
610ce97e
JM
4412Wed Aug 13 17:32:38 1997 Jason Merrill <jason@yorick.cygnus.com>
4413
4414 * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
4415 again for the slot after we give it RTL.
4416
992d1248
DE
4417Wed Aug 13 01:03:37 1997 Doug Evans <dje@canuck.cygnus.com>
4418
4419 * configure.in (haifa configury): Fix typo.
4420 * configure: Regenerate.
4421
7bb6fbd1
JL
4422Tue Aug 12 10:20:36 1997 Jeffrey A Law (law@cygnus.com)
4423
4424 * version.c: Bump version to "gcc-3.0.0 970802 experimental".
4425
4426 * gcc.info*: Rebuilt.
4427
4428 * COPYING.g77, README.g77: New files.
4429 * real.c (ereal_unto_float, ereal_unto_double): New functions.
4430 * real.h (ereal_unto_float, ereal_unto_double): Declare them.
4431 (REAL_VALUE_UNTO_TARGET_DOUBLE, REAL_VALUE_UNTO_TARGET_SINGLE): Define.
4432
8c660648
JL
4433Mon Aug 11 14:50:55 1997 Jeffrey A Law (law@cygnus.com)
4434
4435 * Integrate Haifa instruction scheduler.
4436 * Makefile.in (ALL_CFLAGS): Add SCHED_CFLAGS. Prefix all references
4437 to sched with $(SCHED_CFLAGS.
4438 * configure.in: Handle --enable-haifa.
4439 * configure: Rebuilt.
4440 * flags.h: Add new flags for haifa instruction scheduler.
4441 * genattrtab.c (expand_units): For haifa, don't subtract one
4442 when computing blockage.
4443 * toplev.h (flag_schedule_interblock): Haifa scheduler flag.
4444 (flag_schedule_speculative): Ditto.
4445 (flag_schedule_speculative_load): Ditto.
4446 (flag_schedule_speculative_load_dangerous): Ditto.
4447 (flag_schedule_reverse_before_reload): Ditto.
4448 (flag_schedule_reverse_after_reload): Ditto.
4449 (flag_branch_on_count_reg): Ditto.
4450 (f_options): Add Haifa switches.
4451 (main): Turn off some Haifa options if appropriate macro is
4452 defined. Process Haifa switches.
4453 * unroll.c (iteration_info): No longer static, since Haifa
4454 scheduler uses it.
4455 (unroll_loop): Inform HAIFA scheduler about loop unrolling factor.
4456 * unroll.c (unroll_loop): Set loop_unroll_iter, loop_start_value.
4457 * loop.h (loop_unroll_factor, loop_number): Add HAIFA decls.
4458 * loop.h (loop_initial_value,loop_unroll_iter): New globals.
4459 * loop.c (loop_optimize): If HAIFA is defined, allocate additional
4460 storage for the Haifa scheduler.
4461 (mark_loop_jump): If HAIFA defined, set LABEL_OUTSIDE_LOOP_P and
4462 LABEL_NEXTREF.
4463 (strength_reduce): If HAIFA and HAVE_decrement_and_branch_on_count
4464 are defined, call analyze_loop_iterations and insert_bct to use
4465 countdown loops.
4466 (record_giv): Refine test for jumps out of loops if HAIFA is
4467 defined.
4468 (analyze_loop_iterations): New function to identify if we can use
4469 a countdown loop.
4470 (insert_bct): Insert countdown loop.
4471 (instrument_loop_bct): Low level code to insert countdown loop.
4472 (loop_number): Calculate UID of loop.
4473 (indirect_jump_in_function_p): Return true if an indirect jump is
4474 in the function.
4475 (is_power_of_2): Return true if value is a power of 2.
4476 (is_conditional_branch): Return true if insn is a conditional
4477 jump.
4478 (fix_bct_param): Process -fbct-{min,max}-N switches.
4479 (check_bct_param): Return true if loop should be instrumented.
4480 * loop.c (loop_initial_value,loop_unroll_iter): New globals.
4481 (loop_optimize): Initialize.
4482 (get_condition_for_loop): Ditto.
4483 * loop.c (strength_reduce): Inside of code that uses #ifdef
4484 HAVE_decrement_and_branch_on_count code, test it to make sure the
4485 condition is true.
4486 (instrument_loop_bct): Ditto.
4487 * haifa-sched.c: New file.
4488
4489
4490 * Integrate regmove pass.
4491 * Makefile.in (OBJS): Add regmove.o
4492 (regmove.o): Add dependencies.
4493 * flow.c (find_use_as_address): No longer static.
4494 * rtl.h (find_use_as_address): Declare.
4495 * toplev.c (regmove_dump, flag_regmove): Define.
4496 (f_options): Add -fregmove.
4497 (regmove_dump_file, regmove_time): Define.
4498 (fatal_insn): Close the regmove dump file.
4499 (compile_file): Initialize regmove_time; open/close the regmove dump
4500 file as needed. Print regmove time as needed.
4501 (rest_of_compilation): Run regmove pass if requested, dump
4502 RTL after regmove if requested.
4503 (main): If -O2 or more, turn on regmove. Handle dump switches.
4504 * regmove.c: New file.
4505
aa32d841
JL
4506Mon Aug 11 14:15:02 1997 Jeffrey A Law (law@cygnus.com)
4507
4508 * Integrate tlink patch from jason@cygnus.com
4509 * gcc.c (SWITCH_TAKES_ARG): Add 'V', 'B' and 'b'.
4510 (process_command): Increment n_switches for them. Don't discard
4511 their args. Validate them.
4512 (main): Escape " marks when creating COLLECT_GCC_OPTIONS.
4513 From Rohan Lenard.
4514 (process_command): Set include_prefixes from COMPILER_PATH.
4515 (main): Set COLLECT_GCC_OPTIONS sooner.
4516 * confiugre.in: Link ../ld/ld.new to collect-ld rather than real-ld.
4517 * tlink.c, hash.c, hash.h: New files.
4518 * Makefile.in (USE_COLLECT2): Always use collect2.
4519 (collect2): Depend on and link in hash.o and tlink.o.
4520 (tlink.o, hash.o): Add dependencies.
4521
5fa39bfe
JL
4522Mon Aug 11 10:04:49 1997 Jeffrey A Law (law@cygnus.com)
4523
9ae8ffe7
JL
4524 * Integrate alias analysis changes from jfc@mit.edu
4525 * Makefile.in (OBJS): Add alias.o
4526 (alias.o): Add dependencies.
4527 * alias.c: New file.
4528 * sched.c: Remove alias analysis code. It lives in alias.c now.
9ae8ffe7 4529 (sched_analyze_2): Add new arguments to true_dependence.
9ae8ffe7
JL
4530 (schedule_insns): Always call init_alias_analysis.
4531 * calls.c (expand_call): Note calls to malloc, calloc, and realloc;
4532 mark return value from such functions as a pointer and keep track of
4533 them for alias analysis. If a return value from a function is a
4534 pointer, mark it as such.
4535 * combine.c (distribute_notes): Handle REG_NOALIAS.
4536 * cse.c (struct write_data): Delete. No longer needed.
4537 (invalidate): Don't call set_nonvarying_address_components anymore.
4538 Use true_dependence to decide if an entry should be removed from
4539 the hash table.
4540 (invalidate_memory): Remove WRITES argument, simplify appropriately.
4541 Fix all callers.
4542 (note_mem_written): Similarly for WRITE_PTR argument.
4543 (invalidate_from_clobbers): Similarly for W argument.
4544 (invalidate_for_call): Remove memory elements from the hash table.
4545 (refers_to_mem_p, cse_rtx_addr_varies_p): Deleted.
4546 (cse_rtx_varies_p): New function. Derived from old
4547 cse_rtx_addr_varies_p.
4548 (cse_insn): Remove WRITES_MEMORY and INIT variables and all references.
4549 Don't call note_mem_written anymore. Stack pushes invalidate the stack
4550 pointer if PUSH_ROUNDING is defined. No longer need to call
4551 cse_rtx_addr_varies_p to decide if a MEM should be invalidated.
4552 (skipped_writes_memory): Remove variable.
4553 (invalidate_skipped_set): Simplify and wewrite to use invalidate_memory.
4554 (invalidate_skipped_block): Simplify for new alias analysis code.
4555 (cse_set_around_loop): Likewise.
4556 (cse_main): Call init_alias_analysis.
4557 * flags.h (flag_alias_check, flag_argument_noalias): Declare.
4558 * toplev.c (flag_alias_check, flag_argument_noalias): Define.
4559 (f_options): Add new alias checking arguments.
4560 (main): Set flag_alias_check when optimizing.
4561 * local_alloc (validate_equiv_mem_from_store): Add new arguments
4562 to true_dependence.
4563 (memref_referenced_p): Likewise.
4564 * loop.c (NUM_STORES): Increase to 30.
4565 (prescan_loop): Only non-constant calls set unknown_address_altered.
4566 (invariant_p): Add new arguments to true_dependence.
4567 (record_giv): Initialize unrolled and shared fields.
4568 (emit_iv_add_mult): Call record_base_value as needed.
4569 * loop.h (struct induction): Add unrolled and shared fields.
4570 * unroll.c (unroll_loop): Call record_base_value as needed.
4571 (copy_loop_body): Likewise.
4572 (final_biv_value): Likewise.
4573 (final_giv_value): Likewise.
4574 (find_splittable_regs): Likewise. Only create one new pseudo
4575 if we have multiple address GIVs that were combined with the same
4576 dst_reg GIV. Note when a new register is created due to unrolling.
4577 * rtl.c (reg_note_name): Add REG_NOALIAS.
4578 * rtl.h (enum reg_note): Similarly.
4579 (rtx_varies_p, may_trap_p, side_effects_p): Declare.
4580 (volatile_refs_p, volatile_insn_p, remove_note): Likewise.
4581 (note_stores, refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
4582 (true_dependence, read_dependence, anti_dependence): Likewise.
4583 (output_dependence, init_alias_analysis, end_alias_analysis): Likewise.
4584 (mark_user_reg, mark_reg_pointer): Likewise.
4585
4586
4587 * Integrate reload bugfix from Wilon which enables the PA port
5fa39bfe
JL
4588 to bootstrap again.
4589 * reload1.c (reload): Sum needs for both OPADDR_ADDR and and
4590 OPERAND_ADDRESS when computing how many registers an insn needs.
4591 (reload_reg_free_p): OPADDR_ADDR and OPERAND_ADDRESS reloads do
4592 conflict.
4593 (reload_reg_free_before_p): Treat OPERAND_ADDRESS reloads just like
4594 OPADDR_ADDR reload.
4595 (reload_reg_reaches_end_p): For RELOAD_FOR_OPADDR_ADDR insns, registers
4596 in reload_reg_use_in_op_addr do not reach the end.
4597 do not reach the end.
4598 (reloads_conflict): RELOAD_FOR_OPADDR_ADDR conflicts with
4599 RELOAD_FOR_OPERAND_ADDRESS.
4600
4601Sun Aug 10 12:00:20 1997 Jeffrey A Law (law@cygnus.com)
4602
2dcfcb56 4603 * egcs project officially starts.
861bb6c1 4604
This page took 0.594058 seconds and 5 git commands to generate.