OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-stable/] [gcc-4.5.1/] [gcc/] [ChangeLog-1997] - Blame information for rev 826

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 280 jeremybenn
Wed Dec 31 14:42:18 1997  Ian Lance Taylor  
2
 
3
        * configure.in: Set and substitute host_exeext.  Use it when creating
4
        the assembler and linker symlinks.
5
        * configure: Rebuild.
6
        * Makefile.in (exeext): Set to @host_exeext@.
7
        (build_exeext): New variable, set to @build_exeext@.
8
        (FLAGS_TO_PASS): Pass down build_exeext.
9
        (STAGESTUFF): Use build_exeext, not exeext, for gen* and bi*
10
        programs.
11
 
12
Wed Dec 31 10:05:44 1997  Jeffrey A Law  (law@cygnus.com)
13
 
14
        * mn10200.md (addsi3, subsi3): Fix thinkos.
15
 
16
Tue Dec 30 00:04:49 1997  Richard Henderson  
17
 
18
        * sparc.h (ASM_OUTPUT_MI_THUNK): Move %o7 through %g1 instead of
19
        save+restore.  Fix pic+big_offset delay slot.  Use "pic" case for
20
        unix always, since we want to be able to thunk to functions in a
21
        shared library from an application.
22
 
23
Mon Dec 29 14:37:31 1997  Ian Lance Taylor  
24
 
25
        * mips/t-ecoff (CROSS_LIBGCC1): Define to libgcc1-asm.a.
26
        (LIB1ASMSRC, LIB1ASMFUNCS): Define.
27
 
28
Mon Dec 29 14:03:38 1997  Jeffrey A Law  (law@cygnus.com)
29
 
30
        * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
31
        offset's mode is not ptr_mode, convert it.
32
 
33
Mon Dec 29 15:58:18 1997  Michael Meissner  
34
 
35
        * libgcc2.c (inhibit_libc): Don't define inhibit_libc when cross
36
        compiling if it was already defined.
37
 
38
Sun Dec 28 00:32:16 1997  Jeffrey A Law  (law@cygnus.com)
39
 
40
        * flow.c (find_basic_blocks): Don't create a new basic block
41
        for calls in a LIBCALL block.
42
 
43
Sun Dec 28 00:30:24 1997  David Edelsohn  
44
 
45
        * config/fp-bit.c (L_df_to_sf): Fix typo in last change.
46
 
47
Sat Dec 27 22:43:12 1997  Jeffrey A Law  (law@cygnus.com)
48
 
49
        * cse.c (rtx_cost): Remove conflicting default case.
50
 
51
Sat Dec 27 21:20:02 1997  Richard Henderson  
52
 
53
        * configure.in: Move default enabling of Haifa out of for loop.
54
        * configure: Rebuild.
55
 
56
Thu Dec 25 01:02:54 1997  Jeffrey A Law  (law@cygnus.com)
57
 
58
        * version.c: Bump for snapshot.
59
 
60
1997-12-25  Teemu Torma  
61
 
62
        * Makefile.in (GTHREAD_FLAGS): New var.
63
        (LIBGCC2_CFLAGS): Added $(GTHREAD_FLAGS).
64
        (distclean): Remove gthr-default.h.
65
 
66
        * configure.in: Accept dce as a thread package.
67
        Check for thread.h and pthread.h.
68
        Link gthr-default.h to appropriate thread file and set
69
        gthread_flags.
70
        (hppa1.1-*-hpux10*): If --enable-threads, use dce threads and
71
        include multilib definitions from pa/t-dce-thr.
72
        (sparc-*-solaris2*): Enable threads by default, if thread.h or
73
        pthread.h is found, preferring posix threads over solaris ones.
74
 
75
        * config/pa/t-dce-thr: New file.
76
        * config/pa/t-pa: Removed multilibs.
77
        * config/sparc/t-sol2: Likewise.
78
 
79
        * gthr.h: New file.
80
        * gthr-single.h: New file.
81
        * gthr-posix.h: New file.
82
        * gthr-solaris.h: New file.
83
        * gthr-dce.h: New file.
84
        * libgcc-thr.h: Removed.
85
        * objc/thr-dce.c: New file copied from thr-decosf1.c.
86
 
87
        * frame.c: Include gthr.h instead of libgcc-thr.h.
88
        * libgcc2.c: Include gthr.h instead of libgcc-thr.h.
89
        (eh_context_initialize): If __gthread_once fails, use static eh
90
        context.
91
        (eh_context_free): Call __gthread_key_dtor.
92
 
93
Wed Dec 24 23:33:17 1997  Jeffrey A Law  (law@cygnus.com)
94
 
95
        * expr.h (MUST_PASS_IN_STACK): Allow target port to override.
96
 
97
Wed Dec 24 23:12:14 1997  Jim Wilson  
98
 
99
        * cse.c (max_insn_uid): New variable.
100
        (cse_around_loop): Use max_insn_uid.
101
        (cse_main): Set max_insn_uid.
102
 
103
        * abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and TARGET_DEFAULT,
104
        and define __LONG_MAX__ appropriately.  Add support for -mabi=X,
105
        -mlong64, and -mgp{32,64} options.
106
        * mips.c (mips_abi): Change type to int.
107
        * mips.h (enum mips_abi_type): Delete.
