]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Do not create (mem (lo_sum (...)) for TFmode...
[gcc.git] / gcc / ChangeLog
CommitLineData
1e75bc34
JL
1Fri Jan 15 17:43:59 1999 Jeffrey A. Law <law@rtl.cygnus.com>
2
3 * sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Do not create
4 (mem (lo_sum (...)) for TFmode unless TARGET_V9.
5
077613ba
MH
6Sat Jan 16 12:47:15 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
7
8 * config/c4x/c4x.md (not_repeat_reg): Allow ldp instruction
9 in delay slot of RPTBD.
10
11Sat Jan 16 12:26:40 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
12
13 * config/c4x/libgcc.S (___divhi3, ___modhi3): Fix long long
14 divide and modulo sign problem.
15
9f16f932
MH
16Fri Jan 15 11:02:31 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
17
18 * unroll.c (loop_iterations): Return 0 if the last loop insn
19 is not a jump insn or if the loop has multiple back edges.
20
8c55f49c
JL
21Thu Jan 14 22:38:41 1999 Jeffrey A Law (law@cygnus.com)
22
f387b2e4
JL
23 * unroll.c (find_splittable_givs): For a DEST_ADDR giv, do not share
24 a register with another DEST_ADDR giv if the address is not valid.
25
41b6ea68
JL
26 * pa.c (hppa_expand_epilogue): Save and restore the static chain
27 around the call to mcount.
28
1ca7ac43
JL
29 * h8300.h (ASM_OUTPUT_LABELREF): Use asm_fprintf, not fprintf.
30
8c55f49c
JL
31 * stmt.c (expand_end_case): Use emit_cmp_and_jump_insns to avoid
32 generating non-canonical rtl.
33
e4d26fc7
VM
341999-01-14 Vladimir N. Makarov <vmakarov@cygnus.com>
35
36 * config/i960/i960.c (i960_output_move_double_zero,
37 i960_output_move_quad_zero): New functions for moving zeros.
38 (i960_output_move_double, i960_output_move_quad): Additional code
39 for situation when moving unaligned register group.
40
41 * config/i960/i960.h (i960_output_move_double_zero,
42 i960_output_move_quad_zero): The function definitions.
43
44 * config/i960/i960.md (movdi+1, movti+1): Usage of the functions.
45
9ef06443
VM
461999-01-13 Vladimir N. Makarov <vmakarov@cygnus.com>
47
48 * config/i960/i960.c (i960_function_prologue): New code (optimal
49 solution) for saving global registers in local registers.
50 (form_reg_groups, reg_group_compare, split_reg_group): New
51 functions used by the code.
52 (reg_group): New structure definition for the new code.
53
58a2f534
RH
54Wed Jan 13 20:12:37 1999 Richard Henderson <rth@cygnus.com>
55
56 * integrate.c (expand_inline_function): Recognize (mem (addressof))
57 and substitute. Copy the return value from there into a new pseudo.
58
716618d5
CM
59Wed Jan 13 16:47:00 1999 Catherine Moore <clm@cygnus.com>
60
61 * config/arm.c (output_func_epilogue): Check TARGET_ABORT_NORETURN
62 before generating a call to abort for volatile functions.
63 * config/arm.h (ARM_FLAG_ABORT_NORETURN): Define.
64 (TARGET_ABORT_NORETURN): Define.
65 (abort-on-noreturn): New option.
66
9b4f2bb7
MH
67Thu Jan 14 13:52:42 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
68
69 * config/c4x/c4x.md (in_annul_slot_3): Correctly allow unarycc
70 and binarycc operations in 3rd annulled delay slot!
71
eb691392
MH
721999-01-12 Manfred Hollstein <manfred@s-direktnet.de>
73
74 * m68k/mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
75 ensure all prototypes necessary for building libio will be available.
76 * m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Remove
77 definitions here as they are not host specific.
78 * m88k/sysv3.h, m88k/xm-sysv3.h: Likewise.
79
1ff136fd
RH
80Tue Jan 12 02:53:46 1999 Richard Henderson <rth@cygnus.com>
81
82 * cse.c (cse_insn): Never prefer (const (constant_p_rtx)).
83
fb857ec1
JL
84Tue Jan 12 02:36:10 PST 1999 Jeff Law (law@cygnus.com)
85
86 * version.c: Bump for snapshot.
87
d6c0e1c8
RH
88Tue Jan 12 01:30:19 1999 Richard Henderson <rth@cygnus.com>
89
90 * rtl.c (rtx_alloc): Use memset instead of inline loop.
91
b0983bb9
RH
92 * recog.h (recog_op_alt): Declare extern.
93
fbdfe39c
RH
94Tue Jan 12 00:23:31 1999 Richard Henderson <rth@cygnus.com>
95
96 * function.c (purge_addressof_1): If the note accesses a mem+addressof
97 in a wider mode than any replacement, adjust the cached replacement.
98 Cache trivial substitutions as well.
99
5f6c11d6
RH
100Tue Jan 12 00:06:00 1999 Richard Henderson <rth@cygnus.com>
101
102 * Makefile.in (OBJECTS): Add sbitmap.o.
103 (BASIC_BLOCK_H): Add sbitmap.h.
104 * basic-block.h: Move simple bitmap code to sbitmap.h.
105 * flow.c: Move simple bitmap code to sbitmap.c
106 * sbitmap.h, sbitmap.c: New files.
107
ca7cdae3
RH
108Mon Jan 11 23:51:50 1999 Richard Henderson <rth@cygnus.com>
109
110 * alpha.h (TARGET_SWITCHES): Document switches.
111 (TARGET_OPTIONS): Likewise.
112
113 * alpha/elf.h (ASM_FINISH_DECLARE_OBJECT): Use HOST_WIDE_INT_PRINT_DEC.
114
a17fcad7
RH
115Mon Jan 11 22:54:14 1999 Richard Henderson <rth@cygnus.com>
116
117 * tree.c (new_alias_set): Return zero if !flag_strict_aliasing.
118
3b413743
RH
119Mon Jan 11 22:36:01 1999 Richard Henderson <rth@cygnus.com>
120
121 * basic-block.h (basic_block_head): Rename to x_basic_block_head.
122 (basic_block_end): Rename to x_basic_block_end.
123 (BLOCK_HEAD, BLOCK_END): Update.
124
125 * caller-save.c: Change basic_block_head/end references to
126 BLOCK_HEAD/END.
127 * combine.c, flow.c, function.c, gcse.c, global.c: Likewise.
128 * graph.c, haifa-sched.c, local-alloc.c, regclass.c: Likewise.
129 * regmove.c, reload1.c, reorg.c, sched.c: Likewise.
130
3bd380b1
VM
131Thu Jan 11 18:37:50 1999 Vladimir N. Makarov <vmakarov@cygnus.com>
132
133 * invoke.texi (-mcpu=740, -mcpu=750): New options.
134 (-m(no-)multiple, -m(no-)string): Describe cases for PPC740 &
135 PPC750.
136
1371999-01-11 Michael Meissner <meissner@cygnus.com>
138
139 * config/rs6000/rs6000.h ({ASM,CPP}_CPU_SPEC): Add support for all
140 machines supported with -mcpu=xxx.
141 (processor_type): Add PROCESSOR_PPC750.
142 (ADJUST_PRIORITY): Call rs6000_adjust_priority.
143 (RTX_COSTS): Supply costs for 750 multiply/divide operations.
144 (rs6000_adjust_priority): Add declaration.
145
146 * config/rs6000/rs6000.c (rs6000_override_options):
147 -mcpu={750,740} now sets the processor type as 750, not 603.
148 Allow -mmultiple and -mstring on little endian 750 systems.
149 (rs6000_adjust_priority): Stub for now.
150 (get_issue_rate): The PowerPC 750 can issue 2 instructions/cycle.
151
152 * config/rs6000/rs6000.md (function/cpu attributes): Add initial
153 ppc750 support.
154
155 * config/rs6000/sysv4.h (STRICT_ALIGNMENT): Don't force strict
156 alignment if little endian.
157 (CC1_SPEC): Pass -mstrict-align if little endian, and not
158 overridden.
159 (CC1_ENDIAN_{LITTLE,BIG,DEFAULT}_SPEC): Endian specific configs.
160 (SUBTARGET_EXTRA_SPECS): Add cc1 endian specs.
161
162 * config/rs6000/{sysv4,eabi}le.h (CC1_ENDIAN_DEFAULT_SPEC):
163 Override, default is little endian.
164
165 * config/rs6000/t-ppcgas (MULTILIB_*): Delete obsolete Solaris
166 multilibs.
167
ed35cf6e
KG
168Sat Jan 9 23:54:09 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
169
170 * gcc.c (xstrerror): Renamed from my_strerror. All callers
171 changed. Remove prototype since we get that from libiberty.h.
172
173 * protoize.c (xstrerror): Likewise.
174
22d9f2cf
KG
175Sat Jan 9 23:22:04 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
176
177 * gcc.c (read_specs): Ensure format specifiers match their arguments.
178
c2c41b7e
RH
179Sat Jan 9 20:04:24 1999 Richard Henderson <rth@cygnus.com>
180
181 * tree.c (copy_node): Oops. That would be copy not zero
182 in that last change.
183
5e6a42d9
MH
184Sun Jan 10 15:35:41 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
185
186 * config/c4x/c4x.c: Include system.h.
187 (c4x_caller_save_map): Disable caller save for RC.
188 (c4x_optimization_options): Disable scheduling before reload.
189 (valid_parallel_load_store) : Define return type as int.
190 Remove unused variable regs.
191 * config/c4x/c4x.h (REGISTER_MOVE_COST): Make independent of register
192 class.
193 * config/c4x/c4x.md (rotlqi3, rotrqi3): Fix up emitted RTL to
194 handle rotations.
195 (*db, decrement_and_branch_until_zero): Fix up constraints
196 to keep reload happy.
197
dfa27ef1
RH
198Sat Jan 9 18:35:29 1999 Richard Henderson <rth@cygnus.com>
199
200 * tree.c (make_node): Call bzero instead of inline clear.
201 (copy_node, make_tree_vec, build1): Likewise.
202 (get_identifier): Call strlen instead of inline count.
203 (maybe_get_identifier): Likewise.
204
dfb31eec
MH
205Sun Jan 10 14:04:51 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
206
207 * config/c4x/c4x.md: (in_annul_slot_3): Allow unarycc and binarycc
208 operations in 3rd annulled delay slot.
209 (*lshrqi3_const_set): Disallow c constraint for operand0.
210 (modhi3+1, modhi3+2): Set attribute type to multi.
211 * config/c4x/c4x.c (c4x_S_constraint): Removed space in middle of
212 != operator.
213
a6b1d0a7
KG
214Sat Jan 9 11:44:55 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
215
216 * gansidecl.h: Allow attribute unused on labels only when we are
217 version 2.93 or higher. Not all versions of 2.92 have this feature.
218
219 * version.c: Bump minor number to 93.
220
523bb0ba
AS
221Fri Jan 8 10:51:13 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
222
223 * config/m68k/m68k.h: Declare output_function_epilogue.
224 * recog.h: Declare next_insn_tests_no_inequality.
225
2668793e
JL
226Fri Jan 8 01:43:53 1999 Jeffrey A Law (law@cygnus.com)
227
642cac7b
JL
228 * stmt.c (optimize_tail_recursion): New function, extracted from ...
229 (expand_return): Use optimize_tail_recursion.
230 * tree.h (optimize_tail_recursion): Declare.
231
2668793e
JL
232 * toplev.c (compile_file): Move call to output_func_start_profiler
233 to after the loop to emit deferred functions.
234
642cac7b
JL
235Thu Jan 7 19:52:53 1999 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
236
237 * system.h (abort): Supply more detailed information on how to
238 report an Internal Compiler Error.
239
8e6a59fe
MM
240Thu Jan 7 11:26:17 1999 Mark Mitchell <mark@markmitchell.com>
241
242 * calls.c (store_unaligned_arguments_into_pseudos): Use xmalloc to
243 allocate memory that will live beyond this function.
244 (expand_call): Free it here.
245
8947065c
RH
246Thu Jan 7 03:08:17 1999 Richard Henderson <rth@cygnus.com>
247
248 * sparc.h (PREFERRED_RELOAD_CLASS): Select GENERAL_REGS for
249 integer data not destined for fp regs.
250 (LEGITIMIZE_RELOAD_ADDRESS): New.
251
252Thu Jan 7 03:03:42 1999 Stan Cox <scox@cygnus.com>
253 Richard Henderson <rth@cygnus.com>
254
255 Support for Hypersparc and Sparclite86x:
256 * sparc.h (TARGET_CPU_hypersparc, TARGET_CPU_sparclite86x): New.
257 (CPP_CPU32_DEFAULT_SPEC): Fix up for the new targets.
258 (ASM_CPU32_DEFAULT_SPEC): Likewise.
259 (TARGET_CPU_DEFAULT): Likewise.
260 (enum processor_type): Likewise.
261 (CPP_ENDIAN_SPEC): Handle little endian data.
262 (LIBGCC2_WORDS_BIG_ENDIAN): Likewise.
263 (ADJUST_COST): Call sparc_adjust_cost.
264 * sparc.c (sparc_override_options): Fix up for the new targets.
265 (supersparc_adjust_cost): Make static.
266 (hypersparc_adjust_cost): New.
267 (ultrasparc_adjust_cost): Make static.
268 (sparc_adjust_cost): New.
269 * sparc.md (attr cpu): Add hypersparc and sparclite86x.
270 (function_unit): Add hypersparc scheduling rules.
271
272 * configure.in (with_cpu handler): Recognize hypersparc.
273
4ddb3ea6
MH
274Thu Jan 7 23:54:05 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
275
276 * config/c4x/c4x.c: Added space after negation operator.
277 * config/c4x/c4x.h: Likewise.
278 * config/c4x/c4x.md: Likewise.
279
f2b15118
MH
280Thu Jan 7 23:39:27 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
281
282 * config/c4x/c4x.c (c4x_preferred_reload_class): Always return class.
283
70186b34
BS
284Thu Jan 7 00:29:25 199 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
285
286 * combine.c (num_sign_bit_copies): In NEG, MULT, DIV and MOD cases,
287 when a test can't be performed due to limited width of
288 HOST_BITS_PER_WIDE_INT, use the more conservative approximation.
289 Fix UDIV case for cases where the first operand has the highest bit
290 set.
291
548e44b3
LV
292Thu Jan 7 00:01:38 1999 Lutz Vieweg <lkv@mania.robin.de>
293
294 * pa.h (reg_class): Add FPUPPER_REGS.
295 (REG_CLASS_NAMES): Similarly.
296 (REG_CLASS_CONTENTS): Similarly
297 (REGNO_REG_CLASS): Handle FPUPPER_REGS.
298 (FP_REG_CLASS_P): Likewise.
299 (REG_CLASS_FROM_LETTER): Similarly.
300 (CLASS_MAX_NREGS): Similarly.
301
884ba59a
BK
3021999-01-06 Brendan Kehoe <brendan@cygnus.com>
303
304 * fixincludes: For HP/UX 10.20, also look in curses_colr/curses.h
305 for a typedef of bool. Make sure to have a copy of the file is
306 in place before we look to fix it. Fix typo in variable name to
307 FILE.
308
44d22bef
RH
309Wed Jan 6 07:51:05 1999 Richard Henderson <rth@cygnus.com>
310
311 * expr.c (expand_builtin) [case BUILT_IN_CONSTANT_P]: Use
312 value_mode for the return mode.
313
90e6a802
RL
314Wed Jan 6 17:55:19 1999 Robert Lipe <robertlipe@usa.net>
315
316 * configure.in: New flag --with-dwarf2. If set, enables DWARF-2
317 debugging as default.
318
319 * config/tm-dwarf2.h: New file.
320
20efdf74
JL
321Wed Jan 6 16:08:54 1999 Jeffrey A Law (law@cygnus.com)
322
ee65dab8
JL
323 * h8300.h (ASM_OUTPUT_LABELREF): Define.
324
4f72f5da
JL
325 * pa.h (DONT_RECORD_EQUIVALENCE): Kill.
326 * local-alloc.c (update_equiv_regs): Corresponding changes.
327 * tm.texi (DONT_RECORD_EQUIVALENCE): Kill.
328
ca54603f
JL
329 * calls.c (special_function_p): Push alloca test inside the large
330 conditional which excludes functions not at file scope or not
331 extern.
332
20efdf74
JL
333 * calls.c (special_function_p): New function broken out of
334 expand_call.
335 (precompute_register_parameters): Likewise.
336 (store_one_arg): Likewise.
337 (store_unaligned_argumetns_into_pseudos): Likewise.
338 (save_fixed_argument_area): Likewise.
339 (restore_fixed_argument_area): Likewise.
340 (expand_call): Corresponding changes.
341
4a8832ee
AS
342Wed Jan 6 10:43:29 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
343
344 * config/m68k/m68k.c (const_uint32_operand): Remove CONSTANT_P_RTX
345 handling.
346 (const_sint32_operand): Likewise.
347
2813b56e
KG
348Wed Jan 6 09:44:51 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
349
350 * toplev.h: In addition to checking _JBLEN, also check if `setjmp'
351 is a macro when deciding if we can use `jmp_buf' in prototypes.
352
e4e30b3d
MH
353Thu Jan 7 00:12:24 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
354
355 * config/c4x/c4x.md (addqi3): If the destination operand is
356 a hard register other than an extended precision register,
357 emit addqi3_noclobber.
358 (*addqi3_noclobber_reload): New pattern added so that reload
359 will recognise a store of a pseudo, equivalent to the sum
360 of the frame pointer and a constant, as an add insn.
361
2f197d2f
ME
362Wed Jan 6 03:18:53 1999 Mark Elbrecht <snowball3@usa.net.
363
364 * configure.in (pc-msdosdjgpp): Set x_make to x-go32.
365 * configure: Rebuilt.
366 * i386/xm-go32.h: Define LIBSTDCXX.
367 * i386/x-go32: New.
368 * i386/go32.h (MD_EXEC_PREFIX): Define.
369 (FILE_NAME_ABSOLUTE_P): Define.
370 (LINK_COMMAND_SPEC): Define.
371
b3fa7e9f
CH
372Wed Jan 6 02:23:36 1999 "Charles M. Hannum" <root@ihack.net>
373
374 * expr.c (store_expr): If the lhs is a memory location pointed
375 to be a postincremented (or postdecremented) pointer, always
376 force the rhs to be evaluated into a pseudo.
377
7735516c
GK
378Wed Jan 6 00:54:21 1999 Geoff Keating <geoffk@ozemail.com.au>
379
380 * real.c (mtherr): Print more reasonable warning messages.
381
460ee112
KG
382Tue Jan 5 21:57:42 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
383
384 * Makefile.in (gcc.o, prefix.o, cccp.o, cpplib.o): Depend on prefix.h.
385
386 * cccp.c: Include prefix.h, don't prototype prefix.c functions.
387 (new_include_prefix): Constify char* parameters.
388
389 * cppfiles.c (read_name_map): Likewise.
390 (append_include_chain): Likewise. Also, use a writable char* copy
391 of parameter `dir' which we then modify, rather than using the
392 parameter itself to store the new writable string.
393 (remap_filename): Constify some variables. Also, use a writable
394 char* to store an allocated string which we will be modifying.
395
396 * cpplib.c: Include prefix.h, don't prototype prefix.c functions.
397 (cpp_start_read): Constify variable `str'.
398
399 * cpplib.h (append_include_chain): Constify a char* parameter.
400
401 * gcc.c Include prefix.h, don't prototype prefix.c functions.
402 (add_prefix, save_string): Constify char* parameters.
403 (fatal, error): Add ATTRIBUTE_PRINTF_1 to prototypes.
404
405 * prefix.c: Include prefix.h.
406 (get_key_value, translate_name, save_string, update_path,
407 set_std_prefix): Constify various char* parameters and variables.
408 (save_string): Use xmalloc, not malloc.
409 (translate_name): Use a writable temporary variable to create and
410 modify a string before setting it to a const char*.
411
412 * prefix.h: New file to prototype functions exported from prefix.c.
413
bb2d453f
DB
414Mon Jan 4 15:37:30 1999 Zack Weinberg <zack@rabi.phys.columbia.edu>
415
416 * cpplib.c (skip_if_group): Split out the logic that handles
417 directive recognition to its own function. Don't use
418 parse markers; use a bare pointer into the buffer. Use
419 copy/skip_rest_of_line instead of doing it by hand. Remove
420 `return on any directive' mode which was never used, and take
421 only one argument.
422 (consider_directive_while_skipping): New function, subroutine
423 of skip_if_group. Logic streamlined a bit.
424 (conditional_skip, do_elif, do_else): Call skip_if_group with
425 only one argument.
426
427Mon Jan 4 15:27:30 1999 Zack Weinberg <zack@rabi.phys.columbia.edu>
428
429 * cpplib.c (do_undef): EOF immediately after '#undef FOO' is not an
430 error.
431
0ded1f18
JM
432Mon Jan 4 11:55:51 1999 Jason Merrill <jason@yorick.cygnus.com>
433
434 * extend.texi (Bound member functions): Document.
435
47e6be47
KG
436Mon Jan 4 11:01:48 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
437
438 * mips-tdump.c (st_to_string, sc_to_string, glevel_to_string,
439 lang_to_string, type_to_string): Make return type const char*.
440 (print_symbol): Apply `const' keyword to a char*.
441 (print_file_desc): Cast structure member `crfd' to ulong when
442 comparing against one.
443
444 * mips-tfile.c (pfatal_with_name): Apply `const' keyword to char*.
445 (fatal, error): Add ATTRIBUTE_PRINTF_1 to prototypes.
446 (progname, input_name): Apply `const' keyword to a char*.
447 Don't redundantly include sys/stat.h.
448 (alloc_info): Apply `const' keyword to a char*.
449 (st_to_string, sc_to_string): Likewise.
450 (hash_string): Cast variable `hash_string' to a symint_t when
451 comparing against one.
452 (add_string): Cast PAGE_USIZE to Ptrdiff_t when comparing against one.
453 Likewise cast it to long when comparing against one.
454 (add_local_symbol): Apply `const' keyword to a char*.
455 (add_ext_symbol): Likewise.
456 (add_unknown_tag): Likewise.
457 (add_procedure): Cast a printf-style field width to an int.
458 (add_file): Cast PAGE_USIZE to long when comparing against one
459 (parse_begin): Cast a printf-style field width to an int.
460 (parse_bend): Likewise.
461 (parse_def): Likewise.
462 (parse_end): Likewise.
463 (mark_stabs): Mark parameter `start' with ATTRIBUTE_UNUSED.
464 (parse_stabs_common): Fix format specifier.
465 (parse_input): Change type of variable `i' to Size_t.
466 (write_object): Fix arguments to match format specifiers.
467 Cast variable `num_write' to long when comparing against one.
468 (read_seek): Cast variable `sys_read' to symint_t when comparing
469 against one. Fix arguments to match format specifiers. Cast
470 variable `size' to long when comparing against one.
471 (copy_object): Cast result of `sizeof' to int when comparing
472 against one. Fix arguments to match format specifiers. Cast
473 variable `ifd' to long when comparing against a signed value.
474 Likewise, likewise.
475
736b02fd
KG
476Mon Jan 4 10:30:33 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
477
478 * c-common.c (decl_attributes): Allow applying attribute `unused'
479 on a LABEL_DECL.
480
481 * c-parse.in (label): Parse attributes after a label, and call
482 `decl_attributes' to handle them.
483
484 * gansidecl.h (ATTRIBUTE_UNUSED_LABEL): Define.
485
486 * genrecog.c (OUTPUT_LABEL, write_tree_1, write_tree): When
487 generating labels, mark them with ATTRIBUTE_UNUSED_LABEL.
488
489 * invoke.texi: Note that labels can be marked `unused'.
490
f430a01e
JL
491Sun Jan 3 23:32:18 PST 1999 Jeff Law (law@cygnus.com)
492
493 * version.c: Bump for snapshot.
494
3b0d546a
JL
495Sun Jan 3 23:00:42 1999 Jeffrey A Law (law@cygnus.com)
496
497 * optabs.c (emit_cmp_and_jump_insns): Use CONSTANT_P canonicalizing
498 RTL for a compare/jump sequence.
499
362cc3d4
MH
500Sun Jan 3 22:58:15 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
501
502 * optabs.c (emit_cmp_insn): Abort if asked to emit non-canonical RTL
503 for a target with HAVE_cc0 defined.
504 (emit_cmp_and_jump_insns): New function.
505 * expr.h (emit_cmp_and_jump_insns): Prototype it.
506 * loop.c (check_dbra_loop): Use it to replace calls
507 to emit_cmp_insn and emit_jump_insn and to canonicalise
508 the comparison if necessary.
509 * unroll.c (unroll_loop): Likewise.
510
9d6b41f3
RO
511Sun Jan 3 21:01:04 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
512
1cd0a8ed
RO
513 * fixincludes (sys/utsname.h): Provide forward declaration of
514 struct utsname on Ultrix V4.[35].
515
9d6b41f3
RO
516 * mips.md (div_trap): Use local labels instead of dot-relative
517 branches.
518
dcaeffef
JL
519Sun Jan 3 20:40:34 1999 Jeffrey A Law (law@cygnus.com)
520
521 * pa.md (branch, negated branch): Handle (const_int 0) as first
522 source operand.
523 * pa.c (output_cbranch): Likewise.
524
8dda1a21
DE
525Sun Jan 3 03:20:38 1999 David Edelsohn <edelsohn@mhpcc.edu>
526
527 * rs6000.c (rs6000_stack_info): Undo spurious part of last
528 change.
529
1048777f
MH
5301999-01-01 Manfred Hollstein <manfred@s-direktnet.de>
531
532 * extend.texi (__builtin_constant_p): Add missing @smallexample.
533
a94b6ed9
JL
534Fri Jan 1 11:48:20 1999 Jeffrey A Law (law@cygnus.com)
535
536 * i386.md (doubleword shifts): Fix dumb mistakes in previous change.
537
f203c520
JL
538Wed Dec 30 23:38:55 1998 Jeffrey A Law (law@cygnus.com)
539
4cca99f4
JL
540 * m68k.md (adddi_dilshr32): Allow all operands to be registers too.
541 (adddi_dishl32): Similarly.
542
97577254
JL
543 * cse.c (invalidate_skipped_block): Call invalidate_from_clobbers
544 for each insn in the skipped block.
545
f67c2384
JL
546 * reload1.c (reload_as_needed): Verify that the insn satisfies its
547 constraints after replacing a register address with an autoincrement
548 address for reload inheritance purposes.
549
f203c520
JL
550 * i386.md (doubleword shifts): Avoid namespace pollution.
551
56830143
DB
552Wed Dec 30 23:00:28 1998 David O'Brien <obrien@NUXI.com>
553
554 * configure.in (FreeBSD ELF): Needs special crt files.
555
2966b437
GN
556Wed Dec 30 22:50:13 1998 Geoffrey Noer <noer@cygnus.com>
557
558 * i386/xm-cygwin.h: change DIR_SEPARATOR to forward slash.
559
2c74fb2b
AS
5601998-12-30 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
561
562 * loop.c (check_dbra_loop): While reversing the loop, if the
563 comparison value has a VOID mode use the mode of the other operand
564 to compute the mask.
565
ff381587
MM
566Wed Dec 30 22:24:00 1998 Michael Meissner <meissner@cygnus.com>
567
568 * rs6000.md ({save,restore}_stack_function): Take 2 operands to
569 avoid warnings in compiling explow.c.
570
571 (patch from Ken Raeburn, raeburn@cygnus.com)
572 * rs6000.c (rs6000_stack_info): Force 8-byte alignment of
573 fpmem_offset. Compute total size after that, and then
574 rs6000_fpmem_offset using both values.
575
c2a26505
GP
576Mon Dec 28 19:26:32 1998 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
577
578 * gcc.texi (Non-bugs): ``Empty'' loops will be optimized away in
579 the future; indeed that already happens in some cases.
580
11301057
RH
581Tue Dec 29 11:58:53 1998 Richard Henderson <rth@cygnus.com>
582
583 * sparc.c (input_operand): Recognize (const (constant_p_rtx)).
584 (arith_operand): Remove constant_p_rtx handling.
585 (const64_operand, const64_high_operand): Likewise.
586 (arith11_operand, arith10_operand, arith_double_operand): Likewise.
587 (arith11_double_operand, arith10_double_operand, small_int): Likewise.
588 (small_int_or_double, uns_small_int, zero_operand): Likewise.
589 * sparc.h (PREDICATE_CODES): Likewise.
590
30dfe54a
RH
591 * rtl.h (CONSTANT_P): Remove CONSTANT_P_RTX.
592
185ebd6c
RH
593Tue Dec 29 11:32:54 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>:
594
595 * rtl.def (CONSTANT_P_RTX): Clarify commentary.
596 * expr.c (expand_builtin, case BUILT_IN_CONSTANT_P): Rework to
597 consider constant CONSTRUCTOR constant and to defer some cases
598 to cse.
599 * cse.c (fold_rtx, case CONST): Add handling for CONSTANT_P_RTX.
600 * regclass.c (reg_scan_mark_refs, case CONST): Likewise.
601
602Tue Dec 29 11:30:10 1998 Richard Henderson <rth@cygnus.com>
603
604 * expr.c (init_expr_once): Kill can_handle_constant_p recognition.
605 * cse.c (fold_rtx, case 'x'): Remove standalone CONSTANT_P_RTX code.
606
607 * alpha.c (reg_or_6bit_operand): Remove CONSTANT_P_RTX handling.
608 (reg_or_8bit_operand, cint8_operand, add_operand): Likewise.
609 (sext_add_operand, and_operand, or_operand): Likewise.
610 (reg_or_cint_operand, some_operand, input_operand): Likewise.
611 * alpha.h (PREDICATE_CODES): Likewise.
612
081f12b3
JL
613Sat Dec 26 23:26:26 PST 1998 Jeff Law (law@cygnus.com)
614
615 * version.c: Bump for snapshot.
616
7ce1e6c8
JL
617Sat Dec 26 09:17:04 1998 Jeffrey A Law (law@cygnus.com)
618
ba476f75
JL
619 * gengenrtl.c (gencode): Always use bzero to clear memory instead
620 of dangerous casts and stores.
621
7ce1e6c8
JL
622 * Makefile.in (compare, gnucompare): Add missing else true clauses.
623
4b855767
JL
624Fri Dec 25 23:00:56 1998 Jeffrey A Law (law@cygnus.com)
625
626 * alpha.md (builtin_longjmp): Add missing "DONE".
627
6405c0ec
SC
628Thu Dec 24 10:39:57 1998 Stan Cox <scox@cygnus.com>
629
630 * gcc.c (execute): Enable -pipe with win32.
631
a1e27b76
NC
632Wed Dec 23 10:27:44 1998 Nick Clifton <nickc@cygnus.com>
633
634 * config/arm/t-arm-elf: Add multiplib option for leading
635 underscores.
636
637 * config/arm/thumb.h (ASM_OUTPUT_LABELREF): Use variable
638 'user_label_prefix' rather than macro USER_LABEL_PREFIX.
639
640 (thumb_shiftable_const): Use macro 'BASE_REG_CLASS' rather
641 than variable 'reload_address_base_reg_class'. [Note this
642 change is unrelated to the others in this patch].
643
644 * config/arm/unknown-elf.h (USER_LABEL_PREFIX): Default to no
645 leading underscore.
646
973838fd
KG
647Wed Dec 23 09:51:32 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
648
649 * alias.c (record_alias_subset): Remove ignored `&'.
650 (init_alias_once): Likewise.
651
652 * c-lex.c (UNGETC): Cast first argument of comma expression to void.
653
654 * config/mips/mips.c (mips_asm_file_end): Cast the result of
655 fwrite to `int' when comparing against one.
656
657 * config/mips/mips.h (CAN_ELIMINATE): Add parens around && within ||.
658 (INITIAL_ELIMINATION_OFFSET): Add braces to avoid ambiguous `else'.
659
660 * cse.c (rehash_using_reg): Change type of variable `i' to
661 unsigned int.
662
663 * dwarf2out.c (initial_return_save): Cast -1 to unsigned before
664 assigning it to one.
665
666 * except.c (duplicate_eh_handlers): Remove unused variable `tmp'.
667
668 * final.c (final_scan_insn): Likewise for variable `i'.
669 (output_asm_insn): Cast a char to unsigned char when used as an
670 array index.
671
672 * gcse.c (compute_pre_ppinout): Cast -1 to SBITMAP_ELT_TYPE when
673 assigning it to one.
674
675 * loop.c (strength_reduce): Remove unused variables `count' and `temp'.
676
677 * recog.c (preprocess_constraints): Cast a char to unsigned char
678 when used as an array index.
679
680 * regmove.c (find_matches): Likewise.
681
682 * reload1.c (calculate_needs): Add default case in switch.
683 (eliminate_regs_in_insn): Initialize variable `offset'.
684 (set_offsets_for_label): Change type of variable `i' to unsigned.
685 (reload_as_needed): Wrap variable `i' in macro check on
686 AUTO_INC_DEC || INSN_CLOBBERS_REGNO_P.
687
688 * scan-decls.c (scan_decls): Mark parameters `argc' and `argv'
689 with ATTRIBUTE_UNUSED. Cast variable `start_written' to size_t
690 when comparing against one.
691
692 * stor-layout.c (layout_decl): Cast maximum_field_alignment to
693 unsigned when comparing against one. Likewise for
694 GET_MODE_ALIGNMENT().
695 (layout_record): Cast record_align to int when comparing against a
696 signed value.
697 (layout_type): Cast TYPE_ALIGN() to int when comparing against a
698 signed value.
699
700 * tree.c (get_identifier): Cast variable `len' to unsigned when
701 comparing against one.
702 (maybe_get_identifier): Likewise
703
2ae74651
JL
704Wed Dec 23 00:10:01 1998 Jeffrey A Law (law@cygnus.com)
705
706 * toplev.c (rest_of_compilation): Do not set reload_completed.
707 * reload1.c (reload): Set reload_completed before calling
708 cleanup_subreg_operands.
709
3d0ec3b3
RH
710Tue Dec 22 23:58:31 1998 Richard Henderson <rth@cygnus.com>
711
712 * reload1.c (emit_reload_insns): Check `set' not null before use.
713
cae8acdd
NC
714Tue Dec 22 15:15:45 1998 Nick Clifton <nickc@cygnus.com>
715
716 * rtlanal.c (multiple_sets): Change type of 'found' from 'rtx' to
717 'int'.
718
34fadae0
TP
719Tue Dec 22 13:55:44 1998 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
720
721 * halfpic.c (half_pic_encode): Delete redundant code.
722
2f0d2c99
MM
723Tue Dec 22 13:02:22 1998 Michael Meissner <meissner@cygnus.com>
724
725 * toplev.c (main): Delete handling of -dM as a preprocessor
726 option.
727
b5c7059b
MM
728Mon Dec 21 17:39:38 1998 Michael Meissner <meissner@cygnus.com>
729
730 * toplev.c (main): Don't emit any warnings when using -dD, -dM, or
731 -dI, which are handled by the preprocessor.
732
62481348
JC
733Sun Dec 20 16:13:44 1998 John F. Carr <jfc@mit.edu>
734
735 * configure.in: Handle Digital UNIX 5.x the same as 4.x.
736 * i386/sol2.h: Define LOCAL_LABEL_PREFIX as ".".
737
1ead53b3
JL
738Sun Dec 20 07:39:52 PST 1998 Jeff Law (law@cygnus.com)
739
740 * version.c: Bump for snapshot.
741
24ccb032
JL
742Sat Dec 19 22:24:22 PST 1998 Jeff Law (law@cygnus.com)
743
744 * version.c: Bump for snapshot.
745
a5e3973f
JL
746Sat Dec 19 21:41:32 PST 1998 Jeff Law (law@cygnus.com)
747
748 * version.c: Bump for snapshot.
749
85fda1eb
KG
750Sat Dec 19 09:52:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
751
752 * genattr.c (fatal): Qualify a char* with the `const' keyword.
753
754 * genattrtab.c (fatal, attr_printf, attr_string, write_attr_set,
755 write_unit_name, write_eligible_delay, expand_units,
756 make_length_attrs, write_attr_case, find_attr,
757 make_internal_attr): Likewise.
758 * gencheck.c (tree_codes): Likewise.
759 * gencodes.c (fatal): Likewise.
760 * genconfig.c (fatal): Likewise.
761 * genemit.c (fatal): Likewise.
762 * genextract.c (fatal, walk_rtx, copystr): Likewise.
763 * genflags.c (fatal): Likewise.
764 * genopinit.c (fatal, optabs, gen_insn): Likewise.
765 * genoutput.c (fatal, error, predicates): Likewise.
766 * genpeep.c (fatal): Likewise.
767 * genrecog.c (fatal, decision, pred_table, add_to_sequence,
768 write_tree_1, write_tree, change_state, copystr, indents): Likewise.
769
21f891de
RO
770Thu Dec 17 18:21:49 1998 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
771
94878f15
RO
772 * configure.in (with-fast-fixincludes): Fix whitespace.
773 * configure: Rebuilt.
774
21f891de
RO
775 * fixincludes (c_asm.h): Wrap Digital UNIX V4.0B DEC C specific
776 asm() etc. function declarations in __DECC.
777
b2e7e6fb
NC
778Thu Dec 17 13:57:23 1998 Nick Clifton <nickc@cygnus.com>
779
780 * expr.c (emit_move_insn_1): Only emit a clobber if the target
781 is a pseudo register.
782
3cdbd1f8
NC
783Thu Dec 17 13:50:29 1998 Nick Clifton <nickc@cygnus.com>
784
785 * gcse.c: Include expr.h in order to get the prototype for
786 get_condition() which is used in delete_null_pointer_checks().
787
cce4a958
KG
788Thu Dec 17 15:58:26 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
789
790 * hwint.h: New file to consolidate HOST_WIDE_INT (etc) macros.
791
2df8df36
JW
792Thu Dec 17 12:31:12 1998 Jim Wilson <wilson@cygnus.com>
793
794 * Makefile.in (INTERNAL_CFLAGS): Add SCHED_CFLAGS.
795 (ALL_CFLAGS): Delete SCHED_CFLAGS.
796
0197d76b
VM
7971998-12-17 Vladimir N. Makarov <vmakarov@cygnus.com>
798
799 * config/i60/i960.md (extendqihi2): Fix typo (usage ',' instead of
800 ';').
801
8021998-12-17 Michael Tiemann <tiemann@axon.cygnus.com>
803
804 * i960.md (extend*, zero_extend*): Don't generate rtl that looks
805 like (subreg:SI (reg:SI N) 0), because it's wrong, and it hides
806 optimizations from the combiner.
807
86147f48
R
808Thu Dec 17 08:27:03 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
809
810 * loop.c (combine_givs_used_by_other): Don't depend on n_times_set.
811
16b6e120
NC
812Wed Dec 16 17:30:35 1998 Nick Clifton <nickc@cygnus.com>
813
814 * toplev.c (main): Disable optimize_size if a specific
815 optimization level is requested. Always set optimization
816 level to 2 if -Os is specified.
817
05c32e16
DB
818Wed Dec 16 16:33:04 1998 Dave Brolley <brolley@cygnus.com>
819
820 * objc/lang-specs.h: Pass -MD, -MMD and -MG to cc1obj if configured with
821 cpplib.
822 * cpplib.c (cpp_start_read): If in_fname is not initialized, try to
823 initialize it using fname.
824
692b872e
ZW
8251998-12-16 Zack Weinberg <zack@rabi.phys.columbia.edu>
826
827 * cpplib.c (do_include): Treat #include_next in the
828 primary source file as #include plus warning. Treat
829 #include_next in a file included by absolute path as an
830 error. fp == CPP_NULL_BUFFER is a fatal inconsistency.
831
36b8337d
KG
832Wed Dec 16 12:28:54 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
833
834 * cccp.c: Don't define MIN/MAX anymore.
835 * cpplib.c: Likewise.
836 * machmode.h: Likewise.
837 * system.h: Provide definitions for MIN/MAX.
838
2d234b4f
ZW
839Tue Dec 15 23:47:42 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
840
841 * fix-header.c: Don't define xstrdup here.
842
a07516d3
R
843Wed Dec 16 05:11:04 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
844
845 * loop.c (consec_sets_giv): New argument last_consec_insn.
846 (strength_reduce): Provide / use it.
847
35704c46
MH
848Wed Dec 16 17:24:07 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
849
850 * loop.h (loop_info): New field 'vtop'.
851 * loop.c (check_dbra_loop): Use loop_info->vtop rather than
852 scanning loop for vtop.
853 * unroll.c (subtract_reg_term, find_common_reg_term): New functions.
854 (loop_iterations): Use them to determine if loop has a constant
855 number of iterations. Set loop_info->vtop. Don't subtract
856 common reg term from initial_value and final_value if have a
857 do-while loop.
858
9c907d54
JL
859Tue Dec 15 13:49:55 1998 Jeffrey A Law (law@cygnus.com)
860
b884a51a
JL
861 * mn10200.md (addsi3 expander): Use "nonmemory_operand" for operand 2.
862
5ba52c2e
JL
863 * mn10300.md (bset, bclr): Operand 0 is a read/write operand.
864
9c907d54
JL
865 * mn10200.md (abssf2, negsf2): New expanders.
866
867 * mn10300.md (absdf2, abssf2, negdf2, negsf2): New expanders.
868
ddc54eaa
NC
869Tue Dec 15 11:55:30 1998 Nick Clifton <nickc@cygnus.com>
870
871 * integrate.c (copy_rtx_and_substitute): If a SUBREG is
872 replaced by a CONCAT whoes components do not have the same
873 mode as the original SUBREG, use a new SUBREG to restore the
874 mode.
875
876 * emit-rtl.c (subreg_realpart_p): Cope with subregs containing
877 multiword complex values.
878
c49445e0
ZW
8791998-12-15 Zack Weinberg <zack@rabi.phys.columbia.edu>
880
881 * cppalloc.c: Add xstrdup here.
882 * cpplib.h: Remove savestring prototype.
883 * cpplib.c: Remove savestring function. s/savestring/xstrdup/
884 throughout.
885 * cppfiles.c: s/savestring/xstrdup/ throughout.
886
941e09b6
ZW
8871998-12-15 Zack Weinberg <zack@rabi.phys.columbia.edu>
888
889 * cpplib.c: Make all directive handlers read their own
890 arguments.
891 (struct directive): Remove last two arguments from FUNC
892 member prototype. Remove `command_reads_line' member
893 entirely.
894 (directive_table): Remove initializations of
895 command_reads_line flag. Pretty-print.
896 (eval_if_expression, do_define, do_line, do_include,
897 do_undef, do_error, do_pragma, do_ident, do_if, do_xifdef,
898 do_else, do_elif, do_sccs, do_assert, do_unassert,
899 do_warning): Take only two args.
900
901 (cpp_define): Call do_define with two args and the text to
902 define stuffed into a buffer.
903 (make_assertion): Call do_assert with two args.
904 (handle_directive): Call do_line with two args. Call
905 kt->func with two args. Remove command_reads_line
906 processing.
907 (do_define, do_undef, do_error, do_warning, do_pragma,
908 do_sccs): Read the rest of the line here.
909 (do_ident): Gobble rest of line, as cccp does.
910 (cpp_undef): New function.
911 (cpp_start_read): Call cpp_undef instead of do_undef.
912
7061aa5a
ZW
9131998-12-15 Zack Weinberg <zack@rabi.phys.columbia.edu>
914
915 * cpphash.h (union hash_value): Remove `keydef' member, add a
916 `struct hashnode *aschain' member for #assert.
917
918 * cpplib.c (struct tokenlist_list, struct
919 assertion_hashnode): Delete structure definitions.
920 (assertion_install, assertion_lookup, delete_assertion,
921 check_assertion, compare_token_lists, reverse_token_list,
922 read_token_list, free_token_list): Delete functions.
923 (parse_assertion): New function.
924 (cpp_cleanup): Don't destroy the assertion_hashtable.
925
926 (do_assert): Gut and rewrite. #assert foo (bar) places
927 entries for `#foo' and `#foo(bar)' in the macro hash table,
928 type T_ASSERT. The value union's `aschain' member is used
929 to chain all answers for a given predicate together.
930 (do_unassert): Also rewritten. Take an un-asserted
931 answer off the chain from its predicate and call
932 delete_macro on the hashnode, or walk a predicate chain
933 calling delete_macro on all the entries.
934 (cpp_read_check_assertion): Simply call parse_assertion to
935 get the canonical assertion name, and look that up in the
936 hash table.
937
938 * cpplib.h (ASSERTION_HASHNODE,ASSERTION_HASHSIZE,assertion_hashtab):
939 Removed.
940
941 * cpphash.c (install): Use bcopy instead of an explicit loop
942 to copy the macro name.
943
944 * cppexp.c (cpp_lex): Convert the result of
945 cpp_read_check_assertion to a `struct operation' directly;
946 don't go through parse_number.
947
4b259e3f
R
948Tue Dec 15 18:27:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
949
950 * loop.h (struct induction): Delete times_used member.
951 * loop.c (n_times_set): Rename to set_in_loop. Changed all users.
952 (n_times_used): Rename to n_times_set. Changed all users.
953 (scan_loop): Free reg_single_usage before strength reduction.
954 (record_giv, combine_givs): Remove handling of times_used member.
955 (combine_givs_used_once): Rename to:
956 (combine_givs_used_by_other) . Changed all callers.
957
5f2f160c
JM
958Tue Dec 15 01:45:26 1998 Jason Merrill <jason@yorick.cygnus.com>
959
960 * dwarf2out.c (gen_struct_or_union_type_die): Check AGGREGATE_TYPE_P
961 instead of TREE_CODE_CLASS == 't'.
962 (gen_type_die): Likewise.
963 (scope_die_for): Ignore FUNCTION_TYPE "scopes".
964
c1c7db89
JW
965Mon Dec 14 16:23:27 1998 Jim Wilson <wilson@cygnus.com>
966
967 * real.c (endian): Disable last change unless
968 HOST_BITS_PER_WIDE_INT is greater than 32.
969
3167de5b
AM
970Mon Dec 14 17:13:36 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
971
972 * output.h (force_data_section): New prototype.
973 * varasm.c (force_data_section): New function to force the
974 data section, regardless of what in_section thinks.
975 * dwarf2out.c (output_call_frame_info): Call force_data_section
976 since varasm may not realize we've changes sections.
977
80599fd9
NC
978Mon Dec 14 14:09:34 1998 Nick Clifton <nickc@cygnus.com>
979
980 * reload1.c (reload): Delete REG_RETVAL and REG_LIBCALL notes
981 after completeing reload.
982
983 * rtl.texi: Document that REG_RETVAL and REG_LIBCALL are
984 deleted after reload.
985
93e0dfe1
JL
986Mon Dec 14 01:39:28 1998 Jeffrey A Law (law@cygnus.com)
987
988 * rtl.h (multiple_sets): Fix prototype.
989 * rtlanal.c (multiple_sets): Fix return type.
990
5d943c3c
JL
991Sun Dec 13 12:43:58 PST 1998 Jeff Law (law@cygnus.com)
992
993 * version.c: Bump for snapshot.
994
714d352f
JL
995Sun Dec 13 01:05:22 PST 1998 Jeff Law (law@cygnus.com)
996
997 * version.c: Bump for snapshot.
998
56485bee
MH
9991998-12-13 Manfred Hollstein <manfred@s-direktnet.de>
1000
1001 * protoize.c (fputs): Wrap extern declaration in #ifndef fputs.
1002
404d95c4
R
1003Sun Dec 13 00:24:14 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1004
213c4983
R
1005 * rtl.h (recompute_reg_usage): Add second argument.
1006 * flow.c (recompute_reg_usage): Likewise.
1007 * toplev.c (rest_of_compilation): Supply second argument to
1008 recompute_reg_usage.
1009
404d95c4
R
1010 * reload1.c (compute_use_by_pseudos): Allow reg_renumber[regno] < 0
1011 after reload.
1012
941c63ac
JL
1013Sat Dec 12 23:39:10 1998 Jeffrey A Law (law@cygnus.com)
1014
f08347a9
JL
1015 * m68k/t-m68kelf (MULTILIB_OPTIONS): Add mcpu32.
1016 (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
1017 (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
1018 mcpu32 or m5200.
1019
4566eb62
JL
1020 * i386/next.h (ASM_OUTPUT_ALIGN): Use 0x90 for fill character.
1021
941c63ac
JL
1022 * rtlanal.c (multiple_sets): New function.
1023 * rtl.h (multiple_sets): Declare it.
1024 * local-alloc.c (wipe_dead_reg): Use it.
1025 * global.c (global_conflicts): Likewise.
1026
8d4c79be
MM
1027Sat Dec 12 22:13:02 1998 Mark Mitchell <mark@markmitchell.com>
1028
1029 * global.c (record_conflicts): Don't use an array of shorts to
1030 store an array of ints.
1031 (global_conflicts): Likewise.
1032
f35cba21
RH
1033Sat Dec 12 16:49:24 1998 Richard Henderson <rth@cygnus.com>
1034
1035 * alpha.c (alpha_expand_block_move): mode_for_size expects
1036 bits, not bytes. Infer extra alignment from addressof.
1037
a9aefc1e
MM
10381998-12-11 Michael Meissner <meissner@cygnus.com>
1039
1040 * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Put small data in the
1041 .sbss section, not .sdata.
1042
56adfa4a
MH
10431998-12-11 Manfred Hollstein <manfred@s-direktnet.de>
1044
8eeae6f4
MH
1045 * cccp.c: Do not #include <sys/stat.h> here; this is already done
1046 by "system.h".
1047 * collect2.c: Likewise.
1048 * cpplib.h: Likewise.
1049 * gcc.c: Likewise.
1050 * gcov.c: Likewise.
1051 * getpwd.c: Likewise.
1052 * protoize.c: Likewise.
1053 * toplev.c: Likewise.
1054
56adfa4a
MH
1055 * cpplib.h (HOST_WIDE_INT): Get definition from "machmode.h"
1056 and don't try to define it here.
1057 * Makefile.in (cppmain.o): Depend on machmode.h.
1058 (cpplib.o): Likewise.
1059 (cpperror.o): Likewise.
1060 (cppexp.o): Likewise.
1061 (cppfiles.o): Likewise.
1062 (cpphash.o): Likewise.
1063 (cppalloc.o): Likewise.
1064 (fix-header.o): Likewise.
1065 (scan-decls.o): Likewise.
1066
157131d7
SC
1067Fri Dec 11 11:02:49 1998 Stan Cox <scox@cygnus.com>
1068
1069 * sh.c (print_operand): lookup interrupt_handler attribute instead
1070 of relying on static variable.
1071 * (calc_live_regs): Likewise.
1072 * (sh_pragma_insert_attributes): Create interrupt_handler
1073 attribute if a pragma was specified
1074 * (sh_valid_machine_decl_attribute): Don't set static flag.
1075 * sh.h (PRAGMA_INSERT_ATTRIBUTES): New.
1076
b0634509
R
1077Fri Dec 11 12:56:07 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1078
1079 * reload1.c (reload_combine): Use BASIC_BLOCK_LIVE_AT_START
1080 to determine if a register is live at a jump destination.
1081 Everything is dead at a BARRIER.
1082
737e7965
JW
1083Thu Dec 10 16:02:06 1998 Jim Wilson <wilson@cygnus.com>
1084
1085 * cse.c (simplify_unary_operation): Sign-extend constants when
1086 they have the most significant bit set for the target.
1087 * real.c (endian): Sign-extend 32 bit output values on a 64 bit
1088 host.
1089 * m32r/m32r.c (m32r_expand_prologue): Store pretend_size in
1090 HOST_WIDE_INT temporary before negating it.
1091 * m32r/m32r.md (movsi_insn+1): Use ~0xffff instead of 0xffff0000.
1092
353f10d5
DB
1093Thu Dec 10 15:05:59 1998 Dave Brolley <brolley@cygnus.com>
1094
1095 * objc/objc-act.c (lang_init_options): Enclose cpplib related code in
1096 #if USE_CPPLIB.
1097
2edfd4ee
KG
1098Thu Dec 10 13:39:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1099
1100 * collect2.h: New header file for prototypes.
1101
1102 * Makefile.in (collect2.o, tlink.o): Depend on collect2.h.
1103
1104 * collect2.c: Include collect2.h.
1105 * tlink.c: Likewise.
1106
c9852047
JL
1107Wed Dec 9 23:55:11 1998 Jeffrey A Law (law@cygnus.com)
1108
1109 * flow.c: Update some comments.
1110
5d7da2c6
DB
1111Wed Dec 9 15:29:26 1998 Dave Brolley <brolley@cygnus.com>
1112
1113 * objc/objc-act.c (cpp_initialized): Removed.
1114 (lang_init_options): Initialize cpplib.
1115 (lang_decode_option): Move initialization of cpplib to
1116 lang_init_options.
1117 * c-lang.c: (parse_options,parse_in): Added.
1118 (lang_init_options): Initialized cpplib here.
1119 * c-decl.c (parse_options,cpp_initialized): Removed.
1120 (c_decode_option): Move initialization of cpplib to
1121 lang_init_options.
1122
ed937a19
R
1123Wed Dec 9 19:36:57 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1124
1125 * reload1.c (reload_combine, reload_combine_note_store):
a0078b37 1126 Make STORE_RUID always valid.
ed937a19
R
1127 (reload_combine): Check if BASE is clobbered too early.
1128
290b61f7
NC
1129Wed Dec 9 09:53:58 1998 Nick Clifton <nickc@cygnus.com>
1130
1131 * reload.c (find_reloads): Display the insn that cannot be
1132 reloaded.
1133
bdf777e4
DB
1134Wed Dec 9 12:15:26 1998 Dave Brolley <brolley@cygnus.com>
1135
1136 * cccp.c (create_definition): Fix end of bufer logic.
1137
3b89e9d1
KG
1138Wed Dec 9 10:15:45 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1139
1140 * except.c (duplicate_eh_handlers, rethrow_symbol_map): Function
1141 pointer parameters changed to use the PARAMS() macro.
1142
0177de87
AM
1143Wed Dec 9 09:12:40 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
1144
1145 * except.h (struct handler_info): Add handler_number field.
1146 * except.c (gen_exception_label): EH labels no longer need to be
1147 on the permanent obstack.
1148 (get_new_handler): Set the label number field.
1149 (output_exception_table_entry): Regenerate handler label reference
1150 from the label number field.
1151 (init_eh): Remove a blank line.
1152 * integrate.c (get_label_from_map): Labels no longer need to be
1153 on the permanent obstack.
1154
7a3c92a5
JW
1155Tue Dec 8 22:04:33 1998 Jim Wilson <wilson@cygnus.com>
1156
1157 * i960/i960.h (CONST_COSTS, case CONST_INT): Accept power2_operand
1158 only when OUTER_CODE is SET.
1159
5353610b
R
1160Tue Dec 8 22:47:15 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1161
1162 * loop.c (strength_reduce): If scan_start points to the loop exit
1163 test, be wary of subversive use of gotos inside expression statements.
1164 Don't set maybe_multiple for a backward jump that does not
1165 include the label under consideration into its range.
1166 * unroll.c (biv_total_increment): Make use of maybe_multiple field.
1167
03d937fc
R
1168Tue Dec 8 22:33:18 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1169
1170 * explow.c (plus_constant_wide): Don't immediately return with
1171 result of recursive call.
1172
e6cfb550
AM
1173Tue Dec 8 15:32:56 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
1174
1175 * eh-common.h (struct eh_context): Add table_index for rethrows.
1176
1177 * rtl.h (enum reg_note): Add REG_EH_REGION and REG_EH_RETHROW reg notes.
1178 (SYMBOL_REF_NEED_ADJUST): New flag indicating symbol needs to be
1179 processed when inlined or unrolled (ie duplicated in some way).
1180
1181 * rtl.c (reg_note_name): Add strings for new reg_note enums.
1182
1183 * expr.h (rethrow_libfunc): New library decl.
1184
1185 * optabs.c (rethrow_libfunc): Initialize.
1186
1187 * except.h (struct eh_entry): Add new field 'rethrow_label'.
1188 (new_eh_region_entry): No longer exported from except.c.
1189 (duplicate_handlers): Renamed to duplicate_eh_handlers and
1190 different prototype.
1191 (rethrow_symbol_map, rethrow_used): New exported functions.
1192 (eh_region_from_symbol): New exported function.
1193
1194 * except.c (create_rethrow_ref): New function to create a single
1195 SYMBOL_REF for a rethrow region.
1196 (push_eh_entry): Initialize a rethrow ref.
1197 (func_eh_entry): Add a rethrow_label field.
1198 (new_eh_region_entry): Make static, and initialize the rethrow entry.
1199 (duplicate_eh_handlers): Create a new region, and remap labels/symbols.
1200 (eh_region_from_symbol): Find an EH region based on its rethrow symbol.
1201 (rethrow_symbol_map): Given a label map, maps a rethrow symbol for
1202 a region into an appropriate new symbol.
1203 (rethrow_used): Indicate whether a rethrow symbol has been referenced.
1204 (expand_eh_region_end): Don't issue jump around code for new-exceptions.
1205 (end_catch_handler): Emit a barrier for new-exceptions since
1206 control can never drop through the end of a catch block.
1207 (expand_end_all_catch): new-exceptions never fall through a catch
1208 block.
1209 (expand_rethrow): use __rethrow routine for new exceptions.
1210 (output_exception_table_entry): Generate rethrow labels, if needed.
1211 (output_exception_table): Generate start and end rethrow labels.
1212 (init_eh): Create rethrow symbols for beginning and end of table.
1213 (scan_region): Don't eliminate EH regions which are the targets of
1214 rethrows.
1215
1216 * flow.c (make_edges): Add different edges for rethrow calls,
1217 identified by having the REG_EH_RETHROW reg label.
1218 (delete_unreachable_blocks): Don't delete regions markers which are
1219 the target of a rethrow.
1220
1221 * integrate.c (save_for_inline_eh_labelmap): New callback routine to
1222 allow save_for_inline_copying to call duplicate_eh_handlers.
1223 (save_for_inline_copying): Call duplicate_eh_handlers instead of
1224 exposing internal details of exception regions.
1225 (copy_for_inline): Check if SYMBOL_REFs need adjustment.
1226 (expand_inline_function_eh_labelmap): New callback routine to
1227 allow expand_inline_function to call duplicate_eh_handlers.
1228 (expand_inline_function): Call duplicate_eh_handlers instead of
1229 exposing internal details of exception regions.
1230 (copy_rtx_and_substitute): Adjust SYMBOL_REFS if SYMBOL_REF_NEED_ADJUST
1231 flag is set.
1232
1233 * libgcc2.c (find_exception_handler): Generalize to enable it to
1234 pick up processing where it left off last time for a rethrow.
1235 (__unwinding_cleanup): New function. debug hook which is called before
1236 unwinding when __throw finds there is nothing but cleanups left.
1237 (throw_helper): Common parts of __throw extracted out for reuse.
1238 (__throw): Common parts moved to throw_helper.
1239 (__rethrow): New function for performing rethrows.
1240
122a860e
JL
1241Tue Dec 8 13:11:04 1998 Jeffrey A Law (law@cygnus.com)
1242
1243 * reload1.c (current_function_decl): Tweak declaration.
1244
6271b191
RH
1245Tue Dec 8 10:23:52 1998 Richard Henderson <rth@cygnus.com>
1246
1247 * c-decl.c (flag_isoc9x): Default off.
1248 (c_decode_option): Kill -std=gnu, add -std=gnu89 and -std=gnu9x.
1249 * cccp.c (print_help, main): Likewise.
1250 * gcc.c (default_compilers): Update for -std=gnu*.
1251
dfb7c80f
JL
1252Tue Dec 8 01:14:46 1998 Jeffrey A Law (law@cygnus.com)
1253
d91d4a5c
JL
1254 * Makefile.in (DEMANGLE_H): Change location to shared demangle.h.
1255 * demangle.h: Deleted.
1256
dfb7c80f
JL
1257 * reload1.c (current_function_decl): Declare.
1258
b4eadc3d
KG
1259Tue Dec 8 11:58:51 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1260
1261 * cpplib.c (convert_string): Use `0x00ff', not `0x00ffU'.
1262
6785b077
KG
1263Tue Dec 8 09:28:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1264
1265 * dbxout.c: If USG is defined use gstab.h, even if HAVE_STAB_H is set.
1266
54953b66
UD
12671998-12-08 Ulrich Drepper <drepper@cygnus.com>
1268
1269 * configure.in: Test for availability of putc_unlocked, fputc_unlocked,
1270 and fputs_unlocked.
1271 * configure: Rebuilt.
1272 * system.h: If the *_unlocked functions are available use them
1273 instead of the locked counterparts by defining macros.
1274 * config.in: Regenerated.
1275
872936ad
MS
1276Tue Dec 8 00:34:05 1998 Mike Stump <mrs@wrs.com>
1277
1278 * i386/bsd.h (ASM_FILE_START): Don't use dump_base_name, it is
1279 wrong and should only be used for dump related things, not
1280 debugging information, instead main_input_filename should be used.
1281 Also, reuse output_file_directive if possible.
1282 * i386/aix386ng.h (ASM_FILE_START): Likewise.
1283 * i386/isc.h (ASM_FILE_START): Likewise.
1284 * i386/win-nt.h (ASM_FILE_START): Likewise.
1285 * i386/sun386.h (ASM_FILE_START): Likewise.
1286
11fa8909
RL
1287Mon Dec 7 23:56:28 1998 Robert Lipe <robertl@dgii.com>
1288
1289 * configure.in (mips*-*-linux*): Handle big and little endian
1290 systems.
1291 * configure: Rebuilt.
1292
fe77a034
MS
1293Mon Dec 7 23:14:51 1998 Mike Stump <mrs@wrs.com>
1294
1295 * emit-rtl.c: Fix typo.
1296
9becac0c
NS
1297Mon Dec 7 23:07:38 1998 Nathan Sidwell <nathan@acm.org>
1298
1299 * reload1.c (eliminate_regs): Don't do anything, if we're not
1300 generating code.
1301
5f680ab6
DD
1302Mon Dec 7 15:27:09 1998 DJ Delorie <dj@cygnus.com>
1303
1304 * mips/mips.h (ENCODE_SECTION_INFO): Handle TARGET_EMBEDDED_DATA.
1305 Add comment.
1306 * mips/mips.c (mips_select_section): Add comment.
1307
c25d8793
MS
1308Mon Dec 7 17:55:06 1998 Mike Stump <mrs@wrs.com>
1309
1310 * cccp.c (ignore_escape_flag): Add support for \ as `natural'
1311 characters in file names in #line to be consistent with #include
1312 handling. We support escape prcessing in the # 1 "..." version of
1313 the command. See also support in cp/lex.c.
1314 (handle_directive): Likewise.
1315 (do_line): Likewise.
1316
c50bca08
ZW
13171998-12-07 Zack Weinberg <zack@rabi.phys.columbia.edu>
1318
1319 * cpplib.c (initialize_char_syntax): Use ISALPHA and ISALNUM
1320 so it'll work on non-ASCII platforms. Always consider $ an
1321 identifier character. Take no arguments.
1322 (cpp_reader_init): Call initialize_char_syntax with no
1323 arguments.
1324 (cpp_start_read): Don't call initialize_char_syntax again.
1325 Clear is_idchar['$'] and is_idstart['$'] if not
1326 opts->dollars_in_ident.
1327
1328 * cpplib.h (struct cpp_reader): Replace void *data element by
1329 cpp_options *opts. Rearrange elements to make gdb printout
1330 less annoying (put buffer stack at end).
1331 (CPP_OPTIONS): Get rid of now-unnecessary cast.
1332
1333 * cppmain.c: s/data/opts/ when initializing cpp_reader
1334 structure.
1335 * c-decl.c: Likewise.
1336 * objc/objc-act.c: Likewise.
1337 * fix-header.c: Likewise.
1338
13391998-12-07 Zack Weinberg <zack@rabi.phys.columbia.edu>
f1a86df6
ZW
1340
1341 * cpplib.h (struct cpp_buffer): Replace dir and dlen members
1342 with a struct file_name_list pointer.
1343 (struct cpp_reader): Add pointer to chain of `actual
1344 directory' include searchpath entries.
1345 (struct file_name_list): Add *alloc pointer for the sake of
1346 the actual-directory chain.
1347
1348 Move definition of HOST_WIDE_INT here.
1349 (cpp_parse_escape): Change prototype to match changes in
1350 cppexp.c.
1351
1352 * cppfiles.c (actual_directory): New function.
1353 (finclude): Use it to initialize the buffer's actual_dir
1354 entry.
1355 (find_include_file): We don't need to fix up max_include_len
1356 here.
1357
1358 * cpplib.c (do_include): Don't allocate a file_name_list on
1359 the fly for current directory "" includes, use the one that's
1360 been preallocated in pfile->buffer->actual_dir. Hoist out
1361 duplicate code from the search_start selection logic.
1362 (cpp_reader_init): Initialize pfile->actual_dirs.
1363
1364 Remove definition of HOST_WIDE_INT. Change calls
1365 to cpp_parse_escape to match changes in cppexp.c (note
1366 hardcoded MASK, which is safe since this is the source
1367 character set).
1368
1369 * cppexp.c: Bring over changes to cpp_parse_escape from cccp.c
1370 to handle wide character constants in #if directives. The
1371 function now returns a HOST_WIDE_INT, and takes a third
1372 argument which is a binary mask for all legal values (0x00ff
1373 for 8-bit `char', 0xffff for 16-bit `wchar_t', etc.) Define
1374 MAX_CHAR_TYPE_MASK and MAX_WCHAR_TYPE_MASK. Change callers of
1375 cpp_parse_escape to match. [Fixes c-torture/execute/widechar-1.c]
1376
93447205
DB
1377Mon Dec 7 15:38:25 1998 Dave Brolley <brolley@cygnus.com>
1378
1379 * gcc.c (default_compilers): Fix typo in USE_CPPLIB spec for cc1.
1380
1381Mon Dec 7 15:38:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1382
1383 * c-aux-info.c (concat): Wrap function definition in !USE_CPPLIB.
1384 * cppalloc.c: Move function `xcalloc' from cpplib.c to here.
1385 * cpplib.c: Move function `xcalloc' from here to cppalloc.c.
1386
1db9f6ce
NC
1387Mon Dec 7 11:30:49 1998 Nick Clifton <nickc@cygnus.com>
1388
1389 * final.c (output_asm_name): Use tabs to seperate comments from
1390 assembly text.
1391
1392 Include instruction lengths (if defined) in output.
1393
eb6a3bc0
MH
1394Mon Dec 7 10:53:38 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1395
1396 * loop.c (check_dbra_loop): Fix initial_value and initial_equiv_value
1397 in the loop_info structure.
1398
e6592fff
CM
1399Mon Dec 7 11:04:40 1998 Catherine Moore <clm@cygnus.com>
1400
1401 * configure.in: (arm*-*-ecos-elf): New target.
1402 * configure: Regenerated.
1403 * config/arm/elf.h (ASM_WEAKEN_LABEL): Define.
1404 * config/arm/ecos-elf.h: New file.
1405 * config/arm/unknown-elf.h (TARGET_VERSION): Check
1406 for redefinition.
1407
1a953d0f
R
1408Mon Dec 7 16:15:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1409
1410 * sh.c (output_far_jump): Emit braf only for TARGET_SH2.
1411
8962b4b4
JL
1412Sun Dec 6 04:19:45 PST 1998 Jeff Law (law@cygnus.com)
1413
1414 * version.c: Bump for snapshot.
1415
5629b16c
MH
1416Sun Dec 6 05:16:16 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1417
1418 * loop.c (check_dbra_loop): New argument loop_info. Update fields
1419 as needed.
1420
01bdf1bc
JL
1421Sun Dec 6 03:40:13 PST 1998 Jeff Law (law@cygnus.com)
1422
1423 * version.c: Bump for snapshot.
1424
badcf916
AO
1425Sun Dec 6 07:49:29 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
1426
1427 * gcc.texi (Bug Reporting): 40Kb is a soft limit, larger
1428 compressed reports are ok and preferred over URLs
1429
892d0a6d
AO
1430Sun Dec 6 07:45:33 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
1431
1432 * invoke.texi (Warning Options): Soften the tone of -pedantic
1433
cd2c4c54
L
1434Sun Dec 6 00:20:44 1998 H.J. Lu (hjl@gnu.org)
1435
1436 * print-rtl.c (print_rtx): Add prototype.
1437
1438 * unroll.c (iteration_info): Make it static.
1439
02e3377d
RH
1440Sun Dec 6 01:19:46 1998 Richard Henderson <rth@cygnus.com>
1441
1442 * alias.c (memrefs_conflict_p): A second ANDed address
1443 disables the aligned address optimization.
1444
4bd75896
RH
1445Sat Dec 5 18:48:25 1998 Richard Henderson <rth@cygnus.com>
1446
1447 * alpha.c (alpha_emit_set_const_1): Fix parenthesis error
1448 in -c << n case.
1449
c78358d4
JM
1450Sat Dec 5 15:14:52 1998 Jason Merrill <jason@yorick.cygnus.com>
1451
1452 * i960.h (BOOL_TYPE_SIZE): Define.
1453
e868a840
MH
1454Sun Dec 6 00:28:16 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1455
1456 * config/c4x/c4x.c (valid_parallel_load_store): Flog functionality
1457 from old valid_parallel_operands_4.
1458 (valid_parallel_operands_4): Check that operands for 4 operand
1459 parallel insns are valid, excluding load/store insns.
1460 * config/c4x/c4x.h (valid_parallel_load_store): Add prototype.
1461 * config/c4x/c4x.md (*movqf_parallel, *movqi_parallel): Use
1462 valid_parallel_load_store instead of valid_parallel_operands_4.
1463 (*absqf2_movqf_clobber, *floatqiqf2_movqf_clobber,
1464 *negqf2_movqf_clobber, *absqi2_movqi_clobber,
1465 *fixqfqi2_movqi_clobber, *negqi2_movqi_clobber,
1466 *notqi_movqi_clobber): Use valid_parallel_operands_4.
1467 (*subqf3_movqf_clobber, *ashlqi3_movqi_clobber,
1468 *ashrqi3_movqi_clobber, *lshrqi3_movqi_clobber,
1469 *subqi3_movqi_clobber): Use valid_parallel_operands_5.
1470
cd20cc86
MH
1471Sat Dec 5 23:52:01 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1472
1473 * config/c4x/c4x.c (iteration_info): Delete extern.
1474
f62a15e3
BS
1475Fri Dec 4 20:15:57 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
1476
faa9eb19
BS
1477 * tm.texi (SMALL_REGISTER_CLASSES): Make description match reality.
1478
f62a15e3
BS
1479 * final.c (cleanup_subreg_operands): Delete some unused code.
1480
1481 * recog.h (MAX_RECOG_ALTERNATIVES): New macro.
1482 (struct insn_alternative): New structure definition.
1483 (recog_op_alt): Declare variable.
1484 (preprocess_constraints): Declare function.
1485 * recog.c (recog_op_alt): New variable.
1486 (extract_insn): Verify number of alternatives is in range.
1487 (preprocess_constraints): New function.
1488 * reg-stack.c: Include recog.h.
1489 (constrain_asm_operands): Delete.
1490 (get_asm_operand_lengths): Delete.
1491 (get_asm_operand_n_inputs): New function.
1492 (record_asm_reg_life): Delete OPERANDS, CONSTRAINTS, N_INPUTS and
1493 N_OUTPUTS args. All callers changed.
1494 Compute number of inputs and outputs here by calling
1495 get_asm_operand_n_inputs.
1496 Instead of constrain_asm_operands, call extract_insn,
1497 constrain_operands and preprocess_constaints. Use information
1498 computed by these functions throughout.
1499 (record_reg_life): Delete code that is unused due to changes in
1500 record_asm_reg_life.
1501 (subst_asm_stack_regs): Delete OPERANDS, OPERAND_LOC, CONSTRAINTS,
1502 N_INPUTS and N_OUTPUTS args. All callers changed.
1503 Similar changes as in record_asm_reg_life.
1504 (subst_stack_regs): Move n_operands declaration into the if statement
1505 where it's used.
1506 Delete code that is unused due to changes in subst_asm_stack_regs.
1507 * stmt.c (expand_asm_operands): Verify number of alternatives is in
1508 range.
1509 * Makefile.in (reg-stack.o): Depend on recog.h.
1510
2ec10ea9
JL
1511Fri Dec 4 02:23:24 1998 Jeffrey A Law (law@cygnus.com)
1512
1513 * except.c (set_exception_version_code): Argument is an "int".
1514
16fb6b5e
JL
1515Fri Dec 4 01:29:28 1998 Jeffrey A Law (law@cygnus.com)
1516
1517 * configure.in (hppa2*-*-*): Handle like hppa1.1-*-* for now.
1518 * configure: Rebuilt.
1519
18cae839
RL
1520Fri Dec 4 01:29:28 1998 Robert Lipe <robertl@dgii.com>
1521
1522 * configure.in (mipsel-*-linux*): New target.
1523 * mips/linux.h: New file, based on other Linux targets.
1524
0fcff082
MS
1525Thu Dec 3 11:19:50 1998 Mike Stump <mrs@wrs.com>
1526
1527 * gthr-vxworks.h (__ehdtor): Fix memory leak. The delete hook
1528 runs in the context of the deleter, not the deletee, so we must
1529 use taskVarGet to find the correct memory to free.
1530 (__gthread_key_create): Initialize the task
1531 variable subsystem so that the task variable is still active when
1532 the delete hook is run.
1533
9f643ff8
JL
15341998-12-03 Joseph S. Myers <jsm28@cam.ac.uk>
1535
f4190acc
JM
1536 * pdp11.h: Use optimize_size for space optimizations.
1537 * pdp11.c: Likewise.
1538 * pdp11.md: Likewise.
1539
9f643ff8
JL
1540 * pdp11.h (TARGET_40_PLUS): Fix typo.
1541
1542Thu Dec 3 11:48:32 1998 Jeffrey A Law (law@cygnus.com)
1543
1544 * local-alloc.c (block_alloc): Slightly retune heuristic to widen
1545 qty lifetimes.
1546
39cec1ac
MH
1547Thu Dec 3 22:30:18 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1548
1549 * alias.c (addr_side_effect_eval): New function.
1550 (memrefs_conflict_p): Use it.
1551 * rtl.h (addr_side_effect_eval): Prototype it.
1552
a6a715ca
JM
15531998-12-02 Joseph S. Myers <jsm28@cam.ac.uk>
1554
1555 * pdp11.md (extendsfdf2): Fix mode mismatch in SET.
1556
226592de
JW
1557Wed Dec 2 11:23:07 1998 Jim Wilson <wilson@cygnus.com>
1558
1559 * reload.c (find_reloads): When force const to memory, put result
1560 in substed_operand not *recog_operand_loc.
1561
1747054f
UD
15621998-12-02 Ulrich Drepper <drepper@cygnus.com>
1563
1564 * c-lex.c: Fix indentation from last patch.
1565 Remove trailing whitespace.
1566 * real.c: Likewise.
1567
2536e1ee
JL
1568Wed Dec 2 10:11:12 1998 Jeffrey A Law (law@cygnus.com)
1569
1570 * flow.c (delete_block): Call set_last_insn after we have reset
1571 NEXT_INSN (kept_tail).
1572
b151501e
JL
1573Wed Dec 2 00:47:31 1998 Jeffrey A Law (law@cygnus.com)
1574
1575 * mips.md (trap_if): Use "$0" for the value zero.
1576
6f4d7222
UD
1577Tue Dec 1 20:49:49 1998 Ulrich Drepper <drepper@cygnus.com>
1578 Stephen L Moshier <moshier@world.std.com>
1579 Richard Henderson <rth@cygnus.com>
1580
1581 * c-common.c (declare_function_name): Declare predefinied variable
1582 `__func__'.
1583
1584 * c-decl.c (flag_isoc9x): Set to 1 by default.
1585 (c_decode_option): Handle -std= option. Remove -flang-isoc9x.
1586 (grokdeclarator): Always emit warning about implicit int for ISO C 9x.
1587
1588 * c-parse.in: Allow constructors in ISO C 9x.
1589 Rewrite designator list handling.
1590 Allow [*] parameters.
1591 Don't warn about comma at end of enum definition for ISO C 9x.
1592
1593 * cccp.c (c9x): New variable.
1594 (rest_extension): New variable.
1595 (print_help): Document new -std= option.
1596 (main): Recognize -std= option. Set c9x appropriately.
1597 (create_definition): Recognize ISO C 9x vararg macros.
1598
1599 * gcc.c (default_compilers): Adjust specs for -std options.
1600 (option_map): Add --std.
1601 (display_help): Document -std.
1602
1603 * toplev.c (documented_lang_options): Add -std and remove
1604 -flang-isoc9x.
1605
1606 * c-lex.c (yylex): Recognize hex FP constants and call REAL_VALUE_ATOF
1607 or REAL_VALUE_HTOF based on base of the constants.
1608 * fold-const.c (real_hex_to_f): New function. Replacement function
1609 for hex FP conversion if REAL_ARITHMETIC is not defined.
1610 * real.c (asctoeg): Add handling of hex FP constants.
1611 * real.h: Define REAL_VALUE_HTOF if necessary using ereal_atof or
1612 real_hex_to_f.
1613
08c2951c
SC
1614Tue Dec 1 16:45:49 1998 Stan Cox <scox@cygnus.com>
1615
1616 * mips.md (divmodsi4*, divmoddi4*, udivmodsi4*, udivmoddi4): Add
1617 -mcheck-range-division/-mcheck-zero-division checking. Avoid as macro
1618 expansion. Use hi/lo as destination register.
1619 (div_trap): New.
1620 (divsi3*, divdi3*, modsi3*, moddi3*, udivsi3*, udivdi3*, umodsi3*,
1621 umoddi3*): Add -mcheck-range-division/-mcheck-zero-division checking.
1622 Avoid as macro expansion. Use hi/lo as destination register.
1623
1624 * mips.h (MASK_CHECK_RANGE_DIV): New.
1625 (MASK_NO_CHECK_ZERO_DIV): New.
1626 (ELIMINABLE_REGS): Added GP_REG_FIRST + 31.
1627 (CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): Allow for getting
1628 return address for leaf functions out of r31 to support
1629 builtin_return_address.
1630
1f5fb51f
HB
1631Tue Dec 1 15:03:30 1998 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
1632
1633 * jump.c (jump_optimize): Call regs_set_between_p with PREV_INSN(x),
1634 NEXT_INSN(x) to check insn x.
1635
45c85c4e
JL
1636Tue Dec 1 15:20:44 1998 Jeffrey A Law (law@cygnus.com)
1637
e3f6ee23
JL
1638 * flow.c (delete_block): Call set_last_insn if we end up deleting the
1639 last insn in the rtl chain.
1640
45c85c4e
JL
1641 * reload1.c (reload): Do not set reload_completed or split insns
1642 here. Instead...
1643 * toplev.c (rest_of_compilation): Set reload_completed after
1644 reload returns. Split insns after reload_cse has run.
1645
df3ba30a
RH
1646Tue Dec 1 11:55:04 1998 Richard Henderson <rth@cygnus.com>
1647
1648 * final.c (final_scan_insn): Abort if block_depth falls below 0.
1649
bbc1b3f7
NC
1650Tue Dec 1 10:23:16 1998 Nick Clifton <nickc@cygnus.com>
1651
1652 * config/arm/t-arm-elf (LIBGCC2_CFLAGS): Define inhibit_libc.
1653
1654Tue Dec 1 10:22:18 1998 Nick Clifton <nickc@cygnus.com>
1655
1656 * config/arm/unknown-elf.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Remove
1657 use of user-label_prefix.
1658
2b49ee39
R
1659Tue Dec 1 17:58:26 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1660
78a2bc08
R
1661 * reload1.c (emit_reload_insns): Clear spill_reg_store
1662 when doing a new non-inherited reload from the same pseudo.
1663
2b49ee39
R
1664 * local-alloc.c (function_invariant_p): New function.
1665 (update_equiv_regs): Use function_invariant_p instead of CONSTANT_P
1666 to decide if an equivalence should be recorded.
1667 * reload1.c (num_eliminable_invariants): New static variable.
1668 (reload): Set it. Use function_invariant_p instead of CONSTANT_P
1669 to decide if an equivalence should be recorded.
1670 Unshare PLUS.
1671 (calculate_needs_all_insns): Skip insns that only set an equivalence.
1672 Take num_eliminable_invariants into account when deciding
1673 if register elimination should be done.
1674 (reload_as_needed): Take num_eliminable_invariants into account
1675 when deciding if register elimination should be done.
1676 (eliminate_regs): Handle non-constant reg_equiv_constant.
1677 * rtl.h (function_invariant_p): Declare.
1678
dfc00b38
JL
1679Mon Nov 30 02:00:08 PST 1998 Jeff Law (law@cygnus.com)
1680
1681 * version.c: Bump for snapshot.
1682
a8afb377
JL
1683Mon Nov 30 00:42:59 PST 1998 Jeff Law (law@cygnus.com)
1684
1685 * version.c: Bump for snapshot.
1686
9bbdf48e
JM
1687Sun Nov 29 22:59:40 1998 Jason Merrill <jason@yorick.cygnus.com>
1688
1689 * except.c (add_new_handler): Complain about additional handlers
1690 after one that catches everything.
1691
66953094
JL
1692Sat Nov 28 10:56:32 1998 Jeffrey A Law (law@cygnus.com)
1693
1694 * configure.in (alpha*-*-netbsd): Fix typo.
1695 * configure: Rebuilt.
1696
2778b98d
KG
1697Fri Nov 27 12:28:56 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1698
1699 * system.h: Include libiberty.h.
1700
1701 * c-aux-info.c: Remove prototypes for concat/concat3. Change
1702 function `concat' from fixed parameters to variable parameters,
1703 as is done in libiberty. All callers of concat/concat3
1704 changed to use the new `concat' with variable args.
1705
1706 * cccp.c: Remove things made redundant by libiberty.h and/or
1707 conform to libiberty standards.
1708 * cexp.y: Likewise.
1709 * collect2.c: Likewise.
1710 * config/1750a/1750a.h: Likewise.
1711 * cppalloc.c: Likewise.
1712 * cppexp.c: Likewise.
1713 * cppfiles.c: Likewise.
1714 * cpphash.c: Likewise.
1715 * cpplib.c: Likewise.
1716 * dyn-string.c: Likewise.
1717 * fix-header.c: Likewise.
1718 * gcc.c: Likewise.
1719 * gcov.c: Likewise.
1720 * genattr.c: Likewise.
1721 * genattrtab.c: Likewise.
1722 * gencheck.c: Likewise.
1723 * gencodes.c: Likewise.
1724 * genconfig.c: Likewise.
1725 * genemit.c: Likewise.
1726 * genextract.c: Likewise.
1727 * genflags.c: Likewise.
1728 * gengenrtl.c: Likewise.
1729 * genopinit.c: Likewise.
1730 * genoutput.c: Likewise.
1731 * genpeep.c: Likewise.
1732 * genrecog.c: Likewise.
1733 * getpwd.c: Likewise.
1734 * halfpic.c: Likewise.
1735 * hash.c: Likewise.
1736 * mips-tdump.c: Likewise. Wrap malloc/realloc/calloc prototypes
1737 in NEED_DECLARATION_* macros.
1738
1739 * mips-tfile.c: Remove things made redundant by libiberty.h and/or
1740 conform to libiberty standards.
1741 (fatal): Fix const-ification of variable `format' in
1742 !ANSI_PROTOTYPES case.
1743
1744 * prefix.c: Remove things made redundant by libiberty.h and/or
1745 conform to libiberty standards.
1746
1747 * print-rtl.c: Rename variable `spaces' to `xspaces' to avoid
1748 conflicting with function `spaces' from libiberty.
1749
1750 * profile.c: Remove things made redundant by libiberty.h and/or
1751 conform to libiberty standards.
1752 * protoize.c: Likewise.
1753 * rtl.h: Likewise.
1754 * scan.h: Likewise.
1755 * tlink.c: Likewise.
1756 * toplev.c: Likewise.
1757 * toplev.h: Likewise.
1758 * tree.h: Likewise.
1759
21380ab0
KG
1760Thu Nov 26 08:38:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1761
1762 * cppfiles.c (simplify_pathname): Un-ANSI-fy function definition.
1763
6e863849
MH
1764Thu Nov 26 23:45:37 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1765
1766 * README.C4X: Updated URLs.
1767 * config/c4x/c4x.c (c4x_address_conflict): Fix typo.
1768 (valid_parallel_operands_5): Remove unused variable.
1769
d97860ae
MH
1770Thu Nov 26 23:40:03 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1771
1772 * config/c4x/c4x.h (TARGET_DEFAULT): Fix typo.
1773
71205e0b
MH
17741998-11-26 Manfred Hollstein <manfred@s-direktnet.de>
1775
1776 * Makefile.in (CONFIG_LANGUAGES): New macro taking all languages
1777 which can be configured.
1778 (LANGUAGES): Use $(CONFIG_LANGUAGES) instead of @all_languages@
1779 (Makefile): Pass actual LANGUAGES through the environment when
1780 re-configuring.
1781 (cstamp-h): Likewise.
1782 (config.status): Likewise.
1783
1784 * configure.in (enable_languages): Add new configuration parameter
1785 "--enable-languages=lang1,lang2,...".
1786 (${srcdir}/*/config-lang.in): Change handling to configure only
1787 those directories, that the user might have enabled; default to
1788 "all" existing languages.
1789 * configure: Regenerate.
1790
a2e1a0bf
RH
1791Thu Nov 26 00:19:19 1998 Richard Henderson <rth@cygnus.com>
1792
1793 * rtlanal.c (regs_set_between_p): New function.
1794 * rtl.h (regs_set_between_p): Prototype it.
1795 * jump.c (jump_optimize): Use it instead of modified_between_p
1796 in the Sep 2 change.
1797
83575957
ID
1798Wed Nov 25 23:32:02 1998 Ian Dall <Ian.Dall@dsto.defence.gov.au>
1799 Matthias Pfaller <leo@dachau.marco.de>
1800
1801 * invoke.texi (Option Summary, NS32K Options): add description
1802 of NS32K specific options.
1803
1804 * ns32k.md (tstdf, cmpdf, movdf, truncdfsf2, fixdfqi2, fixdfhi2,
1805 fixdfsi2, fixunsdfqi2, fixunsdfhi2, fixunsdfsi2, fix_truncdfqi2,
1806 fix_truncdfhi2, fix_truncdfsi2, adddf3, subdf3, muldf3, divdf3,
1807 negdf2, absdf2): Use l instead of f since the double class and
1808 float class are no longer the same.
1809 (cmpsi, truncsiqi2, truncsihi2, addsi3, subsi3, mulsi3, umulsidi3,
1810 divsi3, modsi3, andsi3, iorsi3, xorsi3, negsi2, one_cmplsi2,
1811 ashlsi3, ashlhi3, ashlqi3, rotlsi3, rotlhi3, rotlqi3, abssi2,...):
1812 use "g" instead of "rmn" since LEGITIMATE_PIC_OPERAND has been
1813 fixed.
1814 (cmpsi, cmphi, cmpqi): use general_operand instead of
1815 non_immediate_operand. Removes erroneous assumption that can't
1816 compare constants.
1817 (movsf, movsi, movhi, movqi,...): New register numbering scheme.
1818 (movsi, addsi3): Use NS32K_DISPLACEMENT_P instead of hard coded
1819 constants.
1820 (movstrsi, movstrsi1, movstrsi2): completely new block move
1821 scheme.
1822 (...): Patterns to exploit multiply-add instructions.
1823 (udivmodsi4, udivmodsi_internal4, udivmodhi4,
1824 udivmoddihi4_internal, udivmodqi4, udivmoddiqi4_internal): new
1825 patterns to exploit extended divide insns.
1826 (udivsi3, udivhi3, udivqi3): remove since superceded by udivmodsi
1827 etc patterns.
1828
1829 * ns32k.h (FUNCTION_VALUE, LIBCALL_VALUE): Use f0 for complex
1830 float return values as well as simple scalar floats.
1831 (TARGET_32381, TARGET_MULT_ADD, TARGET_SWITCHES):
1832 support new flag to denote 32381 fpu.
1833 (OVERRIDE_OPTIONS): 32381 is a strict superset of 32081.
1834 (CONDITIONAL_REGISTER_USAGE): disable extra 32381 registers if not
1835 compling for 32381.
1836 (FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS,
1837 REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES, OUTPUT_REGISTER_NAMES,
1838 REG_ALLOC_ORDER, DBX_REGISTER_NUMBER, R0_REGNUM, F0_REGNUM,
1839 L1_REGNUM, STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM,
1840 LONG_FP_REGS_P, ARG_POINTER_REGNUM, reg_class, REG_CLASS_NAMES,
1841 REG_CLASS_CONTENTS, SUBSET_P,REGNO_REG_CLASS,
1842 REG_CLASS_FROM_LETTER, FUNCTION_PROLOGUE, FUNCTION_EPILOGUE,
1843 REGNO_OK_FOR_INDEX_P, FP_REG_P, REG_OK_FOR_INDEX_P,
1844 REG_OK_FOR_BASE_P, MEM_REG): new register scheme to include 32381
1845 fpu registers and special register classes for new 32381
1846 instructions dotf and polyf.
1847 (MODES_TIEABLE_P): Allow all integer modes, notably DI and SI, to
1848 be tieable.
1849 (INCOMING_RETURN_ADDR_RTX, RETURN_ADDR_RTX,
1850 INCOMING_FRAME_SP_OFFSET): New macros in case DWARF support is
1851 required.
1852 (SMALL_REGISTER_CLASSES): Make dependant on -mmult-add option.
1853 (MOVE_RATIO): Set to zero because of smart movstrsi implimentation.
1854 (REGISTER_MOVE_COST): move code to register_move_cost function for
1855 ease of coding and debugging.
1856 (CLASS_LIKELY_SPILLED_P): Under new register scheme class
1857 LONG_FLOAT_REGO is likely spilled but not caught by default
1858 definition.
1859 (CONSTANT_ADDRESS_P, CONSTANT_ADDRESS_NO_LABEL_P): use macro
1860 instead of hard coded numbers in range check.
1861 (ASM_OUTPUT_LABELREF_AS_INT): delete since unused.
1862 (...): Add prototypes for functions in ns32k.c but disable because
1863 of problems when ns32k.h is included in machine independant files.
1864
1865 * ns32k.c: include "system.h", "tree.h", "expr.h", "flags.h".
1866 (ns32k_reg_class_contents, regcass_map, ns32k_out_reg_names,
1867 hard_regno_mode_ok, secondary_reload_class,
1868 print_operand, print_operand_address): new register scheme to
1869 include 32381 fpu registers and special register classes for new
1870 32381 instructions dotf and polyf.
1871 (gen_indexed_expr): Make static to keep namespace clean.
1872 (check_reg): remove since never called.
1873 (move_tail, expand_block_move): helper functions for "movstrsi"
1874 block move insn.
1875 (register_move_cost): Helper function for REGISTER_MOVE_COST macro.
1876 Increase cost of moves which go via memory.
1877 * netbsd.h (TARGET_DEFAULT): Set (new) 32381 fpu flag.
1878 (CPP_PREDEFINES): nolonger predefine "unix".
1879
1880 * ns32k.md (movsi, movsi, adddi3, subdi3, subsi3, subhi3, subqi3,...):
1881 Remove erroneous %$. print_operand() can work out from the rtx is
1882 an immediate prefix is required.
1883
1884 * ns32k.h (RETURN_POPS_ARGS, VALID_MACHINE_DECL_ATTRIBUTE,
1885 VALID_MACHINE_TYPE_ATTRIBUTE, COMP_TYPE_ATTRIBUTES,
1886 SET_DEFAULT_TYPE_ATTRIBUTES): Support for -mrtd calling
1887 convention.
1888 (LEGITIMATE_PIC_OPERAND_P, SYMBOLIC_CONST): Correct handling of
1889 pic operands.
1890
1891 * ns32k.c (symbolic_reference_mentioned_p, print_operand):
1892 Correct handling of pic operands.
1893 (ns32k_valid_decl_attribute_p, ns32k_valid_type_attribute_p,
1894 ns32k_comp_type_attributes, ns32k_return_pops_args): Support for
1895 -mrtd calling convention.
1896
36696297
TT
1897Wed Nov 25 23:42:20 1998 Tom Tromey <tromey@cygnus.com>
1898
1899 * gcc.c (option_map): Recognize --output-class-directory.
1900
e96b4d7a
MH
1901Thu Nov 26 18:26:21 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1902
1903 * loop.h (precondition_loop_p): Added new mode argument.
1904 * unroll.c (precondition_loop_p): Likewise.
1905 (approx_final_value): Function deleted and subsumed
1906 into loop_iterations.
1907 (loop_find_equiv_value): New function.
1908 (loop_iterations): Use loop_find_equiv_value to find increments
1909 too large to be immediate constants. Also use it to find terms
1910 common to initial and final iteration values that can be removed.
1911
302670f3
MH
1912Thu Nov 26 18:05:04 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1913
1914 * loop.h (struct loop_info): Define new structure.
1915 (precondition_loop_p): Added prototype.
1916 (unroll_loop): Added new argument loop_info to prototype.
1917 (final_biv_value, final_giv_value): Added new argument n_iterations
1918 to prototype.
1919 * loop.c (strength_reduce): Declare new structure loop_iteration_info
1920 and new pointer loop_info.
1921 (loop_n_iterations): Replace global variable by element in
1922 loop_info structure.
1923 (check_final_value): New argument n_iterations.
1924 (insert_bct): New argument loop_info.
1925 (loop_unroll_factor): Replace global array by element in
1926 loop_info structure.
1927 (loop_optimize): Remove code to allocate and initialise
1928 loop_unroll_factor_array.
1929 * unroll.c (precondition_loop_p): No longer static since
1930 used by branch on count optimization.
1931 (precondition_loop_p, unroll_loop): New argument loop_info.
1932 (final_biv_value, final_giv_value, find_splittable_regs): New
1933 argument n_iterations.
1934 (loop_iteration_var, loop_initial_value, loop_increment,
1935 loop_final_value, loop_comparison_code, loop_unroll_factor):
1936 Replaced global variables by loop_info structure.
1937 (loop_unroll_factor): Replace global array by element in
1938 loop_info structure.
1939
a7060368
MH
1940Thu Nov 26 17:49:29 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1941
1942 * loop.c (check_dbra_loop): Update JUMP_LABEL field of jump insn
1943 when loop reversed.
1944
1945 * unroll.c (precondition_loop_p): Return loop_initial_value
1946 for initial_value instead of loop_iteration_var.
1947
959e0a76
MH
1948Thu Nov 26 17:15:38 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1949
1950 * config/c4x/c4x.md: Fix minor formatting problems. Update docs.
1951 (*b, *b_rev, *b_noov, *b_noov_rev, *db,
1952 decrement_and_branch_until_zero, rptb_end): Use c4x_output_cbranch
1953 to output the instruction sequences.
1954 (rpts): Delete.
1955 (rptb_top): Provide alternatives to use any register or memory
1956 for loop counter.
1957 (rptb_end): Emit use of operands rather than assigning them
1958 explicitly to the RS and RE registers.
1959
0fe69aba
MH
1960Thu Nov 26 16:37:59 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1961
1962 * config/c4x/c4x.c (c4x_modified_between_p, c4x_mem_set_p,
1963 c4x_mem_set_p, c4x_mem_modified_between_p, c4x_insn_moveable_p,
1964 c4x_parallel_pack, c4x_parallel_find, c4x_update_info_reg,
1965 c4x_update_info_regs, c4x_copy_insn_after, c4x_copy_insns_after,
1966 c4x_merge_notes, c4x_parallel_process,
1967 c4x_combine_parallel_independent, c4x_combine_parallel_dependent,
1968 c4x_combine_parallel): Delete.
1969
1970Thu Nov 26 15:16:05 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1971
1972 * config/c4x/c4x.c: (c4x_override_options): For compatibility
1973 with old target options clear flag_branch_on_count_reg if
1974 -mno-rptb specified and set flag_argument_alias is -mno-aliases
1975 specified.
1976 (c4x_output_cbranch): Handle a sequence of insns rather than a
1977 single insn.
4271f003 1978 (c4x_rptb_insert): Do not emit a RPTB insn if the RC register
0fe69aba 1979 has not been allocated as the loop counter.
4271f003
MH
1980 (c4x_address_conflict): Do not allow two volatile memory references.
1981 (valid_parallel_operands_4, valid_parallel_operands_5,
1982 valid_parallel_operands_6): Reject pattern if the register destination
1983 of the first set is used as part of an address in the second set.
0fe69aba 1984
2e3e9ead
MH
1985Thu Nov 26 14:56:32 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1986
1987 * config/c4x/c4x.h (TARGET_DEFAULT): Add PARALEL_MPY_FLAG.
1988 (TARGET_SMALL_REG_CLASS): Set to 0 so that SMALL_REGISTER_CLASSES
1989 is no longer enabled if PARALLEL_MPY_FLAG set.
1990 (HARD_REGNO_CALL_CLOBBERED): Add parentheses to remove ambiguity.
1991 (REG_CLASS_CONTENTS): Add braces around initializers.
1992 (HAVE_MULTIPLE_PACK): Define.
1993 (ASM_OUTPUT_BYTE_FLOAT): Use %lf format specifier with
1994 REAL_VALUE_TO_DECIMAL.
1995 (ASM_OUTPUT_SHORT_FLOAT): Use %lf format specifier with
1996 REAL_VALUE_TO_DECIMAL.
1997 (ar0_reg_operand): Add prototype.
1998 (ar0_mem_operand): Likewise.
1999 (ar1_reg_operand): Likewise.
2000 (ar1_mem_operand): Likewise.
2001 (ar2_reg_operand): Likewise.
2002 (ar2_mem_operand): Likewise.
2003 (ar3_reg_operand): Likewise.
2004 (ar3_mem_operand): Likewise.
2005 (ar4_reg_operand): Likewise.
2006 (ar4_mem_operand): Likewise.
2007 (ar5_reg_operand): Likewise.
2008 (ar5_mem_operand): Likewise.
2009 (ar6_reg_operand): Likewise.
2010 (ar6_mem_operand): Likewise.
2011 (ar7_reg_operand): Likewise.
2012 (ar7_mem_operand): Likewise.
2013 (ir0_reg_operand): Likewise.
2014 (ir0_mem_operand): Likewise.
2015 (ir1_reg_operand): Likewise.
2016 (ir1_mem_operand): Likewise.
2017 (group1_reg_operand): Likewise.
2018 (group1_mem_operand): Likewise.
2019 (ir1_reg_operand): Likewise.
2020 (arx_reg_operand): Likewise.
2021 (not_rc_reg): Likewise.
2022 (not_modify_reg): Likewise.
2023 (c4x_group1_reg_operand): Remove prototype.
2024 (c4x_group1_mem_operand): Likewise.
2025 (c4x_arx_reg_operand): Likewise.
2026
a46f03ea
SM
2027Wed Nov 25 19:02:55 1998 (Stephen L Moshier) <moshier@world.std.com>
2028
2029 * emit-rtl.c (gen_lowpart_common): Remove earlier change.
2030 * real.c (make_nan): Make SIGN arg actually specify the sign bit.
2031
f3ed04e7
MH
2032Thu Nov 26 14:12:05 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2033
2034 * config/c4x/c4x.md (addqi3): Emit addqi3_noclobber pattern
2035 during reload.
2036
0e1bd737
R
2037Wed Nov 25 22:05:28 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2038
2039 * config/sh/lib1funcs.asm (___udivsi3_i4): Don't switch to sz == 1
2040 unless FMOVD_WORKS is defined.
2041
910bc42d
R
2042Wed Nov 25 20:11:04 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2043
2044 * regclass.c (init_reg_sets): Move code that calculates tables
2045 dependent on reg_class_contents from here...
2046 (init_reg_sets_1): To here.
2047
0b3d776a
ZW
2048Wed Nov 25 14:54:46 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
2049
2050 * cpplib.h: Delete struct import_file. Add ihash element to
2051 struct cpp_buffer. Delete dont_repeat_files and
2052 import_hash_table elements from cpp_reader; change
2053 all_include_files to a hash table. Delete all foobar_include
2054 / last_foobar_include elements from struct cpp_options; put
2055 back four such: quote_include, bracket_include,
2056 system_include, after_include. Redo struct file_name_list
2057 completely. Add new structure type include_hash. Add
2058 prototypes for merge_include_chains and include_hash. Change
2059 prototypes for finclude, find_include_file, and
2060 append_include_chain to match changes below.
2061
2062 * cppfiles.c (simplify_pathname, include_hash,
2063 remap_filename, merge_include_chains): New functions.
2064 (add_import, lookup_import, open_include_file): Removed.
2065 (INO_T_EQ): Define this (copied from cccp.c).
2066 (hack_vms_include_specification): Remove all calls and #if 0
2067 out the definition. It was being called incorrectly and at
2068 the wrong times. Until a VMSie can look at this, it's better
2069 to not pretend to support it.
2070 (append_include_chain): Change calling convention; now takes
2071 only one directory at a time, and sets up the data structure
2072 itself.
2073 (redundant_include_p): Rewritten - this is now used for all
2074 include redundancy, whether by #ifndef, #import, or #pragma
2075 once. Looks up things in the include hash table.
2076 (file_cleanup): Decrement pfile->system_include_depth here if
2077 it's >0.
2078 (find_include_file): Calling convention changed; now passes
2079 around a struct include_hash instead of 3 separate parameters.
2080 Guts ripped out and replaced with new include_hash mechanism.
2081 (finclude): Calling convention changed as for
2082 find_include_file. Error exits pulled out-of-line. Reformat.
2083 (safe_read): Return a long, not an int.
2084 (deps_output): Don't recurse.
2085
2086 * cpplib.c (is_system_include): Deleted.
2087 (path_include): Fix up call to append_include_chain.
2088 (do_include): Fix up calls to find_include_file and finclude.
2089 Clean up dependency output a bit. Shorten obnoxiously lengthy
2090 #import warning message. Don't decrement
2091 pfile->system_include_depth here.
2092 (do_pragma): Understand the include_hash structure. Reformat.
2093 (do_endif): Correct handling of control macros. Understand
2094 the include_hash.
2095 (cpp_start_read): Fix up calls to finclude. Call
2096 merge_include_chains.
2097 (cpp_handle_option): Fix up calls to append_include_chain.
2098 Understand the four partial include chains.
2099 (cpp_finish): Add debugging code (#if 0-ed out) for the
2100 include_hash.
2101 (cpp_cleanup): Free the include_hash, not the import hash and
2102 the all_include and dont_repeat lists which no longer exist.
2103
f1db3576
JL
2104Wed Nov 25 11:26:19 1998 Jeffrey A Law (law@cygnus.com)
2105
2106 * toplev.c (no_new_pseudos): Define.
2107 (rest_of_compilation): Set no_new_pseudos as needed.
2108 * emit-rtl.c (gen_reg_rtx): Abort if we try to create a new pseudo
2109 if no_new_pseudos is set.
2110 * rtl.h (no_new_pseudos): Declare it.
2111 * reload1.c (reload): Update comments.
2112 * md.texi: Corresponding changes.
2113
2114Wed Nov 25 11:26:17 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
2115
2116 * reload1.c (reg_used_in_insn): Renamed from reg_used_by_pseudo.
2117 (choose_reload_regs): Rename it here as well. When computing it,
2118 also merge in used hardregs.
2119
b12da25e
ZW
21201998-11-25 07:51 -0500 Zack Weinberg <zack@rabi.phys.columbia.edu>
2121
2122 * gcc.c: Split out Objective-C specs to...
2123 * objc/lang-specs.h: here. (New file.) Make the specs cpplib
2124 aware.
2125
2126 * c-lex.c (init_parse): Always initialize the filename global.
2127 * objc/objc-act.c (lang_init): Always call check_newline at
2128 beginning of file.
2129
5828374f
GS
2130Wed Nov 25 00:48:29 1998 Graham <grahams@rcp.co.uk>
2131
2132 * reload1.c (reload): Remove unused variable.
2133 (reload_reg_free_for_value_p): Add missing parameter definition.
2134
2135 * jump.c (jump_optimize): Remove unused variable.
2136
940da324
JL
2137Wed Nov 25 00:07:11 1998 Jeffrey A Law (law@cygnus.com)
2138
0c3a267b
JL
2139 * Makefile.in (graph.o): Depend on $(RTL_H), not rtl.h.
2140
940da324
JL
2141 * cse.c (fold_rtx): Make autoincrement addressing mode tests be
2142 runtime selectable.
2143 * expr.c (move_by_pieces): Similarly.
2144 (move_by_pieces_1, clear_by_pieces, clear_by_pieces_1): Similarly.
2145 * flow.c (find_auto_inc): Similarly.
2146 (try_pre_increment): Similarly.
2147 * loop.c (strength_reduce): Similarly.
2148 * regclass.c (auto_inc_dec_reg_p): Similarly.
2149 * regmove.c (try_auto_increment): Similarly.
2150 (fixup_match_1): Similarly.
2151 * rtl.h (HAVE_PRE_INCREMENT): Define if not already defined.
2152 (HAVE_PRE_DECREMENT): Similarly.
2153 (HAVE_POST_INCREMENT, HAVE_POST_DECREMENT): Similarly.
0c3a267b
JL
2154 * Corresponding changes to all target header files.
2155 * tm.texi: Update docs for autoinc addressing modes.
940da324 2156
d1be3be3
JW
2157Tue Nov 24 20:24:59 1998 Jim Wilson <wilson@cygnus.com>
2158
2159 * configure.in (m68020-*-elf*, m68k-*-elf*): New targets.
2160 * configure: Rebuild.
2161 * config/elfos.h: New file.
2162 * config/m68k/m68020-elf.h, config/m68k/m68kelf.h,
2163 config/m68k/t-m68kelf: New file.
2164
f6c2a93c
JL
2165Tue Nov 24 13:40:06 1998 Jeffrey A Law (law@cygnus.com)
2166
2167 * Makefile.in (HOST_AR): Define.
2168 (HOST_AR_FLAGS, HOST_RANLIB, HOST_RANLIB_TEST): Similarly.
2169 (libcpp.a): Use the host tools explicitly.
2170 (STAGESTUFF): Add libcpp.a.
2171
6970d948
NC
2172Tue Nov 24 09:33:49 1998 Nick Clifton <nickc@cygnus.com>
2173
2174 * config/m32r/m32r.md (movstrsi_internal): Describe changes made
2175 to source and destination registers.
2176
d0b9a143
MS
2177Mon Nov 23 20:28:02 1998 Mike Stump <mrs@wrs.com>
2178
2179 * libgcc2.c (top_elt): Remove top_elt, it isn't thread safe.
2180 The strategy we now use is to pre allocate the top_elt along
2181 with the EH context so that each thread has its own top_elt.
2182 This is necessary as the dynmanic cleanup chain is used on the
2183 top element of the stack and each thread MUST have its own.
2184 (eh_context_static): Likewise.
2185 (new_eh_context): Likewise.
2186 (__sjthrow): Likewise.
2187
8c8a9717
JM
2188Mon Nov 23 20:25:03 1998 Jason Merrill <jason@yorick.cygnus.com>
2189
2190 * i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Wrap in do...while.
2191 * i386.md (prologue_get_pc): Remove unused variable.
2192
b8a14125
GN
2193Mon Nov 23 17:05:40 1998 Geoffrey Noer <noer@cygnus.com>
2194
2195 * i386/xm-cygwin.h: Rename cygwin_ path funcs back to cygwin32_.
2196
735a0e33
UD
2197Mon Nov 23 16:40:00 1998 Ulrich Drepper <drepper@cygnus.com>
2198
2199 * Makefile.in (OBJS): Add graph.o
2200 (graph.o): New dependency list.
2201 * flags.h: Declare dump_for_graph and define graph_dump_types type.
2202 * print-rtl.c (dump_for_graph): Define new variable.
2203 (print_rtx): Rewrite to allow use in graph dumping functions.
2204 * toplev.c: Declare print_rtl_graph_with_bb, clean_graph_dump_file,
2205 finish_graph_dump_file.
2206 Define graph_dump_format.
2207 (compile_file): If graph dumping is enabled also clear these files.
2208 Finish graph dump files.
2209 (rest_of_compilation): Also dump graph information if enabled.
2210 (main): Recognize -dv to enabled VCG based graph dumping.
2211 * graph.c: New file. Graph dumping functions.
2212
a05e22b8
RH
2213Mon Nov 23 16:39:04 1998 Richard Henderson <rth@cygnus.com>
2214
2215 * configure.in: Look for <sys/stat.h>.
2216 * system.h: Include it before substitute S_ISREG definitions.
2217
a53f72db
GRK
2218Mon Nov 23 17:40:37 1998 Gavin Romig-Koch <gavin@cygnus.com>
2219
2220 * config/mips/abi.h: Use ABI_O64, duplicating ABI_32 usage.
2221 * config/mips/iris6.h: Same.
2222 * config/mips/mips.md: Same.
2223 * config/mips/mips.c: Same; also add "-mabi=o64" option.
2224 * config/mips/mips.h: Same; also define ABI_O64.
2225
c9a3de16
KG
2226Mon Nov 23 17:02:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2227
2228 * configure.in: Use AC_PREREQ(2.12.1).
2229
9855b854
MN
2230Mon Nov 23 10:16:38 1998 "Melissa O'Neill" <oneill@cs.sfu.ca>
2231
2232 * cccp.c (S_ISREG, S_ISDIR): Delete defines.
2233 * cpplib.c, gcc.c: Likewise.
2234 * system.h (S_ISREG, S_ISDIR): Define if not already defined.
2235
578db09b
RH
2236Mon Nov 23 09:53:44 1998 Richard Henderson <rth@cygnus.com>
2237
2238 * local-alloc.c (local_alloc): Use malloc not alloca for
2239 reg_qty, reg_offset, ref_next_in_qty.
2240
225e4f43
R
2241Mon Nov 23 16:46:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2242
193f66a9
JL
2243 * caller-save.c (insert_one_insn): Initialize the live_before and
2244 live_after register sets.
2245
225e4f43
R
2246 Add SH4 support:
2247
2248 * config/sh/lib1funcs.asm (___movstr_i4_even, ___movstr_i4_odd): Define.
2249 (___movstrSI12_i4, ___sdivsi3_i4, ___udivsi3_i4): Define.
2250 * sh.c (reg_class_from_letter, regno_reg_class): Add DF_REGS.
2251 (fp_reg_names, assembler_dialect): New variables.
2252 (print_operand_address): Handle SUBREGs.
2253 (print_operand): Added 'o' case.
2254 Don't use adj_offsettable_operand on PRE_DEC / POST_INC.
2255 Name of FP registers depends on mode.
2256 (expand_block_move): Emit different code for SH4 hardware.
2257 (prepare_scc_operands): Use emit_sf_insn / emit_df_insn as appropriate.
2258 (from_compare): Likewise.
2259 (add_constant): New argument last_value. Changed all callers.
2260 (find_barrier): Don't try HImode load for FPUL_REG.
2261 (machine_dependent_reorg): Likewise.
2262 (sfunc_uses_reg): A CLOBBER cannot be the address register use.
2263 (gen_far_branch): Emit a barrier after the new jump.
2264 (barrier_align): Don't trust instruction lengths before
2265 fixing up pcloads.
2266 (machine_dependent_reorg): Add support for FIRST_XD_REG .. LAST_XD_REG.
2267 Use auto-inc addressing for fp registers if doubles need to
2268 be loaded in two steps.
2269 Set sh_flag_remove_dead_before_cse.
2270 (push): Support for TARGET_FMOVD. Use gen_push_fpul for fpul.
2271 (pop): Support for TARGET_FMOVD. Use gen_pop_fpul for fpul.
2272 (calc_live_regs): Support for TARGET_FMOVD. Don't save FPSCR.
2273 Support for FIRST_XD_REG .. LAST_XD_REG.
2274 (sh_expand_prologue): Support for FIRST_XD_REG .. LAST_XD_REG.
2275 (sh_expand_epilogue): Likewise.
2276 (sh_builtin_saveregs): Use DFmode moves for fp regs on SH4.
2277 (initial_elimination_offset): Take TARGET_ALIGN_DOUBLE into account.
2278 (arith_reg_operand): FPUL_REG is OK for SH4.
2279 (fp_arith_reg_operand, fp_extended_operand) New functions.
2280 (tertiary_reload_operand, fpscr_operand): Likewise.
2281 (commutative_float_operator, noncommutative_float_operator): Likewise.
2282 (binary_float_operator, get_fpscr_rtx, emit_sf_insn): Likewise.
2283 (emit_df_insn, expand_sf_unop, expand_sf_binop): Likewise.
2284 (expand_df_unop, expand_df_binop, expand_fp_branch): Likewise.
2285 (emit_fpscr_use, mark_use, remove_dead_before_cse): Likewise.
2286 * sh.h (CPP_SPEC): Add support for -m4, m4-single, m4-single-only.
2287 (CONDITIONAL_REGISTER_USAGE): Likewise.
2288 (HARD_SH4_BIT, FPU_SINGLE_BIT, SH4_BIT, FMOVD_BIT): Define.
2289 (TARGET_CACHE32, TARGET_SUPERSCALAR, TARGET_HARWARD): Define.
2290 (TARGET_HARD_SH4, TARGET_FPU_SINGLE, TARGET_SH4, TARGET_FMOVD): Define.
2291 (target_flag): Add -m4, m4-single, m4-single-only, -mfmovd.
2292 (OPTIMIZATION_OPTIONS): If optimizing, set flag_omit_frame_pointer
2293 to -1 and sh_flag_remove_dead_before_cse to 1.
2294 (ASSEMBLER_DIALECT): Define to assembler_dialect.
2295 (assembler_dialect, fp_reg_names): Declare.
2296 (OVERRIDE_OPTIONS): Add code for TARGET_SH4.
2297 Hide names of registers that are not accessible.
2298 (CACHE_LOG): Take TARGET_CACHE32 into account.
2299 (LOOP_ALIGN): Take TARGET_HARWARD into account.
2300 (FIRST_XD_REG, LAST_XD_REG, FPSCR_REG): Define.
2301 (FIRST_PSEUDO_REGISTER: Now 49.
2302 (FIXED_REGISTERS, CALL_USED_REGISTERS): Include values for registers.
2303 (HARD_REGNO_NREGS): Special treatment of FIRST_XD_REG .. LAST_XD_REG.
2304 (HARD_REGNO_MODE_OK): Update.
2305 (enum reg_class): Add DF_REGS and FPSCR_REGS.
2306 (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REG_ALLOC_ORDER): Likewise.
2307 (SECONDARY_OUTPUT_RELOAD_CLASS, SECONDARY_INPUT_RELOAD_CLASS): Update.
2308 (CLASS_CANNOT_CHANGE_SIZE, DEBUG_REGISTER_NAMES): Define.
2309 (NPARM_REGS): Eight floating point parameter registers on SH4.
2310 (BASE_RETURN_VALUE_REG): SH4 also passes double values
2311 in floating point registers.
2312 (GET_SH_ARG_CLASS) Likewise.
2313 Complex float types are also returned in float registers.
2314 (BASE_ARG_REG): Complex float types are also passes in float registers.
2315 (FUNCTION_VALUE): Change mode like PROMOTE_MODE does.
2316 (LIBCALL_VALUE): Remove trailing semicolon.
2317 (ROUND_REG): Round when double precision value is passed in floating
2318 point register(s).
2319 (FUNCTION_ARG_ADVANCE): No change wanted for SH4 when things are
2320 passed on the stack.
2321 (FUNCTION_ARG): Little endian adjustment for SH4 SFmode.
2322 (FUNCTION_ARG_PARTIAL_NREGS): Zero for SH4.
2323 (TRAMPOLINE_ALIGNMENT): Take TARGET_HARWARD into account.
2324 (INITIALIZE_TRAMPOLINE): Emit ic_invalidate_line for TARGET_HARWARD.
2325 (MODE_DISP_OK_8): Not for SH4 DFmode.
2326 (GO_IF_LEGITIMATE_ADDRESS): No base reg + index reg for SH4 DFmode.
2327 Allow indexed addressing for PSImode after reload.
2328 (LEGITIMIZE_ADDRESS): Not for SH4 DFmode.
2329 (LEGITIMIZE_RELOAD_ADDRESS): Handle SH3E SFmode.
2330 Don't change SH4 DFmode nor PSImode RELOAD_FOR_INPUT_ADDRESS.
2331 (DOUBLE_TYPE_SIZE): 64 for SH4.
2332 (RTX_COSTS): Add PLUS case.
2333 Increae cost of ASHIFT, ASHIFTRT, LSHIFTRT case.
2334 (REGISTER_MOVE_COST): Add handling of R0_REGS, FPUL_REGS, T_REGS,
2335 MAC_REGS, PR_REGS, DF_REGS.
2336 (REGISTER_NAMES): Use fp_reg_names.
2337 (enum processor_type): Add PROCESSOR_SH4.
2338 (sh_flag_remove_dead_before_cse): Declare.
2339 (rtx_equal_function_value_matters, fpscr_rtx, get_fpscr_rtx): Declare.
2340 (PREDICATE_CODES): Add binary_float_operator,
2341 commutative_float_operator, fp_arith_reg_operand, fp_extended_operand,
2342 fpscr_operand, noncommutative_float_operator.
2343 (ADJUST_COST): Use different scale for TARGET_SUPERSCALAR.
2344 (SH_DYNAMIC_SHIFT_COST): Cheaper for SH4.
2345 * sh.md (attribute cpu): Add value sh4.
2346 (attrbutes fmovd, issues): Define.
2347 (attribute type): Add values dfp_arith, dfp_cmp, dfp_conv, dfdiv.
2348 (function units memory, int, mpy, fp): Make dependent on issue rate.
2349 (function units issue, single_issue, load_si, load): Define.
2350 (function units load_store, fdiv, gp_fpul): Define.
2351 (attribute hit_stack): Provide proper default.
2352 (use_sfunc_addr+1, udivsi3): Predicated on ! TARGET_SH4.
2353 (udivsi3_i4, udivsi3_i4_single, divsi3_i4, divsi3_i4_single): New insns.
2354 (udivsi3, divsi3): Emit special patterns for SH4 hardware,
2355 (mulsi3_call): Now uses match_operand for function address.
2356 (mulsi3): Also emit code for SH1 case. Wrap result in REG_LIBCALL /
2357 REG_RETVAL notes.
2358 (push, pop, push_e, pop_e): Now define_expands.
2359 (push_fpul, push_4, pop_fpul, pop_4, ic_invalidate_line): New expanders.
2360 (movsi_ie): Added y/i alternative.
2361 (ic_invalidate_line_i, movdf_i4): New insns.
2362 (movdf_i4+[123], reload_outdf+[12345], movsi_y+[12]): New splitters.
2363 (reload_indf, reload_outdf, reload_outsf, reload_insi): New expanders.
2364 (movdf): Add special code for SH4.
2365 (movsf_ie, movsf_ie+1, reload_insf, calli): Make use of fpscr visible.
2366 (call_valuei, calli, call_value): Likewise.
2367 (movsf): Emit no-op move.
2368 (mov_nop, movsi_y): New insns.
2369 (blt, sge): generalize to handle DFmode.
2370 (return predicate): Call emit_fpscr_use and remove_dead_before_cse.
2371 (block_move_real, block_lump_real): Predicate on ! TARGET_HARD_SH4.
2372 (block_move_real_i4, block_lump_real_i4, fpu_switch): New insns.
2373 (fpu_switch0, fpu_switch1, movpsi): New expanders.
2374 (fpu_switch+[12], fix_truncsfsi2_i4_2+1): New splitters.
2375 (toggle_sz): New insn.
2376 (addsf3, subsf3, mulsf3, divsf3): Now define_expands.
2377 (addsf3_i, subsf3_i, mulsf3_i4, mulsf3_ie, divsf3_i): New insns.
2378 (macsf3): Make use of fpscr visible. Disable for SH4.
2379 (floatsisf2): Make use of fpscr visible.
2380 (floatsisf2_i4): New insn.
2381 (floatsisf2_ie, fixsfsi, cmpgtsf_t, cmpeqsf_t): Disable for SH4.
2382 (ieee_ccmpeqsf_t): Likewise.
2383 (fix_truncsfsi2): Emit different code for SH4.
2384 (fix_truncsfsi2_i4, fix_truncsfsi2_i4_2, cmpgtsf_t_i4): New insns.
2385 (cmpeqsf_t_i4, ieee_ccmpeqsf_t_4): New insns.
2386 (negsf2, sqrtsf2, abssf2): Now expanders.
2387 (adddf3, subdf3i, muldf2, divdf3, floatsidf2): New expanders.
2388 (negsf2_i, sqrtsf2_i, abssf2_i, adddf3_i, subdf3_i): New insns.
2389 (muldf3_i, divdf3_i, floatsidf2_i, fix_truncdfsi2_i): New insns.
2390 (fix_truncdfsi2, cmpdf, negdf2, sqrtdf2, absdf2): New expanders.
2391 (fix_truncdfsi2_i4, cmpgtdf_t, cmpeqdf_t, ieee_ccmpeqdf_t): New insns.
2392 (fix_truncdfsi2_i4_2+1): New splitters.
2393 (negdf2_i, sqrtdf2_i, absdf2_i, extendsfdf2_i4): New insns.
2394 (extendsfdf2, truncdfsf2): New expanders.
2395 (truncdfsf2_i4): New insn.
2396 * t-sh (LIB1ASMFUNCS): Add _movstr_i4, _sdivsi3_i4, _udivsi3_i4.
2397 (MULTILIB_OPTIONS): Add m4-single-only/m4-single/m4.
2398 * float-sh.h: When testing for __SH3E__, also test for
2399 __SH4_SINGLE_ONLY__ .
2400 * va-sh.h (__va_freg): Define to float.
2401 (__va_greg, __fa_freg, __gnuc_va_list, va_start):
2402 Define for __SH4_SINGLE_ONLY__ like for __SH3E__ .
2403 (__PASS_AS_FLOAT, __TARGET_SH4_P): Likewise.
2404 (__PASS_AS_FLOAT): Use different definition for __SH4__ and
2405 __SH4_SINGLE__.
2406 (TARGET_SH4_P): Define.
2407 (va_arg): Use it.
2408
2409 * sh.md (movdf_k, movsf_i): Tweak the condition so that
2410 init_expr_once is satisfied about the existence of load / store insns.
2411
2412 * sh.md (movsi_i, movsi_ie, movsi_i_lowpart, movsf_i, movsf_ie):
2413 change m constraint in source operand to mr / mf .
2414
2415 * va-sh.h (__va_arg_sh1): Use __asm instead of asm.
2416
2417 * (__VA_REEF): Define.
2418 (__va_arg_sh1): Use it.
2419
2420 * va-sh.h (va_start, va_arg, va_copy): Add parenteses.
2421
668d9af5
JL
2422Sun Nov 22 21:34:02 1998 Jeffrey A Law (law@cygnus.com)
2423
2424 * i386/dgux.c (struct option): Add new "description field".
2425 * m88k/m88k.c (struct option): Likewise.
2426
e736f77a
JL
2427Sun Nov 22 16:07:57 PST 1998 Jeff Law (law@cygnus.com)
2428
2429 * version.c: Bump for snapshot.
2430
3d2f8eb6
BS
2431Sun Nov 22 13:40:02 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
2432
2433 * regmove.c (regmove_profitable_p): Use return value of find_matches
2434 properly.
2435
57412d4f
JL
2436Sun Nov 22 02:47:37 PST 1998 Jeff Law (law@cygnus.com)
2437
2438 * version.c: Bump for snapshot.
2439
225a7e3d
JL
2440Sat Nov 21 22:12:09 1998 Jeffrey A Law (law@cygnus.com)
2441
9969bb2c
JL
2442 * reload1.c (eliminate_regs): Do not lose if eliminate_regs is called
2443 without reload having been called earlier.
2444
2268cc52
JL
2445 * v850.c (ep_memory_operand): Offsets < 0 are not valid for EP
2446 addressing modes.
2447 (v850_reorg): Similarly.
2448
225a7e3d
JL
2449 * loop.c (check_dbra_loop): Avoid using gen_add2_insn.
2450
18985c91
R
2451Sat Nov 21 02:18:38 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2452
2453 * loop.c (move_movables): Start of libcall might be new loop start.
2454
d25a233e
KG
2455Fri Nov 20 12:14:16 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2456
2457 * hash.c (hash_table_init_n): Wrap prototype arguments in PARAMS().
2458
ba716ac9
BS
2459Fri Nov 20 08:34:00 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
2460
2461 * function.c (nonlocal_goto_handler_slots): Renamed from
2462 nonlocal_goto_handler_slot; now an EXPR_LIST chain.
2463 (push_function_context_to): Adjust for this change.
2464 (pop_function_context_from): Likewise.
2465 (init_function_start): Likewise.
2466 (expand_function_end): Likewise.
2467 * function.h (struct function): Likewise.
2468 * calls.c (expand_call): Likewise.
2469 * explow.c (allocate_dynamic_stack_space): Likewise.
2470 * expr.h (nonlocal_goto_handler_slots): Rename its declaration.
2471 * stmt.c (declare_nonlocal_label): Make a new handler slot for each
2472 label.
2473 (expand_goto): When doing a nonlocal goto, find corresponding handler
2474 slot for it. Don't put the label address in the static chain register.
2475 (expand_end_bindings): Break out nonlocal goto handling code into
2476 three new functions.
2477 (expand_nl_handler_label, expand_nl_goto_receiver,
2478 expand_nl_goto_receivers): New static functions, broken out of
2479 expand_end_bindings and adapted to create one handler per nonlocal
2480 label.
2481 * function.c (delete_handlers): Delete insn if it references any of
2482 the nonlocal goto handler slots.
2483 * i960.md (nonlocal_goto): Comment out code that modifies
2484 static_chain_rtx.
2485 * sparc.md (nonlocal_goto): Likewise.
2486 (goto_handler_and_restore_v9): Comment out.
2487 (goto_handler_and_restore_v9_sp64): Comment out.
2488
e468780f 2489Thu Nov 19 23:44:38 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
c795bca9
BS
2490
2491 * expr.c (STACK_BYTES): Delete unused macro.
2492 * calls.c: Provide default for PREFERRED_STACK_BOUNDARY.
2493 (STACK_BYTES): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
2494 (expand_call): Likewise.
2495 (emit_library_call): Likewise.
2496 (emit_library_call_value): Likewise.
2497 * function.c: Provide default for PREFERRED_STACK_BOUNDARY.
2498 (STACK_BYTES): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
2499 * explow.c: Provide default for PREFERRED_STACK_BOUNDARY.
2500 (round_push): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
2501 (allocate_dynamic_stack_space): Likewise.
2502 * tm.texi (PREFERRED_STACK_BOUNDARY): Document new macro.
2503 (STACK_BOUNDARY): Update description to reflect the new situation.
2504
9bce98db
JL
2505Thu Nov 19 22:20:51 1998 Jeffrey A Law (law@cygnus.com)
2506
9f5a2691
JL
2507 * reorg.c (relax_delay_slots): When optimizing for code size, if a
2508 return with a filled delay slot is followed by a return with an
2509 unfilled delay slot, delete the first return and reemit the insn
2510 that was previously in its delay slot.
2511
9bce98db
JL
2512 * i860.c (single_insn_src_p): Add missing parens.
2513 * ginclude/math-3300.h: Likewise.
2514
24deb20a
L
2515Thu Nov 19 20:55:59 1998 H.J. Lu (hjl@gnu.org)
2516
2517 * regclass.c (init_reg_sets_1): Add prototype.
2518 (init_reg_modes): Likewise.
2519
07be2a23
ZW
25201998-11-19 Zack Weinberg <zack@rabi.phys.columbia.edu>
2521
2522 * c-common.c: Change warning messages to say `comparison is
2523 always true' or `comparison is always false' instead of the
2524 confusing `is always 0', `is always 1'.
2525
39e4e1ef
PB
2526Thu Nov 19 19:05:49 1998 Per Bothner <bothner@cygnus.com>
2527
2528 * print-tree.c (print_node): After printing BLOCK or BIND_EXPR,
2529 break instead of return (which loses closing '>').
2530
90aec2cf
JL
2531Thu Nov 19 19:34:13 1998 Jeffrey A Law (law@cygnus.com)
2532
e3f159c2
JL
2533 * i386.h (LEGITIMATE_CONSTANT_P): Reject CONST_DOUBLEs that are not
2534 standard 387 constants.
2535
90aec2cf
JL
2536 * i386.md (jump): Explicitly set "memory" attribute.
2537 (indirect_jump, prologue_set_stack_ptr): Likewise.
2538 (prologue_get_pc_and_set_got, pop): Likewise.
2539 (allocate_stack_worder, blockage, return_internal): Likewise.
2540 (return_pop_internal, nop): Likewise.
2541 (epilogue_set_stack_ptr, leave): Likewise.
2542
233ce013
NC
2543Thu Nov 19 15:42:54 1998 Nick Clifton <nickc@cygnus.com>
2544
2545 * config/arm/coff.h: Set USER_LABEL_PREFIX to "_".
2546
701d55e8
R
2547Thu Nov 19 23:20:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2548
53526817
JR
2549 * reload1.c (reload_reg_free_for_value_p):
2550 Early auto_inc reloads don't conflict with outputs.
701d55e8 2551
e9831ca0
KG
2552Thu Nov 19 12:58:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2553
2554 * configure.in: Don't do AC_CHECK_HEADERS(wait.h sys/wait.h).
2555 Instead call AC_HEADER_SYS_WAIT.
2556
2557 * collect2.c: Don't provide defaults for sys/wait.h macros.
2558 * gcc.c: Likewise.
2559 * protoize.c: Likewise. Also, don't include sys/wait.h.
2560
2561 * system.h: Include sys/wait.h and provide macro defaults.
2562
a76b6b40
MH
25631998-11-19 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
2564
2565 * Makefile.in (mandir): Set to @mandir@.
2566 (man1dir): New variable to hold the former value of $(mandir).
2567 Replace all uses of $(mandir) by $(man1dir).
2568
10352226
JW
2569Wed Nov 18 16:31:28 1998 Jim Wilson <wilson@cygnus.com>
2570
ef18065c
JW
2571 * reload.c (find_reloads_address_part): If have a CONST_INT, create
2572 a new one before passing it to force_const_mem.
2573
10352226
JW
2574 * reload.c (find_reloads_toplev): Pass &x instead of NULL_PTR in
2575 find_reloads_address call.
2576
f3f2255a
R
2577Wed Nov 18 22:13:00 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2578
2579 * expr.c (store_expr): Don't generate load-store pair
2580 if TEMP is identical (according to ==) with TARGET.
2581
25963977
R
2582Tue Nov 17 22:25:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2583
2584 * reload1.c (reload_reg_free_for_value_p): When considered reload
2585 has an output, matching inputs are not sufficient to avoid conflict.
2586
a87ec9e6
MM
2587Tue Nov 17 11:51:16 1998 Mark Mitchell <mark@markmitchell.com>
2588
2589 * hash.h (hash_table_key): New type.
2590 (hash_entry): Change `string' field to generic `key'.
2591 (hash_table): Add `comp' and `hash' functions.
2592 (hash_table_init): Take them as input.
2593 (hash_table_init_n): Likewise.
2594 (hash_lookup): Modify for generic keys.
2595 (hash_newfunc): Likewise.
2596 (hash_traverse): Likewise.
2597 (string_hash): New function.
2598 (string_compare): Likewise.
2599 (string_copy): Likewise.
2600 * hash.c (hash_table_init_n): Modify for generic keys.
2601 (hash_table_init): Likewise.
2602 (hash_lookup): Likewise.
2603 (hash_newfunc): Likewise.
2604 (hash_traverse): Likewise.
2605 (string_hash): Split out from hash_lookup.
2606 (string_compare): New function.
2607 (string_copy): Split out from hash_lookup.
2608 * tlink.c (symbol_hash_newfunc): Modify for new interfaces to hash
2609 tables.
2610 (symbol_hash_lookup): Likewise.
2611 (file_hash_newfunc): Likewise.
2612 (file_hash_lookup): Likewise.
2613 (demangled_hash_newfunc): Likewise.
2614 (demangled_hash_lookup): Likewise.
2615 (tlink_int): Likewise.
2616 (read_repo_file): Likewise.
2617 (recompile_files): Likewise.
2618 (demangle_new_symbols): Likewise.
2619 (scan_linker_output): Likewise.
2620
e398aa80
R
2621Tue Nov 17 17:13:53 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2622
2623 * flow.c (insn_dead_p): New argument NOTES. Changed all callers.
2624
efc97ef0
DE
2625Mon Nov 16 17:56:07 1998 David Edelsohn <edelsohn@mhpcc.edu>
2626
2627 * rs6000.c (output_mi_thunk): Improve test for local branch.
2628
2629Mon Nov 16 17:56:07 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2630
2631 * rs6000.c (output_mi_thunk): Correct test for aggregate values.
2632
dfe96118
R
2633Mon Nov 16 21:02:52 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2634
2635 * reload1.c (reload_reg_free_before_p): Delete.
2636 Changed all callers to use reload_reg_free_for_value_p instead.
2637 (reload_reg_free_for_value_p): Handle more reload types.
2638 A RELOAD_FOR_INPUT doesn't conflict with its
2639 RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS.
2640 Add special case for OUT == const0_rtx.
2641 Added ignore_address_reloads argument. Changed all callers.
2642
1f288b3f
JM
2643Mon Nov 16 02:22:29 1998 Jason Merrill <jason@yorick.cygnus.com>
2644
2645 * toplev.c (compile_file): Don't pedwarn about undefined static
2646 functions just because we passed -Wunused.
2647
de0dd934
R
2648Mon Nov 16 04:41:41 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2649
2650 * function.c (purge_addressof_1): Unshare rtl created by
2651 store_bit_field.
2652
8d1d76c1
R
2653Mon Nov 16 04:23:06 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2654
2655 * regmove.c (regmove_optimize): Don't do anything but
2656 optimize_reg_copy[123] when flag_regmove is not set.
2657
bd8dc165
RH
2658Sat Nov 14 15:05:07 1998 Richard Henderson <rth@cygnus.com>
2659
2660 * alpha.md (addsi3, subsi3): Revise 5 Nov change to store DImode
2661 value in paradoxical SImode result, rather than truncating midpoint.
2662
40b80dad
RH
2663Fri Nov 13 22:19:23 1998 Richard Henderson <rth@cygnus.com>
2664
2665 * alpha.c (reg_not_elim_operand): New.
2666 * alpha.h (PREDICATE_CODES): Add it.
2667 * alpha.md (s48addq, s48subq patterns): Use it as the predicate
2668 for the multiplicand.
2669
f99f88e0
DE
2670Fri Nov 13 22:50:37 1998 David Edelsohn <edelsohn@mhpcc.edu>
2671
2672 * rs6000.md (movsf): Remove explicit secondary-reload-like
2673 functionality. Only truncate SFmode store if in FPR.
2674 (movsf splitters): Combine const_double splitters.
2675 (movsf_hardfloat): Add GPR support.
2676
8c64be75
SC
2677Fri Nov 13 11:02:11 1998 Stan Cox <scox@cygnus.com>
2678
93d9a2eb
SC
2679 * splet.h (SUBTARGET_OVERRIDE_OPTIONS): New to
2680 deprecate -mlive-g0 and -mbroken-saverestore.
2681 * t-splet (MULTILIB_OPTIONS): Likewise.
2682
8c64be75
SC
2683 * sparc.c (sparc_flat_compute_frame_size): Correctly calc args_size
2684 in a leaf function. Clarify total_size/extra_size relationship.
2685
cae21ae8
GN
2686Thu Nov 12 19:20:57 1998 Geoffrey Noer <noer@cygnus.com>
2687
2688 * i386/cygwin32.asm: Delete.
2689 * i386/cygwin.asm: New file, renamed from cygwin32.asm.
2690 * i386/cygwin32.h: Delete.
2691 * i386/cygwin.h: New file, renamed from cygwin32.h.
2692 * i386/t-cygwin32: Delete.
2693 * i386/t-cygwin: New file, renamed from t-cygwin32. Include
2694 cygwin.asm instead of cygwin32.asm. Remove "32" from comment.
2695 * i386/x-cygwin32: Delete.
2696 * i386/x-cygwin: New file, renamed from x-cygwin32.
2697 * i386/xm-cygwin32: Delete.
2698 * i386/xm-cygwin: New file, renamed from xm-cygwin32. Use newly
2699 renamed cygwin_ funcs for path translations.
2700 * i386/win32.h: Define __CYGWIN__ when -mcygwin given.
2701 * i386/winnt.c: Remove "32" from comment about cygwin.
2702 * i386/mingw32.h: Fix references to cygwin32.h in light of above.
2703 * rs6000/cygwin32.h: Delete.
2704 * rs6000/cygwin.h: New file, renamed from cygwin32.h. Add
2705 -D__CYGWIN__ to CPP_PREDEFINES.
2706 * rs6000/x-cygwin32: Delete.
2707 * rs6000/x-cygwin: New file, renamed from x-cygwin32.
2708 * rs6000/xm-cygwin32: Delete.
2709 * rs6000/xm-cygwin: New file, renamed from xm-cygwin32.
2710
2711 * configure.in: Check for cygwin* instead of cygwin32. Account
2712 for the rename of cygwin-related config files to lose the "32"s.
2713 * configure: Regenerate.
2714
2715 * cccp.c, collect2.c, gcc.c, getpwd.c, libgcc2.c, protoize.c,
2716 toplev.c: Change all refs to __CYGWIN32__ to __CYGWIN__.
2717
df37e3db
TT
2718Wed Nov 11 12:25:19 1998 Tom Tromey <tromey@cygnus.com>
2719
2720 * Makefile.in (JAVAGC): New macro.
2721 * configure: Rebuilt.
2722 * configure.in: Recognize --enable-java-gc argument. Subst
2723 `JAVAGC' variable.
2724
135eb61c
R
2725Thu Nov 12 03:32:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2726
2727 Handle equivalences that have been obscured by gcse:
2728
2729 * reload1.c (reload): Handle equivalences set up in multiple places.
2730 * local-alloc.c (reg_equiv_init_insns): New variable.
2731 (no_equiv): New function.
2732 (update_equiv_regs): Handle equivalences set up in multiple places.
2733 Don't ignore an insn just because its destination is likely to be
2734 spilled.
2735
2a55b8e8
JW
2736Wed Nov 11 13:46:13 1998 Jim Wilson <wilson@cygnus.com>
2737
2738 * except.c (expand_eh_return): Readd force_operand call lost in
2739 Sept 15 change.
2740
fbd2bdda
DE
2741Tue Nov 10 17:04:11 1998 David Edelsohn <edelsohn@mhpcc.edu>
2742
2743 * rs6000.h (LEGITIMIZE_ADDRESS): Add missing goto on last case.
2744
3363316f
JL
27451998-11-09 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
2746
2747 * dbxout.c: Check HAVE_STAB_H instead of HAVE_STABS_H.
2748
2749Mon Nov 9 20:15:19 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
2750
2751 * regmove.c (regmove_optimize): Fix error in last change.
2752
a3bc83cc
AC
2753Mon Nov 9 16:37:52 1998 Andrew Cagney <cagney@b1.cygnus.com>
2754
2755 * mips.c (function_prologue): When TARGET_MIPS16, adjust the register
2756 offset in the .mask pseudo to compensate for frame pointer adjustments.
2757 (mips16_fp_args, build_mips16_call_stub): For little endian, do not
2758 word swap arguments moved to/from FP registers.
2759 * mips16.S (DFREVCMP): Reverse arguments to OPCODE.
2760
b8b2d50d
JL
2761Mon Nov 9 09:47:06 PST 1998 Jeff Law (law@cygnus.com)
2762
2763 * version.c: Bump for snapshot.
2764
57457ee0
JL
2765Mon Nov 9 02:14:14 PST 1998 Jeff Law (law@cygnus.com)
2766
2767 * version.c: Bump for snapshot.
2768
a3a24aa6
JL
2769Mon Nov 9 03:06:24 1998 Jeffrey A Law (law@cygnus.com)
2770
2771 * reload1.c (delete_output_reload_insn): If a pseudo is set multiple
2772 times, then it can not be completely replaced.
2773
8cad673c
RH
2774Mon Nov 9 00:39:02 1998 Richard Henderson <rth@cygnus.com>
2775
2776 * alpha.md (call, call_value) [OSF]: Correct alt 3 insn length.
2777
5148a72b
KG
2778Sun Nov 8 17:50:30 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2779
2780 * gansidecl.h: Prepend a "G" to the macro wrapping this file
2781 (to distinguish it from the macro wrapping ansidecl.h.)
2782 Include libiberty's ansidecl.h. Remove all redundant definitions.
2783 Define the PROTO() style macros in terms of the PARAMS() ones.
2784
2785
2786 * calls.c (emit_library_call): Switch on ANSI_PROTOTYPES, not
2787 __STDC__, when deciding whether to use ANSI variable args.
2788 (emit_library_call_value): Likewise.
2789
2790 * cccp.c (error): Likewise.
2791 (warning): Likewise.
2792 (error_with_line): Likewise.
2793 (warning_with_line): Likewise.
2794 (pedwarn): Likewise.
2795 (pedwarn_with_line): Likewise.
2796 (pedwarn_with_file_and_line): Likewise.
2797 (fatal): Likewise.
2798
2799 * cexp.y (error): Likewise.
2800 (pedwarn): Likewise.
2801 (warning): Likewise.
2802
2803 * collect2.c (fatal_perror): Likewise.
2804 (fatal): Likewise.
2805 (error): Likewise.
2806
2807 * combine.c (gen_rtx_combine): Likewise.
2808
2809 * cpperror.c (cpp_message): Likewise.
2810 (cpp_fatal): Likewise.
2811
2812 * cpplib.c (cpp_error): Likewise.
2813 (cpp_warning): Likewise.
2814 (cpp_pedwarn): Likewise.
2815 (cpp_error_with_line): Likewise.
2816 (cpp_warning_with_line): Likewise.
2817 (cpp_pedwarn_with_line): Likewise.
2818 (cpp_pedwarn_with_file_and_line): Likewise.
2819
2820 * cpplib.h: Don't define PARAMS() macro.
2821
2822 * demangle.h: Likewise.
2823
2824 * doprint.c (checkit): Switch on ANSI_PROTOTYPES, not __STDC__,
2825 when deciding whether to use ANSI variable args.
2826
2827 * emit-rtl.c (gen_rtx): Likewise.
2828 (gen_rtvec): Likewise.
2829
2830 * final.c (asm_fprintf): Likewise.
2831
2832 * fix-header.c (cpp_message): Likewise.
2833 (fatal): Likewise.
2834 (cpp_fatal): Likewise.
2835
2836 * gcc.c (concat): Likewise.
2837 (fatal): Likewise.
2838 (error): Likewise.
2839
2840 * genattr.c (fatal): Likewise.
2841
2842 * genattrtab.c (attr_rtx): Likewise.
2843 (attr_printf): Likewise.
2844 (fatal): Likewise.
2845
2846 * gencodes.c (fatal): Likewise.
2847
2848 * genconfig.c (fatal): Likewise.
2849
2850 * genemit.c (fatal): Likewise.
2851
2852 * genextract.c (fatal): Likewise.
2853
2854 * genflags.c (fatal): Likewise.
2855
2856 * genopinit.c (fatal): Likewise.
2857
2858 * genoutput.c (fatal): Likewise.
2859 (error): Likewise.
2860
2861 * genpeep.c (fatal): Likewise.
2862
2863 * genrecog.c (fatal): Likewise.
2864
2865 * halfpic.h: Switch on ANSI_PROTOTYPES, not __STDC__, when
2866 deciding whether to declare `tree_node' and `rtx_def'.
2867
2868 * hash.h: Don't define stuff we get from gansidecl.h.
2869
2870 * mips-tfile.c: Likewise. Define __proto() in terms of PARAMS().
2871 (fatal): Switch on ANSI_PROTOTYPES, not __STDC__, when deciding
2872 whether to use ANSI variable args.
2873 (error): Likewise.
2874
2875 * prefix.c (concat): Likewise.
2876
2877 * scan.h: Likewise.
2878
2879 * system.h: Likewise.
2880
2881 * toplev.c (error_with_file_and_line): Likewise.
2882 (error_with_decl): Likewise.
2883 (error_for_asm): Likewise.
2884 (error): Likewise.
2885 (fatal): Likewise.
2886 (warning_with_file_and_line): Likewise.
2887 (warning_with_decl): Likewise.
2888 (warning_for_asm): Likewise.
2889 (warning): Likewise.
2890 (pedwarn): Likewise.
2891 (pedwarn_with_decl): Likewise.
2892 (pedwarn_with_file_and_line): Likewise.
2893 (sorry): Likewise.
2894 (really_sorry): Likewise.
2895
2896 * toplev.h: Switch on ANSI_PROTOTYPES, not __STDC__, when deciding
2897 whether to declare `tree_node' and `rtx_def'.
2898
2899 * tree.c (build): Switch on ANSI_PROTOTYPES, not __STDC__, when
2900 deciding whether to use ANSI variable args.
2901 (build_nt): Likewise.
2902 (build_parse_node): Likewise.
2903
2fb04465
JL
2904Sun Nov 8 13:10:55 PST 1998 Jeff Law (law@cygnus.com)
2905
2906 * version.c: Bump for snapshot.
2907
4f44785e
KG
2908Sat Nov 7 23:34:01 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2909
2910 * Makefile.in (libcpp.a): Check RANLIB_TEST before runing RANLIB.
2911
3d697b4c
DE
2912Sat Nov 7 22:26:19 1998 David Edelsohn <edelsohn@mhpcc.edu>
2913
2914 * collect2.c (main, case 'b'): Use else if.
2915
0056a9b5
KG
2916Sat Nov 7 15:35:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2917
2918 * configure.in (host_xm_file, build_xm_file, xm_file, tm_file):
2919 Arrange to include gansidecl.h in {ht}config.h & tm.h just
2920 before the config/ directory headers.
2921 (tm_file_list, host_xm_file_list, build_xm_file_list): Handle
2922 gansidecl.h in the list of dependencies.
2923
2924 * Makefile.in (RTL_BASE_H): Don't depend on gansidecl.h.
2925 (TREE_H, DEMANGLE_H, RECOG_H, REGS_H, libgcc2.a, stmp-multilib,
2926 mbchar.o, collect2.o, pexecute.o, vfprintf.o, splay-tree.o, gcc.o,
2927 gencheck.o, choose-temp.o, mkstemp.o, mkstemp.o, prefix.o,
2928 dyn-string.o, cexp.o, cccp.o, cppmain.o, cpplib.o, cpperror.o,
2929 cppexp.o, cppfiles.o, cpphash.o, cppalloc.o, scan-decls.o):
2930 Likewise.
2931
2932 * cccp.c: Don't include gansidecl.h.
2933 * cexp.y: Likewise.
2934 * collect2.c: Likewise.
2935 * config/c4x/c4x.c: Likewise.
2936 * config/v850/v850.h: Likewise.
2937 * cppalloc.c: Likewise.
2938 * cpperror.c: Likewise.
2939 * cppexp.c: Likewise.
2940 * cppfiles.c: Likewise.
2941 * cpphash.c: Likewise.
2942 * cpplib.c: Likewise.
2943 * cppmain.c: Likewise.
2944 * cppulp.c: Likewise.
2945 * demangle.h: Likewise.
2946 * doprint.c: Likewise.
2947 * dyn-string.c: Likewise.
2948 * eh-common.h: Likewise.
2949 * fix-header.c: Likewise.
2950 * frame.c: Likewise.
2951 * gcc.c: Likewise.
2952 * gcov.c: Likewise.
2953 * gen-protos.c: Likewise.
2954 * gencheck.c: Likewise.
2955 * halfpic.h: Likewise.
2956 * hash.c: Likewise.
2957 * machmode.h: Likewise.
2958 * mbchar.c: Likewise.
2959 * prefix.c: Likewise.
2960 * protoize.c: Likewise.
2961 * recog.h: Likewise.
2962 * rtl.h: Likewise.
2963 * scan-decls.c: Likewise.
2964 * tree.h: Likewise.
2965 * varray.h: Likewise.
2966
35e2d030
RH
2967Sat Nov 7 11:37:53 1998 Richard Henderson <rth@cygnus.com>
2968
2969 * i386.md (call_value_pop): If we're not popping anything,
2970 defer to call_value.
2971 (call_pop): Likewise defer to call.
2972
da9b1f9c
RH
2973Sat Nov 7 02:49:56 1998 Richard Henderson <rth@cygnus.com>
2974
2975 * function.c (purge_addressof): Clear purge_addressof_replacements
2976 only after processing the whole function.
2977
8f5db3c1
JL
2978Sat Nov 7 00:54:55 1998 Jeffrey A Law (law@cygnus.com)
2979
2980 * reload1.c (reload): If we can not perform a particular elimination
2981 when we thought we could earlier, then we must always iterate through
2982 the loop at least one more time.
2983
80df65c9
RH
2984Fri Nov 6 19:37:33 1998 Richard Henderson <rth@cygnus.com>
2985
2986 * alpha.c (add_operand): Simplify the CONST_INT match.
2987 (sext_add_operand): Correct typo in comparison by using
2988 CONST_OK_FOR_LETTER_P.
2989 * alpha.md (s?addq): Use sext_add_operand to allow the negative
2990 constant alternatives to be generated.
2991 (mulsi3, muldi3, umuldi3_highpart): Loosen constraints to allow
2992 small constants, since the hw instructions do.
2993
d30e8ef0
BS
2994Fri Nov 6 20:15:19 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
2995
2996 * reload1.c (emit_reload_insns): When rewriting the SET_DEST of a
2997 previous insn to store directly into our reload register, make sure
2998 that if the source of the previous insn is a reload register, its
2999 spill_reg_store and spill_reg_stored_to values are cleared.
3000
955fc2e7
DE
3001Fri Nov 6 16:35:10 1998 David Edelsohn <edelsohn@mhpcc.edu>
3002
3003 * rs6000.md (floatunssidf2_internal splitter): Use base register
3004 operand, not hard-coded SP.
3005
ca76d13d
DM
3006Fri Nov 6 04:07:53 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
3007
3008 * jump.c (calculate_can_reach_end): Fix thinko.
3009
2cea37e5
JL
3010Fri Nov 6 00:16:04 1998 Jeffrey A Law (law@cygnus.com)
3011
0d87569a
JL
3012 * reorg.c (fill_simple_delay_slots): Fix typo.
3013
2cea37e5
JL
3014 * romp.h (LEGITIMIZE_ADDRESS): Fix typo.
3015
724d568a
JH
3016Fri Nov 6 00:10:00 1998 Jan Hubicka (hubicka@freesoft.cz)
3017
3018 * i386.md (extendsidi2): Use # in the output template.
3019 (extendsidi splitters): New splitters.
3020
5ee26f85
NC
3021Thu Nov 5 11:13:27 1998 Nick Clifton <nickc@cygnus.com>
3022
3023 * configure.in: Use unknown-elf.h as tm_file for arm-elf
3024 configuarions.
3025 * configure: Regenerate.
3026
269ef46c
DM
3027Thu Nov 5 07:59:05 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
3028
3029 * jump.c (init_label_info, delete_barrier_successors,
3030 mark_all_labels, delete_unreferenced_labels,
3031 delete_noop_moves, calculate_can_reach_end): New functions broken
3032 out of jump_optimize.
3033 (jump_optimize): Use them.
3034
b37f006b
AM
3035Thu Nov 5 07:57:45 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
3036
3037 * except.c (expand_fixup_region_end): Make sure outer context labels
3038 are not issued in an inner context during cleanups.
3039
6c61c2bb
RH
3040Thu Nov 5 04:03:06 1998 Richard Henderson <rth@cygnus.com>
3041
3042 * alpha.md (addsi3, subsi3): No new temporaries once cse is
3043 no longer expected.
3044
8f5d6855
RH
3045Thu Nov 5 03:29:19 1998 Richard Henderson <rth@cygnus.com>
3046
3047 * alpha.md (addsi3, subsi3): Expand to a DImode temporary so as
3048 to expose this midpoint to CSE.
3049
4ba687c8
DM
3050Thu Nov 5 03:42:54 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
3051
3052 * config/sparc/sparc.md (movdf_const_intreg_sp64): Enable again.
3053
9da0e39b
AS
3054Thu Nov 5 10:53:01 1998 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
3055
3056 * configure.in: Bring over gcc2 change of Nov 19 1997.
3057
444bf316
JL
3058Wed Nov 4 23:43:08 1998 Graham <grahams@rcp.co.uk>
3059
3060 * toplev.c (output_lang_identify): Make definition dependent on
3061 ASM_IDENTIFY_LANGUAGE.
3062
3063 * print-rtl.c (spaces): Make static.
3064
3065Wed Nov 4 22:16:36 1998 Hans-Peter Nilsson <hp@axis.se>
8fe1938e
HPN
3066
3067 * extend.texi: Clarify proper uses for register clobbers in asms.
3068
0eadeb15
BS
3069Wed Nov 4 22:16:36 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
3070
3071 * recog.h (enum op_type): Define.
3072 (constrain_operands): Adjust prototype.
3073 (recog_op_type): Declare new variable.
3074 * recog.c (recog_op_type): New variable.
3075 (insn_invalid_p): Allow modifying an asm statement after reload.
3076 (extract_insn): Set up recog_op_type.
3077 (constrain_operands): Lose INSN_CODE_NUM arg. All callers changed.
3078 Don't compute operand types, use recog_op_type.
3079 Use the information computed by extract_insn instead of the previous
3080 method of finding it by insn code number.
3081 * caller-save.c (init_caller_save): Use extract_insn, not insn_extract.
3082 * reorg.c (fill_slots_from_thread): Likewise.
3083 * reload1.c (reload_as_needed): Likewise.
3084 (gen_reload): Likewise.
3085 (inc_for_reload): Likewise.
3086 (reload_cse_simplify_operands): Likewise.
3087 Use the information computed by extract_insn instead of the previous
3088 method of finding it by insn code number.
3089 * genattrtab.c (write_attr_case): Generate call to extract_insn, not
3090 insn_extract.
3091 * final.c (final_scan_insn): Use extract_insn, not insn_extract.
3092 (cleanup_operand_subregs): Use extract_insn, not insn_extract.
3093 Use the information computed by extract_insn instead of the previous
3094 method of finding it by insn code number.
3095 * regmove.c (find_matches): Likewise. Change meaning of the return
3096 value to be nonzero if the optimization can be performed, zero if
3097 not. All callers changed.
3098 Shorten some variable names to fix formatting problems.
3099 (regmove_optimize): Shorten some variable names to fix formatting
3100 problems.
3101 Use the information computed by extract_insn instead of the previous
3102 method of finding it by insn code number.
3103 * regclass.c (scan_one_insn): Likewise.
3104 (record_reg_classes): Don't compute operand types, use recog_op_type.
3105 * reload.c (find_reloads): Lose CONSTRAINTS1 variable; use
3106 recog_constraints instead.
3107
09d33be8
JL
3108Wed Nov 4 21:37:46 1998 Jeffrey A Law (law@cygnus.com)
3109
3110 * rtl.h (flow2_completed): Declare.
3111 * flow.c (flow2_completed): Definition.
3112 * toplev.c (rest_of_compilation): Set and clear flow2_completed
3113 as necessary.
3114
bfc5000a
JL
3115Wed Nov 4 19:15:37 1998 "Melissa O'Neill" <oneill@cs.sfu.ca>
3116
3117 * Makefile.in (libcpp.a): Ranlib libcpp.a
3118
3119 * cppulp.c (user_label_prefix): Initialize.
3120
3121Wed Nov 4 19:07:08 1998 John Wehle (john@feith.com)
3122
3123 * flow.c (mark_regs_live_at_end): Mark the stack pointer as live
3124 at a RETURN if current_function_sp_is_unchanging is set.
3125
a93049de
HB
3126Wed Nov 4 18:16:29 1998 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
3127
3128 * emit-rtl.c (try_split): Fixed error in Oct 10 patch.
3129
040688bd
GN
3130Wed Nov 4 15:11:15 1998 Geoffrey Noer <noer@cygnus.com>
3131
3132 * i386/cygwin32.h (MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS, MASK_DLL,
3133 TARGET_WIN32, TARGET_CYGWIN, TARGET_WINDOWS, TARGET_DLL): New.
3134 (SUBTARGET_SWITCHES): Add -mno-cygwin, -mcygwin, and -mdll options.
3135 (CPP_PREDEFINES): Don't define __CYGWIN32__ here.
3136 (STARTFILE_SPEC): Handle -mdll, -mno-cygwin options.
3137 (CPP_SPEC): Handle -mno-cygwin option. Define __CYWIN__ in addition
3138 to __CYGWIN32__.
3139 (LIB_SPEC): Handle -mno-cyginw option.
3140 (LINK_SPEC): Handle -mdll.
3141
e0d7bb0d
R
3142Wed Nov 4 22:56:14 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3143
3144 * reload.c (find_reloads): Fix test for usage by other reload
3145 to handle secondary reloads properly.
3146
590cf94d
KG
3147Wed Nov 4 17:25:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3148
3149 * reload1.c (ELIMINABLE_REGS, NUM_ELIMINABLE_REGS): Introduce an
3150 intermediate structure which has exactly the members provided by
3151 ELIMINABLE_REGS. Define NUM_ELIMINABLE_REGS in terms of the
3152 static intermediate structure.
3153
3154 (init_elim_table): Xmalloc() `reg_eliminate', and initialize it
3155 from the intermediate structure. Do the same analogous fix in
3156 the case where ELIMINABLE_REGS is not defined.
3157
ab2e3386
JL
3158Tue Nov 3 20:50:03 1998 Jeffrey A Law (law@cygnus.com)
3159
3160 * pa.h (SELECT_SECTION): Fix thinko.
3161
eef906d6
JW
3162Tue Nov 3 17:51:36 1998 Jim Wilson <wilson@cygnus.com>
3163
3164 * dwarf2out.c (output_call_frame_info): Comments on last change.
3165
74641843
RE
3166Tue Nov 3 07:51:43 1998 Richard Earnshaw (rearnsha@arm.com)
3167
3168 * arm.c (add_constant): When taking the address of an item in the
3169 pool, get the mode of the item addressed.
3170
3171 * arm.c (final_prescan_insn case INSN): If an insn doesn't
3172 contain a SET or a PARALLEL, don't consider it for conditional
3173 execution.
3174
3175 Restore ABI compatibility for NetBSD.
3176 * arm/netbsd.h (DEFAULT_PCC_STRUCT_RETURN): Override setting in
3177 arm.h
3178 (RETURN_IN_MEMORY): Likewise.
3179
0ae9f65b
DE
3180Mon Nov 2 11:46:17 1998 Doug Evans <devans@canuck.cygnus.com>
3181
3182 * m32r/m32r.c (m32r_expand_block_move): Fix byte count computations.
3183 (m32r_output_block_move): Rewrite bytes < 4 handling.
3184
c375c43b
KG
3185Mon Nov 2 10:10:35 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3186
3187 * configure.in: Call AC_FUNC_VFORK.
3188
3189 * collect2.c: Define VFORK_STRING as a printable string for
3190 error messages (either "vfork" or "fork".) If HAVE_VFORK_H is
3191 defined, include vfork.h. If VMS is defined, define vfork()
3192 appropriately. Remove vfork check on USG, we're using autoconf.
3193 (collect_execute): Pass VFORK_STRING to fatal_perror instead of
3194 checking locally what string to pass.
3195 (scan_prog_file): Likewise.
3196 (scan_libraries): Likewise.
3197
3198 * gcc.c: Remove vfork check on USG, we're using autoconf.
3199 Besides, no calls to vfork/fork occur in this file.
3200
3201 * protoize.c: Likewise.
3202
3ccc3a56
AO
3203Mon Nov 2 07:52:28 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
3204
3205 * configure.in (DEFAULT_LINKER): renamed from LD
3206 (DEFAULT_ASSEMBLER): renamed from AS; reverted Schwab's patch
3207 (gcc_cv_as): try $DEFAULT_ASSEMBLER before $AS
3208 * configure: rebuilt
3209
5dd21ded
AO
3210Mon Nov 2 01:48:10 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
3211
3212 * BUGS: fix the regexp for `more' to find the appropriate node.
3213 Reported by Joerg Pietschmann <joerg_pietschmann@zkb.ch>
3214
3215 * BUGS: added link to the WWW FAQ
3216
44ba27b4
JL
3217Sun Nov 1 18:27:15 PST 1998 Jeff Law (law@cygnus.com)
3218
3219 * version.c: Bump for snapshot.
3220
6d8cf409
JL
3221Sun Nov 1 11:04:32 1998 Jeffrey A Law (law@cygnus.com)
3222
3223 * From Christian Gafton:
3224 * i386/linux.h (CPP_PREDEFINES): Add -D__i386__.
3225 * sparc/linux.h (CPP_PREDEFINES): Add -D__sparc__.
3226 * sparc/linux64.h (CPP_PREDEFINES): Add -D__sparc__.
3227
43d8a6c7
MM
3228Sat Oct 31 21:42:39 1998 Mark Mitchell <mark@markmitchell.com>
3229
3230 * c-common.c (c_get_alias_set): Allow all type-punning through
3231 unions. Don't get confused about the type of a bit-field, despite
3232 the antics of build_modify_expr.
3233
abf0be7c
JPR
3234Sat Oct 31 22:35:29 1998 Jean-Pierre Radley <jpr@jpr.com>
3235
3236 * fixinc.sco: Paramaterize #include_next values.
3237 * fixinc/fixinc.sco: Likewise.
3238
27ff8c00
JL
3239Sat Oct 31 20:39:35 1998 Jeffrey A Law (law@cygnus.com)
3240
3241 * toplev.c (rest_of_compilation): No longer set reload_completed.
3242 * reload1.c (reload): Set it here. Perform instruction splitting
3243 after reload has completed if we will be running the scheduler
3244 again.
3245
18f3f864
JL
3246Sat Oct 31 12:30:02 1998 Jeffrey A Law (law@cygnus.com)
3247
3248 * jump.c (jump_optimize): Initialize mappings from INSN_UID to
3249 EH region if exceptions are enabled and we're performing cross
3250 jump optimizations.
3251 (find_cross_jump): Exit loop if the insns are in different EH regions.
3252
21af493b
MM
3253Sat Oct 31 10:02:48 1998 Mark Mitchell <mark@markmitchell.com>
3254
3255 * dwarf2out.c (output_call_frame_info): Use
3256 ASM_OUTPUT_DWARF_DELTA4 for the CIE offset to match frame.c.
3257
bf39dde3
KG
3258Sat Oct 31 10:23:14 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3259
3260 Reinstall Apr 24th fix, lost during May 6th gcc2 merge:
3261 * c-common.c (check_format_info): Don't check for the 'x'
3262 format character twice, instead check for 'x' and 'X'
3263
09bedf80
JL
3264Fri Oct 30 14:50:25 1998 Jeffrey A Law (law@cygnus.com)
3265
3266 * configure.in (assembler features): Also make gas is configured if
3267 we find it in the souce tree.
3268
6093f019
RH
3269Fri Oct 30 13:23:20 1998 Richard Henderson <rth@cygnus.com>
3270
3271 * i386.c (i386_comp_type_attributes): Compare whether the
3272 attributes are defined, not their tree nodes.
3273
de82584d
AO
3274Fri Oct 30 11:39:47 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
3275
3276 * configure.in (gxx_include_dir): bitten by autoconf quoting
3277 characters :-(
3278 * configure: rebuilt
3279
d65ae058
AS
3280Fri Oct 30 10:43:29 1998 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
3281
3282 * configure.in: Ignore non-absolute value in $AS.
3283
8b83b2a7
PJ
3284Fri Oct 30 00:54:25 1998 Peter Jakubek <pjak@snafu.de>
3285
3286 * m68k.h (INDIRECTABLE_1_ADDRESS_P): Fix thinko.
3287
dedcc399
ME
3288Fri Oct 30 00:42:34 1998 Mark Elbrecht <snowball3@usa.net>
3289
3290 * configure.in (msdosdjgpp): Set exeext and target_alias.
3291
00f9f1bc
BS
3292Thu Oct 29 23:55:43 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
3293
421382ac
BS
3294 * flow.c (XNMALLOC): New macro.
3295 (flow_int_list_blocks, basic_block_succ, basic_block_pred): New
3296 static variables.
3297 (add_edge, add_edge_to_label): New static functions.
3298 (free_bb_memory): New function.
3299 (flow_delete_insn): Delete function.
3300 (basic_block_drops_in): Delete variable.
3301 (find_basic_blocks): Allocate and initialize basic_block_head,
3302 basic_block_succ. Don't allocate basic_block_drops_in.
3303 Call free_bb_memory at the beginning.
3304 (find_basic_blocks_1): Don't do multiple passes.
3305 Delete code to compute basic_block_drops_in.
3306 After calling make_edges, mark blocks reached by current block live.
3307 Update test for unreachable live blocks.
3308 (mark_label_ref): Delete args X, CHECKDUP. Add PRED arg. All callers
3309 changed.
3310 Simplify to call add_edge_to_label when a LABEL_REF is found.
3311 (make_edges): Simplify to call add_edge_to_label instead of
3312 mark_label_ref most of the time.
3313 Compute here whether control drops into the next block.
3314 (delete_unreachable_blocks): Return void. All callers changed.
3315 Delete unreachable blocks in reverse order.
3316 After deleting all unreachable blocks, renumber the remaining ones
3317 and update n_basic_blocks.
3318 (delete_block): Speed up deletion a bit.
3319 Don't set basic_block_drops_in for deleted blocks.
3320 (free_basic_block_vars): Don't free basic_block_drops_in.
3321 (life_analysis_1): Update to use new edge representation.
3322 (dump_flow_info): Delete code to print basic block info; call
3323 dump_bb_data instead.
3324 (compute_preds_succs): Delete code to recompute basic_block_drops_in
3325 and uid_block_number.
3326 Simply copy the previously computed cfg.
3327 (dump_bb_data): New arg LIVE_INFO. All callers changed.
3328 Print register lifetime information if LIVE_INFO is nonzero.
3329 * basic-block.h (dump_bb_data): Adjust prototype.
3330 * gcse.c (gcse_main): Update call to dump_bb_data.
3331 * rtl.h (free_bb_memory): Declare.
3332 * toplev.c (rest_of_compilation): Call free_bb_memory.
3333
6467c05f
JL
3334 * reload1.c (struct elim_table): Delete MAX_OFFSET member.
3335 (update_eliminable_offsets): Don't compute it.
3336 (set_initial_elim_offsets): Don't initialize it.
3337 Break out some code into set_initial_label_offsets so the rest of
3338 this function can be called from reload_as_needed.
3339 Assume that INITIAL_FRAME_POINTER_OFFSET is defeined when
3340 ELIMINABLE_REGS isn't.
3341 (set_initial_label_offsets): New function, broken out of
3342 set_initial_elim_offsets.
3343 (set_offsets_for_label): New function, broken out of set_label_offsets
3344 and reload_as_needed.
3345 (reload): Call the two new functions.
3346 (reload_as_needed): Call set_initial_elim_offsets instead of
3347 duplicating the code. Likewise for set_offsets_for_label.
3348
00f9f1bc
BS
3349 * reload1.c (choose_reload_regs): Fix typo in Oct 17 change.
3350 (emit_reload_insns): Ensure that when we set reg_reloaded_valid for
3351 any hard reg, reg_reloaded_dead contains valid data.
3352
afcfe58c
MM
3353Thu Oct 29 22:30:54 1998 Marcus Meissner <Marcus.Meissner@informatik.uni-erlangen.de>
3354
f3196f46 3355 * i386.c (i386_comp_type_attributes): Return nonzero for mismatched
afcfe58c
MM
3356 "stdcall" and "cdecl" attributes.
3357
faff4ab8
JW
3358Thu Oct 29 19:05:17 1998 Jim Wilson <wilson@cygnus.com>
3359
3360 * sched.c (update_flow_info): Add code to ! found_orig_dest case to
3361 handle deleted no-op moves of hard registers.
3362 * haifa-sched.c (update_flow_info): Likewise.
3363
839366dd
JL
3364Thu Oct 29 18:07:47 1998 Jeffrey A Law (law@cygnus.com)
3365
3366 * mips.md (reload_{in,out}{si,di}): Emit a USE of HILO at the end
3367 of the sequences to reload the HILO register which do not actually
3368 reference HILO.
3369
1e280035
JW
3370Thu Oct 29 12:39:35 1998 Jim Wilson <wilson@cygnus.com>
3371
3372 * c-common.c (c_get_alias_set): Handle ARRAY_REF of union field.
3373
0fc1434b
AM
3374Thu Oct 29 14:10:22 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
3375
3376 * except.c (emit_eh_context): Make the EH context register stay alive
3377 at -O0 so stupid.c doesn't get confused.
3378
e526eeec
HB
33791998-10-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
3380
3381 * emit-rtl.c (try_split): Do not try to split a BARRIER.
3382
bb62e19a
JH
3383Thu Oct 29 01:33:54 1998 Jan Hubicka <hubicka@freesoft.cz>
3384 Jeffrey A Law (law@cygnus.com)
3385
3386 * i386.md: Change ix86_cpu == PROCESSOR_PENTIUM to TARGET_PENTIUM
3387 (zero_extendsidi2): Use # in output template and handle completely by
3388 splits.
3389 (zero_extend splitters): New define_splits.
3390 (ashiftrt_32): New pattern.
3391
e2c31432
JM
3392Wed Oct 28 22:58:35 1998 Jason Merrill <jason@yorick.cygnus.com>
3393
3394 * tree.c (append_random_chars): New fn.
3395 (get_file_function_name_long): Use it.
3396
19283265
RH
3397Wed Oct 28 22:27:05 1998 Richard Henderson <rth@cygnus.com>
3398
3399 * Makefile.in (cc1): Put C_OBJS, and thence @extra_c_objs@ last.
3400 (LIBCPP_OBJS): New. Add cppulp.o.
3401 (cppmain, fix-header): Depend on and use libcpp.a.
3402 * configure.in (extra_c_objs, extra_cxx_objs): Use libcpp.a instead
3403 of the individual object files.
3404 * objc/Make-lang.in (cc1obj): Put OBJC_OBJS, and thence @extra_c_objs@,
3405 last.
3406
3407 * cccp.c (user_label_prefix): New.
3408 (main): Set it off -f*leading-underscore.
3409 (special_symbol): Use it.
3410 * cpplib.c (special_symbol): Likewise.
3411 (cpp_handle_option): Handle -f*leading-underscore.
3412 * cppulp.c: New file.
3413
3414 * output.h (user_label_prefix): Declare it.
3415 * dwarf2out.c (ASM_NAME_TO_STRING): Prepend user_label_prefix.
3416 * toplev.c (f_options, main): Handle -f*leading-underscore.
3417
3418 * defaults.h (ASM_OUTPUT_LABELREF): Use asm_fprintf instead of
3419 referencing USER_LABEL_PREFIX directly.
3420 * config/nextstep.h (ASM_OUTPUT_LABELREF): Likewise.
3421 * m32r/m32r.h (ASM_OUTPUT_LABELREF): Likewise.
3422 * final.c (asm_fprintf): Use user_label_prefix instead.
3423 * arm/thumb.c (thumb_print_operand): Likewise.
3424
3425 * gcc.c (default_compilers): Pass -f*leading-underscore on to
3426 cpp wherever appropriate.
3427
79a9696b
RL
3428Wed Oct 28 23:09:25 1998 Robert Lipe <robertl@dgii.com>
3429
3430 * sco5.h (SUBTARGET_SWITCHES): Add documentation for OpenServer-
3431 specific compiler switches.
3432
5916476f
JL
3433Wed Oct 28 21:05:53 1998 Jeffrey A Law (law@cygnus.com)
3434
3435 * Makefile.in (c-common.o): Depend on c-pragma.h. Use $(RTL_H) instead
3436 of rtl.h.
3437
829245be
KG
3438Wed Oct 28 20:52:47 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3439
3440 * gcc.c (EXTRA_SPECS, extra_specs): Introduce an intermediate
3441 structure which has exactly the members provided by EXTRA_SPECS.
3442 Xmalloc() the real `extra_specs', and initialize it from this
3443 intermediate structure.
3444
3445 * alpha.h (EXTRA_SPECS): Revert change for missing initializers.
3446
3447 * mips.h (EXTRA_SPECS): Likewise.
3448
3449 * sparc.h (EXTRA_SPECS): Likewise.
3450
b5bd3b3c
AS
3451Wed Oct 28 16:46:07 1998 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
3452
3453 * function.c (purge_addressof_1): Instead of aborting when a
3454 bitfield insertion as a replacement for (MEM (ADDRESSOF)) does not
3455 work just put the ADDRESSOF on stack. Otherwise remember all such
3456 successfull replacements, so that exactly the same replacements
3457 can be made on the REG_NOTEs. Remove the special case for CALL
3458 insns again.
3459 (purge_addressof_replacements): New variable.
3460 (purge_addressof): Clear it at end.
3461
add7091b
ZW
34621998-10-28 16:10 -0500 Zack Weinberg <zack@rabi.phys.columbia.edu>
3463
3464 * c-lang.c: Declare extern char *yy_cur if USE_CPPLIB.
3465 (lang_init): Call check_newline always.
3466 * c-lex.c (init_parse) [USE_CPPLIB=1]: After calling
3467 cpp_start_read, set yy_cur and yy_lim to read from
3468 parse_in.token_buffer, so that we'll see the first #line
3469 directive.
3470 * cpplib.c (cpp_start_read): finclude the main input file
3471 before processing -include/-imacros. Process -imacros and
3472 -include separately, and handle -include by stacking a
3473 buffer for the file in question as if it'd been #included.
3474 * toplev.c (documented_lang_options) Recognize -H when
3475 USE_CPPLIB is on.
3476
34771998-10-28 16:09 -0500 Zack Weinberg <zack@rabi.phys.columbia.edu>
3478
3479 * cpplib.c: Merge do_once into do_pragma. Break file handling
3480 code out of do_include.
3481 Move append_include_chain, deps_output,
3482 file_cleanup, redundant_include_p, import_hash,
3483 lookup_import, add_import, read_filename_string, read_name_map,
3484 open_include_file, finclude, safe_read to cppfiles.c.
3485 Move prototypes for deps_output, append_include_chain,
3486 finclude to cpplib.h. Move definition of struct
3487 file_name_list there also.
3488
3489 * cppfiles.c: New file. Contains all the above functions
3490 broken out of cpplib.c; also hack_vms_include_specification
3491 from cccp.c and find_include_file, a new function broken out of
3492 do_include.
3493
3494 * Makefile.in (cppmain): Depend on cppfiles.o.
3495 (fix-header): Likewise.
3496 (cppfiles.o): New target.
3497 * configure.in (--enable-c-cpplib): Add cppfiles.o to
3498 extra_c_objs. Add ../cppfiles.o to extra_cxx_objs.
3499
0a4be913
JW
3500Wed Oct 28 14:06:49 1998 Jim Wilson <wilson@cygnus.com>
3501
3502 * dwarfout.c (dwarfout_file_scope_decl): If DECL_CONTEXT, don't abort
3503 if pending_types is non-zero.
3504 (dwarfout_finish): Verify pending_types is zero before finishing.
3505
2b28d92e
NC
3506Wed Oct 28 10:29:09 1998 Nick Clifton <nickc@cygnus.com>
3507
3508 * expr.c (convert_move): Use shifts to perform the move if a
3509 suitable extend pattern cannot be found. Code written by
3510 Richard Henderson <rth@cygnus.com>.
3511
8f142c0b
BS
3512Wed Oct 28 03:59:29 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
3513
ed396e68
BS
3514 * regclass.c (renumber, regno_allocated): New static variables, moved
3515 out of allocate_reg_info.
3516 (allocate_reg_info): Move these two variables outside the function.
3517 Move code to free memory into new function free_reg_info.
3518 (free_reg_info): New function, broken out of allocate_reg_info.
3519 * toplev.c (compile_file): Call free_reg_info, not allocate_reg_info.
3520 * rtl.h (allocate_reg_info): Don't declare.
3521 (free_reg_info): Declare.
3522
8f142c0b
BS
3523 * final.c (cleanup_subreg_operands): ASM_INPUTs need no treatment.
3524
a554186c
JM
3525Wed Oct 28 02:38:12 1998 Jason Merrill <jason@yorick.cygnus.com>
3526
3527 * toplev.c (compile_file): Temporarily revert last change.
3528
b58c9a79
JM
3529Wed Oct 28 00:00:35 1998 Jason Merrill <jason@yorick.cygnus.com>
3530
3531 * c-typeck.c (convert_for_assignment): Parenthesize.
3532
2eb6dac7
AS
35331998-10-28 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
3534
3535 * reload1.c (delete_output_reload): Avoid ambigous else.
3536
0304f787
JL
3537Wed Oct 28 00:10:35 1998 Jeffrey A Law (law@cygnus.com)
3538
e0c6d139
JL
3539 * toplev.c (compile_file): Call allocate_reg_info to free register
3540 table memory.
3541 * rtl.h (allocate_reg_info): Declare.
3542
c75d5284
JL
3543 * PROJECTS: Remove entry for local spilling.
3544
0304f787
JL
3545 * final.c (cleanup_subreg_operands): New function.
3546 (final_scan_insn): Use it.
3547 (alter_subreg): Clear the "used" field when we turn a SUBREG into
3548 a REG.
3549 * reload1.c (reload): Delete CLOBBER insns and also cleanup SUBREG
3550 operands when reload has finished.
3551 * reload.h (cleanup_subreg_operands): Declare..
3552 * flow.c (life_analysis_1): No longer delete CLOBBER insns after
3553 reload. Handled in reload itself.
3554
03acd8f8
BS
3555Tue Oct 27 23:32:34 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
3556
c47f5ea5
BS
3557 * reload1.c (verify_initial_offsets): New function.
3558 (reload): Call it after reload_as_needed. Also verify that the frame
3559 size stays constant during reload_as_needed.
3560 * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Undo Jul 26 change.
3561
03acd8f8
BS
3562 * reload.h (struct insn_chain): Add need_operand_change element.
3563 * reload1.c (new_insn_chain): Clear it.
3564 (calculate_needs_all_insns): Set it; don't overload need_reload.
3565 (reload_as_needed): Use it.
3566
3567 * reload.c (find_reloads_address): Use BASE_REG_CLASS instead of
3568 reload_address_base_reg_class throughout. Similar for INDEX_REG_CLASS
3569 and reload_address_index_reg_class.
3570 (find_reloads_address_1): Likewise.
3571 * reload.h (reload_address_base_reg_class,
3572 reload_address_index_reg_class): Don't declare.
3573 * reload1.c (reg_old_renumber, pseudo_previous_regs,
3574 pseudo_forbidden_regs, bad_spill_regs_global): New static variables.
3575 (used_spill_regs): Now static.
3576 (reload_address_base_reg_class, reload_address_index_reg_class,
3577 regs_explicitly_used, counted_for_groups, counted_for_nongroups,
3578 basic_block_needs, max_needs, group_size, group_mode, max_groups,
3579 max_nongroups, max_needs_insn, max_groups_insn, max_nongroups_insn,
3580 forbidden_regs):
3581 Deleted variables.
3582 (init_reload): Delete code to compute base/index reg classes.
3583 (reload): Delete variable J.
3584 Delete code to manage basic_block_needs.
3585 Don't compute regs_explicitly_used.
3586 Allocate, initialize and free reg_old_renumber, pseudo_forbidden_regs,
3587 pseudo_previous_regs.
3588 Initialize bad_spill_regs_global.
3589 Don't call order_regs_for_reload here.
3590 Don't initialize spill_reg_order and n_spills.
3591 Don't forbid explicitly used regs to be used for spill regs.
3592 Change main loop to infinite loop, with explicit break statements.
3593 Make SOMETHING_CHANGED variable local to that loop.
3594 Don't initialize max_needs, max_groups, max_nongroups, max_needs_insn,
3595 max_groups_insn, max_nongroups_insn, group_size, group_mode.
3596 Make sure spilled_speudos is cleared before calling spill_hard_reg or
3597 new_spill_reg.
3598 Don't call dump_needs.
3599 Delete code to reset potential_reload_regs.
3600 Delete code to terminate loop conditional on the global needs variables
3601 showing no further needs.
3602 (calculate_needs_all_insns): Return void. All callers changed.
3603 Initialize somehing_needs_elimination here, not in reload.
3604 Delete avoid_return_reg kludge.
3605 (calculate_needs): Lose AVOID_RETURN_REG and GLOBAL args, return void.
3606 All callers changed.
3607 Initialize the group_mode and group_size elements of the arg CHAIN.
3608 Delete code to manage basic_block_needs.
3609 Operate on elements of CHAIN instead of global variables.
3610 Delete avoid_return_reg kludge.
3611 (find_tworeg_group): Lose GLOBAL arg, take CHAIN arg, return void.
3612 All callers changed.
3613 Operate on elements of CHAIN instead of global variables.
3614 Delete special SMALL_REGISTER_CLASSES code.
3615 Delete spill_failure code; now in new_spill_reg.
3616 (find_group): Lose GLOBAL arg, take CHAIN arg, return void.
3617 All callers changed.
3618 Operate on elements of CHAIN instead of global variables.
3619 (maybe_mark_pseudo_spilled): New static function.
3620 (find_reload_regs): Lose GLOBAL arg, take CHAIN arg, return void.
3621 All callers changed.
3622 Operate on elements of CHAIN instead of global variables.
3623 Call order_regs_for_reload here, not in reload.
3624 Initialize spill_reg_order and n_spills.
3625 Simplify test whether an asm insn is involved.
3626 Delete spill_failure code; now in new_spill_reg.
3627 Call maybe_mark_pseudo_spilled for everything marked as live in
3628 CHAIN. Merge CHAIN's used_spill_regs into the global variable
3629 used_spill_regs.
3630 (dump_needs): Take CHAIN arg. No longer static, to prevent the
3631 compiler from optimizing this function (now unused) away.
3632 Operate on elements of CHAIN instead of global variables.
3633 (possible_group_p): Lose MAX_GROUPS arg, take CHAIN arg. All callers
3634 changed.
3635 Operate on elements of CHAIN instead of global variables.
3636 (count_possible_groups): Lose GROUP_SIZE, GROUP_MODE, MAX_GROUPS args,
3637 take CHAIN arg. All callers changed.
3638 Operate on elements of CHAIN instead of global variables.
3639 (new_spill_reg): Lose MAX_NEEDS, MAX_NONGROUPS, GLOBAL args, take
3640 CHAIN, NONGROUP args. Return void. All callers changed.
3641 Verify caller isn't trying to spill a pseudo.
3642 Simplify test for illegal reg, just use bad_spill_regs.
3643 Generate better error messages.
3644 Operate on elements of CHAIN instead of global variables.
3645 Mark spilled register in CHAIN's used_spill_regs element.
3646 Don't call spill_hard_reg.
3647 (spill_hard_reg): Lose GLOBAL arg, return void. All callers changed.
3648 Mark spilled hard regs in bad_spill_regs_global.
3649 Mark affected pseudos in spilled_pseudos, but don't spill them.
3650 (ior_hard_reg_set): New static function.
3651 (finish_spills): Return int. All callers changed.
3652 Compute spill_reg_order, n_spills and spill_regs here. Also update
3653 regs_ever_live for regs used as spills.
3654 For every pseudo in spilled_pseudos, spill it and mark the previous
3655 hard reg it had in pseudo_previous_regs. Compute which hard regs
3656 arseudo): New static function.
3657 (order_regs_for_reload): Take CHAIN arg. All callers changed.
3658 Initialize bad_spill_regs from bad_spill_regs_global, then merge any
3659 hard registers explicitly used across the current insn into the set.
3660 Compute hard_reg_n_uses taking only pseudos live across this insn
3661 into account.
3662 Tweak sorting of potential_reload_regs.
3663 (compare_spill_regs): Delete function.
3664 (reload_as_needed): Don't sort the spill_regs array, it's computed
3665 in proper order in finish_spills.
3666 Delete avoid_return_reg kludge.
3667 Delete code to manage basic_block_needs.
3668 (allocate_reload_reg): Minor speed/readability tweaks.
3669 Operate on elements of CHAIN instead of global variables.
3670 (choose_reload_regs): Lose AVOID_RETURN_REG arg. All callers changed.
3671 Delete avoid_return_reg kludge.
3672 Initialize reload_reg_used from CHAIN's used_spill_regs element.
3673 Delete unused label FAIL.
3674 (reload_combine): Replce reload_address_index_reg_class with
3675 INDEX_REGS.
3676 Don't use used_spill_regs to determine information about lifetime of
3677 hard regs.
3678
844642e6
NC
3679Tue Oct 27 13:15:02 1998 Nick Clifton <nickc@cygnus.com>
3680
3681 * toplev.c (display_help): Ignore empty target specific
3682 options, and if -W is also specified on the command line then
3683 display undocumented options.
2a5307b1
NC
3684
3685 * config/arm/arm.c: Updated with changes in devo sources.
3686 * config/arm/arm.h: Updated with changes in devo sources.
3687 * config/arm/lib1funcs.asm: Updated with changes in devo sources.
3688 * config/arm/lib1thumb.asm: Add ELF support.
3689
f5e04914 3690Tue Oct 27 16:11:43 1998 David Edelsohn <edelsohn@mhpcc.edu>
3d697b4c 3691
f5e04914
DE
3692 * collect2.c (aix64_flag): New variable.
3693 (main, case 'b'): Parse it.
3694 (GCC_CHECK_HDR): object magic number must match mode.
3695 (scan_prog_file): Only check for shared object if valid header.
3696 Print debugging if header/mode mismatch.
3697
3698Tue Oct 27 10:15:02 1998 Nick Clifton <nickc@cygnus.com>
b355a481
NC
3699
3700 Added support for arm-elf-linux configuration, submitted by Philip
3701 Blundell <pb@nexus.co.uk>, and integrated this with the arm-elf
3702 code developed by Catherine Moore <clm@cygnus.com>. The following
3703 files are affected:
3704
3705 * configure.in: Add arm-*-linux-gnu, armv2-*-linux and arm-*-elf
3706 targets.
3707
3708 * configure: Regenerated.
3709
3710 * config/arm/aout.h: Add default definitions of REGISTER_PREFIX,
3711 USER_LABEL_PREFIX and LOCAL_LABEL_PREFIX. Make other macro
3712 definitions conditional on their not having been already defined.
3713
3714 * config/arm/lin1funcs.asm: Add ELF only macros to generate .size
3715 and .type directives, and add "(PLT)" qualification to function
3716 calls.
3717
3718 * config/arm/linux.h: Deleted. This file is now superceeded by
3719 either linux-elf.h or linux-aout.h.
3720
3721 * config/arm/linux-gas.h: Define `inhibit_libc' if cross-compiling.
3722 (CLEAR_INSN_CACHE): New macro, currently disabled (awaiting kernel
3723 support).
3724 Move definitions from old linux.h file here.
3725
3726 * config/arm/elf.h: New file. Generic ARM/ELF support.
3727
3728 * config/arm/linux-aout.h: New file. Support for Linux with a.out.
3729
3730 * config/arm/linux-elf.h: New file. Support for Linux with ELF.
3731
3732 * config/arm/linux-elf26.h: New file. Support for Linux with ELF
3733 using the 26bit APCS.
3734
3735 * config/arm/unknown-elf.h: New file. Support for OS'es other
3736 than Linux with ELF.
3737
3738 * config/arm/t-arm-elf: New file. makefile fragment for arm-elf
3739 builds.
3740
3741 * config/arm/coff.h: Include aout.h for basic assembler macros.
3742 Add support for -mstructure_size_boundary=<n> command line option.
3743
3744 * config/arm/arm.h: Add support for -mstructure_size_boundary=<n>
3745 command line option. Make macro definitions conditional on their
3746 not having been already defined.
3747
3748 * config/arm/arm.c: Add support for -mstructure_size_boundary=<n>
3749 command line option.
3750
3751
f5e04914 3752Tue Oct 27 08:56:46 1998 Andrew MacLeod <amacleod@cygnus.com>
74153f8e
AM
3753
3754 * dwarfout.c (ASM_OUTPUT_DWARF_STRING_NEWLINE): ASM_OUTPUT_DWARF_STRING
3755 has been changed to not include a newline. Use this macro instead.
3756 (output_enumeral_list, const_value_attribute, name_attribute,
3757 comp_dir_attribute, prototyped_attribute, producer_attribute,
3758 inline_attribute, pure_or_virtual_attribute, output_inheritance_die,
3759 dwarfout_file_scope_decl, generate_new_sfname_entry,
3760 generate_macinfo_entry, dwarfout_init, dwarfout_finish): Use
3761 ASM_OUTPUT_DWARF_STRING_NEWLINE macro.
3762
4f4b3679
RH
3763Mon Oct 26 13:35:02 1998 Richard Henderson <rth@cygnus.com>
3764
3765 * combine.c (subst): Process the inputs to a parallel asm_operands
3766 only once.
3767
3fbd5c2c
RH
3768Mon Oct 26 13:32:31 1998 Richard Henderson <rth@cygnus.com>
3769
3770 * stmt.c (expand_asm_operands): Accept `=' or `+' at any position.
3771
26f63a77
JL
3772Mon Oct 26 12:53:14 1998 Jeffrey A Law (law@cygnus.com)
3773
3774 * tm.texi (ASM_OUTPUT_MAX_SKIP_ALIGN): Document.
3775
ff08e6b5
JL
3776Mon Oct 26 00:36:58 PST 1998 Jeff Law (law@cygnus.com)
3777
3778 * version.c: Bump for snapshot.
3779
e17f9bc0
JM
3780Sun Oct 25 23:36:52 1998 Jason Merrill <jason@yorick.cygnus.com>
3781
3782 * stmt.c (expand_fixup): Set fixup->before_jump to a
3783 NOTE_INSN_DELETED instead of a NOTE_INSN_BLOCK_BEG.
3784
7f7f8214
KG
3785Sun Oct 25 15:49:57 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3786
3787 * Makefile.in (recog.o): Depend on toplev.h.
3788 (insn-emit.o): Depend on recog.h.
3789 (insn-peep.o): Depend on recog.h and insn-config.h.
3790
3791 * combine.c (simplify_set): Remove unused variable `scratches'.
3792
3793 * final.c (final_scan_insn): Wrap declaration of variables `vlen'
3794 and `idx' in macro conditional controlling their use.
3795
3796 * genemit.c (main): Make the generated output file include
3797 recog.h. Don't have it declare `insn_operand_constraint', since
3798 we get it from recog.h.
3799
3800 * genpeep.c (main): Make the generated output file include
3801 insn-config.h and recog.h.
3802
3803 * recog.c: Include toplev.h.
3804 (extract_insn): Remove unused variable `p'.
3805
3806 * regclass.c (fix_register): Add missing braces around initializer
3807 for `what_option'.
3808 (allocate_reg_info): Move variable `i' into the scope where it is
3809 used. Change its type to `size_t'.
3810
9ff16ff2
BS
3811Sun Oct 25 13:10:15 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
3812
3813 * reload.c (push_reload): When merging reloads, make sure
3814 that reload_in_reg and reload_in are from the same reload in
3815 all cases.
3816
de3a0967
MK
3817Sun Oct 25 12:07:00 1998 Mumit Khan <khan@xraylith.wisc.edu>
3818
3819 * i386/crtdll.h (CPP_PREDEFINES): Fix typo.
3820 * i386/mingw32.h (CPP_PREDEFINES): Likewise.
3821
8c368ee2
DE
3822Fri Oct 23 23:42:03 1998 David Edelsohn <edelsohn@mhpcc.edu>
3823
3824 * loop.c (loop_has_tablejump): New variable.
3825 (prescan_loop): Scan for it.
3826 (insert_bct): Replace explicit scan with use of it.
3827 * regclass.c (regclass): Restore loop variable j.
3828 (record_reg_classes): Deterine op_types modifiers and initialize
3829 classes[i] before matching constraints. Handle matching
3830 constraints 5-9.
3831
ca3bf2b5
JW
3832Fri Oct 23 13:55:48 1998 Jim Wilson <wilson@cygnus.com>
3833
3834 * m32r/m32r.c (gen_split_move_double): Call alter_subreg. Delete
3835 subreg support.
3836
e1ba7da7
KG
3837Fri Oct 23 16:19:24 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3838
3839 * mips.h (EXTRA_SPECS): Add missing initializers.
3840
df4f7565
KG
3841Fri Oct 23 16:08:39 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3842
3843 * sparc.h (EXTRA_SPECS): Add missing initializers.
3844 (sparc_defer_case_vector): Provide a prototype.
3845
3846 * svr4.h (ASM_OUTPUT_ASCII): Cast STRING_LIMIT to (long) when
3847 comparing it to the result of a pointer subtraction.
3848
d1e6b55b
KG
3849Fri Oct 23 15:34:14 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3850
3851 * alpha.c (override_options): Use ISDIGIT(), not isdigit(). Cast
3852 the argument to (unsigned char).
3853
3854 * alpha.h (EXTRA_SPECS): Add missing initializers.
3855 (ASM_GENERATE_INTERNAL_LABEL): Ensure the argument matches the
3856 format specifier.
3857
c4214310
JL
3858Fri Oct 23 13:12:35 1998 Jeffrey A Law (law@cygnus.com)
3859
b590bbfd
JL
3860 * flow.c (life_analysis_1): Enable "rescan" code after reload.
3861 (propagate_block): Delete dead code after reload.
3862
a1ef0af4
JL
3863 * sched.c (update_flow_info): Revert Oct 19, 1998 change. Brings
3864 back Oct 15, 1998 change.
3865 * haifa-sched.c (update_flow_info): Likewise.
7b16da78
JL
3866 * flow.c (life_analysis_1): Delete CLOBBER insns after reload.
3867
c4214310
JL
3868 * mn10200.md (truncated shift): Accept constant inputs too.
3869
abef8789
RE
3870Fri Oct 23 04:06:57 1998 Richard Earnshaw (rearnsha@arm.com)
3871
3872 * machmode.h (mode_mask_array): No longer const.
3873 * rtl.c (init_rtl): Fully initialize it if EXTRA_CC_MODES defined.
3874
ccb5954f
ML
3875