]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
reload1.c (reload_cse_regs_1): Renamed from reload_cse_regs.
[gcc.git] / gcc / ChangeLog
CommitLineData
5adf6da0
R
1Thu Sep 24 21:22:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2
3 * reload1.c (reload_cse_regs_1): Renamed from reload_cse_regs.
4 (reload_cse_regs): New function body: call reload_cse_regs_1,
5 reload_combine, reload_cse_move2add.
6 When doing expensive_optimizations, call reload_cse_regs_1 a
7 second time after reload_cse_move2add.
8 (reload_combine, reload_combine_note_store): New functions.
9 (reload_combine_note_use): New function.
10 (reload_cse_move2add, move2add_note_store): New functions.
11
c10638c9
R
12Thu Sep 24 18:48:43 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
13
14 * reload.c (find_reloads): In code to promote RELOAD_FOR_X_ADDR_ADDR
15 reloads to RELOAD_FOR_X_ADDRESS reloads, test for reload sharing.
16
17 Properly keep track of first RELOAD_FOR_X_ADDRESS also for
18 more than 3 such reloads.
19
20 If there is not more than one RELOAD_FOR_X_ADDRESS, don't change
21 RELOAD_FOR_X_ADDR_ADDR reload.
22
34c73909
R
23Thu Sep 24 17:45:55 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
24
25 * expr.c (store_constructor): When initializing a field that is smaller
26 than a word, at the start of a word, try to widen it to a full word.
27
28 * cse.c (cse_insn): When we are about to change a register,
29 remove any invalid references to it.
30
31 (remove_invalid_subreg_refs): New function.
32 (mention_regs): Special treatment for SUBREGs.
33 (insert_regs): Don't strip SUBREG for call to mention_regs.
34 Check if reg_tick needs to be bumped up before that call.
35 (lookup_as_function): Try to match known word_mode constants when
36 looking for a norrower constant.
37 (canon_hash): Special treatment for SUBREGs.
38
345a6161
DM
39Thu Sep 24 01:35:34 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
40
41 * config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Define.
42 * config/sparc/sparc.c (sparc64_initialize_trampoline): If that is
43 defined, emit libcall to __enable_execute_stack. Also fix opcodes
44 and offsets in actual stack trampoline code so they match the
45 commentary and actually work.
46
47Thu Sep 24 01:19:02 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
48
49 * configure.in (sparcv9-*-solaris): Use t-sol2 and t-sol2-64 for
50 tmake_file.
51 (sparc64-*-linux): Use t-linux and sparc/t-linux64 for
52 tmake_file. Set extra_parts to needed crt objects.
53 * configure: Rebuilt.
54 * config/sparc/linux64.h (SPARC_BI_ARCH): Define.
55 (TARGET_DEFAULT): Set if default is v9 or ultra.
56 (STARTFILE_SPEC32, STARTFILE_SPEC64): New macros.
57 (STARTFILE_SPEC): Set to those upon SPARC_BI_ARCH.
58 (ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_SPEC): Likewise.
59 (SUBTARGET_EXTRA_SPECS, LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
60 LINK_SPEC, LINK_ARCH_SPEC): Likewise.
61 (TARGET_VERSION): Define.
62 (MULTILIB_DEFAULT): Define.
63 * config/sparc/sparc.h (CPP_CPU_DEFAULT_SPEC): Rearrange so that
64 mixed 32/64 bit compilers based upon SPARC_BI_ARCH work.
65 (CPP_CPU64_DEFAULT_SPEC, CPP_CPU32_DEFAULT_SEC): Define
66 appropriately.
67 (TARGET_SWITCHES): Allow ptr32/ptr64 options once more.
68 * config/sparc/sparc.c (sparc_override_options): If arch and
69 pointer size disagree, emit diagnostic and fix it up. If
70 SPARC_BI_ARCH and TARGET_ARCH32, set cmodel to CM_32. Turn off
71 V8PLUS in 64-bit mode.
72 * config/sparc/t-linux64: New file.
73 * config/sparc/t-sol2-64: New file.
74 * config/sparc/t-sol2: Adjust build rules to use MULTILIB_CFLAGS.
75 * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Define.
76 (ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC,
77 CPP_CPU32_DEFAULT_SPEC, CPP_CPU64_DEFAULT_SPEC): Define.
78 (ASM_SPEC, CPP_CPU_SPEC): Set appropriately based upon those.
79 (STARTFILE_SPEC32, STARTFILE_SPEC32, STARTFILE_ARCH_SPEC):
80 Define.
81 (STARTFILE_SPEC): Set approriately based upon those.
82 (CPP_CPU_DEFAULT_SPEC, ASM_CPU_DEFAULT_SPEC): Set based upon
83 disposition of DEFAULT_ARCH32_P.
84 (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC): Define.
85 (LINK_ARCH_SPEC, LINK_ARCH_DEFAULT_SPEC): Set based upon those.
86 (CC1_SPEC, MULTILIB_DEFAULTS): Set based upon DEFAULT_ARCH32_P.
87 (MD_STARTFILE_PREFIX): Set correctly based upon SPARC_BI_ARCH.
88 * config/sparc/xm-sysv4-64.h (HOST_BITS_PER_LONG): Only set on
89 arch64/v9.
90 * config/sparc/xm-sp64.h (HOST_BITS_PER_LONG): Likewise.
91
59ec66dc
MM
92Wed Sep 23 22:32:31 1998 Mark Mitchell <mark@markmitchell.com>
93
94 * rtl.h (init_virtual_regs): New function.
95 * emit-rtl.c (init_virtual_regs): Define.
96 (insn_emit): Use it.
97 * integrate.c (save_for_inline_copying): Likewise.
98
f916eeb6
NC
99Wed Sep 23 16:22:01 1998 Nick Clifton <nickc@cygnus.com>
100
a5f42165
NC
101 * config/arm/thumb.h: The following patches were made by Jim Wilson:
102 (enum reg_class): Add NONARG_LO_REGS support.
103 (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS,
104 PREFERRED_RELOAD_CLASS, SECONDARY_RELOAD_CLASS): Likewise.
105 (GO_IF_LEGITIMATE_ADDRESS): Disable REG+REG addresses before reload
106 completes. Re-enable HImode REG+OFFSET addresses.
107 (LEGITIMIZE_RELOAD_ADDRESS): Define.
108
f916eeb6
NC
109 * expmed.c (extract_bit_field): Add comment from Jim Wilson.
110
80db34d8
RH
111Wed Sep 23 13:26:02 1998 Richard Henderson <rth@cygnus.com>
112
113 * alpha.c (get_aligned_mem): Revert Sep 20 change.
114 (alpha_set_memflags, alpha_set_memflags_1): Likewise.
115 (alpha_align_insns): Properly calculate initial offset wrt max_align.
116
7551cbc7
RE
117Wed Sep 23 10:45:44 1998 Richard Earnshaw (rearnsha@arm.com)
118
119 * arm.c (find_barrier): Revert change of Apr 23. Handle table
120 jumps as a single entity, taking into account the size of the
121 table.
122
eaec171c
APB
123Tue Sep 22 15:13:34 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
124
125 * tree.def (SWITCH_EXPR): New tree node definition.
126
83d6aca1
JL
127Mon Sep 21 23:40:38 PDT 1998 Jeff Law (law@cygnus.com)
128
129 * version.c: Bump for snapshot.
130
4d7f493b
JL
131Mon Sep 21 22:31:14 PDT 1998 Jeff Law (law@cygnus.com)
132
133 * version.c: Bump for snapshot.
134
31f0adf8
JL
135Mon Sep 21 22:48:09 1998 Jeffrey A Law (law@cygnus.com)
136
137 * configure.in: Recognize i[34567]86-*-openbsd* and handle it like
138 NetBSD.
139
6c7c0e9f
JL
140Mon Sep 21 22:05:28 1998 Jeffrey A Law (law@cygnus.com)
141
142 * Revert this patch.
143 * reload.c (find_reloads): Do not replace a pseudo with
144 (MEM (reg_equiv_addr)) in the initializing insn for the
145 pseudo.
146
7ad7f828
JC
147Mon Sep 21 20:19:41 1998 John Carr <jfc@mit.edu>
148
149 * final.c (final_scan_insn): Disable tracking CC across branches.
150
43566944
AM
151Mon Sep 21 17:15:26 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
152
153 * expr.h (eh_rtime_match_libfunc): New extern declaration.
154 * optabs.c (init_optabs): Set eh_rtime_match_libfunc.
155 * except.c (start_catch_handler): Use eh_rtime_match_libfunc.
156 * libgcc2.c (__eh_rtime_match): Always return 0 if the matcher is
157 NULL. Only include <stdio.h> if inhibit_libc is not defined.
158
1cbe6eb6
JM
159Mon Sep 21 14:10:51 1998 Jason Merrill <jason@yorick.cygnus.com>
160
161 * toplev.c (rest_of_compilation): Skip compiling anything with
162 DECL_EXTERNAL set, not just if it has DECL_INLINE as well.
163
d06c6389
JW
164Mon Sep 21 13:51:05 1998 Jim Wilson <wilson@cygnus.com>
165
166 * flow.c (find_basic_blocks): Delete check for in_libcall_block when
167 prev_code is a CALL_INSN. Change check for REG_RETVAL note to
168 use in_libcall_block.
169 (find_basic_blocks_1): Delete check for in_libcall_block when prev_code
170 is a CALL_INSN. If CALL_INSN and in_libcall_block, then change code
171 to INSN.
172
724001bb
RL
173Mon Sep 21 14:02:23 1998
174
175 * i386.h: (TARGET_SWITCHES) Improve doc for align-double. Fix
176 typo in no-fancy-math-387 description.
177
64ca6edd
JL
178Mon Sep 21 09:27:18 PDT 1998 Jeff Law (law@cygnus.com)
179
180 * version.c: Bump for snapshot.
181
216f3a58
SC
182Mon Sep 21 09:24:49 1998 Stan Cox <scox@cygnus.com>
183
184 * i386-coff.h (DBX_DEBUGGING_INFO): Added.
185
c03f9fe3
RL
186Mon Sep 21 09:14:49 1998 Robert Lipe <robertl@dgii.com>
187
188 * i386.h: (TARGET_SWITCHES) Add description fields for flags
189 documented in install.texi.
190 (TARGET_OPTIONS) Likewise.
191
cc61dfb8
JL
192Mon Sep 21 01:39:03 PDT 1998 Jeff Law (law@cygnus.com)
193
194 * version.c: Bump for snapshot.
195
b2a1e458
FL
196Mon Sep 21 01:53:05 1998 Felix Lee <flee@cygnus.com>
197
198 * c-lex.c (init_lex): Use getenv ("LANG"), not GET_ENVIRONMENT ().
199 * cccp.c (main): Likewise.
b2a1e458
FL
200
201 * cccp.c, collect2.c, cpplib.c, gcc.c, config/i386/xm-cygwin32.h:
202 Rename GET_ENVIRONMENT to GET_ENV_PATH_LIST, and fix some
203 macro-use bugs.
204
7e2231e7
PB
205Mon Sep 21 00:52:12 1998 Per Bothner <bothner@cygnus.com>
206
207 * Makefile.in (LIBS): Link in libiberty.a.
c03f9fe3 208 * c-common.c, gcc.c, toplev.c: Replace (some) bcopy calls by memcpy.
7e2231e7 209
c93b03c2
RH
210Sun Sep 20 23:28:11 1998 Richard Henderson <rth@cygnus.com>
211
212 * reload1.c (emit_reload_insns): Accept a new arg for the bb. Use
213 it to update bb boundaries. Update caller.
214 * function.c (reposition_prologue_and_epilogue_notes): Update
215 bb boundaries wrt the moved note.
216
823642df
RL
217Sun Sep 20 20:57:02 1998 Robert Lipe <robertl@dgii.com>
218
219 * configure.in (i*86-*-sysv5*): Use fixinc.svr4 to patch byteorder
220 problems.
221 * configure: Regenerate.
222
2ba57343
RH
223Sun Sep 20 19:01:51 1998 Richard Henderson <rth@cygnus.com>
224
3873d24b
RH
225 * alpha.c (alpha_sr_alias_set): New variable.
226 (override_options): Set it.
227 (alpha_expand_prologue, alpha_expand_epilogue): Use it.
228 (mode_mask_operand): Fix signed-unsigned comparision warning.
229 (alpha_expand_block_move): Likewise.
230 (print_operand): Likewise.
231 (get_aligned_mem): Use change_address.
232 (alpha_set_memflags, alpha_set_memflags_1): Set the alias set.
233 (alphaev4_insn_pipe, alphaev4_next_group): New functions.
234 (alphaev4_next_nop, alphaev5_next_nop): New functions.
235 (alpha_align_insns): Remade from old alphaev5_align_insns
236 to handle multiple processors.
237 (alpha_reorg): Call alpha_align_insns for both ev4 and ev5.
238 * output.h (label_to_alignment): Prototype.
239
2ba57343
RH
240 * tree.c (new_alias_set): New function.
241 * tree.h (new_alias_set): Declare it.
242 * c-common.c (c_get_alias_set): Use it.
243
899f1ed6
RH
244Sun Sep 20 12:35:55 1998 Richard Henderson <rth@cygnus.com>
245
246 * fold-const.c (fold): Yet another COND_EXPR bug: when folding
247 to an ABS expr, convert an unsigned input to signed.
248
c479c2ac
JL
249Sun Sep 20 12:14:45 1998 Jeffrey A Law (law@cygnus.com)
250
251 * fold-const.c (fold): Fix another type in COND_EXPR handling code.
252
62616695
MH
2531998-09-20 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
254
255 * configure.in: Add support for c4x targets.
256 * configure: Rebuilt.
257
f5c97640
RH
258Sun Sep 20 00:00:51 1998 Richard Henderson <rth@cygnus.com>
259
260 * combine.c (distribute_notes): If an insn is a cc0 user, only
261 delete it if we can also delete the cc0 setter.
262
a58bd508
MT
263Sun Sep 20 00:22:23 1998 Michael Tiemann <michael@impact.tiemann.org>
264
265 * fold-const.c (fold): Fix typo in COND_EXPR handling code.
266 (invert_truthvalue): Enable truthvalue inversion for
267 floating-point operands if -ffast-math.
268
750930c1
MN
269Sat Sep 19 23:58:07 1998 Melissa O'Neill <oneill@cs.sfu.ca>
270
271 * configure.in: Disable collect2 for nextstep. Instead use
272 crtbegin/crtend.
273 * configure: Rebuilt.
274 * config/nextstep.h (STARTFILE_SPEC): Add crtbegin.
275 (ENDFILE_SPEC): Define.
276 (OBJECT_FORMAT_MACHO): Define.
277 (EH_FRAME_SECTION_ASM_OP): Define.
278 * crtstuff.c: Handle MACHO.
279
655d03a8
RL
280Sun Sep 20 00:24:24 1998 Robert Lipe <robertl@dgii.com>
281
282 * config/i386/sco5.h (TARGET_MEM_FUNCTIONS): Define.
283
b567319f
TG
2841998-09-19 Torbjorn Granlund <tege@matematik.su.se>
285
286 * fp-bit.c (pack_d): Do not clear SIGN when fraction is 0.
287 (_fpadd_parts): Get sign right for 0.
288
9949a9f2
MH
2891998-09-19 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
290
291 * ginclude/varargs.h: Add support for C4x target.
292 * ginclude/stdargs.h: Likewise.
293
3fe5612d
RH
294Sat Sep 19 12:05:09 1998 Richard Henderson <rth@cygnus.com>
295
296 * alpha.c (alpha_return_addr): SET should be VOIDmode.
297 (alpha_emit_set_long_const): Rewrite to be callable from reload
298 and 32-bit hosts.
299 (alpha_expand_epilogue): Update for alpha_emit_set_long_const.
300 * alpha.md (movdi): Likewise.
301
332072db
RE
302Sat Sep 19 07:33:36 1998 Richard Earnshaw (rearnsha@arm.com)
303
304 * arm.c (add_constant): New parameter address_only, change caller.
305 Set it non-zero if taking the address of an item in the pool.
306 (arm_reorg): Handle cases where we need the address of an item in
307 the pool.
308
9c8cc54f
RE
309 * arm.c (bad_signed_byte_operand): Check both arms of a sum in
310 a memory address.
311 * arm.md (splits for *extendqihi_insn and *extendqisi_insn): Handle
312 memory addresses that are not in standard canonical form.
313
cb0ca284
MH
314Sat Sep 19 01:00:32 1998 Michael Hayes (mph@elec.canterbury.ac.nz)
315
316 * README.C4X: New file with information about the c4x ports.
317 * ginclude/va-c4x.h: New file for c4x varargs support.
318 * config/c4x: New directory with c4x port files.
319
f10df53c
JL
320Fri Sep 18 22:52:05 1998 Jeffrey A Law (law@cygnus.com)
321
322 * reload.c (find_reloads): Do not replace a pseudo with
323 (MEM (reg_equiv_addr)) in the initializing insn for the
324 pseudo.
325
5accd822
DE
326Fri Sep 18 23:50:56 1998 David Edelsohn <edelsohn@mhpcc.edu>
327
328 * toplev.c (rest_of_compilation): Set bct_p on second call to
329 loop_optimize.
330 * loop.c (loop_optimize, scan_loop, strength_reduce): New argument
331 bct_p.
332 (strength_reduce): Only call analyze_loop_iterations and
333 insert_bct if bct_p set.
334 (check_dbra_loop): Fix typo.
335 (insert_bct): Use word_mode instead of SImode.
336 (instrument_loop_bct): Likewise. Do not delete iteration count
337 condition code generation insn. Initialize iteration count before
338 loop start.
339 * rtl.h (loop_optimize): Update prototype.
340
341 * ginclude/va-ppc.h (va_arg): longlong types in overflow area are
342 not doubleword aligned.
343
344 * rs6000.c (optimization_options): New function.
345 (secondary_reload_class): Only call true_regnum for PSEUDO_REGs.
346 * rs6000.h (OPTIMIZATION_OPTIONS): Define.
347 (REG_ALLOC_ORDER): Allocate highest numbered condition regsiters
348 first; cr1 can be used for FP record condition insns.
349
d2a73f8e
NC
350Fri Sep 18 09:44:55 1998 Nick Clifton <nickc@cygnus.com>
351
352 * config/m32r/m32r.h (m32r_block_immediate_operand): Add to
353 PREDICATE_CODES.
354
355 * config/m32r/m32r.md: Add "movstrsi" and "movstrsi_internal"
356 patterns.
357
358 * config/m32r/m32r.c (m32r_print_operand): Add 's' and 'p'
359 operators.
360 (block_move_call): New function: Call a library routine to copy a
361 block of memory.
362 (m32r_expand_block_move): New function: Expand a "movstrsi"
363 pattern into a sequence of insns.
364 (m32r_output_block_move): New function: Expand a
365 "movstrsi_internal" pattern into a sequence of assembler opcodes.
366 (m32r_block_immediate_operand): New function: Return true if the
367 RTL is an integer constant, less than or equal to MAX_MOVE_BYTES.
368
7ac2148b
AM
369Thu Sep 17 16:42:16 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
370
371 * except.c (start_catch_handler): Issue 'fatal' instead of 'error' and
372 re-align some code.
373 * libgcc2.c (__eh_rtime_match): fprintf a runtime error. Use <stdio.h>.
374
9d2106a4
R
375Thu Sep 17 12:24:33 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
376
377 * regmove.c (copy_src_to_dest): Check that modes match.
378
086afc19
RL
379Wed Sep 16 22:10:42 1998 Robert Lipe <robertl@dgii.com>
380
381 * config/i386/sco5.h (SUPPORTS_WEAK): True only if targeting ELF.
382
b66a3ac1
RH
383Wed Sep 16 15:24:54 1998 Richard Henderson <rth@cygnus.com>
384
385 * i386.h (PREFERRED_RELOAD_CLASS): Respect an existing class
386 narrower than FLOAT_REGS.
387
0d7138a1
AO
388Wed Sep 16 17:51:00 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
389
390 * cpplib.c: removed OLD_GPLUSPLUS_INCLUDE_DIR
391 * cccp.c: ditto
392 * Makefile.in (old_gxx_include_dir): removed
393
f43a85ca
NC
394Wed Sep 16 12:29:22 1998 Nick Clifton <nickc@cygnus.com>
395
396 * config/sh/sh.h: Update definition of HANDLE_PRAGMA to match
397 new specification.
398
399 * config/sh/sh.c (handle_pragma): Rename to sh_handle_pragma().
400 (sh_handle_pragma): Change function arguments to match new
401 specification for HANDLE_PRAGMA.
402
88dab4f6
KG
403Wed Sep 16 12:43:19 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
404
405 * gen-protos.c (parse_fn_proto): Cast argument of ISALNUM to
406 `unsigned char'.
407 (main): Mark parameter `argc' with ATTRIBUTE_UNUSED.
408 When generating output, initialize missing struct member to zero.
409
1a8fca8a
R
410Wed Sep 16 14:47:43 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
411
412 * regmove.c (copy_src_to_dest): Don't copy if that requires
413 (a) new register(s).
414
f15ebf65
BS
415Wed Sep 16 01:29:12 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
416
417 * global.c (reg_allocno): Now static.
418 * reload1.c (reg_allocno): Delete declaration.
419 (order_regs_for_reload): Take no arguments. Don't treat regs
420 allocated by global differently than those allocated by local-alloc.
421
3dbf3a22
KI
422Wed Sep 16 01:09:01 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
423
b0e982be
KI
424 * m68k/m68k.c (output_function_prologue): Reverse NO_ADDSUB_Q
425 condition, fix format strings.
426 (output_function_epilogue): Likewise.
427
3dbf3a22
KI
428 * m68k/m68k.c: Don't include <stdlib.h> directly.
429
b86ba9c8
GK
430Wed Sep 16 00:30:56 1998 Geoff Keating <geoffk@ozemail.com.au>
431
432 * gcse.c: New definition NEVER_SET for reg_first_set, reg_last_set,
433 mem_first_set, mem_last_set; because 0 can be a CUID.
434 (oprs_unchanged_p): Use new definition.
435 (record_last_reg_set_info): Likewise.
436 (record_last_mem_set_info): Likewise.
437 (compute_hash_table): Likewise.
438
54d65918
JL
439Tue Sep 15 22:59:52 1998 Jeffrey A Law (law@cygnus.com)
440
6f573ff9
JL
441 * rs6000.c (output_epilogue): Handle Chill.
442
fa88e837
JL
443 * mn10200.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
444 * mn10300.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
445
0d8e55d8
JL
446 * combine.c (make_extraction): If no mode is specified for
447 an operand of insv, extv, or extzv, default it to word_mode.
448 (simplify_comparison): Similarly.
449 * expmed.c (store_bit_field): Similarly.
450 (extract_bit_field): Similarly.
451 * function.c (fixup_var_regs_1): Similarly.
452 * recog.c (validate_replace_rtx_1): Similarly.
453 * mips.md (extv, extzv, insv expanders): Default modes for most
454 operands. Handle TARGET_64BIT.
455 (movdi_uld, movdi_usd): New patterns.
456
54d65918
JL
457 * pa.c (emit_move_sequence): Do not replace a pseudo with its
458 equivalent memory location unless we have been provided a scratch
459 register. Similarly do not call find_replacement unless a
460 scratch register has been provided.
461
c09a3c2e
BS
462Tue Sep 15 19:23:01 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
463
464 * i386.h (PREFERRED_RELOAD_CLASS): For standard 387 constants,
465 return FLOAT_REGS.
466
71038426
RH
467Tue Sep 15 19:09:06 1998 Richard Henderson <rth@cygnus.com>
468
469 * tree.h (BUILT_IN_CALLER_RETURN_ADDRESS): Unused. Kill.
470 (BUILT_IN_FP, BUILT_IN_SP, BUILT_IN_SET_RETURN_ADDR_REG): Kill.
471 (BUILT_IN_EH_STUB_OLD, BUILT_IN_EH_STUB, BUILT_IN_SET_EH_REGS): Kill.
472 (BUILT_IN_EH_RETURN, BUILT_IN_DWARF_CFA): New.
473 * c-decl.c (init_decl_processing): Update accordingly.
474 * expr.c (expand_builtin): Likewise.
475
476 * rtl.h (global_rtl): Add cfa entry.
477 (virtual_cfa_rtx, VIRTUAL_CFA_REGNUM): New.
478 (LAST_VIRTUAL_REGISTER): Update.
479 * emit-rtl.c (global_rtl): Add cfa entry.
480 (init_emit): Initialize it.
481 * function.c (cfa_offset): New.
482 (instantiate_virtual_regs): Initialize it.
483 (instantiate_virtual_regs_1): Instantiate virtual_cfa_rtx.
484 (expand_function_end): Call expand_eh_return.
485 * tm.texi (ARG_POINTER_CFA_OFFSET): New.
486
487 * except.c (current_function_eh_stub_label): Kill.
488 (current_function_eh_old_stub_label): Likwise; update all references.
489 (expand_builtin_set_return_addr_reg): Kill.
490 (expand_builtin_eh_stub_old, expand_builtin_eh_stub): Kill.
491 (expand_builtin_set_eh_regs): Kill.
492 (eh_regs): Produce a third reg for the actual handler address.
493 (eh_return_context, eh_return_stack_adjust): New.
494 (eh_return_handler, eh_return_stub_label): New.
495 (init_eh_for_function): Initialize them.
496 (expand_builtin_eh_return, expand_eh_return): New.
497 * except.h: Update prototypes.
498 * flow.c (find_basic_blocks_1): Update references to the stub label.
499 * function.h (struct function): Kill stub label elements.
500
501 * libgcc2.c (in_reg_window): For REG_SAVED_REG, check that the
502 register number is one that would be in the previous window.
503 Provide a dummy definition for non-windowed targets.
504 (get_reg_addr): New function.
505 (get_reg, put_reg, copy_reg): Use it.
506 (__throw): Rely on in_reg_window, not INCOMING_REGNO. Kill stub
507 generating code and use __builtin_eh_return. Use __builtin_dwarf_cfa.
508
509 * alpha.c (alpha_eh_epilogue_sp_ofs): New.
510 (alpha_init_expanders): Initialize it.
511 (alpha_expand_epilogue): Use it.
512 * alpha.h: Declare it.
513 * alpha.md (eh_epilogue): New.
514
515 * m68h.h (ARG_POINTER_CFA_OFFSET): New.
516 * sparc.h (ARG_POINTER_CFA_OFFSET): New.
517
bb210aaf
MM
518Tue Sep 15 19:31:58 1998 Michael Meissner <meissner@cygnus.com>
519
520 * i960.h (CONST_COSTS): Fix thinko. Test flag, not the constant
521 flag bit mask.
522
bf71cd2e
AM
523Tue Sep 15 14:10:54 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
524
525 * except.h (struct eh_entry): Add false_label field.
526 (end_catch_handler): Add prototype.
527 * except.c (push_eh_entry): Set false_label field to NULL_RTX.
528 (start_catch_handler): When using old style exceptions, issue
529 runtime typematch code before continuing with the handler.
530 (end_catch_handler): New function, generates label after handler
531 if needed by older style exceptions.
532 (expand_start_all_catch): No need to check for new style exceptions.
533 (output_exception_table_entry): Only output the first handler label
534 for old style exceptions.
535 * libgcc2.c (__eh_rtime_match): New routine to lump runtime matching
536 mechanism into one function, if a runtime matcher is provided.
537
8a21007c
AM
538Tue Sep 15 13:53:59 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
539
540 * config/i960/i960.h (SLOW_BYTE_ACCESS): Change definition to 1.
541
11d09c08
MM
542Tue Sep 15 09:59:01 1998 Mark Mitchell <mark@markmitchell.com>
543
544 * integrate.c (copy_decl_list): Fix typo.
545
2d81c9bf
DM
546Tue Sep 15 04:18:52 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
547
548 * config/sparc/sparc.md (movdf_const_intreg_sp32): Fix length
549 attribute.
550
e12994ab
JL
551Mon Sep 14 14:02:53 PDT 1998 Jeff Law (law@cygnus.com)
552
553 * version.c: Bump for snapshot.
554
028d0b2a
JL
555Mon Sep 14 10:33:56 PDT 1998 Jeff Law (law@cygnus.com)
556
557 * version.c: Bump for snapshot.
558
466973ed
JL
559Mon Sep 14 09:51:05 PDT 1998 Jeff Law (law@cygnus.com)
560
561 * version.c: Bump for snapshot.
562
ad299d9b
DM
563Sun Sep 13 22:10:18 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
564
565 * invoke.texi (C Dialect Options): Put back missing @end itemize.
566
1b015bec
AO
567Mon Sep 14 02:33:46 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
568
569 * configure.in: remove usage of `!' to negate the result of a
570 command; some common shells do not support it
571
d7496fbb
DM
572Sun Sep 13 19:17:35 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
573
574 * configure.in: in sparc9-sol2 config, use 'if test' not
575 brackets.
576 * configure: Rebuilt.
577
578 * config/sparc/sol2-sld-64.h (SPARC_DEFAULT_CMODEL): Change to
579 CM_MEDANY.
580 (CPP_CPU_SPEC): Do not define _LP64, header files do this.
581 (CPP_CPU_DEFAULT_SPEC): Likewise.
582 * config/sparc/sol2.h (INIT_SUBTARGET_OPTABS): Get the names right
583 for arch64 libfuncs.
584
073149a2
DM
585 * config/sparc/sparc.md (goto_handler_and_restore): Allow any mode
586 for operand zero.
587
007e8d2a
KG
588Sun Sep 13 09:11:59 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
589
590 * acconfig.h (NEED_DECLARATION_STRSIGNAL): Provide a stub.
591
592 * collect2.c: Don't declare `sys_siglist' here.
593 (my_strsignal): Prototype and define new function. Use it in
594 place of `sys_siglist' hacks.
595
596 * mips_tfile.c: Likewise.
597
598 * configure.in (AC_CHECK_FUNCS): Check for strsignal.
599 (GCC_NEED_DECLARATIONS): Likewise.
600
601 * system.h (strsignal): Prototype it, if necessary.
602 (sys_siglist): Declare it, if necessary.
603
9655bf95
DM
604Sun Sep 13 04:37:28 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
605
606 * loop.c (move_movables): While removing insn sequences, preserve
607 the next pointer of the most recently deleted insn when we skip
608 over a NOTE.
609
fbe39e48
BE
610Sun Sep 13 08:13:39 1998 Ben Elliston <bje@cygnus.com>
611
612 * objc/config-lang.in: Do not output the name of the selected
613 thread file when building the front-end. The Makefile for the
614 runtime library will do this.
615
616 * objc/Make-lang.in: Do not build the runtime library or install
617 the Objective C header files. The Makefile for the runtime
618 library will do this.
619
620 * objc/Makefile.in (all.indirect): Only build the front-end.
621 (compiler): Rename to `frontend'.
622 (obj-runtime): Remove target.
623 (copy-headers): Likewise.
624 (clean): No need to remove `libobjc.a' any longer.
625
b91d2c10
MM
626Sat Sep 12 11:37:19 1998 Michael Meissner <meissner@cygnus.com>
627
628 * rs6000.h ({ASM,CPP}_CPU_SPEC): Add support for all machines
629 supported with -mcpu=xxx.
630
86465af7
DM
631Fri Sep 11 23:55:54 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
632
633 * flow.c (mark_set_1): Recognize multi-register structure return
634 values in CALL insns.
635 (mark_used_regs): Likewise.
636 (count_reg_sets_1): Likewise.
637 (count_reg_references): Likewise.
638 * rtlanal.c (note_stores): Likewise.
c0222c21
DM
639 (reg_overlap_mentioned_p): Likewise.
640 * haifa-sched.c (check_live_1): Likewise.
641 (update_live_1): Likewise.
642 (sched_analyze_1): Likewise.
643 (sched_note_set): Likewise.
644 (birthing_insn_p): Likewise.
645 (attach_deaths): Likewise.
646
647 * config/sparc/sparc.md (movdf_const_intreg_sp64): Disable.
648
86465af7 649
37a29ee7
ED
650Fri Sep 11 22:57:55 1998 Eric Dumazet <dumazet@cosmosbay.com>
651
45259482 652 * config/i386/sco5.h (ASM_WEAKEN_LABEL): Defined as in svr4.h.
37a29ee7 653
75bba2a6
DM
654Thu Sep 10 22:02:04 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
655
656 * glimits.h (__LONG_MAX__): Recognize __sparcv9 too.
657
d1accaa3
JJ
658Thu Sep 10 21:19:10 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
659
660 * configure.in: Add check for GAS subsection -1 support.
661 * acconfig.h (HAVE_GAS_SUBSECTION_ORDERING): Add.
662 * configure config.in: Rebuilt.
663 * config/sparc/sparc.h (CASE_VECTOR_MODE): For V9 flag_pic, use
664 SImode is subsection -1 works, else use DImode.
665 (ASM_OUTPUT_ADDR_VEC_START, ASM_OUTPUT_ADDR_VEC_END): Define if
666 subsection -1 works.
667 * config/sparc/sparc.c (sparc_output_addr_vec,
668 sparc_output_addr_diff_vec): Use them if defined.
669
02e24c7a
MM
670Thu Sep 10 10:46:01 1998 Mark Mitchell <mark@markmitchell.com>
671
672 * tree.h (DECL_ORIGIN): New macro.
673 * integrate.c (copy_and_set_decl_abstract_origin): New function.
674 (copy_decl_list): Use it.
675 (integrate_parm_decls): Likewise.
676 (integrate_decl_tree): Likewise.
677 * dwarf2out.c (decl_ultimate_origin): Simplify.
678 * dwarfout.c (decl_ultimate_origin): Likewise.
679 * c-decl.c (duplicate_decls): Use DECL_ORIGIN.
680 (pushdecl): Likewise.
681
9517ead8
AG
682Thu Sep 10 08:01:31 1998 Anthony Green <green@cygnus.com>
683
684 * config/rs6000/rs6000.c (output_epilog): Add Java support.
685
95c81fb8
ML
686