108
        (ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants.
109
        (mips_abi): Change type to int.
110
 
111
Wed Dec 24 22:38:34 1997  John Carr  
112
 
113
        * flags.h, toplev.c, calls.c, alias.c: Remove flag_alias_check;
114
        optimization is now always enabled.
115
 
116
        * calls.c (expand_call): Recognize C++ operator new as malloc-like
117
        function.
118
 
119
        * alias.c (memrefs_conflict_p): Eliminate tests now done by
120
        base_alias_check.
121
        (*_dependence): Call canon_rtx before base_alias_check.
122
        (init_alias_once): New function to precompute set of registers which
123
        can hold Pmode function arguments.
124
 
125
        * rtl.h: Declare init_alias_once.
126
 
127
        * toplev.c (compile_file): Call init_alias_once.
128
 
129
Wed Dec 24 22:34:55 1997  Jeffrey A Law  (law@cygnus.com)
130
 
131
        * tree.c (restore_tree_status): Do not dereference a null pointer.
132
 
133
Tue Dec 23 12:56:46 1997  Paul Eggert  
134
 
135
        * genattrtab.c (main): Check HAVE_{G,S}ETRLIMIT in addition to
136
        RLIMIT_STACK.  This maintains consistency with the recent, similar
137
        patch to cccp.c and toplev.c.
138
 
139
Tue Dec 23 05:17:28 1997  Richard Henderson  
140
 
141
        * genattrtab.c (expand_units): For large nr opclasses, expand
142
        function_units_used with ORX to prevent blowups.  Tag with FFS.
143
        (num_unit_opclasses): New variable.
144
        (gen_unit): Update it.
145
        (enum operator): Add ORX_OP.
146
        (operate_exp): Treat ORX as or, except don't expand across an if.
147
        Reuse number rtx's after operating on them.
148
        (check_attr_value): Accept IOR, AND, & FFS.
149
        (write_test_expr): Transmute `in_comparison' to `flags'.  Allow
150
        for attribute value caching.  Handle CONST_STRING, IF_THEN_ELSE.
151
        (write_expr_attr_cache, write_toplevel_expr): New functions.
152
        (write_attr_get): Handle FFS-tagged expressions.
153
        (make_canonical): Don't expand const attributes.
154
        (convert_const_symbol_ref): Dike out.
155
        (evaluate_eq_attr): Handle SYMBOL_REF.
156
        (main): Don't emit get_attr_foo for const attributes.
157
 
158
        * alpha.c (override_options): Reinstate PROCESSOR_EV6.
159
        (alpha_adjust_cost): Add EV6 tuning; streamline EV5 tests.
160
        * alpha.h (REGISTER_MOVE_COST): Increase ftoi/itof cost slightly.
161
        * alpha.md: Redo all of the scheduling, adding EV6 support, and
162
        combining function units where possible.
163
        (attr "type"): Split loads, stores, cmov into int/fp.  Combine
164
        multiplies and divides.  Add EV6 sqrt, ftoi, itof.
165
        (attr "opsize"): New attribute.
166
        (sqrtsf2-1, sqrtdf2-1): Provide proper TP_INSN patterns.
167
        (movsf2-[12], movdf2-[12]): Provide CIX varients; don't allow CIX
168
        to control register allocation.
169
        (movsi2-1, movdi2-1): Likewise.
170
 
171
Tue Dec 23 03:53:21 1997  Richard Henderson  
172
 
173
        * alpha.h (CPP_PREDEFINES, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC,
174
        MD_STARTFILE_PREFIX, ASM_FILE_START, ASM_SPEC, ASM_FINAL_SPEC):
175
        Move OSF/1 specific defines out.
176
        * alpha/elf.h (TARGET_VERSION, CPP_PREDEFINES, DEFAULT_VTABLE_THUNKS):
177
        Move Linux specific defines out.
178
        (LINK_SPEC): Genericize.
179
        (ASM_FILE_START): Emit .arch if using more than the base insn set.
180
        (ASM_OUTPUT_SOURCE_LINE): Remove; identical to alpha.h version.
181
        (SDB_DEBUGGING_INFO): Remove; gas can't handle it.
182
        (HANDLE_SYSV_PRAGMA): Define.
183
        * alpha/osf.h: New file.
184
        * alpha/linux.h: Split.  Retain file-format independent defines.
185
        Import Linux bits from elf.h.
186
        (CPP_PREDEFINES): Take a file-format specific SUB_CPP_PREDEFINES.
187
        (FUNCTION_PROFILER): _mcount takes its address in $28.
188
        (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Remove undef.
189
        * alpha/linux-ecoff.h: New file.
190
        * alpha/linux-elf.h: New file.
191
        * alpha/vms.h (LIB_SPEC, LINK_SPEC): Copy from osf.h.
192
        * alpha/win-nt.h (TARGET_DEFAULT): Define.
193
        * configure.in (alpha*-*-osf*, alpha*-*-linux*) [tm_file]:
194
        Add new headers as appropriate.
195
 
196
        * configure.in (alpha*): Enable Haifa by default.
197
        (*-*-winnt3*): Change to winnt*, since we're not v3 specific.
198
        * configure: Rebuild.
199
 
200
Tue Dec 23 03:14:54 1997  Richard Henderson  
201
 
202
        * Makefile.in (clean): Remove the stages with their objects here ...
203
        (distclean): ... instead of here.
204
 
205
Mon Dec 22 11:24:01 1997  Kaveh R. Ghazi  
206
 
207
        * cse.c (rtx_cost): Add default case in enumeration switch.
208
        * fix-header.c (recognized_macro): Likewise.
209
        (recognized_extern): Likewise.
210
        (write_rbrac): Likewise.
211
        * objc/objc-act.c (encode_aggregate): Likewise.
212
        (gen_declarator): Likewise.
213
        (gen_declspecs): Likewise.
214
 
215
Mon Dec 22 09:58:51 1997  Jeffrey A Law  (law@cygnus.com)
216
 
217
        * haifa-sched.c (create_reg_dead_note): Detect and handle another
218
        case where we kill more regs after sched than were killed before
219
        sched.
220
        * sched.c (create_reg_dead_note): Similarly.
221
 
222
Mon Dec 22 09:18:37 1997  Jeffrey A Law  (law@cygnus.com)
223
 
224
        * c-pragma.c: Include flags.h.
225
 
226
Sun Dec 21 22:10:59 1997  Mumit Khan  
227
 
228
        * i386/cygwin32.h (NO_IMPLICIT_EXTERN_C): Don't assume anything
229
        about system headers.
230
        (LIB_SPEC): Add -ladvapi32 -lshell32 to be consistent with mingw32
231
        and also to resolve symbols in prefix.c.
232
 
233
        * i386/xm-cygwin32.h (HAVE_BCOPY): Define. This avoids a conflict
234
        between gansidecl.h and newlib's _ansi.h when building libgcc2.a,
235
        when the definitions in auto-config.h is not visible.
236
        (HAVE_BZERO): Likewise.
237
        (HAVE_BCMP): Likewise.
238
        (HAVE_RINDEX): Likewise.
239
        (HAVE_INDEX): Likewise.
240
 
241
Sun Dec 21 21:54:22 1997  Jeffrey A Law  (law@cygnus.com)
242
 
243
        * pa.c (emit_move_sequence): Handle a function label source
244
        operand.
245
 
246
Sun Dec 21 16:13:55 1997  Nick Clifton  
247
 
248
        * c-pragma.c (handle_pragma_token): Generate warning messages
249
        about unknown pragmas if warn_unknown_pragmas is set.
250
 
251
        * c-decl.c (c_decode_option): Parse -Wunknown-pragmas command
252
        line option to set variable: warn_unknown_pragmas.
253
 
254
Sun Dec 21 15:51:10 1997  Manfred Hollstein  
255
 
256
        * m68k/mot3300.h (ASM_BYTE_OP): Don't include '\t' in the
257
        definition.
258
        (ASM_OUTPUT_ASCII): Prefix ASM_BYTE_OP by one single '\t'.
259
 
260
Sun Dec 21 13:58:39 1997  Jeffrey A Law  (law@cygnus.com)
261
 
262
        * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Define.
263
        (libgcc2.a): Depend on $(DPBIT) and $(FPBIT).  Add rules to
264
        generate more fine grained floating point emulation libraries.
265
        * config/fp-bit.c: Add protecting #ifdef to all functions so
266
        that they can be compiled separately.  If !FINE_GRAINED_LIBRARIES,
267
        then compile all suitable functions.
268
        (pack_d, unpack_d, fpcmp_parts): Add declarations, define with two
269
        underscores to avoid namespace pollution.
270
        * t-mn10200 (LIB2FUNCS_EXTRA): Remove fp-bit.c.
271
        (FPBIT): Define.
272
        * t-mn10300 (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c.
273
        (FPBIT): Define.
274
        (DPBIT): Define.
275
 
276
Sat Dec 20 11:26:47 1997  Kaveh R. Ghazi  
277
                          Jeff Law  
278
 
279
        * bitmap.c (bitmap_clear): Ensure `inline' is at the beginning
280
        of the declaration.
281
        * c-decl.c (finish_decl): Use parentheses around && within ||.
282
        * rtl.c: Include stdlib.h.
283
        (read_skip_spaces): Add parentheses around assignments used as
284
        truth values.
285
        (read_rtx): Initialize list_rtx.
286
        * cppexp.c (parse_number): Use || when operands are truth values.
287
        * alias.c (find_base_value): Add default case.
288
        (memrefs_conflict): Likewise.
289
        * combine.c (sets_function_arg_p): Likewise.
290
        * genemit.c (gen_exp): Likewise.
291
        * local-alloc.c (contains_replace_regs): Likewise.
292
        * rtlanal.c (jmp_uses_reg_or_mem): Likewise.
293
        * fold-const.c (fold_convert): Use "&&" for truth values.
294
        (fold): Add default case.
295
        * sdbout.c (sdbout_field_types): Fix typo in declaration.
296
        (sdbout_one_type): Add default case.
297
        * alpha.c (alpha_sa_mask): Prototype only if OPEN_VMS.
298
        (some_operand): Add default case.
299
        (input_operand): Likewise.
300
        (signed_comparison_operator): Likewise.
301
        (divmod_operator): Likewise.
302
        (alpha_set_memflags_1): Likewise.
303
        * reload1.c (reload_cse_simplify_operands): Ensure function
304
        always returns a value.
305
        * scan-decls.c (scan_decls): Likewise.
306
        * c-lex.c (skip_white_space): Fix typo in declaration.
307
        * c-typeck.c (comp_target_types): Add parentheses around assignment
308
        used as truth value.
309
        (print_spelling): Likewise.
310
        (constructor_implicit, constructor_result): Remove unused variables.
311
        * collect2.c (scan_library): Protect prototype with
312
        #ifdef SCAN_LIBRARIES.
313
        * emit-rtl.c (find_line_note): Fix typo in declaration.
314
        * final.c (asm_insn_count): Protect prototype with
315
        #ifdef HAVE_ATTR_length.
316
        * flow.c (find_auto_inc): Protect prototype with #ifdef AUTO_INC_DEC.
317
        (try_pre_increment_1, try_pre_increment): Likewise.
318
        * regclass.c (auto_inc_dec_reg_p): Protect prototype with
319
        #ifdef FORBIDDEN_INC_DEC_CLASSES.  Make return type explicit.
320
        * gcov-io.h (__store_long, __write_long, __read_long): Fix
321
        unsigned/signed comparisons.
322
        * gcov.c (read_files): Remove unused "first_type" variable.
323
        (scan _for_source_files): Initialize s_ptr.
324
        (function_summary): Eliminate "%lf" formatting, use %ld for
325
        longs.
326
        (output_data): Initialize branch_probs and last_line_num.
327
        Eliminate "%lf" formatting, use "%ld" for longs.
328
 
329
Fri Dec 19 17:31:11 1997  Ian Lance Taylor  
330
 
331
        * mips16.S: New file.
332
 
333
        * libgcc2.c (varargs): Handle mips16.
334
 
335
        * expr.c (do_tablejump): Let CASE_VECTOR_PC_RELATIVE be an
336
        expression.
337
        * stmt.c (expand_end_case): Likewise.
338
        * alpha.h (CASE_VECTOR_PC_RELATIVE): Update.
339
        * fx80.h, gmicro.h, m68k.h, m88k.h, ns32k.h: Likewise.
340
        * rs6000.h, sh.h, tahoe.h, v850.h, vax.h: Likewise.
341
 
342
Tue Dec 16 15:14:09 1997  Andreas Schwab  
343
 
344
        * objc/Make-lang.in: Create runtime-info.h and libobjc_entry.o in
345
        the build directory.
346
        (libobjc.a): Update dependency list.
347
        (libobjc.dll): Likewise.  Use libobjc_entry.o from the build
348
        directory.
349
        (objc/sendmsg.o): Add -Iobjc to find runtime-info.h.
350
        (objc.mostlyclean): Remove runtime-info.h.
351
 
352
Fri Dec 19 00:19:42 1997  Richard Henderson  
353
 
354
        * tree.c (build_range_type): Allow creation of ranges with no maximum.
355
        * dbxout.c (dbxout_range_type): Handle missing TYPE_MAX_VALUE.
356
        * dwarf2out.c (add_subscript_info): Likewise.
357
        * dwarfout.c (subscript_data_attribute, byte_size_attribute): Likewise.
358
        * sdbout.c (plain_type_1): Likewise.
359
        * stmt.c (pushcase_range, all_cases_count, node_has_high_bound):
360
        Likewise.
361
        * fold-const.c (int_const_binop, fold_convert, make_range, fold):
362
        Likewise.
363
 
364
Thu Dec 18 17:05:10 1997  Kaveh R. Ghazi  
365
 
366
        * mips.c (fatal): Remove declaration.
367
 
368
1997-12-18  Mark Mitchell  
369
 
370
        * integrate.c (get_label_from_map): New function.
371
        (expand_inline_function): Use it.  Initialize the label_map to
372
        NULL_RTX instead of gen_label_rtx.
373
        (copy_rtx_and_substitute): Use get_label_from_map.
374
        * integrate.h (get_label_from_map): New function.
375
        (set_label_from_map): New macro.
376
        * unroll.c (unroll_loop): Use them.
377
        (copy_loop_body): Likewise.
378
 
379
Thu Dec 18 19:19:57 1997  Ian Lance Taylor  
380
 
381
        * mips/mips.h (INIT_SUBTARGET_OPTABS): Define if not defined.
382
        (INIT_TARGET_OPTABS): Define.
383
        * mips/ecoff.h: Include gofast.h before mips.h.
384
        (INIT_SUBTARGET_OPTABS): Define instead of INIT_TARGET_OPTABS.
385
        * mips/elf64.h: Likewise.
386
        * mips/elf.h (ASM_OUTPUT_SECTION_NAME): Define.
387
 
388
Thu Dec 18 14:51:12 1997  Jason Merrill  
389
 
390
        * except.c: Remove register_exception_table{,_p}.
391
 
392
Thu Dec 18 14:57:29 1997  Gavin Koch  
393
 
394
        * unroll.c (calculate_giv_inc): Handle constant increment found in
395
        a MEM with an appropriate REG_EQUAL note.
396
 
397
        * calls.c (expand_call): Implement LOAD_ARGS_REVERSED.
398
 
399
        * dwarf2out.c (dwarf2out_frame_debug): Handle adjustments of the
400
        frame pointer in the prologue.
401
 
402
Thu Dec 18 00:19:38 1997  Robert Lipe  
403
 
404
        * i386/x-sco5 (CLIB): Deleted.
405
        (ALLOCA): Added.
406
        * i386/xm-sco5.h (USE_C_ALLOCA): Added.
407
 
408
Tue Dec 16 18:51:00 1997  Bill Moyer  
409
 
410
        * config/m68k/m68k.c (output_function_prologue): Typecast
411
        dwarf2out_cfi_label to (char *).
412
        * config/m68k/m68kemb.h (STARTFILE_SPEC): Redefined to "".
413
 
414
Wed Dec 17 15:06:04 1997  Richard Henderson  
415
 
416
        * sparc.md (jump): Don't use the annul bit around an empty loop.
417
        Patch from Kevin.Kelly@East.Sun.COM.
418
 
419
Wed Dec 17 00:51:36 1997  Stan Cox  (scox@cygnus.com)
420
 
421
        * jump.c (jump_optimize): Don't use the return register as a
422
        source1 of a conditional move.
423
 
424
Tue Dec 16 23:45:40 1997  Richard Henderson  
425
 
426
        * sparc.c (DF_MODES): Or the mask not the bit number.
427
        (function_arg) [ARCH64]: Send unprototyped arg to fp reg first.
428
 
429
Wed Dec 17 00:13:48 1997  Christian Iseli  
430
 
431
        * combine.c (force_to_mode): Return immediately if operand is a
432
        CLOBBER.
433
 
434
Tue Dec 16 23:44:54 1997  Manfred Hollstein  
435
 
436
        * fixincludes (size_t): Add support for Motorola's stdlib.h
437
        which fails to provide a definition for size_t.
438
        (fabs/hypot): Provide a prototype for fabs on m88k-motorola-sysv3.
439
        (strlen,strspn,strcspn return value): Handle different layout on sysV88.
440
        (hypot): Provide a fake for hypot for m88k-motorola-sysv3.
441
 
442
        * m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
443
        prevent unresolved externals in libio.
444
        * m88k/xm-sysv3.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Likewise.
445
 
446
Tue Dec 16 23:25:45 1997  H.J. Lu  (hjl@gnu.org)
447
 
448
        * config/sparc/linux64.h (LIBGCC_SPEC): Removed.
449
        (CPP_SUBTARGET_SPEC): Add %{pthread:-D_REENTRANT}.
450
        (LIB_SPEC): Updated for glibc 2.
451
 
452
Tue Dec 16 20:11:36 1997  Jeffrey A Law  (law@cygnus.com)
453
 
454
        * ginclude/stdarg.h: Undo BeOS changes, they break hpux.
455
        * ginclude/varargs.h: Likewise.
456
 
457
Tue Dec 16 00:32:01 1997  Jeffrey A Law  (law@cygnus.com)
458
 
459
        * version.c: Bump for snapshot.
460
 
461
Tue Dec 16 00:14:29 1997  H.J. Lu  (hjl@gnu.org)
462
 
463
        * frame.h (__register_frame, __register_frame_table,
464
        __deregister_frame): New.
465
        * frame.c (__register_frame, __register_frame_table,
466
        __deregister_frame): New.
467
        * frame.c (__deregister_frame_info): Return void *.
468
        * frame.h (__deregister_frame_info): Likewise.
469
        * collect2.c (__deregister_frame_info): Likewise.
470
 
471
Mon Dec 15 18:40:08 1997  Richard Henderson  
472
 
473
        * expmed.c (expand_shift): If SHIFT_COUNT_TRUNCATED, drop a SUBREG.
474
 
475
Mon Dec 15 18:31:43 1997  Richard Henderson  
476
 
477
        * alpha.c (alpha_cpu_name): New variable.
478
        (alpha_mlat_string): Likewise.
479
        (alpha_memory_latency): Likewise.
480
        (override_options): Handle -mmemory-latency.
481
        (alpha_adjust_cost): Adjust load cost for latency.
482
        * alpha.h (TARGET_OPTIONS): Add memory-latency.
483
        (REGISTER_MOVE_COST): Define in terms of memory_latency.  Take
484
        TARGET_CIX into account.
485
        (MEMORY_MOVE_COST): Define in terms of memory_latency.
486
        * invoke.texi (DEC Alpha Options): Document -mmemory-latency.
487
 
488
        * alpha.h (ASM_COMMENT_START): New macro.
489
 
490
Mon Dec 15 17:48:05 1997  Richard Henderson  
491
 
492
        * reload.h, reload1.c (eliminate_regs), caller-save.c, dbxout.c,
493
        dwarfout.c, dwarf2out.c, reload.c, sdbout.c: Revert March 15 change.
494
 
495
        * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
496
        SUBREG_REG if the word count is unchanged.
497
        * reload1.c (eliminate_regs) [case SET]: If W_R_O, preserve
498
        subregs of identical word size for push_reload.
499
 
500
Mon Dec 15 11:41:32 1997  Mark Mitchell  
501
 
502
        * toplev.c (rest_of_compilation): Don't call save_for_inline_copy
503
        if all we're doing is dealing with -Wreturn-type.
504
 
505
Mon Dec 15 09:44:39 1997  Richard Henderson  
506
 
507
        * alpha.md (zero_extendqihi2, zero_extendqisi2, zero_extendqidi2):
508
        Use and 255 instead of zapnot 1, since it schedules better.
509
 
510
Mon Dec 15 08:48:24 1997  Jeffrey A Law  (law@cygnus.com)
511
 
512
        * stmt.c (expand_asm_operands): If an ASM has no outputs, then treat
513
        it as volatile.
514
 
515
Mon Dec 15 00:04:48 1997  Jeffrey A Law  (law@cygnus.com)
516
 
517
        * haifa-sched.c (remove_dependencies): Set RTX_INTEGRATED_P on
518
        dependency we delete.  Properly update prev for multiple consecutive
519
        deletions.
520
        (priority): Skip deleted dependence.
521
 
522
Fri Dec 12 18:54:23 1997  Per Bothner  
523
 
524
        * expr.c (expand_builtin): Support BUILT_IN_FMOD - just call fmod.
525
 
526
Fri Dec 12 01:19:48 1997  Jason Merrill  
527
 
528
        * flow.c (flow_analysis): Be consistent with find_basic_blocks in
529
        determining when a new basic block starts.
530
 
531
        * alpha/osf2or3.h (LIB_SPEC): Restore missing defn.
532
 
533
        * pa.h (TEXT_SPACE_P): Use TREE_CODE_CLASS.
534
        * pa.md (iorsi3): Add missing args to *_operand calls.
535
 
536
        * except.c (call_get_eh_context): Don't mess with sequences.
537
        (emit_eh_context): Include the call in the sequence here.
538
 
539
1997-12-11  Paul Eggert  
540
 
541
        * collect2.c (write_c_file_glob): Allocate initial frame object
542
        in static storage and pass its address.
543
 
544
Thu Dec 11 23:33:48 1997  Jason Merrill  
545
 
546
        * except.c (call_get_eh_context): Don't take a parm.
547
        Put the call at the top of the function.
548
        (emit_eh_context): Adjust.
549
        (get_eh_context): Replace with former use_eh_context.
550
        (get_eh_context_once, get_saved_pc_ref): Remove.
551
        (start_eh_unwinder, end_eh_unwinder, emit_unwinder): Remove.
552
        * except.h: Adjust.
553
        * integrate.c (expand_inline_function): Adjust.
554
        * toplev.c (rest_of_compilation): Don't call emit_unwinder.
555
 
556
Fri Oct 10 17:58:31 1997  Marc Lehmann  
557
 
558
        * i386/xm-go32.h (EXECUTABLE_SUFFIX): Define.
559
        (DIR_SEPARATOR, NO_SYS_SIGLIST): Likewise.
560
 
561
Thu Dec 11 23:55:17 1997  Manfred Hollstein  
562
 
563
        * fixincludes (strlen,strspn,strcspn return value): Handle different
564
        layout on sysV88.
565
        (hypot): Provide a fake for hypot which is broken on
566
        m88k-motorola-sysv3.
567
 
568
Thu Dec 11 23:50:17 1997  John F. Carr  
569
 
570
        * tree.c, tree.h: Change tree_code_type, tree_code_length, and
571
        tree_code_name from pointers to arrays.
572
        * tree.c: Remove standard_tree_code_* variables, no longer used.
573
        * print-tree.c: Remove declaration of tree_code_name.
574
 
575
        * cp/lex.c (init_lex): Update for tree_code_* changes.
576
        * objc/objc-act.c (init_objc): Likewise.
577
 
578
        * tree.def, cp/cp-tree.def, objc/objc-tree.def: Update for tree_code
579
        changes.
580
 
581
Thu Dec 11 23:34:54 1997  Fred Fish  
582
 
583
        * config.sub: Add support for BeOS target.
584
        * configure.in: Likewise.
585
        * ginclude/stdarg.h: Likewise.
586
        * ginclude/stddef.h: Likewise.
587
        * ginclude/varargs.h: Likewise.
588
        * rs6000/beos.h: New file for BeOS.
589
        * rs6000/t-beos: Likewise.
590
        * rs6000/x-beos: Likewise.
591
        * rs6000/xm-beos.h: Likewise.
592
        * toplev.c (get_run_time): Just return 0 on BeOS.
593
 
594
Thu Dec 11 23:25:23 1997  Jeffrey A Law  (law@cygnus.com)
595
                          Toon Moene  (toon@moene.indiv.nluug.nl)
596
 
597
        * m68k.h (GO_IF_LEGITIMATE_ADDRESS): No longer cater to horribly
598
        old and broken Sun3 assemblers.  Newer versions handle large
599
        offsets correctly as does the GNU assembler.
600
 
601
Thu Dec 11 23:06:48 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
602
 
603
        * objc/objc-act.c (lang_report_error_function): Disable.
604
        * objc/objc-parse.y: Include "output.h".
605
        (yyerror): Remove redundant decl.
606
        (yyprint): Fix prototype.
607
        (apply_args_register_offset): Remove redundant decl.
608
        (get_file_function_name): Likewise.
609
 
610
Thu Dec 11 22:02:10 1997  Jason Merrill  
611
 
612
        * flow.c (find_basic_blocks): A CALL_INSN that can throw starts
613
        a new basic block.
614
        (find_basic_blocks_1): Likewise.
615
 
616
Thu Dec 11 21:08:48 1997  Jason Merrill  
617
 
618
        * except.c (use_eh_context): Don't copy_rtx a REG.
619
        (emit_throw): Lose old unwinder support.
620
        (expand_internal_throw): Likewise.
621
        * libgcc2.c (struct eh_context): Likewise.
622
        (new_eh_context): Likewise.
623
        (__get_eh_info): Lose redundant cast.
624
        (__get_dynamic_handler_chain): Likewise.
625
        (__get_saved_pc): Lose.
626
        Lose all old unwinder support code.
627
 
628
Thu Dec 11 20:42:18 1997  Teemu Torma  
629
 
630
        Thread-safe EH support for pthreads, DCE threads and Solaris threads.
631
 
632
        * integrate.c (expand_inline_function): If the inline fn uses eh
633
        context, make sure that the current fn has one.
634
        * toplev.c (rest_of_compilation): Call emit_eh_context.
635
        * except.c (use_eh_context): New fn.
636
        (get_eh_context_once): New fn.
637
        (call_get_eh_context): New fn.
638
        (emit_eh_context): New fn.
639
        (get_eh_context): Call either get_eh_context_once or
640
        call_get_eh_context, depending on what we have.
641
        (get_dynamic_handler_chain): Call get_eh_context_once.
642
        * except.h: Prototypes for fns above.
643
        * optabs.c (get_eh_context_libfunc): Removed.
644
        (init_optabs): Don't initialize it.
645
        * expr.h (get_eh_context_libfunc): Removed.
646
        * rtl.h, rtl.c: New reg_note REG_EH_CONTEXT.
647
        * config/pa/pa.h (CPP_SPEC): Support for -threads.
648
        * config/pa/pa-hpux10.h (LIB_SPEC): Likewise.
649
        * config/pa/t-pa (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
650
        New multilib for -threads.
651
        * config/sparc/t-sol2: Added multilibs for -threads and
652
        made -pthreads alias to it.
653
        * config/sparc/sol2.h (CPP_SPEC, LIB_SPEC):
654
        Added -threads and -pthreads options.
655
        * libgcc-thr.h: New file.
656
        * libgcc2.c (__get_cpp_eh_context): Removed.
657
        (struct cpp_eh_context): Removed.
658
        (struct eh_context): Replaced cpp_eh_context with generic language
659
        specific pointer.
660
        (__get_eh_info): New function.
661
        (__throw): Check eh_context::info.
662
        (__sjthrow): Likewise.
663
        * libgcc2.c: Include libgcc-thr.h.
664
        (new_eh_context, __get_eh_context,
665
        eh_pthread_initialize, eh_context_initialize, eh_context_static,
666
        eh_context_specific, eh_context_free): New functions.
667
        (get_eh_context, eh_context_key): New variables.
668
        (__sjthrow, __sjpopnthrow, __eh_pcnthrow, __throw): Use
669
        get_eh_context to get the context.
670
        (longjmp): Move the declaration inside
671
        #ifdef DONT_USE_BUILTIN_SETJMP.
672
        * frame.c: Include libgcc-thr.h.
673
        (object_mutex): Mutex to protect the object list.
674
        (find_fde, __register_frame, __register_frame_table,
675
        __deregister_frame): Hold the lock while accessing objects.
676
        * except.h (get_eh_context): Declare.
677
        * except.c (current_function_ehc): Define.
678
        (current_function_dhc, current_function_dcc): Removed.
679
        (get_eh_context): New function.
680
        (get_dynamic_handler_chain): Use get_eh_context.
681
        (get_saved_pc_ref): Likewise.
682
        (get_dynamic_cleanup_chain): Removed references to
683
        current_function_dcc.
684
        (save_eh_status, restore_eh_status): Save and restore
685
        current_function_ehc instead.
686
        * optabs.c (get_eh_context_libfunc): New variable.
687
        (init_optabs): Initialize it.
688
        * expr.h: Declare get_eh_context_libfunc.
689
        * function.h (struct function): Replaced dhc and dcc with ehc.
690
        * except.c (get_saved_pc_ref): New functions.
691
        (eh_saved_pc_rtx, eh_saved_pc): Deleted.
692
        (expand_internal_throw_indirect): Use get_saved_pc_ref() instead
693
        of eh_saved_pc.
694
        (end_eh_unwinder): Likewise.
695
        (init_eh): Remove initialization of eh_saved_pc.
696
        * optabs.c (get_saved_pc_libfunc): New variable.
697
        (init_optabs): Initialize it.
698
        * expr.h: Declare get_saved_pc_libfunc.
699
        * except.h (eh_saved_pc_rtx): Deleted.
700
        (get_saved_pc_ref): Declared.
701
 
702
        From Scott Snyder :
703
        * libgcc2.c (__get_saved_pc): New.
704
        (__eh_type, __eh_pc): Deleted.
705
        (__eh_pcnthrow): Use __get_saved_pc() instead of __eh_pc.
706
        (__get_dynamic_handler_chain): Move __dynamic_handler_chain inside
707
        this fcn.
708
 
709
Thu Dec 11 17:23:48 1997  John F. Carr  
710
 
711
        * sparc/sol2.h: Use 64 bit multiply and divide functions in
712
        Solaris libc.  Define TARGET_LIVE_G0 and TARGET_BROKEN_SAVERESTORE
713
        as 0.
714
 
715
        * rtl.h (global_rtl): New variable, replacing separate variables for
716
        commonly used rtl.
717
        (const_int_rtx): Now array of rtx_def, not rtx.
718
        * emit-rtl.c: Update for new rtl data structures.
719
        * genattrtab.c: Define global_rtl.
720
 
721
Thu Dec 11 15:50:29 1997  David Edelsohn  
722
 
723
        * configure.in ({rs6000,powerpc}-*-*): Enable Haifa scheduler by
724
        default.
725
 
726
Wed Dec 10 12:30:18 1997  Anthony Green  
727
 
728
        * crtstuff.c (__do_global_ctors): Fix typo.
729
 
730
Tue Dec  9 09:43:59 1997  Manfred Hollstein  
731
 
732
        * toplev.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
733
        to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
734
 
735
Tue Dec  9 09:38:58 1997  David Edelsohn  
736
 
737
        * rs6000.h (FUNCTION_ARG_PADDING): Define.
738
        * rs6000.c (function_arg_padding): New function.
739
 
740
Tue Dec  9 10:34:21 1997  Manfred Hollstein  
741
 
742
        * m68k.c: Include tree.h only once.
743
 
744
Tue Dec  9 09:32:33 1997  Richard Kenner  
745
 
746
        * integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
747
 
748
Tue Dec  9 01:16:06 1997  Jeffrey A Law  (law@cygnus.com)
749
 
750
        * Partially cleaned up prototyping code from HJ.
751
        * tree.h: Add many prototypes.
752
        * haifa-sched.c (haifa_classify_insn): Renamed from classify_insn.
753
        All references changed.
754
        * rtl.h: Protect from multiple inclusions.  Add many prototypes.
755
 
756
Tue Dec  9 01:15:15 1997  Fred Fish  
757
 
758
        * libgcc2.c (string.h): Hoist inclusion to occur before first use of
759
        string functions like strlen.
760
 
761
Tue Dec  9 00:57:38 1997  Manfred Hollstein  
762
 
763
        * configure.in: Check for functions getrlimit and setrlimit.
764
        * cccp.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
765
        to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
766
 
767
Mon Dec  8 23:53:26 1997  Jay Sachs  
768
 
769
        * Makefile.in (compare*): Handle losing behavior from 4.4bsd make.
770
 
771
Mon Dec  8 21:03:28 1997  Richard Henderson  
772
 
773
        * alpha.c (REG_RA, alpha_return_addr, output_epilog):
774
        Fix merge problems.
775
 
776
        * alpha.c (override_options): Don't know about scheduling for EV6.
777
        * alpha.md (ev5 function units): Don't overload as ev6.
778
 
779
        * alpha.c (alpha_adjust_cost): Simplify.  Fix typo in ev5 mult case.
780
        * alpha.md (define_attr type): Add mvi.
781
        (ev5_e0): Define sceduling parameters for it.
782
        (TARGET_MAX insns): Type is mvi not shift.
783
 
784
Mon Dec  8 18:15:00 1997  Richard Henderson  
785
 
786
        * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix backported gcc-2.8 bug.
787
 
788
Mon Dec  8 21:17:28 1997  J"orn Rennecke  
789
 
790
        * cstamp-h, auto-config.h: Delete.
791
 
792
Sun Dec  7 19:19:03 1997  Jeffrey A Law  (law@cygnus.com)
793
 
794
        * version.c: Bump for snapshot.
795
 
796
Sat Dec  6 22:22:22 1997  Jeffrey A Law  (law@cygnus.com)
797
 
798
        * cccp.c: Fix typo brought over in merge.
799
 
800
        * Merge in changes from gcc-2.8.
801
 
802
Mon Nov  3 05:45:32 1997  Philippe De Muyter  
803
 
804
        * m68k.c: Include tree.h for dwarf2out_cfi_label.
805
 
806
        * gcc.c (process_command): Do not take address of function fatal when
807
        calling lang_specific_driver.
808
 
809
Sat Dec  6 01:02:38 1997  Mumit Khan  
810
 
811
        * config/i386/cygwin32.h (DWARF2_UNWIND): Exception handling
812
        doesn't work with it yet, so set it to 0.
813
        * config/i386/xm-cygwin32.h (NO_SYS_SIGLIST): Define.
814
 
815
Sat Dec  6 01:01:02 1997  Christian Iseli  
816
 
817
        * cse.c (cse_insn): Check for invalid entries when taking references.
818
 
819
Fri Dec  5 18:26:25 1997  J"orn Rennecke  
820
 
821
        * loop.c (invariant_p): Don't test flag_rerun_loop_opt.
822
        (loop_optimize, scan_loop, strength_reduce): New argument unroll_p.
823
        * toplev.c (rest_of_compilation): Pass it.  Remove code to
824
        save / clear / restore flag_unroll_{,all_}loops.
825
 
826
Fri Dec  5 16:26:03 1997  Bernd Schmidt  
827
 
828
        * i386.c (notice_update_cc): Remove bogus pentium GCC code.
829
 
830
Fri Dec  5 16:25:14 1997  Jeffrey A Law  (law@cygnus.com)
831
 
832
        * stmt.c (warn_if_unused_value): Don't warn for TRY_CATCH_EXPR.
833
 
834
Thu Dec  4 11:51:00 1997  Jason Merrill  
835
 
836
        * except.c (get_dynamic_handler_chain): Only make the call once per
837
        function.
838
 
839
        * except.c (expand_end_all_catch): Fix for sjlj exceptions.
840
 
841
Thu Dec  4 12:30:40 1997  J"orn Rennecke  
842
 
843
        * sh.c (final_prescan_insn): Use local label prefix
844
        when emitting .uses pseudo-ops.
845
 
846
Wed Dec  3 12:01:56 1997  Jason Merrill  
847
 
848
        * libgcc2.c (__throw): Use __builtin_return_addr instead of __eh_pc.
849
        * except.c: Lose outer_context_label_stack.
850
        (expand_eh_region_end): Rethrow from outer_context here.
851
        (expand_fixup_region_end): Let expand_eh_region_end do the rethrow.
852
        (expand_internal_throw): Take no args.
853
        (expand_internal_throw_indirect): Lose.
854
        (expand_leftover_cleanups, expand_start_all_catch): Use expand_rethrow.
855
        (expand_start_all_catch): Start a rethrow region.
856
        (expand_end_all_catch): End it.
857
        (expand_rethrow): New fn.
858
        * except.h: Reflect above changes.
859
        * flow.c: Revert change of Nov 27.
860
 
861
Thu Dec  4 00:24:09 1997  Jeffrey A Law  (law@cygnus.com)
862
 
863
        * i386/t-sol2 (CRTSTUFF_T_CFLAGS): Turn on the optimizer.
864
 
865
Wed Dec  3 12:01:56 1997  Jason Merrill  
866
 
867
        * except.c (expand_fixup_region_end): New fn.
868
        (expand_fixup_region_start): Likewise.
869
        (expand_eh_region_start_tree): Store cleanup into finalization here.
870
        * stmt.c (expand_cleanups): Use them to protect fixups.
871
 
872
Wed Dec  3 11:41:13 1997  Gavin Koch  
873
 
874
        * mips/mips.md (muldi3_r4000): Broaden the output template
875
        and attribute assignments to handle three operand dmult;
876
        rename to muldi3_internal2.
877
        (muldi3): Call the new muldi3_internal2 for R4000, and
878
        any GENERATE_MULT3 chip.
879
 
880
Tue Dec  2 19:40:43 1997  Jason Merrill  
881
 
882
        * stmt.c (expand_decl_cleanup): Update thisblock after eh_region_start.
883
 
884
Tue Dec  2 12:54:33 1997  Jim Wilson  
885
 
886
        * unroll.c (find_splittable_givs): Remove last change.  Handle givs
887
        with a dest_reg that was created by loop.
888
 
889
Sat Nov 29 12:44:57 1997  David Edelsohn  
890
 
891
        * rs6000.c (function_arg_partial_nregs): Undo Nov. 26 patch.
892
 
893
        * rs6000/aix41.h (ASM_CPU_SPEC): Define.
894
 
895
Fri Nov 28 10:00:27 1997  Jeffrey A Law  (law@cygnus.com)
896
 
897
        * configure.in: Fix NCR entries.
898
 
899
Thu Nov 27 12:20:19 1997  Jeffrey A Law  (law@cygnus.com)
900
 
901
        * flow.c (find_basic_blocks): Handle cfg issues for rethrows and
902
        nested exceptions correctly.
903
 
904
        * unroll.c (find_splittable_givs): Don't split givs with a dest_reg
905
        that was created by loop.
906
 
907
Thu Nov 27 09:34:58 1997  Jason Merrill  
908
 
909
        * expr.c (preexpand_calls): Don't look past a TRY_CATCH_EXPR.
910
 
911
        * except.c (expand_start_all_catch): One more do_pending_stack_adjust.
912
 
913
Wed Nov 26 15:47:30 1997  Michael Meissner  
914
 
915
        * rs6000.c (SMALL_DATA_REG): Register to use for small data relocs.
916
        (print_operand): Use SMALL_DATA_REG for the register involved in
917
        small data relocations.
918
        (print_operand_address): Likewise.
919
 
920
        * rs6000/linux.h (LINK_SPEC): Pass -dynamic-linker /lib/ld.so.1 if
921
        -dynamic linker is not used.
922
 
923
        * rs6000.md (call insns): For local calls, use @local suffix under
924
        System V.  Don't use @plt under Solaris.
925
 
926
        * rs6000.c (output_function_profiler): Put label address in r0, and
927
        store LR in 4(sp) for System V/eabi.
928
 
929
        * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Keep stack aligned to 16
930
        byte boundary, and maintain stack backchain.
931
 
932
Tue Nov 25 14:08:12 1997  Jim Wilson  
933
 
934
        * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
935
        fix_truncsfdi2): Change *.
936
 
937
Wed Nov 26 11:12:26 1997  Jason Merrill  
938
 
939
        * toplev.c (main): Complain about -gdwarfn.
940
 
941
Tue Nov 25 22:43:30 1997  Jason Merrill  
942
 
943
        * dwarfout.c (output_type): If finalizing, write out nested types
944
        of types we've already written.
945
 
946
Tue Nov 25 20:32:24 1997  Michael Meissner  
947
 
948
        (patches originally from Geoffrey Keating)
949
        * rs6000.c (function_arg): Excess floating point arguments don't
950
        go into GPR registers after exhausting FP registers under the
951
        System V.4 ABI.
952
        (function_arg_partial_nregs): Likewise.
953
 
954
        * rs6000.md (call insns): If -fPIC or -mrelocatable, add @plt
955
        suffix to calls.
956
 
957
Tue Nov 25 23:37:27 1997  Jason Merrill  
958
 
959
        * integrate.c (output_inline_function): Just unset DECL_INLINE.
960
 
961
Tue Nov 25 23:33:29 1997  scott snyder  
962
 
963
        * dwarf2out.c (outout_call_frame_info): Ensure that the info has
964
        proper alignment.
965
 
966
        * libgcc2.c (__throw): Initialize HANDLER.
967
 
968
Tue Nov 25 14:08:12 1997  Jim Wilson  
969
 
970
        * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
971
        fix_truncsfdi2): Change *X to ?*X.
972
 
973
Tue Nov 25 10:00:42 1997  Richard Henderson  (rth@cygnus.com)
974
 
975
        * alpha.h (CONST_OK_FOR_LETTER): Fix 'L' handling.
976
 
977
Tue Nov 25 10:00:42 1997  Jeffrey A Law  (law@cygnus.com)
978
 
979
        * crtstuff.c (do_global_dtors_aux): Handle multiple calls better.
980
 
981
Tue Nov 25 01:26:55 1997  Bruno Haible  
982
 
983
        * dwarf2out.c (ASM_OUTPUT_DWARF_DELTA1): Implement.
984
 
985
Mon Nov 24 22:41:55 1997  Jason Merrill  
986
 
987
        * except.c (get_dynamic_handler_chain): Build up a FUNCTION_DECL.
988
        * optabs.c (init_optabs): Lose get_dynamic_handler_chain_libfunc.
989
        * expr.h: Likewise.
990
 
991
Sat Nov 22 18:58:20 1997  Jeffrey A Law  (law@cygnus.com)
992
 
993
        * pa-hpux10.h (NEW_HP_ASSEMBLER): Define.
994
        * pa.h (LEGITIMATE_CONSTANT_P): Reject LABEL_REFs if not using
995
        gas and not using the new HP assembler.
996
 
997
Fri Nov 21 15:20:05 1997  Jeffrey A Law  (law@cygnus.com)
998
 
999
        * Makefile.in (program_transform_cross_name): Clean up "-e" confusion.
1000
        (GCC_INSTALL_NAME, GCC_CROSS_NAME): Likewise.
1001
 
1002
Fri Nov 21 19:37:40 1997  Andrew Cagney  
1003
 
1004
        * config/mips/elf64.h (MULTILIB_DEFAULTS): Test for
1005
        TARGET_ENDIAN_DEFAULT == zero instead of testing for macro
1006
        definition.
1007
 
1008
Fri Nov 21 12:49:56 1997  Bruno Haible  
1009
 
1010
        * stmt.c (expand_end_bindings): Allow jump into block with cleanups.
1011
 
1012
Fri Nov 21 12:18:51 1997  Jason Merrill  
1013
 
1014
        * except.h: Add outer_context_label_stack.
1015
        * except.c: Likewise.
1016
        (expand_start_all_catch): Push the outer_context for the try block
1017
        onto outer_context_label_stack.
1018
        (expand_end_all_catch): Use it and pop it.
1019
 
1020
Fri Nov 21 10:13:11 1997  Robert Lipe  (robertl@dgii.com)
1021
 
1022
        * i386/sco5.h (HAVE_ATEXIT): Revert last change.
1023
 
1024
Thu Nov 20 16:11:50 1997  Richard Henderson  
1025
 
1026
        * alpha.c (alpha_emit_set_const_1): Handle narrow hosts better.
1027
 
1028
Thu Nov 20 16:11:50 1997  Klaus Kaempf  
1029
 
1030
        * alpha/vms.h (ASM_OUTPUT_ADDR_VEC_ELT): Add an L for the local label
1031
        to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
1032
 
1033
Thu Nov 20 14:42:15 1997  Jason Merrill  
1034
 
1035
        * Makefile.in (LIB2FUNCS): Remove C++ memory management support.
1036
        * libgcc2.c: Remove __builtin_new, __builtin_vec_new, set_new_handler,
1037
        __builtin_delete, and __builtin_vec_delete.
1038
 
1039
        * except.c (output_exception_table): Don't bother with
1040
        __EXCEPTION_END__.
1041
 
1042
Thu Nov 20 16:11:50 1997  Jeffrey A Law  (law@cygnus.com)
1043
 
1044
        * pa.md (pre_stwm, post_stwm, pre_ldwm, post_ldwm): Base register
1045
        is an in/out operand.
1046
        (zero extended variants of stwm/stwm patterns): Similarly.
1047
 
1048
        * mips/x-iris (FIXPROTO_DEFINES): Add -D_SGI_SOURCE.
1049
 
1050
Thu Nov 20 13:19:32 1997  Jason Merrill  
1051
 
1052
        * dwarf2out.c (ASM_OUTPUT_DWARF_OFFSET4): Rename from VALUE4.
1053
        Use assemble_name.
1054
        (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Use assemble_name.
1055
        (output_call_frame_info): Emit a \n after using it.
1056
 
1057
Thu Nov 20 00:38:46 1997  Dave Love  
1058
 
1059
        * configure.in: Add AC_ARG_ENABLE for Haifa as documentation.
1060
 
1061
Wed Nov 19 12:03:04 1997  Philippe De Muyter  
1062
 
1063
        * dwarf2out.c (CIE_LENGTH_LABEL, FDE_LENGTH_LABEL): New macros.
1064
        (ASM_OUTPUT_DWARF_VALUE4): New macro.
1065
        (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Define if SET_ASM_OP is
1066
        defined.
1067
        (output_call_frame_info): Do not output forward label differences
1068
        if ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL is defined.
1069
        * m68k/mot3300.h (SET_ASM_OP): Define when not using gas.
1070
 
1071
Tue Nov 18 23:03:30 1997  J"orn Rennecke  
1072
 
1073
        * sh.md (attribute "type"): Add nil.
1074
        (movsi_ie): y/y alternative is type nil.
1075
        (movsf_ie): Replace ry/yr/X alternative by r/y/X , y/r/X and y/y/X
1076
        alternatives.
1077
        (movsf_ie+1): Delete.
1078
 
1079
Tue Nov 18 15:39:59 1997  Jim Wilson  
1080
 
1081
        * mips/mips.c (save_restore_insns): If gp_offset or fp_offset are
1082
        large_int, emit two insns instead of one splitable insn.
1083
        * dwarf2out.c (dwarf2out_frame_debug): When set cfa_store_offset
1084
        from cfa_temp_value, use cfa_offset.  Add assert checking that
1085
        cfa_reg is SP.
1086
 
1087
Mon Nov 17 15:35:38 1997  Tom Tromey  
1088
 
1089
        * cccp.c (deps_output): Properly quote file names for make.
1090
 
1091
Mon Nov 17 13:21:40 1997  Jeffrey A Law  (law@cygnus.com)
1092
 
1093
        * t-h8300 (MULTILIB_EXCEPTIONS): Define.
1094
 
1095
Fri Nov  7 15:33:11 1997  Robert Lipe  (robertl@dgii.com)
1096
 
1097
        * i386/sco5.h (HAVE_ATEXIT): Delete definition.
1098
 
1099
Sun Nov 16 23:52:48 1997  Jeffrey A Law  (law@cygnus.com)
1100
 
1101
        * cse.c (cse_insn): Don't look at JUMP_LABEL field of a conditional
1102
        return.
1103
        (cse_end_of_basic_block): Similarly.
1104
 
1105
Sun Nov 16 23:01:40 1997  J. Kean Johnston  
1106
 
1107
        * i386/sco5.h (ASM_OUTPUT_ALIGNED_BSS): Define.
1108
        (SELECT_RTX_SECTION): Define.
1109
        (LIBGCC_SPEC, LIB_SPEC): Do the right thing for PIC.
1110
 
1111
Sun Nov 16 22:47:03 1997  Manfred Hollstein  
1112
 
1113
        * Makefile.in (compare, compare-lean): Define $stage for each
1114
        shell command.
1115
        (gnucompare, gnucompare-lean): Likewise.
1116
 
1117
Sun Nov 16 22:02:16 1997  Richard Henderson  (rth@cygnus.com)
1118
 
1119
        * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix offsets.
1120
 
1121
        * alpha.h (ASM_OUTPUT_ADDR_DIFF_ELT): Add an L for the local label
1122
        to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
1123
 
1124
Fri Nov 14 09:09:20 1997  Fred Fish  (fnf@cygnus.com)
1125
 
1126
        * dwarfout.c (byte_size_attribute): Add local var upper_bound
1127
        and add case to handle STRING_TYPE.
1128
        * dwarfout.c (output_string_type_die): Fix code to generate
1129
        correct string length attribute for fixed length strings.
1130
        Still needs support for varying length strings.
1131
 
1132
Fri Nov 14 08:46:56 1997  Jeffrey A Law  (law@cygnus.com)
1133
 
1134
        * toplev.c (get_run_time): Do something sensible for cygwin32.
1135
 
1136
Fri Nov 14 07:24:20 1997  Richard Henderson  
1137
 
1138
        * expr.c (expand_builtin_setjmp): Set
1139
        current_function_has_nonlocal_label.
1140
        * stupid.c (stupid_life_analysis): If has_nonlocal_label, kill
1141
        call-saved registers across calls.
1142
 
1143
        * alpha.md (exception_receiver): Remove.
1144
        (nonlocal_goto_receiver_osf): New.
1145
        (nonlocal_goto_receiver_vms): Renamed from nonlocal_goto_receiver.
1146
        (nonlocal_goto_receiver): New, select _osf or _vms.
1147
 
1148
        * alpha.c (output_prolog [*]): Prefix entry labels with '$' to
1149
        keep them from being propagated to the object file.
1150
        (alpha_write_linkage): Likewise.
1151
        * alpha.md (call_vms): Likewise.
1152
        (call_value_vms): Likewise.
1153
        (unnamed osf call insns): Likewise.
1154
 
1155
        * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Don't omit L from local label.
1156
        (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1157
 
1158
        * alpha.c (call_operand): Any reg is valid for WinNT.
1159
        * alpha.md (call_nt, call_value_nt): Don't force address into $27.
1160
        (anon nt calls): Add 'R' alternative.
1161
        * alpha/win-nt.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE,
1162
        INITIALIZE_TRAMPOLINE): Handle lack of original $27 and 32-bit ptrs.
1163
 
1164
Fri Nov 14 06:59:33 1997  Jeffrey A Law  (law@cygnus.com)
1165
 
1166
        * calls.c (expand_call): Handle pcc_struct_value correctly for C++.
1167
 
1168
        * i386/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Delete defines.
1169
        * i386/xm-mingw32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
1170
        * rs6000/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
1171
 
1172
Thu Nov 13 20:37:33 1997  Michael Meissner  
1173
 
1174
        * reload1.c (new_spill_reg): Improve fixed or forbidden register
1175
        spill error message.
1176
 
1177
Thu Nov 13 20:29:08 1997  Kaveh R. Ghazi  
1178
 
1179
        * prefix.c: Use stdarg.h only ifdef __STDC__.  Otherwise,
1180
        use varargs.h.  Wrap header with <>, not "".
1181
 
1182
Thu Nov 13 20:21:17 1997  Jeffrey A Law  (law@cygnus.com)
1183
 
1184
        * integrate.c (save_for_inline_copying): Add return value from
1185
        savealloc.
1186
 
1187
Thu Nov 13 19:12:33 1997  Brendan Kehoe  
1188
 
1189
        * fixincludes: Be a little more restrictive on what we will
1190
        substitute to replace definitions of MAXINT for HPUX.
1191
 
1192
Thu Nov 13 18:41:02 1997  Michael Meissner  
1193
 
1194
        * dbxout.c (dbxout_symbol_location): Don't assume that variables
1195
        whose address is the stack or argument pointers are indirect
1196
        pointers.
1197
 
1198
1997-11-13  Paul Eggert  
1199
 
1200
        * cccp.c, cpplib.c (compare_defs):
1201
        Don't complain about arg name respellings unless pedantic.
1202
        * cpplib.c (compare_defs): Accept pfile as new arg.
1203
        All callers changed.
1204
 
1205
Thu Nov 13 23:33:50 1997  J"orn Rennecke  
1206
 
1207
        * fold-const.c (fold_truthop): Fix bug in last change.
1208
 
1209
1997-11-13  Paul Eggert  
1210
 
1211
        Fix some confusion with IEEE minus zero.
1212
 
1213
        * real.h (REAL_VALUES_IDENTICAL): New macro.
1214
 
1215
        * expr.c (is_zeros_p): Don't consider -0.0 to be all zeros.
1216
        * fold-const.c (operand_equal_p): Don't consider -0.0 to be
1217
        identical to 0.0.
1218
        * tree.c (simple_cst_equal): Don't consider -0.0 to have the
1219
        same tree structure as 0.0.
1220
 
1221
        * varasm.c (immed_real_const_1): Use new REAL_VALUES_IDENTICAL
1222
        macro instead of doing it by hand.
1223
 
1224
Thu Nov 13 16:56:14 1997  Jeffrey A Law  (law@cygnus.com)
1225
 
1226
        * v850/lib1funcs.asm: Minor whitespace changes.
1227
        * v850.c: Fix minor formatting problems in many places.
1228
        (construct_restore_jr, construct_save_jarl): Remove unwanted aborts.
1229
 
1230
Thu Nov 13 12:53:44 1997  Jim Wilson  
1231
 
1232
        * mips.h (GO_IF_LEGITIMATE_ADDRESS): Delete code swapping xplus0 and
1233
        xplus1 when xplus0 is not a register.
1234
 
1235
Thu Nov 13 11:41:42 1997  Jeffrey A Law  (law@cygnus.com)
1236
 
1237
        * flow.c (find_basic_blocks): During marking phase, if we encounter
1238
        an insn with a REG_LABEL note, make the target block live and
1239
        create an edge from the insn to the target block.  Do not make
1240
        edges from all blocks to the target block.
1241
 
1242
        * m68k/x-next (OTHER_FIXINCLUDES_DIRS): Include /NextDeveloper/Headers.
1243
 
1244
        * confiugre.in: Tweak NCR entries.
1245
        * configure: Rebuilt.
1246
 
1247
Thu Nov 13 11:07:41 1997  Michael Meissner  
1248
 
1249
        * rs6000.c (num_insns_constant): Use REAL_VALUE_FROM_CONST_DOUBLE to
1250
        pick apart floating point values, instead of using CONST_DOUBLE_LOW
1251
        and CONST_DOUBLE_HIGH.
1252
 
1253
        * rs6000.md (define_splits for DF constants): Use the appropriate
1254
        REAL_VALUE_* interface to pick apart DF floating point constants in
1255
        a machine independent fashion.
1256
 
1257
Thu Nov 13 00:06:58 1997  J"orn Rennecke  
1258
 
1259
        * fold-const.c (fold_truthop): When changing a one-bit comparison
1260
        against zero into a comparison against mask, do a proper sign
1261
        extension.
1262
 
1263
Wed Nov 12 09:37:01 1997  Jeffrey A Law  (law@cygnus.com)
1264
 
1265
        * except.c: Do not include "assert.h".
1266
        (save_eh_status): Turn asserts into conditional aborts.
1267
        (restore_eh_status, scan_region): Likewise.
1268
        * dwarfout.c: Do not include "assert.h".
1269
        (bit_offset_attribute): Turn asserts into conditional aborts.
1270
        (bit_size_attribute, output_inlined_enumeration_type_die): Likewise.
1271
        (output_inlined_structure_type_die): Likewise.
1272
        (output_inlined_union_type_die): Likewise.
1273
        (output_tagged_type_instantiation): Likewise.
1274
        (dwarfout_file_scope_decl): Likewise.
1275
        * dwarf2out.c: Do not include "assert.h"
1276
        (expand_builtin_dwarf_reg_size): Turn asserts into conditional aborts.
1277
        (reg_save, initial_return_save, dwarf2out_frame_debug): Likewise.
1278
        (add_child_die, modified_type_die, add_bit_offset_attribute): Likewise.
1279
        (add_bit_size_attribute, scope_die_for): Likewise.
1280
        (output_pending_types_for_scope): Likewise.
1281
        (get_inlined_enumeration_type_die): Likewise.
1282
        (get_inlined_structure_type_die): Likewise.
1283
        (get_inlined_union_type_die, gen_subprogram_die): Likewise.
1284
        (gen_tagged_type_instantiation_die): Likewise.
1285
 
1286
        * flow.c (find_basic_blocks): Refine further to get a more correct
1287
        cfg, especially in the presense of exception handling, computed
1288
        gotos, and other non-trivial cases.  Call abort if an inaccuracy
1289
        is detected in the cfg.
1290
 
1291
Tue Nov 11 21:47:27 1997  J"orn Rennecke  
1292
 
1293
        * glimits.h (SHRT_MIN): Define in a way suitable for 16 bit hosts.
1294
 
1295
        * c-lex.c (whitespace_cr, skip_white_space_on_line): New functions.
1296
        (skip_white_space): Use whitespace_cr.
1297
        (check_newline): Handle whitespace more consistently.
1298
 
1299
Tue Nov 11 16:25:49 1997  Jim Wilson  
1300
 
1301
        * i386/cygwin32.h (CPP_PREDEFINES): Delete -DPOSIX.
1302
        * i386/xm-cygwin32.h (POSIX): Define.
1303
 
1304
Mon Nov 10 20:53:11 1997  Gavin Koch  
1305
 
1306
        * config/mips/mips.h (MASK_DEBUG_H): Set to zero, so this bit
1307
        is available elsewhere.
1308
 
1309
Mon Nov 10 16:21:58 1997  Doug Evans  
1310
 
1311
        * sparc/sparc.md (mov[sdt]f_const_insn): Fix condition to match
1312
        what the instruction can handle.
1313
 
1314
Mon Nov 10 03:02:19 1997  Jason Merrill  
1315
 
1316
        * stmt.c (expand_decl_cleanup_no_eh): New fn.
1317
 
1318
        * except.c (expand_leftover_cleanups): do_pending_stack_adjust.
1319
 
1320
Mon Nov 10 00:05:56 1997  Jeffrey A Law  (law@cygnus.com)
1321
 
1322
        * alias.c (MAX_ALIAS_LOOP_PASSES): Define.
1323
        (init_alias_analysis): Break out of loops after MAX_ALIAS_LOOP_PASSES.
1324
 
1325
Sun Nov  9 14:34:47 1997  David Edelsohn  
1326
 
1327
        * rs6000.md (lshrdi3_power): Delete '&' from first alternative and
1328
        swap instruction order.
1329
 
1330
Sun Nov  9 02:07:16 1997  Jeffrey A Law  (law@cygnus.com)
1331
 
1332
        * fixinc.svr4 (__STDC__): Add another case.
1333
 
1334
Sun Nov  9 02:00:29 1997  J"orn Rennecke  
1335
 
1336
        * a29k.h (ELIGIBLE_FOR_EPILOGUE_DELAY): Avoid loads from varying
1337
        addresses in the epilogue delay slot.
1338
 
1339
Sun Nov  9 01:40:40 1997  Manfred Hollstein  (manfred@s-direktnet.de)
1340
 
1341
        * m88k/dgux.h (ASM_CPU_SPEC): Reformatted to suppress wrong whitespace
1342
        in generated `specs' file.
1343
 
1344
Sun Nov  9 01:37:11 1997  Jim Wilson  (wilson@cygnus.com)
1345
 
1346
        * flags.h (flag_rerun_loop_opt): Declare.
1347
        * loop.c (invariant_p, case LABEL_REF): Check flag_rerun_loop_opt.
1348
        * toplev.c (flag_rerum_loop_opt): Delete static.
1349
 
1350
Sat Nov  8 18:20:21 1997  J"orn Rennecke  
1351
 
1352
        Bring over from FSF:
1353
 
1354
        Thu Oct 30 12:21:06 1997  J"orn Rennecke  
1355
 
1356
        * va-sh.h (__va_arg_sh1): Define.
1357
        (va_arg): Use it.
1358
        SH3E doesn't use any integer registers for subsequent arguments
1359
        once a non-float value was passed in the stack.
1360
        * sh.c (machine_dependent_reorg): If optimizing, put explicit
1361
        alignment in front label for ADDR_DIFF_VEC.
1362
        * sh.h (PASS_IN_REG_P): Fix SH3E case.
1363
        (ADJUST_INSN_LENGTH): If not optimizing, add two extra bytes length.
1364
 
1365
        Tue Oct 28 15:06:44 1997  J"orn Rennecke  
1366
 
1367
        * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Undefine before including
1368
        svr4.h.
1369
 
1370
        Mon Oct 27 16:11:52 1997  J"orn Rennecke  
1371
 
1372
        * sh.c (machine_dependent_reorg): When -flag_delayed_branches,
1373
        put an use_sfunc_addr before each sfunc.
1374
        * sh.md (use_sfunc_addr, dummy_jump): New insns.
1375
        (casesi): For TARGET_SH2, emit a dummy_jump after LAB.
1376
 
1377
        Tue Oct 21 07:12:28 1997  J"orn Rennecke  
1378
 
1379
        * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Don't redefine.
1380
 
1381
Fri Nov  7 10:22:24 1997  Jason Merrill  
1382
 
1383
        * frame.c (add_fdes, count_fdes): Go back to checking pc_begin for
1384
        linked once FDEs.
1385
 
1386
Wed Nov  5 14:26:05 1997  Jeffrey A Law  (law@cygnus.com)
1387
 
1388
        * alias.c (find_base_value): Only return the known base value for
1389
        pseudo registers.
1390
 
1391
Wed Nov  5 11:27:14 1997  Jim Wilson  
1392
 
1393
        * i386.c (load_pic_register): Call prologue_get_pc_and_set_got.
1394
        * i386.md (prologue_set_got, prologue_get_pc): Add UNSPEC_VOLATILE
1395
        to pattern.
1396
        (prologue_get_pc_and_set_got): New pattern.
1397
 
1398
Tue Nov  4 20:36:50 1997  Richard Henderson  (rth@cygnus.com)
1399
 
1400
        * alpha.c (summarize_insn): Handle ASM_OPERANDS.  Don't recurse
1401
        for SUBREG, just fall through.
1402
 
1403
        * alpha.c (alpha_handle_trap_shadows): Init sum.defd to zero.
1404
 
1405
        * alpha.md (attr trap): Make TRAP_YES nonzero for sanity's sake.
1406
 
1407
Tue Nov  4 18:49:42 1997  Jeffrey A Law  (law@cygnus.com)
1408
 
1409
        * fixincludes: Fix "hypot" prototype in NeXT math.h.
1410
 
1411
        * Makefile.in (USE_ALLOCA): Always include alloca.o.
1412
        (USE_HOST_ALLOCA): Likewise.
1413
 
1414
        * rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES
1415
        and LABEL_REFS fields.
1416
        * rtl.h (LABEL_REFS): Update.
1417
 
1418
Tue Nov  4 16:55:11 1997  Jim Wilson  
1419
 
1420
        * combine.c (try_combine): When setting elim_i2, check whether newi2pat
1421
        sets i2dest.  When calling distribute_notes for i3dest_killed, pass
1422
        elim_i2 and elim_i1.  When setting elim_i1, check if newi2pat
1423
        sets i1dest.
1424
 
1425
        * mips.md (insv, extzv, extv): Add change_address call.
1426
        (movsi_ulw, movsi_usw): Change QImode to BLKmode in pattern.
1427
 
1428
        * integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
1429
 
1430
        * reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants.
1431
 
1432
        * mips.c (mips_expand_epilogue): Emit blockage insn before call to
1433
        save_restore_insns if no FP and GP will be restored.
1434
 
1435
        * dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode.
1436
        Convert CCmode to word_mode before calling GET_MODE_SIZE.
1437
 
1438
        * acconfig.h (HAVE_INTTYPES_H): Undef.
1439
        * configure.in (inttypes.h): Check for conflicts between sys/types.h
1440
        and inttypes.h, and verify that intmax_t is defined.
1441
        * config/mips/x-iris (CC, OPT, OLDCC): Comment out.
1442
        * config/mips/x-iris3: Likewise.
1443
 
1444
Tue Nov  4 16:07:15 1997  Jeffrey A Law  (law@cygnus.com)
1445
 
1446
        * alias.c (find_base_value): When copying arguments, return the
1447
        tentative value for a hard register.
1448
 
1449
Tue Nov  4 13:40:35 1997  Doug Evans  
1450
 
1451
        * c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
1452
        (yylex): Record wide strings using target endianness, not host.
1453
 
1454
Tue Nov  4 13:13:12 1997  Jeffrey A Law  (law@cygnus.com)
1455
 
1456
        * mn10200.h (ASM_OUTPUT_BSS): Delete.
1457
        (ASM_OUTPUT_ALIGNED_BSS): New macro.
1458
        * mn10300.h (ASM_OUTPUT_BSS): Delete.
1459
        (ASM_OUTPUT_ALIGNED_BSS): New macro.
1460
        * v850.h (ASM_OUTPUT_BSS): Delete.
1461
        (ASM_OUTPUT_ALIGNED_BSS): New macro.
1462
 
1463
Tue Nov  4 00:55:48 1997  J"orn Rennecke  
1464
 
1465
        * profile.c (branch_prob): Insert an insn after a NOTE_INSN_SETJMP.
1466
 
1467
Mon Nov  3 14:36:50 1997  Jeffrey A Law  (law@cygnus.com)
1468
 
1469
        * configure.in (sco5): Use cpio to install header files.
1470
 
1471
Sun Nov  2 23:31:43 1997  Manfred Hollstein  
1472
 
1473
        * aclocal.m4 (conftestdata_from, conftestdata_to): Names shortened to
1474
        14 char length.
1475
        * configure: Rebuild.
1476
 
1477
Sun Nov  2 19:44:00 1997  Robert Lipe  (robertl@dgii.com)
1478
 
1479
        * i386/sco5.h: Enable -gstabs once again.
1480
 
1481
Sun Nov  2 19:27:21 1997  Jeffrey A Law  (law@cygnus.com)
1482
 
1483
        * arm.c (output_move_double): Allocate 3 entries in otherops array.
1484
 
1485
Sat Nov  1 21:43:00 1997  Mike Stump  
1486
 
1487
        * except.c (expand_eh_region_start_for_decl): Emit EH_REGION_BEG
1488
        notes for sjlj exceptions too.
1489
        (expand_eh_region_end): Similarly for EH_REGION_END notes.
1490
        (exception_optimize): Optimize EH regions for sjlj exceptions too.
1491
        * final.c (final_scan_insn): Don't output labels for EH REGION
1492
        notes if doing sjlj exceptions.
1493
 
1494
Sat Nov  1 19:15:28 1997  Jeffrey A Law  (law@cygnus.com)
1495
 
1496
        * alias.c (init_alias_analysis): Handle -fno-alias-check when
1497
        optimizing correctly.
1498
 
1499
        * expr.c (expand_builtin_setjmp): Don't emit a SETJMP note
1500
        or set current_function_calls_setjmp anymore.
1501
 
1502
        * flow.c (find_basic_blocks): If we delete the label for an
1503
        exception handler, remove it from the EH label list and remove
1504
        the EH_BEGIN/EH_END notes for that EH region.
1505
 
1506
Sat Nov  1 16:44:49 1997  Jason Merrill  (jason@cygnus.com)
1507
 
1508
        * flow.c (find_basic_blocks): Generate correct flow control
1509
        information when exception handling notes are present.
1510
 
1511
Sat Nov  1 13:42:19 1997  Jeffrey A Law  (law@cygnus.com)
1512
 
1513
        * dwarf2out.c (output_call_frame_info): Fix length argument
1514
        to ASM_OUTPUT_ASCII.
1515
        (output_die, output_pubnames, output_line_info): Likewise.
1516
 
1517
Fri Oct 31 07:10:09 1997  Jeffrey A Law  (law@cygnus.com)
1518
 
1519
        * version.c: Bump for snapshot.
1520
 
1521
        * dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to
1522
        output ASCII by default.  Only use ASM_OUTPUT_DWARF_STRING if
1523
        flag_debug_asm is on.
1524
        (output_die, output_pubnames, output_line_info): Likewise.
1525
 
1526
        * alias.c (init_alias_analysis): Add struct_value_incoming_rtx
1527
        and static_chain_rtx into the potential base values array if
1528
        they are registers.
1529
 
1530
        * alias.c (new_reg_base_value): New array of potential base values.
1531
        (unique_id): Now file scoped static.
1532
        (find_base_value, case REG): Return the value in reg_base_value
1533
        array for the REG if it exists.  Else, return the value from
1534
        new_reg_base_value if copying args and REG is a hard register.
1535
        (find_base_value, case PLUS): If either operand of the PLUS is
1536
        a REG, try to get its base value.  Handle base + index and
1537
        index + base.
1538
        (record_set): Use new_reg_base_value instead of reg_base_value.
1539
        (init_alias_analysis): Allocate space for new_reg_base_value too.
1540
        Rework code to iterate over the insns propagating base value
1541
        information until nothing changes.
1542
 
1543
        * global.c (global_alloc): Free the conflict matrix after
1544
        reload has finished.
1545
 
1546
Fri Oct 31 01:45:31 1997  Jason Merrill  
1547
 
1548
        * libgcc2.c (L_eh): Define __eh_pc.
1549
        Replace __eh_type with generic pointer __eh_info.
1550
 
1551
Fri Oct 31 00:34:55 1996  J"orn Rennecke  
1552
 
1553
        * expr.c (expand_increment): When enqueing a postincrement for a MEM,
1554
        use copy_to_reg if address is not a general_operand.
1555
 
1556
Fri Oct 31 00:16:55 1997  J"orn Rennecke  
1557
 
1558
        * profile.c (output_func_start_profiler): Clear flag_inline_functions
1559
        for the duration of the call to rest_of_compilation.
1560
 
1561
Thu Oct 30 14:40:10 1997  Doug Evans  
1562
 
1563
        * configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
1564
        Set extra_parts.
1565
        (sparc*-*-*): Recognize --with-cpu=v9.
1566
        * sparc/elf.h: New file.
1567
        * sparc/t-elf: New file.
1568
 
1569
Thu Oct 30 13:26:12 1997  Jeffrey A Law  (law@cygnus.com)
1570
 
1571
        * mn10300.c (const_8bit_operand): New function.
1572
        (mask_ok_for_mem_btst): New function.
1573
        * mn10300.md (btst patterns with mem operands): Use new functions
1574
        to avoid creating btst instructions with invalid operands.
1575
 
1576
Wed Oct 29 16:57:19 1997  Michael Meissner  
1577
 
1578
        * rs6000/xm-sysv4.h: Include xm-linux.h instead of xm-svr4.h if we
1579
        are running on PowerPC Linux.
1580
 
1581
Wed Oct 29 13:10:11 1997  Gavin Koch  
1582
 
1583
        * config/mips/elf64.h (PREFERRED_DEBUGGING_TYPE): Only define
1584
        if not previously defined.
1585
 
1586
Tue Oct 28 23:55:27 1997  Doug Evans  (devans@cygnus.com)
1587
 
1588
        * function.c (assign_parms): Correct mode of stack_parm if
1589
        entry_parm underwent a mode conversion.
1590
 
1591
1997-10-28  Brendan Kehoe  
1592
 
1593
        * global.c (global_alloc): Use xmalloc instead of alloca for
1594
        CONFLICTS, since max_allocno * allocno_row_words alone can be more
1595
        than 2.5Mb sometimes.
1596
 
1597
Tue Oct 28 15:29:15 1997  Richard Henderson  
1598
 
1599
        * reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of
1600
        DEST for the spill, adjust mode of SRC to compensate.
1601
 
1602
Tue Oct 28 14:36:45 1997  Richard Henderson  
1603
 
1604
        * alpha.md (reload_inqi): Check for MEM before strict_memory_address_p,
1605
        since any_memory_operand() allows pseudos during reload.
1606
        (reload_inhi, reload_outqi, reload_outhi): Likewise.
1607
 
1608
Tue Oct 28 11:53:14 1997  Jim Wilson  
1609
 
1610
        * m68k.md (btst patterns): Add 5200 support.
1611
 
1612
Tue Oct 28 11:58:40 1997  Toon Moene  
1613
 
1614
        * fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3)
1615
        optimizations, look inside dividend to determine if the expression
1616
        can be simplified by using EXACT_DIV_EXPR.
1617
 
1618
Tue Oct 28 10:19:01 1997  Jason Merrill  
1619
 
1620
        From Brendan:
1621
        * dwarf2out.c (output_call_frame_info): Use l1 instead of ".".
1622
 
1623
Tue Oct 28 00:32:14 1997  Richard Henderson  
1624
 
1625
        * alpha.c (summarize_insn [SUBREG]): Propagate SET.
1626
 
1627
Mon Oct 27 23:59:26 1997  Richard Henderson  
1628
 
1629
        * alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap
1630
        on a CLOBBER.
1631
 
1632
Mon Oct 27 21:25:20 1997  Richard Henderson  
1633
 
1634
        * alpha.md (movqi, movhi): Make sure new insns created during reload
1635
        won't need reloading themselves.
1636
        (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Likewise.
1637
 
1638
Mon Oct 27 16:11:10 1997  Jeffrey A Law  (law@cygnus.com)
1639
 
1640
        * mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
1641
 
1642
Sun Oct 26 13:50:44 1997  Richard Henderson  
1643
 
1644
        * alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
1645
        Patch from Klaus Kaempf .
1646
 
1647
Sun Oct 26 13:31:47 1997  Jim Wilson  (wilson@cygnus.com)
1648
 
1649
        * expr.c (expand_expr, case INDIRECT_REF): Optimize a reference
1650
        to an element in a constant string.
1651
 
1652
Sun Oct 26 11:41:49 1997  Jason Merrill  
1653
 
1654
        * dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
1655
        bit PC-relative offset.  The exception range table pointer is now in
1656
        the CIE.
1657
        * frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
1658
        (count_fdes, add_fdes, get_cie): Adjust.
1659
        (cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.
1660
 
1661
        From H.J. Lu:
1662
        * frame.c (count_fdes, add_fdes): Skip linked once FDE entries.
1663
 
1664
Sun Oct 26 11:52:01 1997  Richard Henderson  
1665
 
1666
        * alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just
1667
        like stack_pointer_rtx.
1668
 
1669
Sun Oct 26 11:32:16 1997  Manfred Hollstein  
1670
 
1671
        * Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
1672
        targets using "$@" to provide support for similar but not identical
1673
        targets without having to duplicate code.
1674
        (bootstrap4): New goal.
1675
 
1676
        * Makefile.in (compare, compare-lean, compare3): Combined to one
1677
        ruleset determining actions to be performed via $@.
1678
        (compare4, compare4-lean): New targets.
1679
        (gnucompare, gnucompare3): Combined to one ruleset determining
1680
        actions to be performed via $@. Also, note which files failed
1681
        the comparison test in .bad_compare.
1682
        (gnucompare-lean, gnucompare3-lean, gnucompare4-lean): New targets.
1683
 
1684
Sun Oct 26 10:06:11 1997  Toon Moene  
1685
 
1686
        * fold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR
1687
        if the dividend is a multiple of the divisor.
1688
 
1689
Sun Oct 26 09:21:40 1997  Jeffrey A Law  (law@cygnus.com)
1690
 
1691
        * Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.
1692
 
1693
        * alias.c (find_base_term): Handle PRE_INC, PRE_DEC, POST_INC,
1694
        and POS_DEC.
1695
 
1696
        * alias.c (true_dependence): Fix typo.
1697
 
1698
        * toplev.c (flag_rerun_loop_opt): New variable.
1699
        (f_options): Handle -frerun-loop-opt.
1700
        (rest_of_compilation): If -frerun-loop-opt, then run the loop
1701
        optimizer twice.
1702
        (main): Enable -frerun-loop-opt by default for -O2 or greater.
1703
 
1704
        * loop.c (simplify_giv_expr): Adding two invariants results
1705
        in an invariant.
1706
 
1707
Sun Oct 26 09:15:15 1997  Richard Henderson  
1708
 
1709
        * expr.c (get_inner_reference): Remove the array bias after
1710
        converting the index to Pmode.
1711
 
1712
Sat Oct 25 12:20:58 1997  Jeffrey A Law  (law@cygnus.com)
1713
 
1714
        * mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
1715
        (TARGET_MULT_BUG): Define.
1716
        (TARGET_DEFAULT): Default to TARGET_MULT_BUG.
1717
        * mn10300.md (mulsi3): Handle TARGET_MULT_BUG.
1718
 
1719
Fri Oct 24 17:40:34 1997  Jeffrey A Law  (law@cygnus.com)
1720
 
1721
        * mn10200.c (indirect_memory_operand): Delete unused function.
1722
        * mn10200.h (EXTRA_CONSTRAINT): Handle 'R'.
1723
        * mn10200.md (bset, bclr insns): Handle output in a reg too.
1724
 
1725
Fri Oct 24 15:54:57 1997  Richard Henderson  
1726
 
1727
        * alpha.md (call patterns): Revert Oct 16 change; if we are to elide
1728
        the callee's ldgp, we must do it ourselves, and we use the jsr tag
1729
        for more than scheduling.
1730
 
1731
Fri Oct 24 13:23:04 1997  Doug Evans  
1732
 
1733
        * sparc/sparc.h (ASM_SPEC): Delete asm_arch.
1734
 
1735
Fri Oct 24 13:19:40 1997  Jeffrey A Law  (law@cygnus.com)
1736
 
1737
        * mn10300.c (symbolic_operand, legitimize_address): New functions.
1738
        * mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address.
1739
        (GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic.
1740
 
1741
Thu Oct 23 09:35:12 1997  Jeffrey A Law  (law@cygnus.com)
1742
 
1743
        * version.c: Bump for snapshot.
1744
 
1745
Thu Oct 23 08:03:59 1997  J"orn Rennecke  
1746
 
1747
        * dbxout.c (dbxout_start_new_source_file): Use output_quoted_string
1748
        for FILENAME.
1749
 
1750
Wed Oct 22 00:34:12 1997  Jeffrey A Law  (law@cygnus.com)
1751
 
1752
        * toplev.c (flag_exceptions): Default value is 2.
1753
        (compile_file): If flag_exceptions still has the value 2, then
1754
        set it to 0.
1755
 
1756
        * rs6000.c (struct machine_function): Add pic_offset_table_rtx.
1757
        (rs6000_save_machine_status): Save pic_offset_table_rtx.
1758
        (rs6000_restore_machine_status: Restore pic_offset_table_rtx.
1759
 
1760
        * local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
1761
        are shared.
1762
 
1763
        * rs6000.md (*movsi_got_internal_mem): New pattern.
1764
        (*movsi_got_internal_mem splitter): New define_split.
1765
 
1766
Tue Oct 21 18:14:03 1997  Jim Wilson  
1767
 
1768
        * obstack.h (obstack_empty_p): Fix spurious space after backslash.
1769
 
1770
Tue Oct 21 18:34:01 1997  Geoffrey KEATING  
1771
 
1772
        * rs6000.c: Avoid creating a stack frame under SYSV ABI if we
1773
        only need to save LR.
1774
 
1775
Tue Oct 21 10:06:40 1997  Jeffrey A Law  (law@cygnus.com)
1776
 
1777
        * mn10300.md (movqi, movhi): Avoid using address registers as
1778
        destinations unless absolutely necessary.
1779
 
1780
        * mn10200.c (expand_prologue): Fix typo.
1781
 
1782
        * mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed
1783
        addresses.
1784
        * mn10200.md (neghi2): Provide an alternative which works if
1785
        the input and output register are the same.
1786
 
1787
        * mn10300.c (print_operand): Handle 'S'.
1788
        * mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for
1789
        shift amount in last alternative.
1790
 
1791
        * mn10300.c (expand_epilogue): Rework to handle register restores
1792
        in "ret" and "retf" instructions correctly.
1793
 
1794
Mon Oct 20 16:47:08 1997  Jim Wilson  
1795
 
1796
        * expmed.c (extract_bit_field): Don't make flag_force_mem disable
1797
        extzv for memory operands.
1798
 
1799
        * cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
1800
        redundant conditional moves to single operand.
1801
 
1802
Mon Oct 20 15:30:26 1997  Nick Clifton  
1803
 
1804
        * v850.h: Move define of __v850__ from CPP_PREDEFINES
1805
        to CPP_SPEC.
1806
 
1807
        * xm-v850.h: Use __v850 rather than __v850__ to
1808
        identify v850 port.
1809
 
1810
Mon Oct 20 14:15:02 1997  Jim Wilson  
1811
 
1812
        * mips/mips.c (compute_frame_size): Not a leaf function if
1813
        profile_flag set.
1814
 
1815
Mon Oct 20 14:16:38 1997  Geoffrey KEATING  
1816
 
1817
        * rs6000/t-ppccomm: Use -msdata=none for crtstuff.
1818
 
1819
Mon Oct 20 12:28:17 1997  Doug Evans  
1820
 
1821
        * sparc/sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
1822
        (DEFAULT_ARCH32_P): New macro.
1823
        (TARGET_ARCH{32,64}): Allow compile time or runtime selection.
1824
        (enum cmodel): Declare.
1825
        (sparc_cmodel_string,sparc_cmodel): Declare.
1826
        (SPARC_DEFAULT_CMODEL): Provide default.
1827
        (TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}.
1828
        (TARGET_FULLANY): Deleted.
1829
        (TARGET_CM_MEDMID): New macro.
1830
        (CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC.
1831
        (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
1832
        (CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch).
1833
        (CPP_SPEC): Rewrite.
1834
        (CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
1835
        (CPP_{ENDIAN,SUBTARGET}_SPEC): New macros.
1836
        (ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
1837
        (ASM_SPEC): Add %(asm_arch).
1838
        (EXTRA_SPECS): Rename cpp_default to cpp_cpu_default.
1839
        Rename asm_default to asm_cpu_default.
1840
        Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian,
1841
        cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch.
1842
        (NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH.
1843
        ({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values.
1844
        (MASK_INT64,MASK_LONG64): Delete.
1845
        (MASK_ARCH64): Renamed to MASK_64BIT.
1846
        (MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete.
1847
        (EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG.
1848
        (TARGET_SWITCHES): Always provide 64 bit options.
1849
        (ARCH64_SWITCHES): Delete.
1850
        (TARGET_OPTIONS): New option -mcmodel=.
1851
        (INT_TYPE_SIZE): Always 32.
1852
        (MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH.
1853
        (INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_....
1854
        (FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support.
1855
        (PRINT_OPERAND_PUNCT_VALID_P): Add '_'.
1856
        * sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by
1857
        CPP_SPEC.
1858
        (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
1859
        * sparc/linux.h: Likewise.
1860
        * sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete.
1861
        (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
1862
        (TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT.
1863
        (SPARC_DEFAULT_CMODEL): Define.
1864
        (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
1865
        (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
1866
        (LONG_DOUBLE_TYPE_SIZE): Define.
1867
        (ASM_SPEC): Add %(asm_arch).
1868
        * sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
1869
        (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
1870
        (TARGET_CPU_DEFAULT): Add ultrasparc case.
1871
        * sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete.
1872
        (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.
1873
        (SPARC_DEFAULT_CMODEL): Define.
1874
        * sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete.
1875
        (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.  Delete
1876
        MASK_LONG64, MASK_MEDANY.
1877
        (SPARC_DEFAULT_CMODEL): Define.
1878
        (CPP_PREDEFINES): Delete.
1879
        (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
1880
        (ASM_SPEC): Add %(asm_arch).
1881
        (LONG_DOUBLE_TYPE_SIZE): Define.
1882
        (DWARF2_DEBUGGING_INFO): Define.
1883
        * sparc/splet.h (CPP_SPEC): Delete.
1884
        * sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
1885
        (FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support.
1886
        (BLOCK_PROFILER): Likewise.
1887
        * sparc/sparc.c (sparc_cmodel_string,sparc_cmodel): New globals.
1888
        (sparc_override_options): Handle code model selection.
1889
        (sparc_init_expanders): Renamed from sparc64_init_expanders.
1890
        * sparc/sparc.md: TARGET_ renamed to TARGET_CM_....
1891
        TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY.
1892
        (sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_....
1893
        (sethi_di_fullany): Delete.
1894
 
1895
Mon Oct 20 02:00:18 1997  Klaus Kaempf  
1896
                          Jeff Law  
1897
                          Richard Kenner  
1898
 
1899
        * alpha/vms.h (DIVSI3_LIBCALL): OTS$ functions are upper case.
1900
        (DIVDI3_LIBCALL, UDIVSI3_LIBCALL, UDIVDI3_LIBVALL): Likewise.
1901
        (MODSI3_LIBCALL, MODDI3_LIBCALL): Likewise.
1902
        (UMODSI3_LIBCALL, UMODDI3_LIBCALL): Likewise.
1903
        * alpha/alpha.md (arg_home): Likewise.
1904
 
1905
        * alpha/alpha.c (vmskrunch): Delete.
1906
        * alpha/vms.h (ENCODE_SECTION_INFO, ASM_DECLARE_FUNCTION_NAME): Delete.
1907
        * alpha.c (output_prolog, VMS): Use alloca for entry_label and don't
1908
        truncate to 64 characters.
1909
 
1910
        * make-l2.com: Support openVMS/Alpha.
1911
 
1912
        * vmsconfig.com: Fix to work on openVMS/Alpha and openVMS/VAX.
1913
 
1914
Sun Oct 19 19:00:35 1997  J"orn Rennecke  
1915
 
1916
        * longlong.h (count_leading_zeros): Add missing casts to USItype.
1917
 
1918
Sun Oct 19 18:44:06 1997  Jeffrey A Law  (law@cygnus.com)
1919
 
1920
        * i386/bsd386.h (ASM_COMMENT_START): Define.
1921
 
1922
Sat Oct 18 13:47:15 1997  Jason Merrill  
1923
 
1924
        * tree.c (restore_tree_status): Also free up temporary storage
1925
        when we finish a toplevel function.
1926
        (dump_tree_statistics): Print stats for backend obstacks.
1927
 
1928
Sat Oct 18 12:47:31 1997  Doug Evans  
1929
 
1930
        * expr.c (use_group_regs): Don't call use_reg for MEMs.
1931
 
1932
Sat Oct 18 09:49:46 1997  Jason Merrill  
1933
 
1934
        * libgcc2.c (__throw): Don't copy the return address.
1935
        * dwarf2out.c (expand_builtin_dwarf_reg_size): Ignore return address.
1936
 
1937
        * except.c (exceptions_via_longjmp): Initialize to 2 (uninitialized).
1938
        * toplev.c (main): Initialize exceptions_via_longjmp.
1939
 
1940
        * tree.c: Add extra_inline_obstacks.
1941
        (save_tree_status): Use it.
1942
        (restore_tree_status): If this is a toplevel inline obstack and we
1943
        didn't want to save anything on it, recycle it.
1944
        (print_inline_obstack_statistics): New fn.
1945
        * function.c (pop_function_context_from): Pass context to
1946
        restore_tree_status.
1947
        * obstack.h (obstack_empty_p): New macro.
1948
 
1949
Sat Oct 18 00:43:59 1997  Jeffrey A Law  (law@cygnus.com)
1950
 
1951
        * i386/freebsd.h (ASM_COMMENT_START): Fix.
1952
 
1953
Fri Oct 17 23:48:52 1997  Jim Wilson  (wilson@cygnus.com)
1954
 
1955
        * v850.c (ep_memory_offset): New function.
1956
        (ep_memory_operand, substitute_ep_register, v850_reorg): Call it.
1957
 
1958
        * v850.h (CONST_OK_FOR_*): Add and correct comments.
1959
        (CONSTANT_ADDRESS_P): Add comment.
1960
        (EXTRA_CONSTRAINT): Define 'U'.
1961
        * v850.md: Add comments on bit field instructions.
1962
        (addsi3): Delete &r/r/r alternative.  Add r/r/U alternative.
1963
        (lshrsi3): Use N not J constraint.
1964
 
1965
        * v850.md (v850_tst1+1): New define_split for tst1 instruction.
1966
 
1967
        * v850.c (reg_or_0_operand): Call register_operand.
1968
        (reg_or_int5_operand): Likewise.
1969
        * v850.h (MASK_BIG_SWITCH, TARGET_BIG_SWITCH): New macros.
1970
        (TARGET_SWITCHES): Add "big-switch".
1971
        (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE,
1972
        ASM_OUTPUT_BEFORE_BASE_LABEL): Add support for TARGET_BIG_SWITCH.
1973
        (CASE_DROPS_THROUGH): Comment out.
1974
        (CASE_VECTOR_PC_RELATIVE, JUMP_TABLES_IN_TEXT_SECTION): Define.
1975
        * v850.md (cmpsi): Delete compare mode.
1976
        (casesi): New pattern.
1977
 
1978
        * v850.h (CONST_OK_FOR_N): Delete redundant compare against zero.
1979
        * v850.md (ashlsi3): Use SImode not QImode for shift count.
1980
        (lshrsi3): Likewise.
1981
 
1982
        * v850.c (print_operand): Add 'c', 'C', and 'z' support.  Delete
1983
        unreachable switch statement after 'b' support.  Remove "b" from
1984
        strings for 'b' support.
1985
        * v850.md (branch_normal, branch_invert): Change %b to b%b.
1986
 
1987
Fri Oct 17 23:33:20 1997  Jeffrey A Law  (law@cygnus.com)
1988
 
1989
        * Makefile.in (LIBGCC2_CFLAGS): Avoid a backslash then an
1990
        empty line if @inhibit_libc@ is empty.
1991
 
1992
Fri Oct 17 23:24:40 1997  Robert Lipe  (robertl@dgii.com)
1993
 
1994
        * i386/sco5.h: Let ELF use dwarf2 unwinding.  COFF uses sjlj.
1995
        (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Defined.
1996
        (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
1997
        (DWARF2_UNWIND_INFO): Let this track object file format.
1998
        (EXTRA_SECTIONS): Add in_eh.
1999
        (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Define.
2000
        (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
2001
 
2002
Fri Oct 17 17:13:42 1997  David S. Miller  
2003
 
2004
        * sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
2005
        * sparc/sparc.h (FUNCTION_PROFILER): Fix format string when
2006
        TARGET_MEDANY.
2007
        * sparc/sparc.c (dwarf2out_cfi_label): Extern no longer needed.
2008
        (output_double_int): Output DI mode values correctly when
2009
        HOST_BITS_PER_WIDE_INT is 64.
2010
        (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
2011
        fmovd so it works if a quad float ends up in one of the upper 32
2012
        float regs.
2013
        * sparc/sparc.md (pic_{lo_sum,sethi}_di): New patterns
2014
        necessary for PIC support on sparc64.
2015
 
2016
Fri Oct 17 13:39:56 1997  Doug Evans  
2017
 
2018
        * sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
2019
        * sparc/sparc.h (PROMOTE_MODE): Promote small ints if arch64.
2020
        (PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
2021
        (SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
2022
        (SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
2023
        (SPARC_FP_ARG_FIRST): New macro.
2024
        (CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
2025
        (REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
2026
        (NPARM_REGS): There are 32 fp argument registers now.
2027
        (FUNCTION_ARG_REGNO_P): Likewise.
2028
        (FIRST_PARM_OFFSET): Update to new v9 abi.
2029
        (REG_PARM_STACK_SPACE): Define for arch64.
2030
        (enum sparc_arg_class): Delete.
2031
        (sparc_arg_count,sparc_n_named_args): Delete.
2032
        (struct sparc_args): Redefine and use for arch32 as well as arch64.
2033
        (GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
2034
        (FUNCTION_ARG_ADVANCE): Rewrite.
2035
        (FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
2036
        (FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
2037
        (FUNCTION_ARG_CALLEE_COPIES): Delete.
2038
        (FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
2039
        (STRICT_ARGUMENT_NAMING): Define.
2040
        (doublemove_string): Declare.
2041
        * sparc/sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
2042
        (single_move_string): Use GEN_INT, and HOST_WIDE_INT.
2043
        (doublemove_string): New function.
2044
        (output_move_quad): Clean up some of the arch64 support.
2045
        (compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
2046
        Don't add 8 bytes of reserved space if arch64.
2047
        (sparc_builtin_saveregs): Combine arch32/arch64 versions.
2048
        (init_cumulative_args): New function.
2049
        (function_arg_slotno): New static function.
2050
        (function_arg,function_arg_partial_nregs): New functions.
2051
        (function_arg_{pass_by_reference,advance}): New functions.
2052
        (function_arg_padding): New function.
2053
        * ginclude/va-sparc.h: Rewrite v9 support.
2054
 
2055
Fri Oct 17 12:29:48 1997  Christian Iseli  
2056
 
2057
        * regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P
2058
        for hard regs to determine base and index registers.
2059
 
2060
        * reload.c (debug_reload_to_stream): New function.  Specify stream
2061
        into which to write debug info.
2062
        (debug_reload): Modify to call debug_reload_to_stream with stderr.
2063
 
2064
Thu Oct 16 15:07:51 1997  Richard Henderson  
2065
 
2066
        * combine.c (can_combine_p): Don't combine with an asm whose
2067
        output is a hard register.
2068
 
2069
Thu Oct 16 15:43:26 1997  Mike Stump  
2070
 
2071
        * c-decl.c (start_struct): Ensure that structs with forward
2072
        declarations are in fact packed when -fpack-struct is given.
2073
 
2074
        * stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
2075
        we are packing a structure.  This allows a structure with only
2076
        bytes to be aligned on a byte boundary and have no padding on a
2077
        m68k.
2078
 
2079
Thu Oct 16 15:17:54 1997  Richard Kenner  
2080
 
2081
        * rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
2082
 
2083
Thu Oct 16 11:20:30 1997  Richard Henderson  
2084
 
2085
        * alpha.c (alpha_return_addr_rtx): New variable.
2086
        (alpha_save_machine_status): New; save it.
2087
        (alpha_restore_machine_status): New; restore it.
2088
        (alpha_init_expanders): New; clear it.
2089
        (alpha_return_addr): New; set it.
2090
        (alpha_ra_ever_killed): New; if alpha_return_addr_rtx, regs_ever_live
2091
        is overly conservative, so search the insns explicitly.
2092
        (alpha_sa_mask [VMS]): Check alpha_ra_ever_killed.
2093
        (alpha_sa_size [VMS && !VMS]): Likewise.
2094
        * alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr.
2095
        (INIT_EXPANDERS): New definition.
2096
 
2097
        * alpha.c: Move REG_PV, REG_RA somewhere more visible in the file.
2098
        (output_prolog [!VMS]): Use them.
2099
 
2100
        * alpha.c (output_prolog [!VMS]): Move gp detection to ...
2101
        (alpha_does_function_need_gp): ... a new function.  Refine the
2102
        CALL_INSN test to just TYPE_JSR.
2103
        * alpha.md (most call insns): Fix some jsr/ibr type transpositions.
2104
 
2105
Thu Oct 16 09:36:47 1997  Jeffrey A Law  (law@cygnus.com)
2106
 
2107
        * version.c: Bump for snapshot.
2108
 
2109
Wed Oct 15 21:38:18 1997  Richard Kenner  
2110
 
2111
        * pa.c (move_operand): Respect -mdisable-indexing.
2112
        * pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
2113
 
2114
Wed Oct 15 21:34:45 1997  David Edelsohn  
2115
 
2116
        * rs6000.md (udivsi3, divsi3): Split into MQ and non-MQ cases for
2117
        PPC601.
2118
        (umulsidi3,umulsi3_highpart): Likewise.
2119
        (smulsi3_highpart_no_mq): Add !TARGET_POWER.
2120
 
2121
Wed Oct 15 18:21:46 1997  Richard Henderson  
2122
 
2123
        * alpha.c (final_prescan_insn): Gut, remove and transform to ...
2124
        (alpha_handle_trap_shadows): ... a new function.  Handle the entire
2125
        function in one go.  Emit RTL for trapb, instead of printf directly.
2126
        (alpha_reorg): New function.  Call alpha_handle_trap_shadows.
2127
        (trap_pending): Kill global variable.
2128
        (output_epilog): Don't call final_prescan_insn.
2129
        (struct shadow_summary): Elide $31 and $f31; now it fits in a word.
2130
        * alpha.h (FINAL_PRESCAN_INSN): Remove.
2131
        (MACHINE_DEPENDENT_REORG): Define.
2132
        * alpha.md (jsr patterns with trapb): Stupid and useless.  Kill.
2133
        (trapb): New insn.
2134
 
2135
Wed Oct 15 18:16:05 1997  Richard Henderson  
2136
 
2137
        Tune Haifa scheduler for Alpha:
2138
        * alpha.h (ISSUE_RATE): Define.
2139
        * alpha.c (alpha_adjust_cost): Handle EV5 mult delay; don't apply
2140
        EV4 adjustments to EV5.
2141
        * alpha.md: Remove all scaling from function unit delays.  Rework
2142
        EV5 function units to match the CPU.
2143
        (umuldi3_highpart): EV5 added the IMULH insn class.
2144
 
2145
Wed Oct 15 17:42:41 1997  Jeffrey A Law  (law@cygnus.com)
2146
 
2147
        * pa.c (following_call): Fail if the CALL_INSN is an indirect
2148
        call.
2149
 
2150
Tue Oct 14 12:01:00 1997  Mark Mitchell  
2151
 
2152
        * cplus-dem.c (demangle_signature): Don't look for return types on
2153
        constructors.  Handle member template constructors.
2154
 
2155
Tue Oct 14 11:30:29 1997  Jason Merrill  
2156
 
2157
        * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
2158
        * tree.h: Declare them.
2159
 
2160
Fri Oct 10 13:46:56 1997  Doug Evans  
2161
 
2162
        * configure.in: Handle --with-newlib.
2163
        * Makefile.in (LIBGCC2_CFLAGS): Add @inhibit_libc@.
2164
 
2165
        * sparc/t-sp64 (LIBGCC2_CFLAGS): Delete.
2166
 
2167
Wed Oct  8 14:37:44 1997  Jeffrey A Law  (law@cygnus.com)
2168
 
2169
        * config/ptx4.h: Fix typo.
2170
 
2171
Wed Oct  8 08:57:20 1997  Jeffrey A Law  (law@cygnus.com)
2172
 
2173
        * version.c: Bump for snapshot.
2174
 
2175
Tue Oct  7 16:27:34 1997  Manfred Hollstein  
2176
 
2177
        * aclocal.m4: Substitute INSTALL.
2178
        * configure: Re-built.
2179
 
2180
Tue Oct  7 15:37:35 1997  Jeffrey A Law  (law@cygnus.com)
2181
 
2182
        * integrate.c (save_for_inline_copying): Avoid undefined pointer
2183
        operations.
2184
        (expand_inline_function): Likewise.
2185
 
2186
        * dwarf2out.c (output_call_frame_info): Reinstate last change
2187
        using flag_debug_asm check instead of flag_verbose_asm.
2188
 
2189
Tue Oct  7 12:57:26 1997  Jim Wilson  
2190
 
2191
        * dwarf2out.c (output_call_frame_info): Remove last change.
2192
 
2193
1997-10-04  Andreas Schwab  
2194
 
2195
        * frame.c (__frame_state_for): Execute the FDE insns until the
2196
        current pc value is strictly bigger than the target pc value.
2197
 
2198
Tue Oct  7 11:00:42 1997  Jason Merrill  
2199
 
2200
        * regclass.c (init_reg_modes): If we can't find a mode for the
2201
        register, use the previous one.
2202
 
2203
Tue Oct  7 10:55:34 1997  Richard Henderson  
2204
 
2205
        * haifa-sched.c (print_block_visualization): Call fprintf directly,
2206
        don't sprintf through an alloca'ed buffer.
2207
 
2208
Tue Oct  7 10:52:29 1997  Thomas Koenig  (ig25@rz.uni-karlsruhe.de)
2209
 
2210
        * reload.c (decompose): Always initialize val.base.
2211
 
2212
Tue Oct  7 10:19:26 1997  Manfred Hollstein  (manfred@lts.sel.alcatel.de)
2213
 
2214
        * m68k/mot3300.h (ASM_OUTPUT_ALIGN): Accept any alignment
2215
        instead of aborting.
2216
        * dwarf2out.c (output_call_frame_info): Call app_enable and
2217
        app_disable to let GNU as accept the generated comments.
2218
 
2219
Tue Oct  7 11:41:21 1997  Michael Meissner  
2220
 
2221
        * tree.h (get_file_function_name): Add declaration.
2222
        * dwarf2out.c (output_call_frame_info): No need to cast
2223
        get_file_function_name call anymore.
2224
        * profile.c (toplevel): Remove get_file_function_name
2225
        declaration.
2226
        * c-lang.c (finish_file): Likewise.
2227
 
2228
Tue Oct  7 10:01:45 1997  Chip Salzenberg  
2229
 
2230
        * Makefile.in (program_transform_name): Let autoconf substitute
2231
        the correct value.
2232
 
2233
Tue Oct  7 09:54:35 1997  Jeffrey A Law  (law@cygnus.com)
2234
 
2235
        * haifa-sched.c (schedule_block): If the first real insn in a
2236
        block has any special notes attached to it, remove them.
2237
 
2238
Tue Oct  7 09:48:51 1997  Richard Henderson  
2239
 
2240
        * alpha.h (FLOAT_STORE_FLAG_VALUE): It's 2.0 not 0.5.
2241
 
2242
Mon Oct  6 12:47:32 1997  Manfred Hollstein  (manfred@lts.sel.alcatel.de)
2243
 
2244
        * m88k.c (m88k_begin_prologue): Remove superfluous backslash.
2245
 
2246
Mon Oct  6 12:04:24 1997  Jeffrey A Law  (law@cygnus.com)
2247
 
2248
        * Makefile.in (check-g77): New test target.
2249
        (CHECK-TARGETS): Add check-g77.
2250
 
2251
Fri Oct  3 11:56:36 1997  Jason Merrill  
2252
 
2253
        * toplev.c (rest_of_compilation): Defer all non-nested inlines.
2254
 
2255
Fri Oct  3 15:49:27 1997  Michael Meissner  
2256
 
2257
        * flow.c (print_rtl_with_bb): Cast alloca return value for
2258
        in_bb_p.
2259
 
2260
Thu Oct  2 21:15:03 1997  Richard Henderson  
2261
 
2262
        * i386.h (RETURN_ADDR_RTX): New definition that works for
2263
        __builtin_return_address(0) and -fomit-frame-pointer.
2264
 
2265
Wed Oct  1 13:43:53 1997  Jim Wilson  
2266
 
2267
        Bring over from FSF.
2268
        Tue Aug  5 16:10:45 1997  Jason Merrill  
2269
 
2270
        * mips.c (function_arg): Handle passing a struct
2271
        containing a double in a DFmode register without the PARALLEL.
2272
 
2273
Wed Oct  1 11:13:25 1997  Ian Lance Taylor  
2274
 
2275
        * pexecute.c: Use spawn if __CYGWIN32__.
2276
 
2277
        * pexecute.c: Include "config.h" first, as per autoconf manual
2278
        (from Paul Eggert  ).
2279
 
2280
Wed Oct  1 01:44:36 1997  Philippe De Muyter  
2281
 
2282
        * m68k/x-mot3300 (XCFLAGS): Disable as's long/short jump
2283
        optimization for f/expr.o and f/stb.o.
2284
 
2285
Tue Sep 30 23:48:57 1997  Jeffrey A Law  (law@cygnus.com)
2286
 
2287
        * cse.c (this_insn_cc0_mode): Initialize.
2288
 
2289
Tue Sep 30 23:09:40 1997  Thomas Koenig  
2290
 
2291
        * cccp.c (expand_to_temp_buffer): Initialize all members of obuf.
2292
 
2293
        * haifa-sched.c (get_block_head_tail): Remove unneeded initialization.
2294
 
2295
Tue Sep 30 23:06:43 1997  Richard Henderson  
2296
 
2297
        * alpha.md (beq): For registers and ints 0-255, use cmpeq+bne, since
2298
        that pair will dual-issue on the 21164 and plus+beq won't.
2299
        (bne): Likewise for cmpeq+beq.
2300
 
2301
Tue Sep 30 16:07:58 1997  Jim Wilson  
2302
 
2303
        * except.c (find_exception_handler_labels): Correct argument to free.
2304
 
2305
Tue Sep 30 11:00:00 1997  Brendan Kehoe  
2306
 
2307
        * except.c (find_exception_handler_labels): Free LABELS when we're
2308
        done.
2309
 
2310
Mon Sep 29 14:04:35 1997  Jeffrey A Law  (law@cygnus.com)
2311
 
2312
        * version.c: Bump for snapshot.
2313
 
2314
Mon Sep 29 10:51:53 1997  Jason Merrill  
2315
 
2316
        * flow.c (find_basic_blocks): Mark calls as potentially jumping
2317
        to the EH labels.
2318
 
2319
Mon Sep 29 09:58:06 1997  Jeffrey A Law  (law@cygnus.com)
2320
 
2321
        * configure.in: Substitute for "install" too.
2322
        * configure: Rebuilt.
2323
 
2324
Mon Sep 29 00:38:42 1997  Aaron Jackson  
2325
 
2326
        * Makefile.in (bootstrap-lean, compare-lean): New targets.
2327
 
2328
Mon Sep 29 00:18:16 1997  Richard Henderson  (rth@cygnus.com)
2329
 
2330
        * alias.c (base_alias_check): Two symbols can conflict if they
2331
        are accessed via AND.
2332
        (memrefs_conflict_p): Likewise.
2333
 
2334
        * alpha.h (SETUP_INCOMING_VARARGS): Emit a blockage insn
2335
        after flushing argument registers to the stack.
2336
 
2337
        * Makefile.in (mostlyclean): Remove .regmove files.
2338
 
2339
Sun Sep 28 18:59:58 1997  Jason Merrill  
2340
 
2341
        * libgcc2.c (__throw): Fix thinko.
2342
 
2343
Sun Sep 28 12:00:52 1997  Mark Mitchell  
2344
 
2345
        * cplus-dem.c (demangle_template): Add new parameter.  Handle new
2346
        template-function mangling.
2347
        (consume_count_with_underscores): New function.
2348
        (demangle_signature): Handle new name-mangling scheme.
2349
 
2350
Sun Sep 28 01:55:04 1997  Philippe De Muyter  
2351
 
2352
        * flow.c (print_rtl_with_bb): Cast alloca return values for variables
2353
        start and end.
2354
 
2355
Sun Sep 28 01:05:16 1997  Jeffrey A Law  (law@cygnus.com)
2356
 
2357
        * frame.c: Remove last change.
2358
        * dwarf2.h: Remove last change.
2359
        * tree.h: Add declarations of DWARF2 unwind info support
2360
        functions.
2361
 
2362
Sat Sep 27 11:02:38 1997  Jason Merrill  
2363
 
2364
        * c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size.
2365
        * tree.h (built_in_function): Likewise.
2366
        * expr.c (expand_builtin): Likewise.
2367
        * except.h: Likewise.
2368
        * dwarf2out.c (expand_builtin_dwarf_reg_size): New fn.
2369
        * libgcc2.c (copy_reg): New fn.
2370
        (__throw): Use it.
2371
 
2372
Fri Sep 26 08:54:59 1997  Paul Eggert  
2373
 
2374
        * c-typeck.c (build_binary_op): Warn about comparing signed vs
2375
        unsigned if -W is specified and -Wno-sign-compare is not.
2376
        * c-decl.c (warn_sign_compare): Initialize to -1.
2377
        (c_decode_option): -Wall no longer implies -Wsign-compare.
2378
 
2379
Fri Sep 26 09:00:13 1997  Andreas Schwab  
2380
 
2381
        * frame.c: Include gansidecl.h for PROTO.
2382
        * dwarf2out.c: Move inclusion of dwarf2.h down so that PROTO is
2383
        defined.  Don't declare dwarf2out_cfi_label here.
2384
        * dwarf2.h: Add declarations of DWARF2 unwind info support
2385
        functions.
2386
        * m68k.c: Include dwarf2.h.
2387
        (output_function_prologue): Add dwarf2 support.
2388
        * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros.
2389
        (INCOMING_FRAME_SP_OFFSET): Likewise.
2390
 
2391
        * integrate.c (expand_inline_function): Make sure there is at
2392
        least one insn that can be used as an insertion point.
2393
 
2394
Wed Sep 24 21:34:06 1997  Jason Merrill  
2395
 
2396
        * dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
2397
 
2398
Wed Sep 24 22:05:30 1997  Jeffrey A Law  (law@cygnus.com)
2399
 
2400
        * version.c: Bump for snapshot.
2401
 
2402
Wed Sep 24 17:36:23 1997  Doug Evans  
2403
 
2404
        Bring over from FSF.
2405
 
2406
        Wed Sep 24 19:17:08 1997  Doug Evans  
2407
 
2408
        * sparc/sparc.md (get_pc_via_call): Renamed from get_pc_sp32.
2409
        (get_pc_via_rdpc): Renamed from get_pc_sp64.
2410
        * sparc/sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
2411
 
2412
        Wed Sep 24 18:38:22 1997  David S. Miller  
2413
 
2414
        * sparc/sparc.h (ASM_CPU_SPEC): Pass -Av9a for v8plus, ultrasparc.
2415
        (TARGET_OPTIONS): Add -malign-loops=, -malign-jumps=,
2416
        -malign-functions=.
2417
        (sparc_align_{loops,jumps,funcs}_string): Declare.
2418
        (sparc_align_{loops,jumps,funcs}): Declare.
2419
        (DEFAULT_SPARC_ALIGN_FUNCS): New macro.
2420
        (FUNCTION_BOUNDARY): Use sparc_align_funcs.
2421
        (STACK_BIAS): Define.
2422
        (SPARC_SIMM*_P): Cast to unsigned HOST_WIDE_INT first, then perform
2423
        test.
2424
        (SPARC_SETHI_P): New macro.
2425
        (CONST_OK_FOR_LETTER_P): Use it.
2426
        (ASM_OUTPUT_ALIGN_CODE): Define.
2427
        (ASM_OUTPUT_LOOP_ALIGN): Define.
2428
        * sparc/sparc.c (sparc_align_{loops,jumps,funcs}_string): New globals.
2429
        (sparc_align_{loops,jumps,funcs}): New globals.
2430
        (sparc_override_options): Handle -malign-loops=, -malign-jumps=,
2431
        -malign-functions=.
2432
        (move_operand): Use SPARC_SETHI_P.
2433
        (arith_double_operand): Cast to unsigned HOST_WIDE_INT first, then
2434
        perform test.
2435
        (arith11_double_operand): Likewise.
2436
        (arith10_double_operand): Likewise.
2437
        (finalize_pic): Finish sparc64 support.
2438
        (emit_move_sequence): Use SPARC_SETHI_P.  Simplify low part of
2439
        64 bit constants if able.
2440
        (output_fp_move_quad): Don't use fmovq unless TARGET_HARD_QUAD.
2441
        (sparc_builtin_saveregs, sparc64 case): Don't save fp regs if
2442
        ! TARGET_FPU.
2443
        * sparc/sparc.md (*): Use GEN_INT instead of gen_rtx.
2444
        (get_pc_sp32): Use for sparc64 as well.
2445
        (lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts.
2446
        (sethi_di_sp64_const): Likewise.
2447
        (movtf_cc_sp64): Check TARGET_HARD_QUAD.
2448
        (cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in cast.
2449
        (ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
2450
 
2451
        Tue Sep 23 19:02:46 1997  Doug Evans  
2452
 
2453
        * sparc/linux-aout.h (COMMENT_BEGIN): Delete.
2454
        * sparc/linux.h (COMMENT_BEGIN): Likewise.
2455
        * sparc/linux64.h (COMMENT_BEGIN): Likewise.
2456
 
2457
        Tue Sep 23 14:48:18 1997  David S. Miller  
2458
 
2459
        Add sparc64 linux support.
2460
        * configure.in (sparc64-*-linux*): Recognize.  Add sparc/xm-sparc.h
2461
        to xm_file list on 32-bit sparc-linux.
2462
        * sparc/xm-sp64.h: New file.
2463
        * sparc/linux64.h: New file.
2464
        * sparc/xm-linux.h: Include some standard headers if not inhibit_libc.
2465
        Don't include xm-sparc.h.
2466
        * config/xm-linux.h (HAVE_PUTENV, HAVE_ATEXIT): Define.
2467
        * glimits.h (LONG_MAX): Handle sparc64.
2468
 
2469
        Sat Sep 20 03:07:54 1997  Doug Evans  
2470
 
2471
        * sparc/sysv4.h (ASM_COMMENT_START): Delete.
2472
        * sparc.h (ASM_COMMENT_START): Define.
2473
        * sparc.c (output_function_prologue): Use it.
2474
        (sparc_flat_output_function_{epi,pro}logue): Likewise.
2475
 
2476
        Wed Sep 17 15:04:19 1997  Doug Evans  
2477
 
2478
        * sparc/sysv4.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Delete,
2479
        use sparc.h's copies.
2480
        * sparc/sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Print
2481
        ascii form as well.
2482
 
2483
        Mon Sep  8 08:45:19 1997  Richard Kenner  
2484
 
2485
        * sparc.c (dwarf2out_cfi_label): Add declaration.
2486
        (save_regs, output_function_prologue): Remove cast for it.
2487
        (sparc_flat_{save_restore,output_function_prologue): Likewise.
2488
        ({save,restore}_regs): No longer inline.
2489
 
2490
Tue Sep 23 12:34:51 1997  Richard Kenner  
2491
 
2492
        * fold-const.c (make_range): Correctly handle cases of converting
2493
        from unsigned to signed type.
2494
 
2495
Tue Sep 23 12:34:51 1997  Bernd Schmidt  
2496
 
2497
        * fold-const.c (merge_ranges): Make sure that if one range is subset
2498
        of another, it will always be the second range.  Correct (+,-) case to
2499
        account for this.
2500
 
2501
Tue Sep 23 08:32:51 1997  Jason Merrill  
2502
 
2503
        * final.c (final_end_function): Also do dwarf2 thing if
2504
        DWARF2_DEBUGGING_INFO.
2505
        (final_start_function): Likewise.
2506
 
2507
Tue Sep 23 01:15:50 1997  David S. Miller  
2508
 
2509
        * expmed.c (expand_divmod): If compute_mode is not the same as
2510
        mode, handle the case where convert_modes() causes op1 to no
2511
        longer be a CONST_INT.
2512
 
2513
        * reorg.c (dbr_schedule): At end of this pass, add REG_BR_PRED
2514
        note holding get_jump_flags() calculation to all JUMP_INSNs.
2515
        * rtl.h (enum reg_note): New note types REG_BR_PRED and REG_SAVE_AREA.
2516
        * rtl.c (reg_note_name): Add new note types.
2517
 
2518
Tue Sep 23 00:59:54 1997  Jeffrey A Law  (law@cygnus.com)
2519
 
2520
        * rtlanal.c (computed_jump_p): Fix typo in last change.
2521
 
2522
Tue Sep 23 00:42:44 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
2523
 
2524
        * loop.c (indirect_jump_in_function_p): Return 0
2525
        by default.
2526
 
2527
Tue Sep 23 00:33:55 1997  Jeffrey A Law  (law@cygnus.com)
2528
 
2529
        * rs6000/xm-rs6000.h: Fix thinko in last change.
2530
        * rs6000/xm-sysv4.h: Likewise.
2531
 
2532
Mon Sep 22 19:33:53 1997  Jim Wilson  
2533
 
2534
        * mips.c (save_restore_insns): Only set RTX_FRAME_RELATED_P if store_p.
2535
 
2536
Mon Sep 22 14:41:00 1997  Jeffrey A Law  (law@cygnus.com)
2537
 
2538
        * reg-stack.c (find_blocks): Fix thinko in last change.
2539
 
2540
1997-09-21  Andreas Schwab  
2541
 
2542
        * m68k.c (output_function_prologue): Add dwarf2 support.
2543
 
2544
        * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM,
2545
        INCOMING_FRAME_SP_OFFSET): New definitions.
2546
 
2547
Mon Sep 22 11:36:42 1997  David S. Miller  
2548
 
2549
        * combine.c (try_combine): Use NULL_RTX instead of '0' where
2550
        appropriate in calls to gen_rtx().
2551
        * cse.c (cse_main): Likewise.
2552
        * emit-rtl.c (gen_label_rtx): Likewise.
2553
        * expr.c (init_expr_once): Likewise.
2554
        * haifa-sched.c (flush_pending_lists, sched_analyze_insn,
2555
        sched_analyze, init_rgn_data_dependences,
2556
        compute_block_backward_dependences): Likewise.
2557
        * sched.c (schedule_insns): Likewise.
2558
        * varasm.c (immed_double_const): Likewise.
2559
 
2560
        * sparc.h (INCOMING_FRAME_SP_OFFSET): Define to
2561
        SPARC_STACK_BIAS for sake of dwarf2 on sparc64.
2562
 
2563
Mon Sep 22 11:21:33 1997  J. Kean Johnston  
2564
 
2565
        * i386/sco5.h: Make ELF default file format and add -mcoff/-melf..
2566
        (MULTILIB_DEFAULTS): Define.
2567
        (ASM_SPEC, CPP_SPEC): Handle -mcoff.
2568
        (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
2569
        (LIBGCC_SPEC): Likewise.
2570
        (MASK_COFF, TARGET_COFF, TARGET_ELF): Define.
2571
        (SUBTARGET_SWITCHES): Add -mcoff and -melf.
2572
        * i386/t-sco5 (CRTSTUFF_T_CFLAGS): Add -fPIC.
2573
        (CRTSTUFF_T_CFLAGS_S): Tweak for COFF.
2574
        (EXTRA_PARTS, TAROUTOPTS): Delete.
2575
        (libgcc1-elf, libgcc2-elf, libgcc-elf targets): Delete.
2576
        (MULTILIB_OPTIONS): Define.
2577
        (MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Likewise.
2578
        (MULTILIB_MATCHE, MULTILIB_EXTRA_OPTS): Likewise.
2579
 
2580
Mon Sep 22 02:10:43 1997  Jeffrey A Law  (law@cygnus.com)
2581
 
2582
        * version.c: Bump for snapshot.
2583
 
2584
Sun Sep 21 17:45:45 1997  Jeffrey A Law  (law@cygnus.com)
2585
 
2586
        * loop.c (loop_number): Delete function.  Change all references
2587
        to use uid_loop_num array.
2588
        * loop.h (loop_number): Delete declaration.
2589
        * unroll.c (unroll_loop): Change "loop_number" references to
2590
        use uid_loop_num instead.
2591
 
2592
        * loop.c (loop_unroll_factor): Move outside #ifdef HAIFA
2593
        conditional.
2594
        (loop_unroll_iter): Remove unused variable and all references.
2595
        (loop_optimize): Always allocate and clear space for loop_unroll_factor.
2596
        (insert_bct): Fix minor formatting problems.
2597
        * loop.h (loop_unroll_factor): Move decl outside #ifdef HAIFA.
2598
        (loop_unroll_iter): Removed unused decl.
2599
        * unroll.c (unroll_loop): Remove code to set loop_unroll_iter.
2600
        Always record the unrolling factor.
2601
 
2602
        * cse.c (simplify_relational_operation): Set h0u just like h0s.
2603
        Similarly for h1u and h1s.
2604
 
2605
        * flow.c (jmp_uses_reg_or_mem): Deleted unused function.
2606
        (find_basic_blocks): Use computed_jump_p to determine if a
2607
        particular JUMP_INSN is a computed jump.
2608
        * reg-stack.c (find_blocks): Use computed_jump_p to determine
2609
        if a particular JUMP_INSN is a computed jump.
2610
        * rtlanal.c (jmp_uses_reg_or_mem): New function.
2611
        (computed_jump_p): Likewise.
2612
        * rtl.h (computed_jump_p): Declare.
2613
        * genattrtab.c (pc_rtx): Define and initialize.
2614
        * loop.c (loop_optimize): Always determine if the current
2615
        function has a computed jump.
2616
        (indirect_jump_in_function_p): Use computed_jump_p to determine
2617
        if a particular JUMP_INSN is a computed jump.
2618
 
2619
        * loop.c (fix_bct_param): Delete unused function.
2620
        (check_bct_param): Likewise.
2621
 
2622
Sat Sep 20 16:22:06 1997  Jason Merrill  
2623
 
2624
        * frame.c (__deregister_frame): Check properly for initialized object.
2625
 
2626
Fri Sep 19 20:51:03 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
2627
 
2628
        * alpha/linux.h (HANDLE_SYSV_PRAGMA): Defined.
2629
 
2630
Fri Sep 19 18:53:50 1997  J"orn Rennecke  
2631
 
2632
        * jump.c (thread_jumps): Check can_reverse_comparison_p before
2633
        threading a reversed-condition jump.
2634
 
2635
        * sched.c (update_flow_info): Don't pass SCRATCH to dead_or_set_p.
2636
        * haifa-sched.c (update_flow_info): Likewise.
2637
 
2638
Thu Sep 18 21:13:40 1997  Jeffrey A Law  (law@cygnus.com)
2639
 
2640
        * Makefile.in (BOOT_CFLAGS): Use -O2.
2641
 
2642
        * configure.in (strtoul, bsearch): Have autoconf check for these
2643
        functions.
2644
        * configure, config.in: Rebuilt.
2645
 
2646
        * m68k/xm-mot3300.h (alloca): Properly declare if __STDC__.
2647
        * mips/mips.h (alloca): Likewise.
2648
        * rs6000/xm-rs6000.h (alloca): Likewise.
2649
        * rs6000/xm-sysv4.h: Likewise.
2650
 
2651
Thu Sep 18 14:22:22 1997  Jason Merrill  
2652
 
2653
        * final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code.
2654
        * dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along.
2655
        (dwarf2out_stack_adjust): A BARRIER resets the args space to 0.
2656
 
2657
        * except.c (end_eh_unwinder): Subtract 1 from return address.
2658
        * libgcc2.c (__throw): Likewise.
2659
        (find_exception_handler): Don't change PC here.  Compare end with >.
2660
 
2661
Thu Sep 18 10:43:07 1997  Nick Clifton  
2662
 
2663
        * v850.c (compute_register_save_size): Correct register
2664
        number.
2665
        * v850.md (save_interrupt, return_interrupt): Correct
2666
        register number.
2667
        * v850/lib1funcs.asm (save_interrupt): Correct register number.
2668
        (return_interrupt): Use stack pointer, not element pointer.
2669
 
2670
1997-09-18  Brendan Kehoe  
2671
 
2672
        * configure.in, configure: Make sure to create the stage* and include
2673
        symbolic links in each subdirectory.
2674
 
2675
Thu Sep 18 01:47:06 1997  Jeffrey A Law  (law@cygnus.com)
2676
 
2677
        * pa.md (reload_peepholes): Don't allow addresses with side
2678
        effects for the memory operand.
2679
 
2680
Wed Sep 17 18:19:53 1997  Jason Merrill  
2681
 
2682
        * libgcc2.c (find_exception_handler): Subtract one from our PC when
2683
        looking for a handler, to avoid hitting the beginning of the next
2684
        region.
2685
 
2686
        * except.c (expand_builtin_set_return_addr_reg): Use force_operand.
2687
 
2688
Wed Sep 17 18:33:59 1997  Jeffrey A Law  (law@cygnus.com)
2689
 
2690
        * mips/abi64.h (LONG_MAX_SPEC): Define.
2691
        * mips.h (LONG_MAX_SPEC): Define.
2692
        (CPP_SPEC): Include long_max_spec.
2693
        (EXTRA_SPECS): Include long_max_spec.
2694
 
2695
Wed Sep 17 14:11:38 1997  Jeffrey A Law  (law@cygnus.com)
2696
 
2697
        * v850.c (construct_save_jarl): Fix thinko in last change.
2698
 
2699
Wed Sep 17 09:53:07 1997  Jeffrey A Law  (law@cygnus.com)
2700
 
2701
        * version.c: Bump for snapshot.
2702
 
2703
Tue Sep 16 14:22:36 1997  Jason Merrill  
2704
 
2705
        * libgcc2.c (find_exception_handler): Not found is -1.
2706
 
2707
        * integrate.c (expand_inline_function): Move expand_start_bindings
2708
        after expanding the arguments.
2709
 
2710
Tue Sep 16 11:13:46 1997  Jim Wilson  
2711
 
2712
        * expr.c (expand_expr): Remove previous incorrect change.
2713
        If target and slot has no DECL_RTL, then call mark_addressable
2714
        again for the slot after we give it RTL.
2715
 
2716
Tue Sep 16 09:18:52 1997  Jason Merrill  (jason@cygnus.com)
2717
 
2718
        * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
2719
        again for the slot after we give it RTL.
2720
 
2721
Tue Sep 16 00:13:20 1997  Nick Clifton  
2722
 
2723
        * v850.c (register_is_ok_for_epilogue,
2724
        pattern_is_ok_for_epilogue, construct_restore_jr,
2725
        pattern_is_ok_for_prologue, construct_save_jarl): New functions.
2726
 
2727
        * v850.h (pattern_is_ok_for_prologue,
2728
        pattern_is_ok_for_epilogue, register_is_ok_for_epilogue): New
2729
        predicates.
2730
 
2731
        * v850.md: Replace prologue and epilogue patterns with a
2732
        match_parallel pattern.
2733
 
2734
Mon Sep 15 22:53:01 1997  Jeffrey A Law  (law@cygnus.com)
2735
 
2736
        * aclocal.m4: Add replacement for AC_PROG_INSTALL.
2737
        * configure.in: Use EGCS_PROG_INSTALL.
2738
 
2739
Mon Sep 15 22:40:55 1997  Jim Wilson  (wilson@cygnus.com)
2740
 
2741
        * dwarf2out.c (gen_subprogram_die): Handle redefinition of an
2742
        extern inline function.
2743
 
2744
Mon Sep 15 22:40:55 1997  Richard Henderson  (rth@cygnus.com)
2745
 
2746
        * dwarf2out.c (reg_loc_descriptor): Fix prototype.
2747
        (concat_loc_descriptor): New function.
2748
        (loc_descriptor): Call it.
2749
        (add_AT_location_description): Also elide the descriptor if both
2750
        halves of a CONCAT are pseudos.
2751
        (add_location_or_const_value_attribute): Recognize CONCAT too.
2752
 
2753
Mon Sep 15 15:24:00 1997  Richard Henderson  
2754
 
2755
        * alpha.md (movdi): Handle CONST_DOUBLE for TARGET_BUILD_CONSTANTS.
2756
 
2757
        * alpha/alpha.c (output_prolog): New variable sa_reg.  Use it for
2758
        out-or-range reg_offset.
2759
        (output_epilog): Likewise.
2760
 
2761
Mon Sep 15 15:39:26 1997  Jeffrey A Law  (law@cygnus.com)
2762
 
2763
        * cse.c (simplify_relational_operation): If MODE specifies a
2764
        mode wider than HOST_WIDE_INT, then the high word of a CONST_INT
2765
        is derived from the sign bit of the low word.
2766
 
2767
Mon Sep 15 11:43:38 1997  Jason Merrill  
2768
 
2769
        Support dwarf2 unwinding on PUSH_ROUNDING targets like the x86.
2770
 
2771
        * dwarf2.h: Add DW_CFA_GNU_args_size.
2772
        * frame.c (execute_cfa_insn): Likewise.
2773
        * dwarf2out.c (dwarf_cfi_name, output_cfi): Likewise.
2774
        (dwarf2out_args_size, dwarf2out_stack_adjust): New fns.
2775
        (dwarf2out_frame_debug): If this isn't a prologue or epilogue
2776
        insn, hand it off to dwarf2out_stack_adjust.
2777
        (dwarf2out_begin_prologue): Initialize args_size.
2778
        * frame.h (struct frame_state): Add args_size.
2779
        * libgcc2.c (__throw): Use args_size.
2780
        * final.c (final_scan_insn): If we push args, hand off all insns
2781
        to dwarf2out_frame_debug.
2782
        * defaults.h (DWARF2_UNWIND_INFO): OK for !ACCUMULATE_OUTGOING_ARGS.
2783
 
2784
        * dwarf2out.c dwarf2out_frame_debug): Fix typo.
2785
        Handle epilogue restore of SP from FP.
2786
        * emit-rtl.c (gen_sequence): Still generate a sequence if the
2787
        lone insn has RTX_FRAME_RELATED_P set.
2788
 
2789
        * frame.c (extract_cie_info): Handle "e" augmentation.
2790
        * dwarf2out.c (ASM_OUTPUT_DWARF_*): Provide definitions in the
2791
        absence of UNALIGNED_*_ASM_OP.
2792
        (UNALIGNED_*_ASM_OP): Only provide defaults if OBJECT_FORMAT_ELF.
2793
        (output_call_frame_info): Use "e" instead of "z" for augmentation.
2794
        Don't emit augmentation fields length.
2795
        (dwarf2out_do_frame): Move outside of #ifdefs.
2796
        * defaults.h (DWARF2_UNWIND_INFO): Don't require unaligned data
2797
        opcodes.
2798
 
2799
        * sparc.h (UNALIGNED_INT_ASM_OP et al): Don't define here after all.
2800
        * sparc/sysv4.h (UNALIGNED_INT_ASM_OP): Define here.
2801
        * sparc/sunos4.h (DWARF2_UNWIND_INFO): Define to 0.
2802
        * sparc/sun4gas.h: New file.
2803
        * configure.in: Use sun4gas.h if SunOS 4 --with-gnu-as.
2804
 
2805
        * collect2.c (write_c_file_stat, write_c_file_glob): Declare
2806
        __register_frame_table and __deregister_frame.
2807
 
2808
1997-09-15  Brendan Kehoe  
2809
 
2810
        * except.c (find_exception_handler_labels): Use xmalloc instead of
2811
        alloca, since MAX_LABELNO - MIN_LABELNO can be more than 1 million
2812
        in some cases.
2813
 
2814
Sun Sep 14 21:01:23 1997  Jeffrey A Law  (law@cygnus.com)
2815
 
2816
        * Makefile.in: Various changes to build info files
2817
        in the object tree rather than the source tree.
2818
 
2819
Sun Sep 14 12:24:30 1997  Jeffrey A Law  (law@cygnus.com)
2820
 
2821
        * fixinc.math: New file to fix math.h on some systems.
2822
        * configure.in (freebsd, netbsd): Use fixinc.math on these
2823
        systems.
2824
        * configure: Rebuilt.
2825
 
2826
Sun Sep 14 11:11:05 1997  Jeffrey A Law  (law@cygnus.com)
2827
 
2828
        * regmove.c (regmove_optimize): If we end up moving the
2829
        original insn due to lifetime overlaps, make sure to move
2830
        REG_NOTES too.
2831
 
2832
Sat Sep 13 15:51:11 1997  Manfred Hollstein  
2833
 
2834
        * Makefile.in (INSTALL_{PROGRAM,DATA}): Use value found by configure.
2835
 
2836
Sat Sep 13 12:57:26 1997  Jeffrey A Law  (law@cygnus.com)
2837
 
2838
        * haifa-sched.c (add_branch_dependences): Make each insn in
2839
        a SCHED_GROUP_P block explicitly depend on the previous insn.
2840
 
2841
Fri Sep 12 13:49:58 1997  Jason Merrill  
2842
 
2843
        * except.h: Prototype dwarf2 hooks.
2844
        * expr.c: Adjust.
2845
 
2846
Thu Sep 11 17:43:55 1997  Jim Wilson  
2847
 
2848
        * configure.in (native_prefix): Delete.
2849
        (mips-dec-netbsd): Don't set prefix.
2850
        (*linux*): Don't set prefix.
2851
 
2852
Thu Sep 11 15:48:32 1997  Fred Fish  
2853
 
2854
        * protoize.c: Include  only if HAVE_VARARGS_H is
2855
        defined.  If not defined, include  if
2856
        HAVE_SYS_VARARGS_H is defined.
2857
        * configure.in: Test for varargs.h and sys/varargs.h.
2858
        * configure: Regenerate with autoconf.
2859
        * config.in: Regenerate with autoheader.
2860
 
2861
        * cpplib.c (quote_string): Cast first arg of sprintf call
2862
        from "unsigned char *" to "char *".
2863
        (output_line_command): Likewise.
2864
        (macroexpand): Likewise.
2865
        (do_line): Cast atoi arg from "unsigned char *" to "char *".
2866
 
2867
Wed Sep 10 21:37:30 1997  Jeffrey A Law  (law@cygnus.com)
2868
 
2869
        * version.c: Bump for snapshot.
2870
 
2871
        * Makefile.in (compare): Exit with nonzero status if there
2872
        are comparison failures.  Note which files failed the
2873
        comparison test in .bad_compare.
2874
 
2875
Wed Sep 10 17:05:46 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
2876
 
2877
        * config/alpha/elf.h (CPP_PREDEFINES): Remove -D__PIC__ -D__pic__.
2878
 
2879
Wed Sep 10 16:37:28 1997  Fred Fish  
2880
 
2881
        * Makefile.in (LN, LN_S): New macros, use where appropriate.
2882
        * aclocal.m4 (GCC_PROG_LN_S, GCC_PROG_LN): New tests.
2883
        * configure.in: Use GCC_PROG_LN_S and GCC_PROG_LN.
2884
        * configure: Regenerated.
2885
 
2886
Thu Sep 11 11:09:43 1997  Jeffrey A Law  (law@cygnus.com)
2887
 
2888
        * loop.c (strength_reduce): Fix typo.
2889
 
2890
Wed Sep 10 16:01:15 1997  Jim Wilson  
2891
 
2892
        * m88k/m88k.c (struct option): Rename to struct options.
2893
        * m88k/dolph.h (INITIALIZE_TRAMPOLINE): Delete here.
2894
        * m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Delete ifdef and comments.
2895
        * libgcc2.c (__enable_execute_stack): Check for __sysV88__ not
2896
        __DOLPHIN__ or sysV88.
2897
 
2898
Wed Sep 10 14:58:40 1997  Jim Wilson  
2899
 
2900
        * emit-rtl.c (gen_lowpart_common): For a SUBREG, add in word when
2901
        create new subreg.
2902
 
2903
Wed Sep 10 15:19:22 1997  Jeffrey A Law  (law@cygnus.com)
2904
 
2905
        * config.sub: Accept 'amigados' for backward compatibility.
2906
 
2907
Wed Sep 10 14:05:08 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
2908
 
2909
        * Makefile.in (testsuite/site.exp): New target.
2910
        (check-gcc, check-g++): Depend on testsuite/site.exp.
2911
        Don't stop for failure.
2912
 
2913
Wed Sep 10 12:59:57 1997  Jason Merrill  
2914
 
2915
        * expr.c (expand_builtin): Only support __builtin_dwarf_fp_regnum()
2916
        if DWARF2_UNWIND_INFO.
2917
 
2918
Wed Sep 10 11:49:20 1997  Jason Merrill  
2919
 
2920
        Add support for exception handling using DWARF 2 frame unwind info.
2921
        Currently works on SPARC and MIPS, and almost on x86.
2922
 
2923
        * libgcc2.c (get_reg, put_reg, get_return_addr, put_return_addr,
2924
        next_stack_level, in_reg_window): Helper fns.
2925
        (__throw): Implement for DWARF2_UNWIND_INFO.
2926
 
2927
        * expr.c (expand_builtin): Handle builtins used by __throw.
2928
        * tree.h (enum built_in_function): Add builtins used by __throw.
2929
        * c-decl.c (init_decl_processing): Declare builtins used by __throw.
2930
        * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Used by __throw.
2931
        * except.c (expand_builtin_unwind_init): Hook for dwarf2 __throw.
2932
        (expand_builtin_extract_return_addr): Likewise.
2933
        (expand_builtin_frob_return_addr): Likewise.
2934
        (expand_builtin_set_return_addr_reg): Likewise.
2935
        (expand_builtin_eh_stub): Likewise.
2936
        (expand_builtin_set_eh_regs): Likewise.
2937
        (eh_regs): Choose two call-clobbered registers for passing back values.
2938
 
2939
        * frame.c, frame.h: New files for parsing dwarf 2 frame info.
2940
        * Makefile.in (LIB2ADD): New variable.  Add $(srcdir)/frame.c.
2941
        (libgcc2.a): Use it instead of $(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS)
2942
        (stmp-multilib): Likewise.
2943
        ($(T)crtbegin.o, $(T)crtend.o): Add -fno-exceptions.
2944
 
2945
        * except.c: #include "defaults.h".
2946
        (exceptions_via_longjmp): Default depends on DWARF2_UNWIND_INFO.
2947
        (emit_throw): Don't defeat assemble_external if DWARF2_UNWIND_INFO.
2948
        (register_exception_table_p): New fn.
2949
        (start_eh_unwinder): Don't do anything if DWARF2_UNWIND_INFO.
2950
        (end_eh_unwinder): Likewise.
2951
 
2952
        * crtstuff.c: Wrap .eh_frame section, use EH_FRAME_SECTION_ASM_OP,
2953
        call __register_frame and __deregister_frame as needed.
2954
        * varasm.c (eh_frame_section): New fn if EH_FRAME_SECTION_ASM_OP.
2955
        * dwarf2out.c (EH_FRAME_SECTION): Now a function-like macro.  Check
2956
        EH_FRAME_SECTION_ASM_OP.
2957
        * sparc/sysv4.h (EH_FRAME_SECTION_ASM_OP): Define.
2958
        * mips/iris6.h (EH_FRAME_SECTION_ASM_OP): Define.
2959
        (LINK_SPEC): Add __EH_FRAME_BEGIN__ to hidden symbols.
2960
 
2961
        * dwarf2out.c (output_call_frame_info): If no support for
2962
        EXCEPTION_SECTION, mark the start of the frame info with a
2963
        collectible tag.
2964
        * collect2.c (frame_tables): New list.
2965
        (is_ctor_dtor): Recognize frame entries.
2966
        (scan_prog_file): Likewise.
2967
        (main): Pass -fno-exceptions to sub-compile.  Also do collection
2968
        if there are any frame entries.
2969
        (write_c_file_stat): Call __register_frame_table and
2970
        __deregister_frame as needed.
2971
        (write_c_file_glob): Likewise.
2972
 
2973
        * defaults.h (DWARF2_UNWIND_INFO): Default to 1 if supported.
2974
        Also require unaligned reloc support.
2975
        * sparc.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
2976
        UNALIGNED_DOUBLE_INT_ASM_OP): Define here.
2977
        * sparc/sysv4.h: Not here.
2978
 
2979
        * toplev.c (compile_file): Call dwarf2out_frame_{init,finish}.
2980
        * dwarf2out.c (dwarf2out_init): Don't call dwarf2out_frame_init.
2981
        (dwarf2out_finish): Don't call dwarf2out_frame_finish.
2982
 
2983
        * libgcc2.c (L_eh): Reorganize, moving code shared by different
2984
        EH implementations to the top.
2985
        (find_exception_handler): Split out.  Start from 0.  Compare against
2986
        end with >=.
2987
        (__find_first_exception_table_match): Use it.
2988
        * except.c (output_exception_table): Don't do anything if there's
2989
        no table.  Don't output a first entry of zeroes.
2990
        (eh_outer_context): Adjust properly.
2991
        (add_eh_table_entry): Use xrealloc.
2992
        * toplev.c (compile_file): Just call output_exception_table.
2993
 
2994
Wed Sep 10 11:30:36 1997  Jason Merrill  
2995
 
2996
        * i386.c (ix86_prologue): Add dwarf2 support for !do_rtl case.
2997
 
2998
Wed Sep 10 08:17:10 1997  Torbjorn Granlund  
2999
 
3000
        * except.c (eh_outer_context): Do masking using expand_and.
3001
 
3002
Wed Sep 10 01:38:30 1997  Doug Evans  
3003
 
3004
        Add port done awhile ago for the ARC cpu.
3005
        * arc/arc.h: New file.
3006
        * arc/arc.c: New file.
3007
        * arc/arc.md: New file.
3008
        * arc/initfini.c: New file.
3009
        * arc/lib1funcs.asm: New file.
3010
        * arc/t-arc: New file.
3011
        * arc/xm-arc.h: New file.
3012
        * ginclude/va-arc.h: New file.
3013
        * ginclude/stdarg.h: Include va-arc.h ifdef __arc__.
3014
        * ginclude/varargs.h: Likewise.
3015
        * Makefile.in (USER_H): Add va-arc.h.
3016
        * configure.in (arc-*-elf*): Recognize.
3017
        * longlong.h: Add ARC support.
3018
 
3019
Wed Sep 10 01:32:54 1997  Jeffrey A Law  (law@cygnus.com)
3020
 
3021
        * expr.c (clear_storage): Use CONST0_RTX instead of const0_rtx.
3022
        when clearing non-BLKmode data.
3023
 
3024
Wed Sep 10 00:29:29 1997  Manfred Hollstein  
3025
 
3026
        * m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Define.
3027
        * libgcc2.c (__enable_execute_stack): Provide for sysV88 too.
3028
 
3029
        * xm-m88k.h (USG): Only define if it hasn't already been defined.
3030
 
3031
        * Makefile.in (risky-stage1): Delete gratuitous whitespace.
3032
 
3033
        * Makefile.in (clean): Delete libgcc1-test.
3034
 
3035
        * Makefile.in (INSTALL): cd to $(srcdir) before running texinfo.
3036
 
3037
Tue Sep  9 17:07:36 1997  Stan Cox  
3038
 
3039
        * m88k.c (m88k_expand_prologue): Set MEM_IN_STRUCT_P of va_list
3040
        template.
3041
 
3042
Tue Sep  9 09:50:02 1997  Richard Kenner  
3043
 
3044
        * dwarf2out.c (output_call_frame_info): Call named_section.
3045
 
3046
Tue Sep  9 09:12:17 1997  Jeffrey A Law  (law@cygnus.com)
3047
 
3048
        * haifa-sched.c (print_value): Fix last change.
3049
 
3050
Tue Sep  9 01:30:37 1997  Jason Merrill  
3051
 
3052
        * mips.h (DWARF_FRAME_REGNUM): Use the same numbering regardless of
3053
        write_symbols.
3054
 
3055
Mon Sep  8 16:32:43 1997  Jason Merrill  
3056
 
3057
        * mips.c (function_prologue): Set up the CFA when ABI_32.
3058
 
3059
        * sparc.c (save_regs): Check dwarf2out_do_frame instead of DWARF2_DEBUG
3060
        for dwarf2 unwind info.
3061
        (output_function_prologue, sparc_flat_output_function_prologue): Same.
3062
 
3063
        * final.c (final_end_function): Check dwarf2out_do_frame instead
3064
        of DWARF2_DEBUG for dwarf2 unwind info.
3065
        (final_scan_insn): Likewise.
3066
        (final_start_function): Likewise.  Initialize dwarf2 frame debug here.
3067
        (final): Not here.
3068
 
3069
        * expr.c (expand_builtin_return_addr): Only SETUP_FRAME_ADDRESSES if
3070
        count > 0.
3071
 
3072
        * varasm.c (exception_section): Check EXCEPTION_SECTION first.
3073
 
3074
Mon Sep  8 15:15:11 1997  Nick Clifton  
3075
 
3076
        * v850.h (ASM_SPEC): Pass on target processor.
3077
        (CPP_PREDEFINES): Only define if not already specified.
3078
        (TARGET_VERSION): Only define if not already specified.
3079
        (MASK_CPU, MASK_V850, MASK_DEFAULT): Bits to specify target
3080
        processor.
3081
        (EXTRA_SWITCHES): Extra entries in the switches array.
3082
        (TARGET_DEFAULT): Set default target processor.
3083
 
3084
Mon Sep  8 18:26:35 1997  Jim Wilson  
3085
 
3086
        * m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): In MOTOROLA
3087
        cases, add %# and %/, and add : to make them into extended asms.
3088
 
3089
Sun Sep  7 23:57:50 1997  Weiwen Liu  
3090
 
3091
        * alias.c (init_alias_analysis): Clean up incompatible pointer
3092
        type warning in bzero.
3093
        * regmove.c (regmove_optimize): Likewise.
3094
        * haifa-sched.c (find_rgns): Likewise.
3095
 
3096
        * haifa-sched.c (print_value): Clean up ptr->int cast
3097
        warnings.
3098
 
3099
Sun Sep  7 23:18:32 1997  Fred Fish  
3100
 
3101
        * INSTALL: Change 'amigados' to 'amigaos' to match current usage.
3102
        * install.texi (Configurations): Likewise.
3103
        * config.sub: Likewise.
3104
 
3105
Sun Sep  7 22:56:56 1997  Weiwen Liu  (liu@hepvms.physics.yale.edu)
3106
 
3107
        * Makefile.in (sdbout.o): Depend on insn-config.h.
3108
 
3109
Sun Sep  7 18:44:50 1997  Jim Wilson  
3110
 
3111
        * m68k/m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881.
3112
        For 68303, 68332, cpu32, subtract MASK_68040_ONLY.
3113
 
3114
Sun Sep  7 18:30:46 1997  Jason Merrill  
3115
 
3116
        * dwarf2out.c (dwarf2out_frame_debug): Assume that in a PARALLEL
3117
        prologue insn, only the first elt is significant.
3118
        (output_call_frame_info): For exception handling, always use 4-byte
3119
        fields as specified by the dwarf2 spec.
3120
        Don't skip trivial FDEs.
3121
 
3122
Sun Sep  7 14:19:39 1997  Jeffrey A Law  (law@cygnus.com)
3123
 
3124
        * version.c: Bump for snapshot.
3125
 
3126
Sun Sep  7 14:17:36 1997  Torbjorn Granlund  (tege@pdc.kth.se)
3127
 
3128
        * expmed.c (expand_divmod): Make op1_is_pow2 depend on unsignedp
3129
        for negative constants.  Promote EXACT_DIV_EXPR to TRUNC_DIV_EXPR
3130
        when op1_is_pow2.
3131
 
3132
Sun Sep  7 13:46:46 1997  Jeffrey A Law  (law@cygnus.com)
3133
 
3134
        * final.c (shorten_branches): During first pass, assume worst
3135
        possible alignment for ADDR_VEC and ADDR_VEC_DIFF insns.
3136
 
3137
        * Makefile.in (distclean): Remove various things left around
3138
        by running the testsuite.
3139
 
3140
Sun Sep  7 13:16:06 1997  Manfred Hollstein  
3141
 
3142
        * configure.in (out_file): Emit definition to config.status in order
3143
        to have a defined value for configure.lang.
3144
        * configure: Re-built.
3145
 
3146
Sun Sep  7 09:59:08 1997  Jan-Jaap van der Heijden  (J.J.vanderHeijden@student.utwente.nl)
3147
 
3148
        * configure.in: Make symlink to as-new rather than as.new.  Similarly
3149
        for ld-new.
3150
        * configure: Rebuilt.
3151
 
3152
Fri Sep  5 16:54:55 1997  Jim Wilson  
3153
 
3154
        * profile.c (output_func_start_profiler): Set DECL_EXTERNAL to zero.
3155
 
3156
Fri Sep  5 16:16:44 1997  Christian Kuehnke  
3157
 
3158
        * sparc/sparc.md: Add ultrasparc scheduling support.
3159
        * sparc/sparc.h (RTX_COSTS): For MULT give v9 a cost of 25 insns.
3160
 
3161
Fri Sep  5 14:04:59 1997  Philippe De Muyter  
3162
 
3163
        * integrate.c (save_for_inline_copying): Use 0, not NULL_PTR,
3164
        as initial value for real_label_map.
3165
        (copy_for_inline): Likewise.
3166
 
3167
Fri Sep  5 13:36:44 1997  J"orn Rennecke  
3168
 
3169
        * sched.c (update_flow_info): When looking if to set found_split_dest
3170
        or found_orig_dest, look at all parts of a PARALLEL.
3171
        * haifa-sched.c (update_flow_info): Likewise.
3172
 
3173
Fri Sep  5 10:08:44 1997  Jeffrey A Law  (law@cygnus.com)
3174
 
3175
        * v850: New directory for v850 port.
3176
        * v850/lib1funcs.asm: New file.
3177
        * t-v850, v850.c, v850.h, v850.md, xm-v850.h: New files.
3178
        * ginclude/va-v850.h: New file.
3179
        * ginclude/varargs.h, ginclude/stdarg.h: Include va-mn10200.h.
3180
        * configure.in (mn10200-*-*): New target.
3181
        * configure: Rebuilt.
3182
        * config.sub: Handle v850-elf.
3183
        * Makefile.in (USER_H): Add va-mn10200.h.
3184
        * invoke.texi: Document v850 stuff.
3185
 
3186
Fri Sep  5 09:37:50 1997  Jim Wilson  (wilson@cygnus.com)
3187
 
3188
        * sdbout.c (plain_type_1, case ARRAY_TYPE): Verify that TYPE_DOMAIN
3189
        has integer TYPE_{MAX,MIN}_VALUE before using them.
3190
 
3191
        * m68k/m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Add
3192
        __HPUX_ASM__ versions.
3193
 
3194
Fri Sep  5 09:08:44 1997  Jeffrey A Law  (law@cygnus.com)
3195
 
3196
        * install.sh: Delete duplicate install script.
3197
 
3198
Thu Sep  4 23:14:27 1997  Stan Cox  (coxs@dg-rtp.dg.com)
3199
 
3200
        * reg-stack.c (subst_stack_regs): Pop the stack register for a
3201
        computed goto which sets the same stack register.
3202
 
3203
        * reg-stack.c (compare_for_stack_reg): Swap only if the source and
3204
        destination are both on the regstack.
3205
        (subst_stack_regs_pat): Put the destination at the top of the regstack.
3206
 
3207
Thu Sep  4 15:02:27 1997  Jim Wilson  
3208
 
3209
        * mips.md (nonlocal_goto_receiver): Define.
3210
 
3211
        * profile.c (output_arc_profiler): Check next_insert_after for non
3212
        NULL before deferencing it.
3213
 
3214
        * i386/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define to -fPIC.
3215
 
3216
Thu Sep  4 14:51:57 1997  Jeffrey A Law  (law@cygnus.com)
3217
 
3218
        * i386.h (CPP_CPU_DEFAULT): Avoid using #elif.
3219
 
3220
Thu Sep  4 15:01:49 1997  Michael Meissner  
3221
 
3222
        * toplev.c (rest_of_compilation): For passes starting with
3223
        flow_analysis, use print_rtl_with_bb instead of print_rtl.
3224
 
3225
        * print-rtl.c (print_rtl_single): Print a single rtl value to a
3226
        file.
3227
 
3228
        * flow.c (print_rtl_with_bb): Print which insns start and end
3229
        basic blocks.  For the start of a basic block, also print the live
3230
        information.
3231
 
3232
Thu Sep  4 11:51:43 1997  Jim Wilson  
3233
 
3234
        * toplev.c (main): Change #elif to #else/#ifdef.
3235
 
3236
        * tlink.c: Include ctype.h.
3237
        * ginclude/va-mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif.
3238
 
3239
Thu Sep  4 11:17:16 1997  Mikeael Meissner  (meissner@cygnus.com)
3240
 
3241
        * bitmap.c: Conditionally include stdlib.h.
3242
        (free): Provide a declaration if NEED_DECLARATION_FREE.
3243
 
3244
Thu Sep  4 09:58:53 1997  Joel Sherrill  (joel@OARcorp.com)
3245
 
3246
        * i960/i960.h: Added default for SUBTARGET_SWITCHES macro.
3247
 
3248
Thu Sep  4 09:53:20 1997  Jim Wilson  (wilson@cygnus.com)
3249
 
3250
        * profile.c (output_arc_profiler): Verify next_insert_after is an
3251
        INSN before and after skipping a stack pop.
3252
 
3253
Thu Sep  4 07:39:19 1997  J"orn Rennecke  
3254
 
3255
        * final.c (shorten_branches): Don't count the lengths of deleted
3256
        instructions.
3257
 
3258
Thu Sep  4 09:43:01 1997  Jeffrey A Law  (law@cygnus.com)
3259
 
3260
        * version.c: Bump for snapshot.
3261
 
3262
Thu Sep  4 11:04:21 1997  Michael Meissner  
3263
 
3264
        * bitmap.h (EXECUTE_IF_AND_IN_BITMAP): New macro, to iterate over
3265
        two bitmaps ANDed together.
3266
        (bitmap_print): Declare.
3267
 
3268
        * bitmap.c (function_obstack): Don't declare any more.
3269
        (bitmap_obstack): Obstack for allocating links from.
3270
        (bitmap_obstack_init): New static to say whether to initialize
3271
        bitmap_obstack.
3272
        (bitmap_element_allocate): Use bitmap_obstack to allocate from.
3273
        (bitmap_release_memory): Free all memory allocated from
3274
        bitmap_obstack.
3275
 
3276
        * basic-block.h (EXECUTE_IF_AND_IN_REG_SET): New macro, invoke
3277
        EXECUTE_IF_AND_IN_BITMAP.
3278
 
3279
Wed Sep  3 10:39:42 1997  Jim Wilson  
3280
 
3281
        * alias.c (true_dependence): Address with AND can alias scalars.
3282
        (anti_dependence, output_dependence): Likewise.
3283
 
3284
        * alias.c (true_dependence): Test x for BLKmode, in addition to mem.
3285
 
3286
Wed Sep  3 09:28:50 1997  Joel Sherrill  (joel@OARcorp.com)
3287
 
3288
        * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, m68k/rtems.h,
3289
          mips/rtems64.h, pa/rtems.h, rs6000/rtems.h, sh/rtems.h,
3290
          sparc/rtems.h (subtarget_switches): Removed SUBTARGET_SWITCHES
3291
          definitions.  Use -qrtems instead of -mrtems.
3292
 
3293
Wed Sep  3 09:05:41 1997  Robert Lipe  (robert@dgii.com)
3294
 
3295
        * xm-sco5.h (sys_siglist): Define.
3296
        (SYS_SIGLIST_DECLARED): Likewise.
3297
 
3298
Tue Sep  2 23:33:33 1997  Jeffrey A Law  (law@cygnus.com)
3299
 
3300
        * expr.c (convert_move): Handle truncation from TQFmode to QFmode.
3301
 
3302
Wed Sep  3 02:09:30 1997  Torbjorn Granlund  
3303
 
3304
        * except.c (eh_outer_context): Expand masking operation using
3305
        expand_binop.
3306
 
3307
Tue Sep  2 18:09:39 1997  Jim Wilson  
3308
 
3309
        * alpha.md (floatdisf2-1): New pattern.
3310
 
3311
Tue Sep  2 18:41:55 1997  Jeffrey A Law  (law@cygnus.com)
3312
 
3313
        * xm-svr4.h (SYS_SIGLIST_DECLARED): Define.
3314
        * xm-news.h (SYS_SIGLIST_DECLARED): Likewise.
3315
        * xm-sysv4.h (SYS_SIGLIST_DECLARED): Likewise.
3316
        * gcc.texi: Note that if you define sys_siglist that you should
3317
        also define SYS_SIGLIST_DECLARED.
3318
 
3319
        * mn10200.h (INITIALIZE_TRAMPOLINE): PC relative instructions
3320
        are relative to the next instruction, not the current instruction.
3321
 
3322
Tue Sep  2 14:22:43 1997  Jim Wilson  
3323
 
3324
        * local-alloc.c (contains_replace_regs): New function.
3325
        (update_equiv_regs): When adding a REG_EQUIV note for a set of a MEM,
3326
        verify that there is no existing REG_EQUIV note, and add a call to
3327
        contains_place_regs.
3328
 
3329
Tue Sep  2 12:48:11 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
3330
 
3331
        * config/alpha/elf.h (CPP_PREDEFINES): Add -D__PIC__ -D__pic__.
3332
        (STARTFILE_SPEC): Always use crtbegin.o%s.
3333
        (ENDFILE_SPEC): Always use crtend.o%s.
3334
 
3335
Tue Sep  2 12:00:36 1997  Jim Wilson  
3336
 
3337
        * alpha/alpha.h (PREFERRED_RELOAD_CLASS): Return NO_REGS if NO_REGS
3338
        is passed in.
3339
        * emit-rtl.c (gen_lowpart_common): Add code to convert CONST_INT to
3340
        SFmode for 64 bit hosts.
3341
 
3342
Tue Sep  2 13:42:38 1997  Paul N. Hilfinger  
3343
 
3344
        * fixincludes: Permits spaces between # and define.  Discard C++
3345
        comments in sys/pci.h on HP/UX 10.20.
3346
 
3347
Mon Sep  1 22:13:18 1997  Jeffrey A Law  (law@cygnus.com)
3348
 
3349
        * version.c: Bump for snapshot.
3350
 
3351
        * pa.c (restore_unscaled_index_insn_codes): New function.
3352
        (record_unscaled_index_insn_codes): Likewise.
3353
        (output_function_prologue): Call restore_unscaled_index_insn_codes.
3354
        (output_function_epilogue): Free memory for unscaled_index_insn_codes.
3355
        (pa_reorg): Call record_unscaled_index_insn_codes.
3356
 
3357
        * haifa-sched.c (move_insn): Handle notes correctly for insns
3358
        with SCHED_GROUP_P set.
3359
 
3360
Mon Sep  1 16:58:57 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
3361
 
3362
        * alpha/xm-linux.h (USE_BFD): Undef before define.
3363
 
3364
Mon Sep  1 16:25:34 1997  Jim Wilson  
3365
 
3366
        * cse.c (cse_insn): Don't record BLKmode values.
3367
 
3368
Mon Sep  1 11:25:47 1997  Stephen Williams  (steve@icarus.icarus.com)
3369
 
3370
        * i960.h (LINK_SPEC): Handle "-mjX" and "-mrp" switches.
3371
 
3372
Mon Sep  1 08:29:46 1997  Jeffrey A Law  (law@cygnus.com)
3373
 
3374
        * cccp.c (sys_errlist): Remove special 4.4bsd declaration.
3375
        * collect2.c (sys_errlist): Likewise.
3376
        * cpplib.c (sys_errlist): Likewise.
3377
        * gcc.c (sys_errlist): Likewise.
3378
        * protoize (sys_errlist): Likewise.
3379
        * configure.in: Check for strerror.
3380
        * xm-freebsd.h (HAVE_STRERROR): Remove definition.
3381
        * xm-gnu.h (HAVE_STRERROR): Likewise.
3382
        * xm-linux.h (HAVE_STRERROR): Likewise.
3383
        * xm-netbsd.h (HAVE_STRERROR): Likewise.
3384
        * xm-bsd386.h (HAVE_STRERROR): Likewise.
3385
        * xm-cygwin32.h (HAVE_STRERROR): Likewise.
3386
        * xm-dos.h (HAVE_STRERROR): Likewise.
3387
        * xm-mingw32.h (HAVE_STRERROR): Likewise.
3388
        * xm-pa.h (HAVE_STRERROR): Likewise.
3389
        * xm-papro.h (HAVE_STRERROR): Likewise.
3390
        * xm-sysv4.h (HAVE_STRERROR): Likewise.
3391
        * configure, config.in: Rebuilt.
3392
 
3393
        * Makefile.in: Add several missing "else true" clauses.
3394
 
3395
        * collect2.c: Change DONT_DECLARE_SYS_SIGLIST to SYS_SIGLIST_DECLARED.
3396
        * mips-tfile.c: Likewise.
3397
        * gcc.texi: DONT_DECLARE_SYS_SIGLIST: Remove docs.
3398
        * xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition.
3399
        * xm-freebsd.h, xm-bsd386.h, xm-sysv4.h, xm-sol2.h: Likewise.
3400
        * configure.in: Check for sys_siglist declaration.
3401
        * configure, config.in: Rebuilt.
3402
 
3403
Mon Sep  1 08:04:07 1997  Joel Sherrill  (joel@OARcorp.com)
3404
 
3405
        * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h,
3406
        m68k/rtems.h, mips/rtems64.h, pa/rtems.h, rs6000/rtems.h,
3407
        sparc/rtems.h (subtarget_switches): Added -mrtems as a switch.
3408
        * i960/i960.h: Added SUBTARGET_SWITCHES macro.
3409
        * rs6000/sysv4.h (extra_subtarget_switches): Added new
3410
        macro EXTRA_SUBTARGET_SWITCHES.
3411
        * configure.in (sh*-*-rtems*): New target.
3412
        * sh/rtems.h: New file.
3413
        * sh/sh.h: Added SUBTARGET_SWITCHES macro.
3414
        * configure: Rebuilt.
3415
 
3416
Sat Aug 30 22:54:26 1997  Jim Wilson  
3417
 
3418
        * unroll.c (calculate_giv_inc): Handle increment with code PLUS.
3419
 
3420
Sat Aug 30 10:49:46 1997  David Edelsohn  
3421
 
3422
        * rs6000.md: Make DF fused-add operations pay attention to
3423
        -mno-fused-add.
3424
 
3425
Fri Aug 29 19:19:54 1997  Jim Wilson  
3426
 
3427
        * i386/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Define.
3428
 
3429
Fri Aug 29 16:13:51 1997  Jeffrey A Law  (law@cygnus.com)
3430
 
3431
        * pa.md (reload_peepholes): Make sure operand is a REG before
3432
        examining REGNO.  Allow general registers too.
3433
 
3434
Fri Aug 29 11:42:04 1997  Jim Wilson  
3435
 
3436
        * varasm.c (mark_constants): Don't look inside CONST_DOUBLEs.
3437
 
3438
Fri Aug 29 09:33:20 1997  Philipp Thomas  (kthomas@lxi165.gwdg.de)
3439
 
3440
        * dwarf2out.c (build_abbrev_table): Use xrealloc, not xmalloc
3441
        to reallocate abbrev_die_table.
3442
 
3443
Thu Aug 28 15:14:46 1997  Jim Wilson  
3444
 
3445
        * m68k/m68k.md (iorsi_zexthi_ashl16): Disable.
3446
 
3447
1997-08-27  Andreas Schwab  
3448
 
3449
        * Makefile.in (config.status): Depend on version.c.
3450
 
3451
        * expr.h (insn_gen_function): Reenable prototype.
3452
 
3453
        * expr.c (move_by_pieces_1, clear_by_pieces_1): Fix prototype of
3454
        first parameter.
3455
 
3456
Thu Aug 28 13:01:43 1997  Jim Wilson  
3457
 
3458
        * i386.c (ix86_expand_epilogue): Emit blockage instruction when pic.
3459
 
3460
Thu Aug 28 07:03:15 1997  Jeffrey A Law  (law@cygnus.com)
3461
 
3462
        * version.c: Bump for latest snapshot.
3463
 
3464
        * bc-optab.c: Conditionally include stdlib.h.
3465
        (free): Provide a declaration if NEED_DECLARATION_FREE.
3466
        * tree.c (free): Provide a declaration if NEED_DECLARATION_FREE.
3467
        * rtl.h (free): Remove declaration.
3468
        * tree.h (free): Remvoe declaration.
3469
 
3470
        * configure: Rebuilt.
3471
 
3472
Wed Aug 27 21:32:20 1997  Jeffrey A Law  (law@cygnus.com)
3473
 
3474
        * flags.h (flag_move_all_movables): Declare.
3475
        (flag_reduce_all_givs): Likewise.
3476
        * loop.c (move_movables): Handle flag_move_all_movables.
3477
        (strength_reduce): Handle flag_reduce_all_givs.
3478
        * toplev.c (flag_move_all_movables): Define.
3479
        (flag_reduce_all_givs): Likewise.
3480
        (f_options): Add -fmove-all-movables and -freduce-all-givs.
3481
        * invoke.texi: Document new options, including alias stuff that
3482
        wasn't included last time.
3483
 
3484
Wed Aug 27 18:08:51 1997  Bob Manson  (manson@cygnus.com)
3485
 
3486
        * t-h8300: Use TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS.
3487
        * t-mn10200: Likewise.
3488
        * t-vxsparc: Likewise.
3489
        * t-vxworks68: Likewise.
3490
        * t-vxworks960: Likewise.
3491
        * t-vx29k: Likewise.
3492
 
3493
Wed Aug 27 16:35:29 1997  Richard Henderson  
3494
 
3495
        * alpha/xm-alpha.h (alloca): Define alloca to builtin_alloca for GNUC
3496
        if not already defined, and USE_C_ALLOCA not defined.
3497
 
3498
Wed Aug 27 16:08:43 1997  Jim Wilson  
3499
 
3500
        * config.guess: Replace with script that uses ../config.guess.
3501
 
3502
        * config/alpha/elf.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1
3503
        if USE_GNULIBC_1 is not defined.
3504
 
3505
Wed Aug 27 15:49:12 1997  Richard Henderson  
3506
 
3507
        * alpha/elf.h (LINK_SPEC): Conditionalize on USE_GNULIBC_1.
3508
        * config.guess: Recognize alpha-linux-gnulibc1.
3509
        * configure.in (alpha-*-linux-gnulibc1): New target.
3510
        (alpha-*-linux-gnu*): Don't build crtbegin/end.
3511
 
3512
Wed Aug 27 11:52:58 1997  Jim Wilson  
3513
 
3514
        * m68k.md (iorsi3_internal): Readd ! TARGET_5200 check lost in
3515
        last change.
3516
 
3517
Wed Aug 27 01:56:18 1997  Doug Evans  
3518
 
3519
        * loop.c (combine_movables): Earlier insns don't match later ones.
3520
 
3521
Wed Aug 27 01:24:25 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
3522
 
3523
        * config/linux.h (CC1_SPEC): Define it only if not defined.
3524
 
3525
        * config/m68k/linux.h (CC1_SPEC): Undefine it before include
3526
        
3527
 
3528
        * config/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1 if
3529
        USE_GNULIBC_1 is not defined.
3530
 
3531
        * config/rs6000/linux.h (DEFAULT_VTABLE_THUNKS): New.  Defined as 1.
3532
 
3533
        * config/sparc/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
3534
        as 1 if USE_GNULIBC_1 is not defined.
3535
 
3536
Wed Aug 27 00:49:14 1997  Jeffrey A Law  (law@cygnus.com)
3537
 
3538
        * reorg.c (dbr_schedule): Allow current_function_return_rtx
3539
        to be something other than a REG.
3540
        * function.c (expand_function_end): Fix current_function_return_rtx
3541
        if it was a pseudo.
3542
 
3543
        * t-freebsd (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
3544
        * x-netbsd: Likewise.
3545
        * x-dgux (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
3546
        (INSTALL_HEADERS): Delete.
3547
        * x-dguxbcs: Likewise.
3548
        * x-hp3bsd44: Likewise.
3549
        * x-pa: Likewise.
3550
 
3551
Wed Aug 27 00:30:00 1997  Bernd Schmidt  
3552
 
3553
        * i386.md (pop): pop increments the stack pointer.
3554
        (prologue_set_stack_ptr): New pattern.
3555
        * i386.c (ix86_expand_prologue): Use prologue_set_stack_ptr
3556
        instead of subsi3.
3557
 
3558
Tue Aug 26 18:50:32 1997  Jim Wilson  
3559
 
3560
        * reload.c (find_reloads, case '0'): Reject matching a non-offsettable
3561
        address where an offsettable address is required.
3562
 
3563
Tue Aug 26 17:54:56 1997  Michael P. Hayes  (michaelh@ongaonga.chch.cri.nz>
3564
 
3565
        * loop.c (check_final_value): Don't miss a biv increment in a
3566
        parallel.
3567
 
3568
Tue Aug 26 12:03:49 1997  Jim Wilson  (wilson@cygnus.com)
3569
 
3570
        * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Check
3571
        TYPE_DECL_IS_STUB instead of DECL_NAME.
3572
 
3573
Mon Aug 25 23:27:10 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
3574
 
3575
        * objc/Make-lang.in ($(OBJC_O)): Also depend on cc1obj.
3576
 
3577
Mon Aug 25 23:27:10 1997  Jim Meyering  
3578
 
3579
        * objc/Make-lang.in ($(OBJC_O)): Also depend on $(GCC_PASSES).
3580
 
3581
Mon Aug 25 13:12:24 1997  Jeffrey A Law  (law@cygnus.com)
3582
 
3583
        * haifa-sched.c (find_pre_sched_live): Remove #if 0 code.
3584
        (find_post_sched_live): Likewise.
3585
 
3586
        * haifa-sched.c (schedule_block): Remove old code to get arguments
3587
        from hard regs into pseudos early.
3588
 
3589
Mon Aug 25 08:55:00 1997  Jeffrey A Law  (law@cygnus.com)
3590
 
3591
        * version.c: Bump for new snapshot.
3592
 
3593
        * local-alloc.c (update_equiv_regs): All the target to reject
3594
        promotion of some REG_EQUAL to REG_EQUIV notes.
3595
        * pa.h (DONT_RECORD_EQUIVALENCE): Define.
3596
 
3597
        * pa.c (secondary_reload_class): (mem (mem ... )) does not need
3598
        secondary reloads.
3599
 
3600
        * pa.c (hppa_builtin_saveregs): Emit a blockage insn after the
3601
        store of the argument registers.
3602
 
3603
Mon Aug 25 08:39:02 1997  Craig Burley  (burley@gnu.ai.mit.edu)
3604
 
3605
        * fold-const.c (multiple_of_p): New function.
3606
        (fold): Turn some cases of *_DIV_EXPR into EXACT_DIV_EXPR.
3607
 
3608
Mon Aug 25 01:47:41 1997  Jeffrey A Law  (law@cygnus.com)
3609
 
3610
        * expr.h (insn_gen_function): Temporarily remove prototype.
3611
 
3612
Sun Aug 24 17:22:21 1997  Jim Wilson  
3613
 
3614
        * Makefile.in (install-info): Don't cd into srcdir.  Add srcdir to
3615
        filenames.  Use sed to extract base filename for install.
3616
 
3617
Sat Aug 23 18:19:40 1997  John F. Carr  
3618
 
3619
        * unroll.c (find_splittable_givs): Only share if two givs have the
3620
        same add and multiply values.
3621
 
3622
Sat Aug 23 14:36:27 1997  Jim Wilson  
3623
 
3624
        * m68k/next.h (GO_IF_INDEXABLE_BASE): Fix typo in undef.
3625
        * m68k/m68kemb.h (LIB_SPEC): Add missing comment end before it.
3626
 
3627
Sat Aug 23 00:18:22 1997  Jeffrey A Law  (law@cygnus.com)
3628
 
3629
        * pa.c (pa_reorg): Always put begin_brtab and end_brtab insns
3630
        around branch tables.
3631
        * pa.md (begin_brtab, end_brtab): Only emit the .begin_brtab
3632
        and .end_brtab directives if TARGET_GAS.
3633
 
3634
Fri Aug 22 14:05:55 1997  Jim Wilson  
3635
 
3636
        * alias.c (true_dependence): Pass x_addr not x to varies.
3637
 
3638
        * acconfig.h (NEED_DECLARATION_CALLOC): Add.
3639
        * configure.in: Add GCC_NEED_DECLARATION call for calloc.
3640
        * rs6000/xm-rs6000.h (malloc, realloc, calloc, free): Delete
3641
        declarations.
3642
        * config.in, configure: Regenerate.
3643
 
3644
Thu Aug 21 23:52:16 1997  John F. Carr  
3645
 
3646
        * alias.c (find_base_value): Improve handling of PLUS, MINUS, and
3647
        LO_SUM.
3648
        (record_set): Handle LO_SUM like PLUS.
3649
        (init_alias_analysis): When following chains of base addresses,
3650
        do not stop on reaching a hard register.
3651
 
3652
Thu Aug 21 20:17:37 1997  Jeffrey A Law  (law@cygnus.com)
3653
 
3654
        * version.c: Bump for new snapshot.
3655
 
3656
Thu Aug 21 17:28:00 1997  Jim Wilson  
3657
 
3658
        * alpha.h (ARCH_ASM_FILE_START): Define.
3659
        (ASM_FILE_START): Use ARCH_ASM_FILE_START.
3660
        * osf12.h, osf2or3.h (ARCH_ASM_FILE_START): Redefine to null string.
3661
 
3662
Thu Aug 21 10:22:19 1997  Jeffrey A Law  (law@cygnus.com)
3663
 
3664
        * Makefile.in (install-common): Put gcov comment at start of line.
3665
 
3666
Wed Aug 20 22:47:33 1997  Jeffrey A Law  (law@cygnus.com)
3667
 
3668
        * alias.c (init_alias_analysis): When simplifying the reg_base_value
3669
        array, simplify entries for hard registers too.
3670
 
3671
Wed Aug 20 12:35:47 1997  Dave Love  
3672
 
3673
        * dwarf2.h (enum dwarf_call_frame_info): Remove trailing comma from
3674
        list.
3675
 
3676
Wed Aug 20 11:58:33 1997  Jim Wilson  
3677
 
3678
        * stmt.c (start_cleanup_deferral, end_cleanup_deferral): Test
3679
        block_stack before dereferencing it.
3680
 
3681
Wed Aug 20 11:57:11 1997  Michael Meissner  
3682
 
3683
        * rs6000.h (ISSUE_RATE): Define instead of MACHINE_issue_rate.
3684
 
3685
Tue Aug 19 17:10:56 1997  Jason Merrill  
3686
 
3687
        * cplus-dem.c: Add 'extern' to prepends_underscore.
3688
 
3689
Tue Aug 19 09:34:57 1997  Jeffrey A Law  (law@cygnus.com)
3690
 
3691
        * haifa-sched.c (ISSUE_RATE): Renamed from MACHINE_issue_rate.
3692
        (get_issue_rate): Delete.
3693
        * pa.h (ISSUE_RATE): Define.
3694
 
3695
        * configure.in: Turn on haifa by default for the PA.
3696
        * configure: Rebuilt.
3697
        * pa.c (override_options): Accept -mschedule=7200 option.
3698
        (pa_adjust_cost): No longer need to scale costs for newer
3699
        processors.
3700
        * pa.h (enum processor_type): Add PROCESSOR_7200.
3701
        * pa.md: Revamp scheduling parameters to work better with
3702
        haifa.  Add scheduling parameters for the 7200.
3703
 
3704
        * haifa-sched.c (move_insn): Reemit notes for SCHED_GROUP_P
3705
        insns too.
3706
        (schedule_block): When adjusting basic_block_{head,end}, account
3707
        for movement of SCHED_GROUP_P insns too.
3708
 
3709
        * haifa-sched.c (debug_dependencies): Fix thinko.
3710
 
3711
        * Makefile.in (EXPECT, RUNTEST, RUNTESTFLAGS): Define.
3712
        (site.exp, check, check-g++, check-gcc): New targets.
3713
 
3714
        * haifa-sched.c: Make lots of variables static.
3715
 
3716
Tue Aug 19 07:18:34 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
3717
 
3718
        * expr.h, real.h: Finish prototyping.
3719
 
3720
Mon Aug 18 21:49:02 1997  Jim Wilson  
3721
 
3722
        * reload.c (find_reloads): Add code to convert RELOAD_FOR_OPADDR_ADDR
3723
        reloads to RELOAD_FOR_OPERAND_ADDRESS reloads.
3724
        * reload1.c: Undo bugfix from Aug 11.
3725
 
3726
Mon Aug 18 17:39:02 1997  Mike Meissner  
3727
 
3728
        * configure.in ({powerpc,rs6000}*-*-*, --with-cpu): Remove single
3729
        quotes around the name.
3730
        * configure: Regenerate.
3731
 
3732
Mon Aug 18 13:46:47 1997  Jim Wilson  
3733
 
3734
        * Makefile.in (stmp-multilib-sub): Fix typo in last change.
3735
 
3736
Thu Aug  7 10:33:13 1997  Manfred Hollstein  
3737
 
3738
        * Makefile.in (sub-makes): Pass the current value of LANGUAGES down
3739
        to sub-makes to avoid building more passes than the user might have
3740
        requested on the command line.
3741
 
3742
Sun Aug 17 15:42:17 1997  Dave Love  (d.love@dl.ac.uk)
3743
 
3744
        * configure.in: Expurgate `broken_install' (install is
3745
        autoconfed).
3746
 
3747
        * configure.lang: Substitute autoconfed ${INSTALL} (not currently
3748
        relevant).
3749
 
3750
Sat Aug 16 01:08:12 1997  Jeffrey A Law  (law@cygnus.com)
3751
 
3752
        * loop.c (is_power_of_2, is_conditional_branch): Delete unused
3753
        functions and declarations.
3754
        (analyze_loop_iterations): Use condjump_p.
3755
        (insert_bct): Likewise.  Use exact_log2.
3756
 
3757
Fri Aug 15 23:48:32 1997  Jeffrey A Law  (law@cygnus.com)
3758
 
3759
        * haifa-sched.c (find_post_sched_live): Call FREE_REG_SET as needed.
3760
        (schedule_region): Likewise.
3761
        (schedule_insns): Likewise.
3762
 
3763
        * PROJECTS: Update with Haifa stuff.
3764
 
3765
Fri Aug 15 12:49:56 1997  Jeffrey A Law  (law@cygnus.com)
3766
 
3767
        * version.c: Change the version string to look like:
3768
        egcs-2.90.00 970814 (gcc2-970802 experimental).
3769
 
3770
        * loop.c (is_conditional_branch): Make definition match declaration.
3771
 
3772
        * gcc.c: Take out experimental snapshot warning message.
3773
 
3774
Fri Aug 15 13:43:39 1997  Michael Meissner  
3775
 
3776
        * haifa-sched.c (debug_dependencies): Use GET_NOTE_INSN_NAME to
3777
        print out the names of the notes.  Print out the name of the insn
3778
        that is not a note, and not an {,CALL_,JUMP_}INSN.
3779
 
3780
Wed Aug 13 17:32:38 1997  Jason Merrill  
3781
 
3782
        * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
3783
        again for the slot after we give it RTL.
3784
 
3785
Wed Aug 13 01:03:37 1997  Doug Evans  
3786
 
3787
        * configure.in (haifa configury): Fix typo.
3788
        * configure: Regenerate.
3789
 
3790
Tue Aug 12 10:20:36 1997  Jeffrey A Law  (law@cygnus.com)
3791
 
3792
        * version.c: Bump version to "gcc-3.0.0 970802 experimental".
3793
 
3794
        * gcc.info*: Rebuilt.
3795
 
3796
        * COPYING.g77, README.g77: New files.
3797
        * real.c (ereal_unto_float, ereal_unto_double): New functions.
3798
        * real.h (ereal_unto_float, ereal_unto_double): Declare them.
3799
        (REAL_VALUE_UNTO_TARGET_DOUBLE, REAL_VALUE_UNTO_TARGET_SINGLE): Define.
3800
 
3801
Mon Aug 11 14:50:55 1997  Jeffrey A Law  (law@cygnus.com)
3802
 
3803
        * Integrate Haifa instruction scheduler.
3804
        * Makefile.in (ALL_CFLAGS): Add SCHED_CFLAGS.  Prefix all references
3805
        to sched with $(SCHED_CFLAGS.
3806
        * configure.in: Handle --enable-haifa.
3807
        * configure: Rebuilt.
3808
        * flags.h: Add new flags for haifa instruction scheduler.
3809
        * genattrtab.c (expand_units): For haifa, don't subtract one
3810
        when computing blockage.
3811
        * toplev.h (flag_schedule_interblock): Haifa scheduler flag.
3812
        (flag_schedule_speculative): Likewise.
3813
        (flag_schedule_speculative_load): Likewise.
3814
        (flag_schedule_speculative_load_dangerous): Likewise.
3815
        (flag_schedule_reverse_before_reload): Likewise.
3816
        (flag_schedule_reverse_after_reload): Likewise.
3817
        (flag_branch_on_count_reg): Likewise.
3818
        (f_options): Add Haifa switches.
3819
        (main): Turn off some Haifa options if appropriate macro is
3820
        defined.  Process Haifa switches.
3821
        * unroll.c (iteration_info): No longer static, since Haifa
3822
        scheduler uses it.
3823
        (unroll_loop): Inform HAIFA scheduler about loop unrolling factor.
3824
        * unroll.c (unroll_loop): Set loop_unroll_iter, loop_start_value.
3825
        * loop.h (loop_unroll_factor, loop_number): Add HAIFA decls.
3826
        * loop.h (loop_initial_value,loop_unroll_iter): New globals.
3827
        * loop.c (loop_optimize): If HAIFA is defined, allocate additional
3828
        storage for the Haifa scheduler.
3829
        (mark_loop_jump): If HAIFA defined, set LABEL_OUTSIDE_LOOP_P and
3830
        LABEL_NEXTREF.
3831
        (strength_reduce): If HAIFA and HAVE_decrement_and_branch_on_count
3832
        are defined, call analyze_loop_iterations and insert_bct to use
3833
        countdown loops.
3834
        (record_giv): Refine test for jumps out of loops if HAIFA is
3835
        defined.
3836
        (analyze_loop_iterations): New function to identify if we can use
3837
        a countdown loop.
3838
        (insert_bct): Insert countdown loop.
3839
        (instrument_loop_bct): Low level code to insert countdown loop.
3840
        (loop_number): Calculate UID of loop.
3841
        (indirect_jump_in_function_p): Return true if an indirect jump is
3842
        in the function.
3843
        (is_power_of_2): Return true if value is a power of 2.
3844
        (is_conditional_branch): Return true if insn is a conditional
3845
        jump.
3846
        (fix_bct_param): Process -fbct-{min,max}-N switches.
3847
        (check_bct_param): Return true if loop should be instrumented.
3848
        * loop.c (loop_initial_value,loop_unroll_iter): New globals.
3849
        (loop_optimize): Initialize.
3850
        (get_condition_for_loop): Likewise.
3851
        * loop.c (strength_reduce): Inside of code that uses #ifdef
3852
        HAVE_decrement_and_branch_on_count code, test it to make sure the
3853
        condition is true.
3854
        (instrument_loop_bct): Likewise.
3855
        * haifa-sched.c: New file.
3856
 
3857
        * Integrate regmove pass.
3858
        * Makefile.in (OBJS): Add regmove.o.
3859
        (regmove.o): Add dependencies.
3860
        * flow.c (find_use_as_address): No longer static.
3861
        * rtl.h (find_use_as_address): Declare.
3862
        * toplev.c (regmove_dump, flag_regmove): Define.
3863
        (f_options): Add -fregmove.
3864
        (regmove_dump_file, regmove_time): Define.
3865
        (fatal_insn): Close the regmove dump file.
3866
        (compile_file): Initialize regmove_time; open/close the regmove dump
3867
        file as needed.  Print regmove time as needed.
3868
        (rest_of_compilation): Run regmove pass if requested, dump
3869
        RTL after regmove if requested.
3870
        (main): If -O2 or more, turn on regmove.  Handle dump switches.
3871
        * regmove.c: New file.
3872
 
3873
Mon Aug 11 14:15:02 1997  Jeffrey A Law  (law@cygnus.com)
3874
 
3875
        * Integrate tlink patch from jason@cygnus.com
3876
        * gcc.c (SWITCH_TAKES_ARG): Add 'V', 'B' and 'b'.
3877
        (process_command): Increment n_switches for them.  Don't discard
3878
        their args.  Validate them.
3879
        (main): Escape " marks when creating COLLECT_GCC_OPTIONS.
3880
        From Rohan Lenard.
3881
        (process_command): Set include_prefixes from COMPILER_PATH.
3882
        (main): Set COLLECT_GCC_OPTIONS sooner.
3883
        * confiugre.in: Link ../ld/ld.new to collect-ld rather than real-ld.
3884
        * tlink.c, hash.c, hash.h: New files.
3885
        * Makefile.in (USE_COLLECT2): Always use collect2.
3886
        (collect2): Depend on and link in hash.o and tlink.o.
3887
        (tlink.o, hash.o): Add dependencies.
3888
 
3889
Mon Aug 11 10:04:49 1997  Jeffrey A Law  (law@cygnus.com)
3890
 
3891
        * Integrate alias analysis changes from jfc@mit.edu
3892
        * Makefile.in (OBJS): Add alias.o.
3893
        (alias.o): Add dependencies.
3894
        * alias.c: New file.
3895
        * sched.c: Remove alias analysis code.  It lives in alias.c now.
3896
        (sched_analyze_2): Add new arguments to true_dependence.
3897
        (schedule_insns): Always call init_alias_analysis.
3898
        * calls.c (expand_call): Note calls to malloc, calloc, and realloc;
3899
        mark return value from such functions as a pointer and keep track of
3900
        them for alias analysis.  If a return value from a function is a
3901
        pointer, mark it as such.
3902
        * combine.c (distribute_notes): Handle REG_NOALIAS.
3903
        * cse.c (struct write_data): Delete.  No longer needed.
3904
        (invalidate): Don't call set_nonvarying_address_components anymore.
3905
        Use true_dependence to decide if an entry should be removed from
3906
        the hash table.
3907
        (invalidate_memory): Remove WRITES argument, simplify appropriately.
3908
        Fix all callers.
3909
        (note_mem_written): Similarly for WRITE_PTR argument.
3910
        (invalidate_from_clobbers): Similarly for W argument.
3911
        (invalidate_for_call): Remove memory elements from the hash table.
3912
        (refers_to_mem_p, cse_rtx_addr_varies_p): Deleted.
3913
        (cse_rtx_varies_p): New function.  Derived from old
3914
        cse_rtx_addr_varies_p.
3915
        (cse_insn): Remove WRITES_MEMORY and INIT variables and all references.
3916
        Don't call note_mem_written anymore.  Stack pushes invalidate the stack
3917
        pointer if PUSH_ROUNDING is defined.  No longer need to call
3918
        cse_rtx_addr_varies_p to decide if a MEM should be invalidated.
3919
        (skipped_writes_memory): Remove variable.
3920
        (invalidate_skipped_set): Simplify and wewrite to use invalidate_memory.
3921
        (invalidate_skipped_block): Simplify for new alias analysis code.
3922
        (cse_set_around_loop): Likewise.
3923
        (cse_main): Call init_alias_analysis.
3924
        * flags.h (flag_alias_check, flag_argument_noalias): Declare.
3925
        * toplev.c (flag_alias_check, flag_argument_noalias): Define.
3926
        (f_options): Add new alias checking arguments.
3927
        (main): Set flag_alias_check when optimizing.
3928
        * local_alloc (validate_equiv_mem_from_store): Add new arguments
3929
        to true_dependence.
3930
        (memref_referenced_p): Likewise.
3931
        * loop.c (NUM_STORES): Increase to 30.
3932
        (prescan_loop): Only non-constant calls set unknown_address_altered.
3933
        (invariant_p): Add new arguments to true_dependence.
3934
        (record_giv): Initialize unrolled and shared fields.
3935
        (emit_iv_add_mult): Call record_base_value as needed.
3936
        * loop.h (struct induction): Add unrolled and shared fields.
3937
        * unroll.c  (unroll_loop): Call record_base_value as needed.
3938
        (copy_loop_body): Likewise.
3939
        (final_biv_value): Likewise.
3940
        (final_giv_value): Likewise.
3941
        (find_splittable_regs): Likewise.  Only create one new pseudo
3942
        if we have multiple address GIVs that were combined with the same
3943
        dst_reg GIV.  Note when a new register is created due to unrolling.
3944
        * rtl.c (reg_note_name): Add REG_NOALIAS.
3945
        * rtl.h (enum reg_note): Similarly.
3946
        (rtx_varies_p, may_trap_p, side_effects_p): Declare.
3947
        (volatile_refs_p, volatile_insn_p, remove_note): Likewise.
3948
        (note_stores, refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
3949
        (true_dependence, read_dependence, anti_dependence): Likewise.
3950
        (output_dependence, init_alias_analysis, end_alias_analysis): Likewise.
3951
        (mark_user_reg, mark_reg_pointer): Likewise.
3952
 
3953
        * Integrate reload bugfix from Wilon which enables the PA port
3954
        to bootstrap again.
3955
        * reload1.c (reload): Sum needs for both OPADDR_ADDR and
3956
        OPERAND_ADDRESS when computing how many registers an insn needs.
3957
        (reload_reg_free_p): OPADDR_ADDR and OPERAND_ADDRESS reloads do
3958
        conflict.
3959
        (reload_reg_free_before_p): Treat OPERAND_ADDRESS reloads just like
3960
        OPADDR_ADDR reload.
3961
        (reload_reg_reaches_end_p): For RELOAD_FOR_OPADDR_ADDR insns, registers
3962
        in reload_reg_use_in_op_addr do not reach the end.
3963
        do not reach the end.
3964
        (reloads_conflict): RELOAD_FOR_OPADDR_ADDR conflicts with
3965
        RELOAD_FOR_OPERAND_ADDRESS.
3966
 
3967
Sun Aug 10 12:00:20 1997  Jeffrey A Law  (law@cygnus.com)
3968
 
3969
        * egcs project officially starts.
3970
 
3971
 
3972
Copyright (C) 1997 Free Software Foundation, Inc.
3973
 
3974
Copying and distribution of this file, with or without modification,
3975
are permitted in any medium without royalty provided the copyright
3976
notice and this notice are preserved.

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.