]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
cse.c (dump_class): New function.
[gcc.git] / gcc / ChangeLog
CommitLineData
a4c6502a
MM
1Mon Feb 22 13:33:47 1999 Mark Mitchell <mark@markmitchell.com>
2
3 * cse.c (dump_class): New function.
4 (invalidate_memory): Fix typo in comment.
5 * function.c (temp_slot): Add an alias set field.
6 (assign_stack_temp): Only reuse slots if they will have the
7 same alias set as before.
8 (combine_temp_slots): Don't combine if -fstrict-aliasing;
9 that's unsafe.
10 * rtl.c (copy_rtx): Copy all the flags (in particular,
11 MEM_SCALAR_P).
12
6d567568
VM
13Mon Feb 22 14:13:23 1999 Vladimir N. Makarov <vmakarov@cygnus.com>
14
15 * configure.in (i[34567]86-*-linux-gnu*,
16 i[34567]86-*-linux-gnulibc1, i[34567]86-*-linux-gnuaout*,
17 i[34567]86-*-linux-gnuoldld*): Use fixinc.x86-linux-gnu as
18 fixincludes.
19
20 * configure: Rebuilt.
21
22 * fixinc.x86-linux-gnu: New script for fixing asm-statements bug
23 on x86 linux.
24
25 * fixinc/fixinc.x86-linux-gnu: Copy of the previous one.
26
27 * fixinc/mkfixinc.sh (i[34567]86-*-linux-gnu*,
28 i[34567]86-*-linux-gnulibc1, i[34567]86-*-linux-gnuaout*,
29 i[34567]86-*-linux-gnuoldld*): Use fixinc.x86-linux-gnu as
30 fixincludes.
31
b9ef73ea
OP
32Mon Feb 22 08:55:05 1999 Ovidiu Predescu <ovidiu@cup.hp.com>
33
34 * objc/objc-act.c (encode_type): Temporary revert to the old
35 behavior of encoding types as the new one seems to break the
36 encoding of bitfields.
37
a2cf7deb 38Mon Feb 22 11:40:44 1999 Craig Burley <craig@jcb-sc.com>
43297964
CB
39Sat Feb 20 09:59:36 1999 Craig Burley <craig@jcb-sc.com>
40
41 * Makefile.in (all.internal, all.cross): Depend on `doc'
42 target, to ensure docs get made before installation.
43
a2cf7deb
CB
44
45 Decrease spurious warnings from -fsyntax-only:
46 * stmt.c (expand_expr_stmt): Expand expr even when -fsyntax-only.
47
e2e0986e
GRK
48Mon Feb 22 10:55:00 1999 Gavin Romig-Koch <gavin@cygnus.com>
49
50 * c-lex.c (yylex): Replace warning about integer constants being
51 larger than long-longs, with a warning about integer constants
52 being larger than the largest target integer.
53
3c350eb3
CB
54Mon Feb 22 08:35:38 1999 Craig Burley <craig@jcb-sc.com>
55
56 Fix -fsyntax-only ICEs:
57 * varasm.c (assemble_zeros, assemble_variable,
58 output_constant_def): Do nothing when -fsyntax-only.
59
e9c0315e
DB
60Fri Feb 19 18:18:56 1999 Don Bowman <don@pixstream.com>
61
62 * configure.in (mips*-*-vxworks*): Enable gthreads vxworks support.
63 * configure: Rebuilt.
64
691d2a24
JL
65Sun Feb 21 20:34:44 PST 1999 Jeff Law (law@cygnus.com)
66
67 * version.c: Bump for snapshot.
68
b61e0996
JL
69Sun Feb 21 20:35:10 1999 Jeffrey A Law (law@cygnus.com)
70
71 * config/aoutos.h (ASM_OUTPUT_CONSTRUCTOR): Delete.
72 (ASM_OUTPUT_DESTRUCTOR, ASM_OUTPUT_GC_ENTRY): Likewise.
14686fcd 73 * tm.texi: Update docs for constructors and destructors.
b61e0996 74
7ee37ba4
RH
75Sun Feb 21 17:11:18 1999 Richard Henderson <rth@cygnus.com>
76
77 * genattrtab.c (check_attr_value): Allow negative const_int if
78 negative_ok. Accept integral arithmetic operators. Accept
79 direct references to other attributes. Accept symbol_ref in
80 non-constant attributes.
81 (max_attr_value): Add new argument `unknownp'. Update all callers.
82 (or_attr_value): Likewise.
83 (simplify_knowing): Don't optimize if max_attr_value unknown.
84 (write_length_unit_log): Likewise with or_attr_value.
85 (find_and_mark_used_attributes): Don't fallthru case.
86 (write_attr_set): Pass thru all non-cond expressions.
87 (write_attr_value): Handle symbol_ref, attr, and arithmetic.
88
cd4b3546
MH
89Sun Feb 21 13:16:44 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
90
91 * regmove.c (discover_flags_reg): Use word_mode instead of SImode.
92
e7f5b971
RH
93Sun Feb 21 13:15:40 1999 Richard Henderson <rth@cygnus.com>
94
95 * regmove.c (discover_flags_reg): Remove cc0 code.
96 (mark_flags_life_zones) [HAVE_cc0]: Force use of cc0; bail if
97 a potential flags register was identified.
98
04be6346
FS
99Sat Feb 20 16:16:07 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
100
101 * rs6000.md (scc plus ltu): Fix typo in last change.
102
8a27a83e
RE
103Sat Feb 20 09:08:44 1999 Richard Earnshaw (rearnsha@arm.com)
104
105 * xm-arm.h (HOST_BITS_PER_LONGLONG): Define.
106
dc2cb191
RH
107Fri Feb 19 23:02:02 1999 Richard Henderson <rth@cygnus.com>
108
109 * regmove.c (discover_flags_reg): New function.
110 (flags_set_1, mark_flags_life_zones): New functions.
111 (regmove_optimize): Call them.
112 (fixup_match_1): Use insn modes rather than sets_cc0_p.
113
1cb1fe66
R
114Fri Feb 19 22:47:01 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
115
116 * rtlanal.c (insn_first_p): Fix return value for insn == reference.
117
118 * loop.c (strength_reduce, check_final_value, check_dbra_loop):
119 Use loop_insn_first_p.
120
19378cf8
MM
121Fri Feb 19 15:49:26 1999 Michael Meissner <meissner@cygnus.com>
122 David Edelsohn <edelsohn@mhpcc.edu>
123
124 * rs6000.md (scc plus eq): Fix output template.
125 (scc plus ltu): Fix output template and collapse variants
126 correcting early clobbers.
127 (scc plus geu): Fix output template.
128 (scc plus gt): Fix output template.
129 (scc plus gtu): Fix output template and collapse variants.
130
16ed2299
KG
131Fri Feb 19 15:43:59 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
132
133 * cppinit.c (print_help): Remove unescaped newline in string.
134
b72bdd84
R
135Fri Feb 19 19:55:06 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
136
137 * loop.c (strength_reduce): Check for intervening jumps when
138 converting biv increment to giv.
139
4e03cf86
PB
140Thu Feb 18 16:36:58 1999 Per Bothner <bothner@cygnus.com>
141
142 * tree.def (TRY_FINALLY_EXPR, GOTO_SUBROUTINE_EXPR): New tree nodes,
143 * expr.c (expand_expr): Support new tree nodes.
144
577c6ece
AS
145Fri Feb 19 10:17:56 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
146
147 * config/m68k/m68k.c (m68k_align_loops_string,
148 m68k_align_jumps_string, m68k_align_funcs_string): Add const.
149 * config/m68k/m68k.h (m68k_align_loops_string,
150 m68k_align_jumps_string, m68k_align_funcs_string): Likewise.
151
5d5993dd
KG
152Thu Feb 18 23:28:35 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
153
154 * bitmap.c (bitmap_print): Qualify a char* with the `const' keyword.
155
156 * bitmap.h (bitmap_print): Likewise.
157
158 * c-decl.c (builtin_function, grokdeclarator, grokfield): Likewise.
159
160 * c-lang.c (build_objc_string): Likewise.
161
162 * c-lex.c (yyerror, extend_token_buffer): Likewise. Don't include
163 limits.h or ctype.h. Remove unused variable `p'.
164
165 * c-lex.h (yyerror): Qualify a char* with the `const' keyword.
166
167 * c-pragma.c (handle_pragma_token): Likewise.
168
169 * c-pragma.h (handle_pragma_token): Likewise.
170
171 * c-tree.h (build_objc_string, builtin_function, grokfield,
172 build_indirect_ref, lvalue_or_else, readonly_warning, error_init,
173 pedwarn_init): Likewise.
174
175 * c-typeck.c (convert_for_assignment, warn_for_assignment,
176 push_string, warning_init, incomplete_type_error,
177 build_indirect_ref, lvalue_or_else, readonly_warning,
178 build_c_cast, spelling, push_member_name, print_spelling,
179 error_init, pedwarn_init, start_init): Likewise.
180
181 * objc/objc-act.c (build_objc_string): Likewise.
182
183 * print-tree.c (print_node_brief, print_node): Likewise.
184
185 * tree.h (lvalue_or_else, print_node, print_node_brief): Likewise.
186
94e6f783
DE
187Thu Feb 18 20:44:21 1999 David Edelsohn <edelsohn@mhpcc.edu>
188
189 * regclass.c (record_reg_classes): Correctly handle 'p' constraint.
190
1b4a979b
ME
191Thu Feb 18 19:59:37 1999 Marc Espie <espie@cvs.openbsd.org>
192
193 * configure.in :Handle OpenBSD platforms.
194 * configure: Rebuilt.
195 * config/openbsd.h: New file.
196 * config/xm-openbsd.h: New file.
197 * config/t-openbsd: New file.
198 * config/t-openbsd-thread: New file.
199
c87a0a39
JL
200Thu Feb 18 18:47:09 1999 Jeffrey A Law (law@cygnus.com)
201
202 * function.c (assign_stack_temp_for_type): Round SIZE before calling
203 assign_stack_local for BLKmode slots.
204
743f9f5d
R
205Fri Feb 19 01:45:06 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
206
207 * loop.c (strength_reduce): For derived givs, replace the
208 giv this was derived from with its new_reg.
209 (recombine_givs): Don't set new_reg for derived giv.
210 And don't print it, print SUM instead.
211
2d37187d
JW
212Thu Feb 18 15:52:49 1999 Jim Wilson <wilson@cygnus.com>
213
214 * m68kelf.h (ASM_RETURN_CASE_JUMP): Add 5200 support.
215
6de1e2a9
ZW
2161999-02-18 18:32 -0500 Zack Weinberg <zack@rabi.columbia.edu>
217
218 * cpplib.c: Kill define of STDC_VALUE. Don't include output.h
219 or prefix.h. Change CPP_IS_MACRO_BUFFER to not refer to
220 macro_cleanup.
221 (GET_ENV_PATH_LIST, PATH_SEPARATOR, STANDARD_INCLUDE_DIR,
222 predefs, SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
223 CPP_WCHAR_TYPE, USER_LABEL_PREFIX, REGISTER_PREFIX, struct
224 cpp_pending, version_string, struct default_include,
225 include_defaults_array, path_include, cpp_options_init,
226 dump_special_to_buffer, initialize_builtins, cpp_start_read,
227 cpp_reader_init, nreverse_pending, push_pending, print_help,
228 cpp_handle_option, cpp_handle_options, cpp_finish,
229 cpp_cleanup): Move to cppinit.c.
230 (macro_cleanup, struct arglist, collect_expansion,
231 create_definition, compare_defs, comp_def_part, ARG_BASE,
232 struct argdata, macarg, change_newlines, timestamp,
233 monthnames, special_symbol, unsafe_chars, macroexpand,
234 push_macro_expansion): Move to cpphash.c.
235 (quote_string, check_macro_name, cpp_expand_to_buffer,
236 output_line_command, cpp_undef): Export.
237 (null_underflow, null_cleanup, handle_directive): Make static.
238
239 * cpplib.h: Prototype now-exported functions. Adjust decls of
240 syntax tables so we can include cpplib.h in cppinit.c.
241 * cpphash.h: Prototype all functions exported by cpphash.c.
242 * cppinit.c: Make syntax tables initialized data if possible
243 (uses GCC designated-initializer extension).
244 * cppexp.c: Make cpp_lex static.
245 * Makefile.in: Move -D switches for the various include dirs
246 from cpplib.o rule to cppinit.o rule. Adjust dependencies.
247
44cd03e6
ME
248Thu Feb 18 13:15:56 1999 Marc Espie <espie@cvs.openbsd.org>
249
43a538f6
ME
250 * alpha/openbsd.h: New file.
251 * alpha/xm-openbsd.h: New file.
cb9b3d37
ME
252 * sparc/openbsd.h: New file.
253 * sparc/xm-openbsd.h: New file.
89e6da44
ME
254 * m68k/openbsd.h: New file.
255 * m68k/xm-openbsd.h: New file.
44cd03e6
ME
256 * i386/openbsd.h: New file, originally from netbsd.
257 * i386/xm-openbsd.h: New file.
258
693ff496
ZW
2591999-02-17 14:49 -0500 Zack Weinberg <zack@rabi.columbia.edu>
260
261 * Makefile.in: Correct dependencies for cpplib object files.
262
cb8cc086
MM
263Wed Feb 17 14:04:18 1999 Michael Meissner <meissner@cygnus.com>
264
265 * rs6000.md ({add,sub}si3 `.'): Add alternatives to use CR other
266 than cr0.
267
079a615d
R
268Wed Feb 17 16:59:28 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
269
270 * loop.c (strength_reduce): Don't move giv insn for biv turned giv
271 below scan_start.
272
37b37199
KG
273Wed Feb 17 10:56:24 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
274
275 * tree.c (tree_node_kind_names, print_obstack_name,
276 get_identifier, maybe_get_identifier, build_string,
277 build_expr_wfl, is_attribute_p, lookup_attribute,
278 print_obstack_statistics, get_file_function_name_long, tree_check,
279 tree_class_check, expr_check): Qualify a char* with the `const'
280 keyword.
281
282 * tree.h (get_identifier, maybe_get_identifier, build_string,
283 build_expr_wfl, is_attribute_p, lookup_attribute,
284 print_obstack_statistics, print_obstack_name, tree_check,
285 tree_class_check, expr_check): Likewise.
286
b564df06
JL
287Tue Feb 16 21:29:38 1999 Jeffrey A Law (law@cygnus.com)
288
8401285e
JL
289 * i386/freebsd-elf.h, i386/gas.h, i386/linux.h: Fix minor spacing
290 errors.
291
b564df06
JL
292 * calls.c (store_one_arg): Mark any slots used for the argument
293 as in-use immediately after we're done saving any slots which
294 will be overwritten by this argument.
295
91cee9a1
AH
296Tue Feb 16 21:02:07 1999 Anton Hartl <toni@devsoft.com>
297
298 * rs6000.md (call_value): Fix typo.
299
8c354a41
R
300Wed Feb 17 01:29:07 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
301
302 * loop.c (strength_reduce): Calculate maybe_dead before
303 calling recombine_givs.
304
1ccf8937
R
305Wed Feb 17 00:43:12 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
306
307 * loop.c (strength_reduce): Dump biv increment -> giv conversions.
308
6b99d470
OP
309Tue Feb 16 15:31:39 1999 Ovidiu Predescu <ovidiu@cup.hp.com>
310
311 * objc/objc-act.c (encode_type): Encode the type instead of
312 encoding the mode of the type (patch from Richard Frith-Macdonald
313 <richard@brainstorm.co.uk>).
314
d2ceebd1
RE
315Tue Feb 16 10:53:51 1999 Richard Earnshaw (rearnsha@arm.com)
316
317 * config/arm/arm.md (*zeroextractqi_compare0_scratch): Re-add load
318 instruction killed in previous change. Simplify mask generation.
319 (*zeroextractsi_compare0_scratch): Simpify mask generation.
320
d462a870
NC
321Tue Feb 16 09:52:26 1999 Nick Clifton <nickc@cygnus.com>
322
323 * config/arm/arm.md (zeroextractqi_compare0_scratch): Ensure that
d5355be3 324 bitfield does not overflow a byte boundary.
d462a870 325
8bbd5685
CW
326Tue Feb 16 01:37:33 1999 Charles G Waldman <cgw@alum.mit.edu>
327
328 * c-common.c (shorten_compare): Get the min/max value from the
329 underlying type of an enumeration, not the enumerated type itself.
330
0c63f729
JL
331Mon Feb 15 23:04:48 1999 Jeffrey A Law (law@cygnus.com)
332
333 * jump.c: Include insn-attr.h.
334 (delete_computation): If reload has completed and insn scheduling
335 after reload is enabled, then do not depend on REG_DEAD notes.
336 * Makefile.in (jump.o): Depend on insn-attr.h.
337
2e79e5cb
RH
338Mon Feb 15 16:57:38 1999 Richard Henderson <rth@cygnus.com>
339
340 * i386.md (addsi3): Allow lea for any constant_p.
341
73cd870f 3421999-02-15 17:11 -0500 Zack Weinberg <zack@rabi.columbia.edu>
4d9a1b48 343
73cd870f
ZW
344 * toplev.c (documented_lang_options): Remove -fident and
345 -fnoident, which are now handled by the language independent
346 option parser.
347
3481999-02-15 16:59 -0500 Zack Weinberg <zack@rabi.columbia.edu>
4d9a1b48
ZW
349
350 * c-common.c (UNGETC [USE_CPPLIB=1]): Do nothing if c is EOF.
351 * c-lex.c: Likewise.
352 * cpplib.c (cpp_push_buffer, cpp_pop_buffer): Use a linked
353 list in malloced memory for the buffer stack.
354 (cpp_get_token): Don't pop the last buffer off the stack.
355 Calls after CPP_EOF has been returned produce CPP_EOF with no
356 state change.
357 (cpp_finish): Pop last buffer here.
358 (do_line): Don't free ip->last_nominal_fname if it is equal to
359 ip->fname.
360 (special_symbol): If a T_CONST is the empty string, push a
361 single `@ ' escape instead.
362 (macroexpand): Special symbol buffers have escapes too.
363 * cpplib.h (struct cpp_buffer): Remove unused fields, add prev
364 buffer pointer.
365 (struct cpp_reader): Remove buffer_stack. Add
366 buffer_stack_depth.
367 (CPP_PREV_BUFFER, CPP_NULL_BUFFER): Buffer stack is now a
368 linked list.
369
bd86d7e2
KG
370Mon Feb 15 14:44:53 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
371
372 * cccp.c: Don't define HOST_WIDE_INT. Replace all occurrences of
373 WIDE_INT with WIDEST_INT.
374
375 * cexp.y: Likewise.
376 Don't define unsigned_HOST_WIDE_INT, CHAR_BIT or
377 HOST_BITS_PER_WIDE_INT. Replace occurrences of PRINTF_PROTO_1()
378 style with PVPROTO() ATTRIBUTE_PRINTF_1 style macros. Replace
379 occurrences of "unsigned_HOST" with "unsigned HOST". Provide a
380 definition of variable `c89' when compiling a test binary and set it.
381
382 * system.h: Don't define the PRINTF_PROTO_* macros.
383
bc8ebe10
JL
384Mon Feb 15 11:33:51 1999 Jeffrey A Law (law@cygnus.com)
385
386 * loop.c (mark_loop_jump): Handle LO_SUM. If we encounter something
387 we do not understand, mark the loop and containing loops as invalid.
388
6ba14f92
R
389Mon Feb 15 00:40:45 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
390
391 * alias.c (init_alias_analysis): Avoid self-referential value
392 when setting reg_known_value from REG_EQUAL notes.
393
c954bd01
RH
394Sun Feb 14 23:12:10 1999 Richard Henderson <rth@cygnus.com>
395
396 * i386.c (legitimate_address_p): Verify modes of base and index.
397
59be65f6
RH
398Sun Feb 14 23:01:28 1999 Richard Henderson <rth@cygnus.com>
399
400 * i386.c (legitimate_pic_address_disp_p): Remove static.
401 * i386.h (LEGITIMATE_PIC_OPERAND_P): Use it instead of
402 open-coding cases.
403
c5d5d461
JL
404Sun Feb 14 21:03:28 1999 Jeffrey A Law (law@cygnus.com)
405
406 * except.c (start_catch_handler): Use emit_cmp_and_jump_insns.
407 * explow.c (probe_stack_range): Likewise.
408 * expmed.c (do_cmp_and_jump): Likewise.
409 * expr.c (store_expr, expand_expr, expand_builtin): Likewise.
410 (do_tablejump): Likewise.
411 * stmt.c (expand_expr_stmt, expand_end_case): Likewise.
412 (do_jump_if_equal, emit_case_nodes): Likewise.
413 * optabs.c (emit_cmp_and_jump_insns): Clarify comments. If UNSIGNEDP,
414 then convert comparison to an unsigned code before emitting the jump.
415 (expand_float, expand_fix): Use emit_cmp_and_jump_insns.
416
345bee93
JL
417Sun Feb 14 02:24:15 PST 1999 Jeff Law (law@cygnus.com)
418
419 * version.c: Bump for snapshot.
420
ed8def4f
JL
421Sun Feb 14 01:15:04 PST 1999 Jeff Law (law@cygnus.com)
422
423 * version.c: Bump for snapshot.
424
9f4ec515
JL
425Sun Feb 14 00:45:50 1999 Jeffrey A Law (law@cygnus.com)
426
427 * loop.c: Disable recent loop changes. Temporary as Joern
428 continues to fix problems.
429
ba12c883
RH
430Sat Feb 13 23:29:42 1999 Richard Henderson <rth@cygnus.com>
431
432 * loop.c (combine_givs_used_by_other): Delete.
433 (combine_givs_benefit_from): Delete.
434 (combine_givs): Deny combination of givs only used once. Simplify
435 code with the death of combine_givs_benefit_from.
436
77854601
MH
437Sun Feb 14 11:24:05 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
438
439 * loop.c (scan_loop): Call reg_in_basic_block_p before
440 loop_reg_used_before_p.
441
43cffd11
RE
442Sat Feb 13 05:32:00 1999 Richard Earnshaw (rearnsha@arm.com)
443
444 * arm.md: Use gen_rtx_FOO instead of gen_rtx (FOO, ...).
445 * arm.h: Likewise.
446 * arm.c: Likewise.
447
448 * arm.h (TARGET_OPTIONS): Reformat for clarity.
449 (GO_IF_LEGITIMATE_ADDRESS): When generating PIC, references to symbols
450 in the constant pool aren't valid.
451 (LEGITIMATE_PIC_OPERAND_P): Likewise.
452
453 * arm.c: Include "system.h", not stdio.h and string.h.
454
564ea051
JW
455Fri Feb 12 13:06:28 1999 Jim Wilson <wilson@cygnus.com>
456
457 * stmt.c (expand_return): Return if optimize_tail_recursion succeeded.
458 (optimize_tail_recursion): Change return type from void to int.
459 Add return statements.
460 * tree.h (optimize_tail_recursion): Change prototype to match.
461
22505ad8
R
462Fri Feb 12 21:09:51 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
463
464 * reload.c (find_reloads_subreg_address): New function, broken out of
465 find_reloads_toplev.
466 (find_reloads_toplev, find_reloads_address_1): Use it.
467
01d5caad
JL
468Fri Feb 12 13:20:52 1999 Jeffrey A Law (law@cygnus.com)
469
470 * h8300.md (zero_extendhisi2 H8/300 variant): Correctly handle
471 extending a CONST_INT.
472
473 * h8300.md (peephole for combining memrefs): Delete incorrect peephole.
474
a6207a2b
R
475Fri Feb 12 18:29:11 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
476
477 * loop.c (loop_insn_first_p, biv_elimination_giv_has_0_offset):
478 New functions.
479 (maybe_eliminate_biv_1): Use biv_elimination_giv_has_0_offset.
480
826947c5
R
481Fri Feb 12 16:56:10 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
482
483 * loop.c (load_mems): Don't guess how to do a load / store, use
484 emit_move_insn.
485
f80d6fd7
KG
486Fri Feb 12 09:24:26 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
487
488 * system.h: Provide a definition for HOST_WIDEST_INT, etc.
489
21034cc5
MH
490Fri Feb 12 23:37:26 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
491
492 * config/c4x/c4x.c (c4x_address_cost): Revert 9 Feb change.
493
d1d3a2df
JL
494Fri Feb 12 00:51:26 1999 Jeffrey A Law (law@cygnus.com)
495
3520cdec
JL
496 * reload.c (find_reloads_address_1): Fix handling of an autoincremented
497 pseudo which is homed in the stack.
498
d1d3a2df
JL
499 * mips.c (save_restore_insns): Fix loop to save/restore FP registers.
500 (compute_frame_size): Change loop over FP regs to be consistent
501 with the loop in save_restore_insns.
502
d86037fa
JW
503Thu Feb 11 17:38:40 1999 Jim Wilson <wilson@cygnus.com>
504
505 * i960/i960.h (OVERRIDE_OPTIONS): Warn if -mlong-double-64 is used.
506 (LONG_DOUBLE_TYPE_SIZE): Undef then unconditionally define to 96.
507
d64ca100
JL
508Thu Feb 11 15:11:35 1999 Jeffrey A Law (law@cygnus.com)
509
510 * mn10200.md (bset); Re-enable.
511
0603a39d
R
512Thu Feb 11 15:20:49 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
513
514 * sh.md (is_sfunc): New attribute.
515 * sh.h (INSN_SETS_ARE_DELAYED, INSN_REFERENCES_ARE_DELAYED): Use it.
516
708bcaa7
NS
517Thu Feb 11 01:06:49 1999 Nathan Sidwell <nathan@acm.org>
518
519 * fold-const.c (range_binop): Take account of the bounded nature
520 of fixed length arithmetic when comparing unbounded ranges.
521
d16790f2
JW
522Thu Feb 11 00:08:17 1999 John Wehle (john@feith.com)
523
524 * function.c (assign_stack_temp_for_type): Clear best_p
525 when an exact match is found.
526
527 * i386.h (LOCAL_ALIGNMENT): Define.
528 * function.c (assign_stack_local, assign_outer_stack_local): Use it.
529 (assign_stack_temp_for_type): New function based on assign_stack_temp.
530 (assign_stack_temp): Call it.
531 (assign_temp): Use assign_stack_temp_for_type, not assign_stack_temp.
532 * stmt.c: Use assign_temp, not assign_stack_temp.
533 * tm.texi: Document LOCAL_ALIGNMENT.
534
b111589b
JL
535Wed Feb 10 23:28:28 1999 Jeffrey A Law (law@cygnus.com)
536
537 * reorg.c: Finish deleting half-deleted comment.
538
b5a3eb84
JW
539Wed Feb 10 17:12:21 1999 Jim Wilson <wilson@cygnus.com>
540
541 * emit-rtl.c (operand_subword): Sign extend REAL_VALUE_TO_TARGET_SINGLE
542 result.
543 * final.c (split_double): Sign extend REAL_VALUE_TO_TARGET_DOUBLE
544 result.
545 * real.c (endian): Delete sign extension code.
546 * config/m32r/m32r.md (movsf_insn+1): REAL_VALUE_TO_TARGET_SINGLE call
547 replaced with operand_subword call.
548
809afeef
RH
549Wed Feb 10 15:16:39 1999 Richard Henderson <rth@cygnus.com>
550
551 * alpha.md (cmov compound patterns): Delete. Jump can now
552 create the correct constructs in the first place.
553
44e95b19
RH
554Wed Feb 10 11:03:22 1999 Richard Henderson <rth@cygnus.com>
555
556 * configure.in (alphaev6*): Fix typo in target_cpu_default2.
557
4d2a3f76
DB
558Wed Feb 10 13:59:18 1999 Dave Brolley <brolley@cygnus.com>
559
560 * mbchar.c (local_mb_cur_max): Handle the case where MB_CUR_MAX is 0.
561
a3b3fa5e
JW
562Wed Feb 10 10:35:05 1999 Jim Wilson <wilson@cygnus.com>
563
564 * tmp-emsgids.c: Delete.
565
ef30399b
MM
566Wed Feb 10 09:57:08 1999 Mark Mitchell <mark@markmitchell.com>
567
568 * rtlanal.c (for_each_rtx): Fix declaration to conform to GNU
569 coding standards.
570
f93233bb
JL
571Wed Feb 10 10:09:41 1999 Jeffrey A Law (law@cygnus.com)
572
21375863
JL
573 * mn10200.md (bset, bclr): Operand 0 is a read/write operand.
574
f93233bb
JL
575 * reload1.c (reload_combine_note_store): Second argument is no
576 longer unused/ignored. Handle multi-register hard regs.
577 (move2add_note_store): Simplify.
578
93ea10ba
MK
579Wed Feb 10 10:05:23 1999 Mumit Khan <khan@xraylith.wisc.edu>
580
581 * collect2.c (collect_execute): Remove cygwin-specific code.
582
38d9d130
NS
583Tue Feb 9 17:27:29 GMT 1999 Nathan Sidwell <nathan@acm.org>
584
585 * system.h (_, N_): Remove dummy i18n macros.
586 * protoize.c: Move inclusion of intl.h to after system.h.
587 * cexp.y: Include intl.h.
588 * cexp.c: Rebuilt.
589
87e690e2
MK
590Tue Feb 9 16:52:22 1999 Mumit Khan <khan@xraylith.wisc.edu>
591
2b9f972f
MK
592 * i386/cygwin.h (SUBTARGET_OVERRIDE_OPTIONS): New macro to ignore
593 fpic/fPIC for windows32 targets.
594 * i386/xm-cygwin.h (GET_ENV_PATH_LIST): Replace '\\' in windows32
595 paths with '/'.
596 * i386/mingw32.h (CPP_SPEC): Define.
597 (CPP_PREDEFINES): Add MINGW32 version id.
598 * i386/crtdll.h (CPP_PREDEFINES): Likewise.
599
a2d25763
MK
600 * Makefile.in (collect2$(exeext)): Delete redundant dependency and
601 add missing exeext to target.
602
87e690e2
MK
603 * gcc.c (convert_filename): Handle null filename argument.
604
95d62815
MH
605Wed Feb 10 15:46:10 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
606
607 * config/c4x/c4x.md (*movhf_noclobber, *movhi_noclobber): Use
608 m constraint instead of QT.
609
e4d8ad23
BK
6101999-02-09 Brendan Kehoe <brendan@cygnus.com>
611
612 * cpplib.c (special_symbol): Move IP to be declared in function
613 scope, rather than individual case statements.
614
6458033d
ZW
6151999-02-09 16:42 -0500 Zack Weinberg <zack@rabi.columbia.edu>
616
617 * cppfiles.c (finclude): Handle pipes properly under old BSD
618 derivatives.
619
6201999-02-09 16:42 -0500 Melissa O'Neill <oneill@cs.sfu.ca>
621
622 * system.h: Provide fallback definitions for S_ISCHR,
623 S_ISSOCK, S_ISFIFO, O_NONBLOCK, and O_NOCTTY.
624
0961816a
ZW
6251999-02-09 10:30 -0500 Zack Weinberg <zack@rabi.columbia.edu>
626
627 * cpplib.c (do_define): Allow redefining __STDC__ with -D.
628
507ba956
JB
6291999-02-09 Jim Blandy <jimb@zwingli.cygnus.com>
630
631 * configure.in: For PowerPC configurations, accept "401", "ec603e",
632 "740", and "750" as valid arguments to --with-cpu.
633 * configure: Rebuilt.
634
cd9e5e7c
MK
635Tue Feb 9 00:00:14 1999 Mark Kettenis <kettenis@gnu.org>
636
637 * configure.in (i[34567]86-*gnu*): Set float_format to i386.
638 * configure: Rebuilt.
639
29ae5b89
JL
640Mon Feb 8 22:38:24 1999 Jeffrey A Law (law@cygnus.com)
641
642 * rs6000.md: Revert "alternate use of crs if cr0 not available"
643 patches from 01-22-1999, 01-24-1999, 01-26-1999, and 02-08-1999.
644
acd693d1
RH
645Mon Feb 8 21:36:44 1999 Richard Henderson <rth@cygnus.com>
646
647 * output.h (current_function_has_computed_jump): Rename from
648 current_function_addresses_labels.
649 * function.h (struct function): Likewise for addresses_labels member.
650 * rtl.h (FUNCTION_FLAGS_HAS_COMPUTED_JUMP): Likewise.
651 * function.c (current_function_has_computed_jump): Likewise.
652 Update all references.
653 * integrate.c (function_cannot_inline_p):
654 Test current_function_has_computed_jump instead of addresses_labels.
655 (initialize_for_inline): Likewise save.
656 (output_inline_function): Likewise restore.
657
658 * expr.c (expand_expr): Don't reference addresses_labels variables.
659 * stmt.c (expand_computed_goto): Set has_computed_jump.
660
6ffc8580
MM
6611999-02-08 Michael Meissner <meissner@cygnus.com>
662
663 This is being installed only to get it into the repository to help
664 with the revert, resubmit & review process for the massive rs6000.md
665 changes.
666 * rs6000.md (andsi3_internal1 splitter): Don't split if using the
667 rlwinm instruction.
668 (anddi3_internal1): Ditto.
669 (andsi3_internal{2,3}): Correct some insn lengths.
670 (anddi3*): Restore missing TARGET_POWERPC64, and don't emit old
671 mnemonics.
672
d6b44532
RH
673Mon Feb 8 21:31:06 1999 Richard Henderson <rth@cygnus.com>
674
675 * loop.c (reg_single_usage): New file-scope variable ...
676 (scan_loop): ... moved out of here. Always initialize.
677 Test loop_has_call instead of reg_single_usage not zero.
678 Free reg_single_usage after strength reduction.
679 (count_loop_regs_set): Assume single_usage non-zero.
680 (combine_givs_used_by_other): Test reg_single_usage.
681 (load_mems_and_recount_loop_regs_set): Remove reg_single_usage
682 as a parameter. Assume non-zero.
683
5dfa4da1
ZW
6841999-02-08 23:25 -0500 Zack Weinberg <zack@midnite.ec.rhno.columbia.edu>
685
686 * cpplib.c (special_symbol): Rewrite. Don't copy things
687 multiple times. Handle __STDC__ specially. T_CONST
688 indicates a constant /string/. Don't handle T_*_TYPE and
689 T_SPEC_DEFINED. Use cpp_buf_line_and_col instead of
690 adjust_position. Determine the file buffer only if needed.
691 (initialize_builtins): Handle __SIZE_TYPE__,
692 __PTRDIFF_TYPE__, __WCHAR_TYPE__, __USER_LABEL_PREFIX__, and
693 __REGISTER_PREFIX__ with T_CONST special hashtab entries.
694 Don't provide __OBJC__; the driver does that. Provide
695 __STDC_VERSION__, using T_CONST. Use T_STDC for
696 __STDC__. Give install the length of all symbols defined.
697 (eval_if_expression): Drop code to insert and remove the
698 "defined" special symbol.
699
700 * cpplib.h: Remove SELF_DIR_DUMMY (no longer used). Remove
701 T_*_TYPE and T_SPEC_DEFINED from enum node_type; add T_STDC.
702
703 * cpphash.c (install): Drop the `ivalue' parameter. Constify
704 the `value' parameter. All callers changed.
705 * cpphash.h (install): Change prototype to match.
706 (union hashval): Remove `ival' member.
707 * cppexp.c (cpp_lex): Handle `defined' here.
708
49ad900d
JL
709Mon Feb 8 17:29:42 1999 Jeffrey A Law (law@cygnus.com)
710
711 * pa.h (EXTRA_CONSTRAINT): Fix comment.
712
ebc3c078 713Mon Feb 8 18:57:45 1999 Vladimir N. Makarov <vmakarov@cygnus.com>
43f7bed5
VM
714
715 * c-typeck.c (check_init_type_bitfields): Use nonincremental
716 initialization of unions whose first member is a bitfield.
717 Remove unnecessary code for checking the declaration mode
718 after DECL_C_BIT_FIELD.
719
720 * varasm.c (output_constructor): Additional comment about the
721 constructor of bitfield union initialization.
722
e42efef5
MH
723Tue Feb 9 11:55:04 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
724
725 * config/c4x/c4x.md (*movhi_stik): New pattern.
726 (movhi): Allow some immediate constants to be directly
727 stored in memory.
728
b2e9a2fd
MH
729Tue Feb 9 11:34:15 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
730
731 * config/c4x/c4x.md (all call patterns): Add constraints "Ur".
732 (call, call_value): Force address into a register if not valid
733 for a call instruction.
734 (load_immed_address): Emit a USE of the SYMBOL_REF that is
735 forced into memory.
736 * config/c4x/c4x.c (c4x_print_operand): Fix 'C' and 'U' modifiers.
737
55310df7
MH
738Tue Feb 9 11:08:41 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
739
740 * config/c4x/c4x.c (call_address_operand, symbolic_address_operand):
741 Rename from call_operand and symbolic_operand respectively. All
742 callers changed.
743 * config/c4x/c4x.md (call_address_operand, symbolic_address_operand):
744 Likewise.
745 * config/c4x/c4x.h (call_address_operand, symbolic_address_operand):
746 Likewise.
747 (PREDICATE_CODES): Allow CONST, LABEL_REF for call_address_operand.
748
2718204c
MH
749Tue Feb 9 10:52:27 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
750
751 * config/c4x/c4x.c (c4x_legitimize_address): Don't generate a
752 LO_SUM address for HImode or HFmode but instead force address into
753 a register so that it is offsettable.
754 (c4x_emit_move_sequence): Handle LO_SUM immediate address.
755
de67f00e
MH
756Tue Feb 9 10:46:42 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
757
758 * config/c4x/c4x.c (c4x_address_cost): Return cost of 1 for
759 REG+REG addressing if strength reduction enabled.
760
43790b44
MH
761Tue Feb 9 10:10:31 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
762
763 * config/c4x/t-c4x (LIBGCC2_CFLAGS): Delete.
764 (TARGET_LIBGCC2_CFLAGS): Define.
765
be1d3f93
NC
7661999-02-08 Nick Clifton <nickc@cygnus.com>
767
ef5ae176
NC
768 * config/v850/v850.md: Replace \\n\\t with \\;
769
be1d3f93
NC
770 * config/v850/v850.md: Enforce TARGET_LONG_CALLS option.
771 * config/v850/v850.c (construct_restore_jr, construct_save_jarl):
772 Enforce TARGET_LONG_CALLS option.
773
9691f3a1
DT
774Mon Feb 8 11:43:07 1999 Donn Terry <donn@interix.com>
775
776 * real.c (PUT_REAL) [XFmode]: Zero the balance of the structure.
777
e6a3e2ba
ME
778Mon Feb 8 11:37:24 1999 Marc Espie (espie@cvs.openbsd.org)
779
780 * m88k/t-luna-gas: Remove bash dependency.
781
ea0d7e8b
GS
782Mon Feb 8 11:34:44 1999 Graham <grahams@rcp.co.uk>
783
e6a3e2ba 784 * collect2.c (xrealloc): Fix typo in last change.
ea0d7e8b 785
5f784c1d
JL
786Mon Feb 8 09:13:38 PST 1999 Jeff Law (law@cygnus.com)
787
788 * version.c: Bump for snapshot.
789
73cd2468
RL
790Sun Feb 7 22:18:42 1999 Robert Lipe <robertlipe@usa.net>
791
792 * tree.h (TYPE_CHECK): Make it clear to the preprocessor
793 that we do not want macro replacement within a character constant.
794 (TYPE_CHECK1): Likewise.
795
7766fe8e
JM
796Sun Feb 7 15:37:10 1999 Jason Merrill <jason@yorick.cygnus.com>
797
798 * tree.h (DECL_P): New macro.
799
ff90310e
JL
800Sun Feb 7 01:15:04 PST 1999 Jeff Law (law@cygnus.com)
801
802 * version.c: Bump for snapshot.
803
8d31fdf4
JL
804Sat Feb 6 18:14:46 1999 Jeffrey A Law (law@cygnus.com)
805
f15ec016
JL
806 * mn10300.md (reload_insi): Do not earlyclobber the output operand.
807
8d31fdf4
JL
808 * README.g77, gcc.c, gcc.texi: Update email addresses.
809 * invoke.texi system.h: Likewise.
810
8318490b
JW
811Sat Feb 6 11:04:08 1999 Jim Wilson <wilson@cygnus.com>
812
813 * unroll.c (find_splittable_givs): After express_from, call replace_rtx
814 to convert dest_reg to new_reg.
815
54ca6ffa
JL
816Sat Feb 6 10:31:35 1999 Jeffrey A Law (law@cygnus.com)
817
818 * reload1.c (reload_combine_note_store): Be more careful with
819 STRICT_LOW_PART, ZERO_EXTRACT and SIGN_EXTRACT.
820 (move2add_note_store): Likewise.
821
bdc1937e
KG
822Sat Feb 6 10:18:01 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
823
824 * cppfiles.c (read_and_prescan): Cast the result of `xrealloc' to
825 U_CHAR* when assigning to one. Ensure the values of a ?: operator
826 have the same type.
827
828 * cppinit.c (initialize_char_syntax): Use K&R function definition.
829
b36ba79f
RE
830Sat Feb 6 11:17:03 1999 Richard Earnshaw <rearnsha@arm.com>
831
832 Support for ARM9
833 * config/arm/arm.c (all_procs): Add arm9 and arm9tdmi.
834 * config/arm/arm.h ((TARGET_CPU_arm9, TARGET_CPUD_arm9tdmi): Define.
835 (TARGET_CPU_DEFAULT): Rework to support ARM9.
836 (CPP_CPU_ARCH_SPEC): Likewise.
837 (enum processor_type): Likewise.
838 * config/arm/arm.md (attr cpu): Add arm9.
839
840 General scheduling changes
841 * config/arm/arm.c (MAX_INSNS_SKIPPED): Delete.
842 (max_insns_skipped): New variable.
843 (arm_override_options): If generating hard floating point code for
844 the FPA, emit code for version 3.
845 When optimizing for space, don't synthesize constants.
846 Reword several flags based on the requested processor and optimization
847 level.
848 (use_return_insn): New argument iscond, all callers changed. Don't
849 use a return insn if it will be conditional and that would be
850 expensive; eg on StrongARM.
851 (arm_adjust_cost): Anti- and output- dependencies normally have no
852 cost.
853 (load_multiple_sequence): Newer ARMs don't benefit from ldm if
854 the sequence is short.
855 (final_prescan_insn): Use max_insns_skipped instead of
856 MAX_INSNS_SKIPPED. Note whether we will make a return instruction
857 conditional, and aviod this if it would be expensive.
858 * config/arm/arm.md (scheduling attributes and function units):
859 Rewrite to better describe ARM8, 9 and StrongARM.
860
861 * config/arm/arm.md (*movhi_insn_littleend): Make op0 predicate
862 s_register_operand.
863 (*ifcompare_plus_move): Use arm_rhs_operand in place of
864 arm_rhsm_operand. Rework constraints.
865 (*if_plus_move): Likewise.
866 (*ifcompare_move_plus): Likewise.
867 (*if_move_plus): Likewise.
868 (*ifcompre_arith_move): Likewise.
869 (*if_arith_move): Likewise.
870 (*ifcompare_move_arith): Likewise.
871 (*if_move_arith): Likewise.
872
873 * config/arm/xm-netbsd.h: Don't include arm/xm-arm.h.
874
3603fb78
MM
8751999-02-05 Michael Meissner <meissner@cygnus.com>
876
877 * loop.c (check_dbra_loop): A store using an address giv for which
878 we have no life information is not reversible.
879
d33c2956
DB
880Fri Feb 5 17:08:01 1999 Dave Brolley <brolley@cygnus.com>
881
882 * function.c (fixup_var_refs): Scan catch_clauses too.
883
aa33de95
BK
884Fri Feb 5 11:49:49 1999 Benjamin Kosnik <bkoz@loony.cygnus.com>
885
886 * c-common.c (decl_attributes): Fix reserved space for init_priority.
887 * tree.h (MAX_RESERVED_INIT_PRIORITY): New macro.
888
29ed8a27
JL
889Fri Feb 5 12:37:05 1999 Jeffrey A Law (law@cygnus.com)
890
5f3db57e
JL
891 * loop.c (strength_reduce): Clear not_every_iteration when
892 passing the NOTE_INSN_LOOP_CONT note.
893
29ed8a27
JL
894 * haifa-sched.c (add_dependence): Do not add a dependency on a
895 note.
896
3c4fc1cc
NC
897Fri Feb 5 10:55:43 1999 Nick Clifton <nickc@cygnus.com>
898
899 * recog.c (split_block_insns): Only call update_flow_info if
900 instruction scheduling is enabled.
901
850350d1
ZW
9021999-02-05 11:22 -0500 Zack Weinberg <zack@rabi.columbia.edu>
903
904 * Makefile.in (gen-protos): Use libcpp.a like everyone else.
905
2d4fde68
R
906Fri Feb 5 07:09:29 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
907
908 * loop.c (first_loop_store_insn): New file-scope variable.
909 (prescan_loop): Set it.
910 (check_dbra_loop): Check if a store depends on a register
911 that is set after the store.
912
a5af23fe
R
913Fri Feb 5 06:55:15 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
914
915 * unroll.c (entire file): Remove tabs / spaces at end of lines.
916 Replace spaces with tabs where appropriate.
917
6dd49eb4
R
918Thu Feb 4 15:12:41 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
919
920 * loop.c (scan_loop): New argument loop_cont. Changed caller.
921 (strength_reduce): New argument loop_cont. Changed caller.
922 Before clearing not_every_iteration after a label, check if
923 we are not already past LOOP_CONT.
924
74c9467a
ZW
9251999-02-04 16:04 -0500 Zack Weinberg <zack@rabi.columbia.edu>
926
927 * cpperror.c (cpp_print_containing_files): Fix formatting
928 bug induced by merge.
929
a49f70bd
ZW
9301999-02-04 14:33 -0500 Zack Weinberg <zack@rabi.phys.columbia.edu>
931
932 * cpplib.c (initialize_char_syntax): Move to cppinit.c.
933 (cpp_define): Remove redundant syntax checks.
934 (make_assertion): Rename cpp_assert, remove redundant syntax
935 checks, export.
936 (cpp_options_init): Don't init things to zero twice.
937 (cpp_expand_to_buffer): Use memcpy, not a char-by-char loop.
938 (do_include): Kill excessively verbose #import warning that
939 snuck back in in the gcc2 merge.
940 (convert_string): Removed.
941 (do_line): Rewrite with simple last-name-used cache instead of
942 private hashtable.
943 (cpp_start_read): Call initialize_char_syntax here, not...
944 (cpp_reader_init): ...here.
945 (cpp_handle_options): Support the -std switch.
946 * cpplib.h (cpp_buffer): Add last_nominal_fname member.
947 (cpp_options): Add c9x flag.
948 Declare all the is_* tables and trigraph table here, as const.
949 Prototype cpp_assert and initialize_char_syntax.
950 * cppinit.c: New file.
951 * cppfiles.c (read_and_prescan): Optimize.
952 * Makefile.in (LIBCPP_OBJS): Add cppinit.o.
953
1feed51c
GRK
954Thu Feb 4 10:46:30 1999 Gavin Romig-Koch <gavin@cygnus.com>
955
956 * config/mips/mips.md ([u]divmodsi4,[u]divmoddi4,[u]divsi3,[u]divdi3,
957 [u]modsi3,[u]moddi3) : Don't copy the "zero" argument to a register
958 before calling gen_div_trap.
959
3723cad9
JL
960Wed Feb 3 21:56:27 1999 Jeffrey A Law (law@cygnus.com)
961
962 * configure.in (hppa1.1-*-*, hppa2*-*): Use symbolic value rather
963 than numeric value for target_cpu_default..
964 * configure: Rebuilt.
965
966Wed Feb 3 21:55:56 1999 Marc Espie <Marc.Espie@liafa.jussieu.fr>
967
b775105b
ME
968 * Makefile.in (xgcc$(exeext)): Remove choose-temp, pexecute and
969 mkstemp. Get them from libiberty.
970 (COLLECT2_OBJS): Similarly for choose-temp, cplus-dem and mkstemp.
971 (PROTO_OBJS): Similarly for choose-temp, getopt, getopt1 and pexecute.
972 (cplus-dem.o, pexecute.o, choose-temp.o): Remove build rules.
973 (mkstemp.o, getopt1.o, getopt.o): Likewise.
974
3723cad9
JL
975 * pa-gas.h (TARGET_DEFAULT): Use symbolic values rather than numeric
976 values.
977 * pa-hpux.h (LINK_SPEC): Likewise.
978 * pa-hpux10.h (LINK_SPEC): Likewise.
979 * pa-hpux9.h (LINK_SPEC): Likewise.
980 * pa-osf.h: (LINK_SPEC): Likewise.
981 * pa-pro.h (TARGET_DEFAULT): Likewise.
982 * pa1.h (TARGET_DEFAULT): Likewise.
983 * pa.h (MASK_*): New defines.
984 (TARGET_*): Use symbolic values rather than numeric values.
985 (TARGET_SWITCHES): Likewise.
986 (TARGET_DEFAULT): likewise.
987 (CPP_SPEC): likewise.
988
121315ea
BS
989Wed Feb 3 21:07:38 1999 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
990
991 * reload1.c (reload_cse_regs_1): Undo Jan 16 patch.
992 * reload.c (find_reusable_reload): New function, broken out of
993 push_reload. Add code to verify that none of the involved
994 outputs are subject to earlyclobbers.
995 (push_reload): Break out new function find_reusable_reload.
996 Delete "register" keyword for IN, OUT args.
997
def72bd2
GRK
998Wed Feb 3 15:51:04 1999 Gavin Romig-Koch <gavin@cygnus.com>
999
1000 * config/mips/mips.c (true_reg_or_0_operand) : New function.
1001 * config/mips/mips.h (PREDICATE_CODES): Add true_reg_or_0_operand.
1002 * config/mips/mips.md (div_trap,div_trap_normal,div_trap_mips16):
1003 Use true_reg_or_0_operand for div_trap.
1004
4d87f7a7
R
1005Wed Feb 3 20:44:59 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
1006
1007 * loop.h (express_from): Declare.
1008 (struct induction): Replace derived flag with derived_from pointer.
1009 * loop.c (strength_reduce, record_giv, recombine_givs): Likewise.
1010 (express_from): No longer static.
1011 * unroll.c (find_splittable_givs): Replace derived with derived_from.
1012 When processing an address giv with which another giv has been
1013 combined that has also been derived from a third giv, handle like
1014 having combined with the third giv.
1015 Set splittable_regs_updates appropriately for derived givs.
1016
de52e202
GRK
1017Wed Feb 3 15:26:58 1999 Gavin Romig-Koch <gavin@cygnus.com>
1018
1019 * config/mips/mips.md (div_trap_mips16): Remove nop's after branches.
1020
b9cd54d2
JL
1021Wed Feb 3 11:56:23 1999 Jeffrey A Law (law@cygnus.com)
1022
1023 * pa.c (insn_sets_and_refs_are_delayed): New function.
1024 * pa.h (INSN_SETS_ARE_DELAYED): Use it.
1025 (INSN_REFERENCES_ARE_DELAYED): Likewise.
1026
545954c9
RE
1027Wed Feb 3 06:24:49 1999 Richard Earnshaw (rearnsha@arm.com)
1028
1029 * config/arm/t-arm-elf (LIBGCC2_CFLAGS): Delete.
1030 * config/arm/t-linux (LIBGCC2_CFLAGS): Delete.
1031 (TARGET_LIBGCC2_CFLAGS): Define.
1032 (LIBGCC2_DEBUG_CFLAGS): Define.
1033 * config/arm/t-netbsd: Likewise.
1034 * config/arm/t-semi: Likewise.
1035 * config/arm/t-semiaof: Likewise.
1036 * config/arm/t-riscix: Likewise.
1037
c2ac2ff6
AS
1038Wed Feb 3 10:59:07 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
1039
1040 * config/m68k/m68k.c (print_operand_address): When printing a
1041 SYMBOL_REF that ends in `.<letter>' put parentheses around it.
1042
c79d1483
DB
1043Tue Feb 2 23:38:35 1999 David O'Brien <obrien@FreeBSD.org>
1044
6a73406e
RH
1045 * i386/freebsd*.h now allows '$' in label names and does not use the
1046 PCC struct return method.
c79d1483 1047
8f25d5cd
JW
1048Tue Feb 2 22:38:23 1999 Jim Wilson <wilson@cygnus.com>
1049
1050 * Makefile.in: Change all uses of AR to AR_FOR_TARGET. Change all uses
1051 of HOST_AR to AR. Likewise for AR_FLAGS, RANLIB, and RANLIB_TEST.
1052 (RANLIB_TEST): Test to see if ranlib exists. Only test absolute file
1053 names if host == target.
1054 (HOST_AR, HOST_AR_FLAGS, HOST_RANLIB, HOST_RANLIB_TEST): Delete.
1055 (AR_FLAGS_FOR_TARGET): Renamed from AR_FOR_TARGET_FLAGS.
1056 (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST): Delete rules
1057 setting them to *_FOR_TARGET.
1058 * cross-make (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST):
1059 Delete.
1060
132e01b1
TP
1061Tue Feb 2 22:38:19 1999 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
1062
1063 * toplev.h (read_integral_parameter): Declare.
1064 * toplev.c (read_integral_parameter): New function.
1065
ca545bb5
BM
1066Fri Jan 29 21:00:56 1999 Bob Manson <manson@charmed.cygnus.com>
1067
1068 * resource.c, resource.h: New files.
1841f23b 1069 * Makefile.in (OBJS): Add it.
ca545bb5
BM
1070
1071 * haifa-sched.c (regno_use_in): Moved to rtlanal.c.
1072 (split_block_insns): Moved to recog.c.
1073 (update_flow_info): Make public.
6a73406e 1074 * rtl.h: Declare them.
ca545bb5
BM
1075
1076 * reorg.c: Moved the functions dealing with computing resource
1077 usage to resource.c.
1078
1079 * sched.c (regno_use_in): Moved to rtlanal.c.
1080 (update_flow_info): Make public.
1081 (schedule_insns): Use split_block_insns.
1082
1083 * recog.c (split_block_insns): New function.
1084
ee0d2cf3
DE
1085Tue Feb 2 22:03:26 1999 David Edelsohn <edelsohn@mhpcc.edu>
1086
1087 * rs6000/linux.h (LINK_START_DEFAULT_SPEC): Delete, unused.
1088 (LINK_OS_DEFAULT_SPEC): Delete, unused.
1089
cbca921c
CM
1090Tue Feb 2 20:29:34 1999 Catherine Moore <clm@cygnus.com>
1091
1092 * configure.in (arm-*-oabi): Support.
1093 * configure: Regenerate.
1094 * config/arm/unknown-elf-oabi.h: New file.
1095
c4e3884d
JL
1096Tue Feb 2 19:43:59 1999 Jeffrey A Law (law@cygnus.com)
1097
47f59fd4
JL
1098 * i386.md (ashlsi3): Turn into a define_expand an anonymous pattern.
1099 Make the anonymous pattern match when ! optimize_size.
1100 (ashlsi3 size optimizer): New pattern.
1101
c4e3884d
JL
1102 * intl/Makefile.in (uninstall): Add missing "; \".
1103
809934df
SC
1104Tue Feb 2 18:21:23 1999 Stan Cox <scox@cygnus.com>
1105
ee0d2cf3
DE
1106 * sparc.h (TARGET_CPU_sparc86x): Added. TARGET_CPU_sparclite86x
1107 synonym.
809934df 1108
e318cec0
R
1109Tue Feb 2 20:24:11 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
1110
1111 * loop.c (loop_optimize): Fix value max_uid_for_loop is reset
1112 to after find_and_verify_loops call.
1113
7221f080
R
1114Tue Feb 2 19:48:29 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
1115
1116 * (recombine_givs): Don't use a giv that's likely to be dead to
1117 derive others.
1118
1119 * loop.c (recombine_givs): Fix test for lifetime overlaps / loop
1120 wrap around when deriving givs.
1121
1afbe1c4
RH
1122Mon Feb 1 20:00:40 1999 Richard Henderson <rth@cygnus.com>
1123
1124 * recog.c (check_asm_operands): Treat indeterminate operand ok
1125 results as success. Try harder to resolve a matching constraint.
1126 * stmt.c (expand_asm_operands): Recognize when an output operand's
1127 constraint does not allow memory. Treat indeterminate operand ok
1128 results as failure. Try harder to resolve a matching constraint.
1129
c68da89c
KR
1130Mon Feb 1 15:00:02 1999 Ken Raeburn <raeburn@cygnus.com>
1131
1132 Use varrays for constant-equivalence data:
1133
1134 * varray.h (struct const_equiv_data): New type.
1135 (union varray_data_tag): New element const_equiv.
1136 (VARRAY_CONST_EQUIV_INIT, VARRAY_CONST_EQUIV): New macros.
1137 (VARRAY_SIZE): New macro, returns number of elements.
1138 * integrate.h: Include varray.h.
1139 (struct inline_remap): Replace const_equiv_map, const_age_map and
1140 const_equiv_map_size with a const_equiv_varray element.
1141 (MAYBE_EXTEND_CONST_EQUIV_VARRAY): New macro; grows varray if
1142 needed.
1143 (SET_CONST_EQUIV_DATA): New macro; sets rtx and age fields
1144 simultaneously, growing the varray if needed.
1145
1146 * integrate.c (global_const_equiv_map,
1147 global_const_equiv_map_size): Deleted, replaced by....
1148 (global_const_equiv_varray): New variable.
1149 (expand_inline_function): References changed.
1150 * integrate.h: Update declarations.
1151
1152 * integrate.c (process_reg_parm, expand_inline_function,
1153 copy_rtx_and_substitute, try_constants, subst_constants,
1154 mark_stores): Use varray allocation and accessor macros, new
1155 integrate.h macros, and global_const_equiv_varray. Don't
1156 conditionalize non-NULL stores on array size; instead, expand the
1157 array as needed.
1158 * unroll.c (unroll_loop): Likewise.
1159
1160 * unroll.c (unroll_loop): Initialize const_equiv_varray element to
1161 zero. After allocating varray, always exit through bottom of
1162 function, where it can be deallocated if needed. Don't explicitly
1163 reallocate const_equiv_map storage; instead, just ensure the
1164 varray has been initialized, and update the global reference.
1165
ab7c205e
KG
1166Mon Feb 1 09:40:25 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1167
1168 * system.h (inline, const): Handle these for stage2 (and later) gcc.
1169
1170 * dwarf2out.c (inline): Don't define.
1171
1172 * dwarfout.c (inline): Likewise.
1173
516e5fa6
RH
1174Sun Jan 31 22:04:37 1999 Richard Henderson <rth@cygnus.com>
1175
1176 * loop.c (recombine_givs): Dump recombination and derivation data.
1177
f64d8234
ZW
1178Sun Jan 31 20:34:29 1999 Zack Weinberg <zack@rabi.columbia.edu>
1179
1180 * flags.h: Declare flag_no_ident.
1181 * toplev.c: Define flag_no_ident. Process -f(no-)ident here.
1182 * c-tree.h: Don't declare flag_no_ident.
1183 * c-decl.c: Don't define flag_no_ident. Don't process
1184 -f(no-)ident switches here.
1185
1186 * config/elfos.h (ASM_FILE_END): Output final .ident directive
1187 only if !flag_no_ident.
1188 * config/ptx4.h: Likewise.
1189 * config/svr4.h: Likewise.
1190 * config/alpha/elf.h: Likewise.
1191 * config/arm/linux-elf.h: Likewise.
1192 * config/i386/sco5.h: Likewise.
1193 * config/i860/fx2800.h: Likewise.
1194 * config/mips/gnu.h: Likewise.
1195 * config/i386/osfrose.h: Likewise.
1196
1197 * gcc.c (C specs): Map -Qn to -fno-ident.
1198 * objc/lang-specs.h: Likewise.
1199
81814e35
MH
1200Mon Feb 1 10:52:07 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1201
1202 * configure.in: Don't remove loop.o and unroll.o when
1203 enable-haifa is selected.
1204 * configure: Rebuilt.
1205
3aeae608
JW
1206Sun Jan 31 13:22:02 1999 John Wehle (john@feith.com)
1207
1208 * i386.md (movsicc, movhicc, movsfcc, movdfcc,
1209 movxfcc, movdicc): Delete unconstrained alternatives.
1210 * i386.c (output_fp_conditional_move,
1211 output_int_conditional_move): Delete unused case.
1212
4d7c4246
JL
1213Sun Jan 31 01:15:04 PST 1999 Jeff Law (law@cygnus.com)
1214
1215 * version.c: Bump for snapshot.
1216
6ce652e0
RH
1217Sun Jan 31 00:52:37 1999 Richard Henderson <rth@cygnus.com>
1218
1219 * alpha.md (mov patterns): Emit the assembler aliases mov and fmov
1220 instead of bis and cpys. Combine alternatives where possible.
1221
644f3d7e
KG
1222Sat Jan 30 23:14:13 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1223
1224 * gcov.c (fnotice): Add missing FILE* parameter.
1225 (function_summary): Fix format specifiers in calls to `fnotice'.
1226 (output_data): Likewise.
1227
1228 * toplev.c (fnotice): Constify char* parameter.
1229
1230 * toplev.h (fnotice): Add prototype.
fa6ac85e
KG
1231 Wrap prototype with BUFSIZ to protect FILE* usage.
1232
9acfe55c
MH
1233Sun Jan 31 15:33:09 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1234
1235 * config/c4x/c4x.h (RTX_COSTS): Explicitly define c4x costs.
1236
9eab30bc
JL
1237Sat Jan 30 08:27:23 1999 Jeffrey A Law (law@cygnus.com)
1238
4b7c585f
JL
1239 * combine.c (distribute_notes): Handle REG_EH_REGION notes.
1240
2c72b78f
JL
1241 * alias.c (fixed_scalar_and_varying_struct_p): Add "static" to
1242 function definition.
1243 (aliases_everything_p, write_dependence_p):Likewise.
1244
3ad13ada
JL
1245 * install.texi: Fix merge lossages.
1246
d9b53430
JL
1247 * cccp.c (main): Only call setlocale (LC_MESSAGES, ...) if LC_MESSAGES
1248 is defined.
1249 * collect2.c (main): Likewise.
1250 * cppmain.c (main): Likewise.
1251 * gcc.c (main): Likewise.
1252 * gcov.c (main): Likewise.
1253 * protoize.c (main): Likewise.
1254 * toplev.c (main): Likewise.
1255
5989c468
JL
1256 * pa.md (parallel shift and shiftadd): Mark output of shift as an
1257 earlyclobber.
1258
9eab30bc
JL
1259 * loop.c: Disable recent loop changes. Temporary as Joern
1260 continues to fix problems.
1261
97ec0ad8
R
1262Sat Jan 30 03:24:37 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
1263
1264 * loop.c (strength_reduce): Size reg_map according to reg_iv_type.
1265
89e99eea
DB
1266Fri Jan 29 18:26:07 1999 Dave Brolley <brolley@cygnus.com>
1267
1268 * emit-rtl.c (remove_insn): New function.
1269 * rtl.h (remove_insn): Add prototype.
1270 * function.c (reposition_prologue_and_epilogue_notes): Call remove_insn.
1271
5310566c
R
1272Fri Jan 29 22:34:41 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
1273
1274 * loop.c (recombine_givs): Don't try to derive givs that have combined.
1275
96df87b8
KG
1276Fri Jan 29 15:00:39 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1277
1278 * toplev.c (notice, fnotice): Check ANSI_PROTOTYPES, not __STDC__,
1279 when declaring arguments and calling va_arg() to initialize them.
1280
1281 * collect2.c (notice): Likewise.
1282
1283 * loop.c (find_life_end): Use PROTO() macro in the prototype.
1284
1c5d09e4
KG
1285Fri Jan 29 14:36:11 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1286
1287 * collect2.c (error): Fix typo in declaration.
1288
1289 * cpperror.c (cpp_message): Likewise.
1290
1291 * cpplib.c (cpp_warning): Likewise.
1292
1293 * cpplib.h (cpp_notice): Use PVPROTO not VPROTO, also add
1294 ATTRIBUTE_PRINTF_1.
1295
1296 * toplev.c (error): Fix typo in declaration.
1297
22b4cc65
R
1298Fri Jan 29 15:44:13 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
1299
1300 * loop.c (strength_reduce): Fix HAVE_cc0 handling when scanning
1301 forward from cont dominator.
1302
aa1b0f8c
KG
1303Fri Jan 29 07:10:27 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1304
1305 * cccp.c (eprint_string): Constify a char*.
1306 (notice): Likewise. Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_1.
1307 (vnotice): Constify a char*.
1308 (error): Likewise. Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_1.
1309 (verror): Constify a char*.
1310 (warning): Likewise. Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_1.
1311 (vwarning): Constify a char*.
1312 (error_with_line): Likewise. Use PVPROTO not VPROTO, add
1313 ATTRIBUTE_PRINTF_2.
1314 (verror_with_line): Constify a char*.
1315 (vwarning_with_line): Likewise.
1316 (warning_with_line): Likewise. Use PVPROTO not VPROTO, add
1317 ATTRIBUTE_PRINTF_2.
1318 (pedwarn): Constify a char*. Use PVPROTO not VPROTO, add
1319 ATTRIBUTE_PRINTF_1.
1320 (pedwarn_with_line): Likewise with ATTRIBUTE_PRINTF_2.
1321 (pedwarn_with_file_and_line): Likewise with ATTRIBUTE_PRINTF_4.
1322 Also correct typo in parameter name declaration.
1323 (make_assertion): Constify a char*.
1324 (quote_string_for_make): Likewise.
1325 (deps_output): Likewise.
1326 (fatal): Likewise. Use PVPROTO not VPROTO, add
1327 ATTRIBUTE_PRINTF_1. Use ATTRIBUTE_NORETURN not an explicit
1328 "__attribute__ ((noreturn))".
1329 (fancy_abort): Likewise for ATTRIBUTE_NORETURN.
1330 (pfatal_with_name): Likewise.
1331 (pipe_closed): Likewise.
1332 (memory_full): Likewise.
1333
f56246be
R
1334Fri Jan 29 00:14:55 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
1335
1336 * loop.c (strength_reduce): Grow set_in_loop / n_times_set /
1337 may_not_optimize to proper size when converting biv increments
1338 into givs.
1339 If necessary, reallocate reg_iv_type / reg_iv_info before calling
1340 recombine_givs.
1341
53dc05e4
R
1342Thu Jan 28 23:24:08 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
1343
1344 * loop.c (recombine_givs): New parameter unroll_p. If set, don't
1345 generate complex adds. Changed caller.
1346 Don't generate adds that cost more than the original one.
1347 (strength_reduce): Warning fixes.
1348
661c7909
JL
1349Thu Jan 28 09:41:11 1999 Jeffrey A Law (law@cygnus.com)
1350
1351 * configure.in (hppa1.0-hp-hpux10*): Use t-pa.
1352 * configure: Rebuilt.
1353
3ec2b590
R
1354Wed Jan 27 23:39:53 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
1355
176c720e
JR
1356 * rtl.h (insn_first_p, no_jumps_between_p): Declare.
1357 * rtlanal.c (insn_first_p, no_jumps_between_p): New function.
3ec2b590
R
1358 * loop.h (varray.h): Include.
1359 (struct induction): Change combined_with to unsigned.
1360 New members derived, ix and last_use.
1361 (reg_iv_type, reg_iv_info): Now varray_type. All references changed.
1362 (REG_IV_TYPE, REG_IV_INFO): Define.
1363 (first_increment_giv, last_increment_giv): Declare.
1364 * loop.c (loop_number_loop_cont): New static variable.
1365 (loop_number_cont_dominator): Likewise.
1366 (reg_iv_type, reg_iv_info): Now varray_type.
1367 (first_increment_giv, last_increment_giv): New variables.
1368 (compute_luids, verify_dominator, find_life_end): New functions.
1369 (cmp_recombine_givs_stats, recombine_givs): Likewise.
1370 (loop_optimize): Allocate loop_number_loop_cont and
1371 loop_number_cont_dominator. Use compute_luids.
1372 (find_and_verify_loops): Initialize loop_number_loop_cont and
1373 loop_number_cont_dominator.
1374 (strength_reduce): Try to find bivs that can be expressed as givs
1375 of another biv, and to convert biv increments into givs.
1376 Call recombine_givs. Handle derived givs.
1377 (record_biv): New argument location. All callers changed.
1378 (record_giv): Initialize derived and last_use fields.
1379 (basic_induction_var): New argument location. All callers changed.
1380 (combine_givs): Don't combine a DEST_REG giv with a DEST_ADDR giv.
1381 Increment combined_with instead of setting to 1.
1382 * unroll.c (derived_regs): New static variable.
1383 (unroll_loop): Initialize it.
1384 Allocate local_regno according to max_reg_num.
1385 (copy_loop_body): Cope with derived givs.
1386 (find_splittable_givs): Check for Givs made from biv increments.
1387 Set derived_regs for givs.
1388 * Makefile.in (stmt.o, loop.o, unroll.o): Depend on loop.h .
1389
d91dfff4
R
1390Wed Jan 27 19:31:36 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
1391
1392 * function.c (purge_addressof_1): Handle case when a register
1393 has been used in a wider mode.
1394
d5a06ad9
DB
1395Wed Jan 27 11:58:18 1999 Dave Brolley <brolley@cygnus.com>
1396
1397 * cpplib.h (cpp_notice): Add prototype.
1398
ab87f8c8
JL
1399Wed Jan 27 02:20:48 1999 Jeffrey A Law (law@cygnus.com)
1400
1401 * Merge gcc2 snapshot 19980929.
1402
1403 * cccp.c (PRINTF_PROTO): Remove.
1404 (PRINTF_PROTO_{1,2,3,4}: Likewise.
1405 * cexp.y: Likewise.
1406 * system.h: Add PRINTF_PROTO and PRINTF_PROTO_{1,2,3,4}.
1407
1408 * fix-header.c (cpp_file_lin_for_message): Delete. In libcpp.
1409 (cpp_print_containing_files, v_cpp_message, cpp_message): Likewise.
1410 (cpp_fatal, cpp-Pfatal_with_name): Likewise.
1411
1412 * gen-protos.c (hashf): Delete in cpphash.o
1413 * gen-protos.c (hashf): Delete in cpphash.o
1414
1415 * expr.c: Do not merge SAVE_STACKAREA_MODE changes.
1416 * expmed.c: Likewise.
1417 * rs6000.md: Likewise.
1418
1419 * rs6000.c, rs6000.md: Do not merge formatting changes yet.
1420
01b4cf2b
RH
1421Wed Jan 27 01:13:42 1999 Richard Henderson <rth@cygnus.com>
1422
1423 * rs6000.c (input_operand): Don't expect CONST around CONSTANT_P_RTX.
1424 * rs6000.md (movsi, movdi): Likewise.
1425
ea0f9a85
JW
1426Tue Jan 26 13:31:38 1999 Jim Wilson <wilson@cygnus.com>
1427
1428 * function.c (expand_function_end): Pass arg_pointer_save_area to
1429 validize_mem before using it. Emit code into a sequence.
1430
aa9bc2fc
DE
1431Tue Jan 26 13:41:38 1999 David Edelsohn <edelsohn@mhpcc.edu>
1432
1433 * rs6000.md (doz + set cr and or + set cr patterns): Add missing
1434 '#' to split patterns. Correct indentation of some new patterns.
1435
554fbeef
ZW
14361999-01-26 12:11 -0500 Zack Weinberg <zack@midnite.ec.rhno.columbia.edu>
1437
1438 * cppfiles.c (safe_read): Deleted.
1439 (read_and_prescan): New function, replaces safe_read, converts
1440 and/or warns about trigraphs, silently converts odd line
1441 terminators (\r, \n\r, \r\n). Warns about no newline at EOF.
1442 (finclude): Use read_and_prescan; turn off nonblocking mode on
1443 the input descriptor; remove file-size-examination and
1444 no-newline-at-EOF gunk which is longer necessary; be more
1445 careful about checking that we've been handed a legitimate
1446 file to read (only real files, pipes, and ttys are acceptable).
1447 * cpplib.h (cpp_options): Rename no_trigraphs flag to
1448 `trigraphs' and invert its sense.
1449 (trigraph_table): Declare.
1450 (cpp_warning_with_line): Prototype.
1451 * cpplib.c: Remove all references to trigraph_pcp. Define
1452 trigraph_table; initialize it in initialize_char_syntax. Open
1453 files in nonblocking mode. s/no_trigraphs/trigraphs/
1454 throughout, and invert sense. Put cpp_warning_with_line back
1455 in and export it.
1456
4a6330ac
MH
1457Tue Jan 26 23:21:49 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1458
1459 * config/c4x/c4x.h (COUNTER_REGS): New register class.
1460 * config/c4x/c4x.md (*rptb_init): Change constraints.
1461 (rptb_end): Emit alternate looping instructions if
1462 RC register not allocated for loop counter.
1463 (decrement_and_branch_on_count): Allow other registers
1464 for loop counter.
1465
f13eb63a
ZW
14661999-01-25 14:26 -0500 Zack Weinberg <zack@rabi.columbia.edu>
1467
aa9bc2fc
DE
1468 * cppexp.c (struct arglist): Removed.
1469 (parse_number): Use HOST_WIDE_INT for the accumulator.
1470 Allow two `l' suffixes unless C89. Clean up. Make static.
1471 (parse_charconst): New function broken out of cpp_lex.
1472 Code cleaned up drastically. Don't use a token_buffer.
1473 (token_buffer): Removed.
1474 (cpp_lex): Don't call parse_number on a constant string.
1475 Use parse_charconst.
1476 (cpp_parse_expr): Properly handle an ERROR op returned by
1477 cpp_lex.
f13eb63a 1478
20dc7361
ZW
14791999-01-25 14:10 -0500 Zack Weinberg <zack@rabi.phys.columbia.edu>
1480
1481 * cpplib.c: Don't include signal.h, sys/times.h, or
1482 sys/resource.h. Don't declare localtime.
1483 (macroexpand): Handle special symbols here.
1484 (push_macro_expansion): Chop off the trailing '@ ' if possible
1485 here.
1486 (cpp_get_token): Don't do either of the above two things here.
1487 Move `string' label just after case '"' so that wide strings
1488 don't crash the preprocessor.
1489
75d39459
DE
1490Sun Jan 24 20:13:45 1999 David Edelsohn <edelsohn@mhpcc.edu>
1491
1492 * rs6000.md (left shift + set cr patterns): Add missing '#' to
1493 split patterns.
1494 (move register + set cr pattern): Ditto.
4e1efdd3
MM
1495 (movdi, !TARGET_POWERPC64 splitters): Add back in Jan. 15th patch,
1496 inadvertently deleted.
75d39459 1497
09554da9
JL
1498Sun Jan 24 08:07:59 1999 Jeffrey A Law (law@cygnus.com)
1499
75d39459
DE
1500 * stmt.c (stmt_loop_nest_empty): New function.
1501 * tree.h (stmt_loop_nest_empty): Declare it.
09554da9
JL
1502 * rtl.def (CALL_PLACEHOLDER): New rtx code.
1503
50c33087
MH
1504Sun Jan 24 21:24:43 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1505
1506 * config/c4x/c4x.c (c4x_emit_move_sequence, c4x_encode_section_info):
1507 New functions.
1508 (c4x_check_legit_addr): Remove USE and PLUS, allow
1509 LO_SUM, and disable SYMBOL_REF, LABEL_REF, and CONST cases.
1510 (c4x_legitimize_address): Penalise SYMBOL_REF, LABEL_REF, and
1511 CONST cases. Add LO_SUM.
1512 (c4x_print_operand): Modified 'C' and 'R' cases for calls.
1513 Added 'U' case. Remove dependence on SYMBOL_REF_FLAG.
1514 (c4x_print_operand_address): Handle LO_SUM.
1515 (c4x_scan_for_ldp): Delete. Hooray!
1516 (c4x_process_after_reload): Remove call to c4x_scan_for_ldp.
1517 Split all insns.
1518 (c4x_immed_int_constant): Renamed from c4x_int_constant. All callers
1519 changed.
1520 (c4x_immed_float_constant): Renamed from c4x_float_constant. All
1521 callers changed.
1522 (c4x_T_constraint): Allow LO_SUM, disable SYMBOL_REF, LABEL_REF,
1523 and CONST.
1524 (c4x_U_constraint, symbolic_operand): New functions.
1525 (src_operand): Allow 'I' constants in HImode. Allow LO_SUM,
1526 disable SYMBOL_REF, LABEL_REF, and CONST.
1527 (lsrc_operand, tsrc_operand): Call src_operand instead of
1528 general_operand.
1529 (c4x_operand_subword): Update comments.
1530
1531 * config/c4x/c4x.c (TARGET_LOAD_ADDRESS): New macro.
1532 (LEGITIMATE_CONSTANT_P): Allow SYMBOL_REF, LABEL_REF, CONST,
1533 plus HIGH and LO_SUM for the C40.
1534 (ENCODE_SECTION_INFO): Define macro.
1535 (symbolic_operand, c4x_U_constraint, c4x_emit_move_sequence): New
1536 prototypes.
1537 (PREDICATE_CODES): Add symbolic_operand.
1538
1539 * config/c4x/c4x.md (movqi, movgqf, movhi, movhi): Call
1540 c4x_emit_move_sequence.
1541 (floatunsqiqf2, fixuns_truncqfqi2): Rework emitted RTL
1542 to avoid symbol references.
1543 (all patterns with g constraint): Replace 'g' constraint with 'rIm'.
1544 (set_high): Renamed from set_high_use.
1545 (set_lo_sum): Renamed from set_ior_lo_use.
1546 (all call patterns): Make MEM explicit in call address operands.
1547 Modified output templates to use 'U' modifier.
1548
4c1d5c87
JL
1549Sun Jan 24 01:15:05 PST 1999 Jeff Law (law@cygnus.com)
1550
1551 * version.c: Bump for snapshot.
1552
9b3142b3
KG
1553Sat Jan 23 22:34:57 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1554
1555 * final.c (bb_str): Qualify a char* with the keyword `const'.
1556 (add_bb_string, final_scan_insn, output_asm_insn): Likewise.
1557
1558 * fix-header.c (read_scan_file): Likewise.
1559
1560 * genoutput.c (output_epilogue, process_template): Likewise.
1561
1562 * local-alloc.c (requires_inout, block_alloc): Likewise.
1563
1564 * output.h (output_asm_insn, assemble_string): Likewise.
1565
1566 * recog.c (recog_constraints, check_asm_operands,
1567 decode_asm_operands, extract_insn, preprocess_constraints,
1568 constrain_operands): Likewise.
1569
1570 * recog.h (operand_alternative, recog_constraints, insn_template,
1571 insn_outfun, insn_operand_constraint, insn_name): Likewise.
1572
1573 * regclass.c (record_reg_classes, scan_one_insn): Likewise.
1574
1575 * regmove.c (find_matches): Likewise.
1576
1577 * reload.c (alternative_allows_memconst): Likewise.
1578
1579 * reload1.c (constraint_accepts_reg_p,
1580 reload_cse_simplify_operands): Likewise.
1581
1582 * rtl.h (decode_asm_operands): Likewise.
1583
1584 * scan.h (fn_decl): Likewise.
1585
1586 * varasm.c (assemble_string): Likewise.
1587
82cbf8f7
JL
1588Sat Jan 23 01:37:36 1999 Jeffrey A Law (law@cygnus.com)
1589
5949a9fc
JL
1590 * configure.in (gcc_tooldir): Handle case where exec_prefix has
1591 not been explicitly set.
1592 * configure: Rebuilt.
1593
ac4d524d
JL
1594 * fold-const.c (lshift_double): Mark 'prec' arguments as possibly
1595 unused.
1596
83fb95ed
JL
1597 * bitmap.h (bitmap_head_def): Make indx field unsigned.
1598
82cbf8f7
JL
1599 * configure.in (gcc_tooldir): When not making a relative gcc_tooldir,
1600 use $exec_prefix/$target_alias for gcc_tooldir.
5949a9fc 1601 * configure: Rebuilt.
82cbf8f7 1602
09d83d25
RH
1603Fri Jan 22 11:48:56 1999 Richard Henderson <rth@cygnus.com>
1604
1605 * cppp.c (xrealloc): Fix typo last change.
1606 * cppalloc.c, gcc.c, genattr.c, genattrtab.c, gencodes.c: Likewise.
1607 * genconfig.c, genemit.c, genextract.c, genflags.c: Likewise.
1608 * genopinit.c, genoutput.c, genpeep.c, genrecog.c: Likewise.
1609
815cdc52
MM
16101999-01-22 Michael Meissner <meissner@cygnus.com>
1611
1612 * rs6000.h (CR0_REGNO_P): New macro to test if cr0.
1613 (CR_REGNO_NOT_CR0_P): New macro to test if cr, but not cr0.
1614 (PREDICATE_CODES): Add cc_reg_not_cr0_operand.
1615 (cc_reg_not_cr0_operand): Add declaration.
1616
1617 * rs6000.c (cc_reg_not_cr0_operand): Return true if register is a
1618 pseudo register, or a control register that is not CR0.
1619
1620 * rs6000.md (all combiner patterns building . instructions): For
1621 all `.' instructions that do something and set cr0, add an
1622 alternative that does the operation, and then sets a different
1623 flag, in order to avoid using the costly mcrf instruction and also
1624 allow cr0 to be clobbered in asm statements. Also fix a few
1625 patterns that used the wrong register.
1626
1627 * rs6000.h (rs6000_cpu_select): Make string, names be const char *.
1628 (rs6000_debug_name): Make const char *, not char *.
1629
1630 * sysv4.h (rs6000_{abi,sdata}_name): Make const char *.
1631
1632 * rs6000.c (rs6000_{debug,abi,sdata}_name): Make const char *.
1633 (rs6000_select): Use const char * in casts.
1634
91c7bd9b 1635Fri Jan 22 07:43:01 1999 Jeffrey A Law (law@cygnus.com)
d062c304
JL
1636
1637 * Makefile.in (gcc_tooldir): Move before first reference.
1638 Let autoconf substitute in a value.
1639 * configure.in (gcc_tooldir): Only use a relative path to the
1640 tool directory if $exec_prefix == $prefix.
1641 * configure: Rebuilt.
91c7bd9b
JL
1642
1643 * Makefile.in (tooldir): Replace with gcc_tooldir.
1644
c2ad275a
JL
1645Thu Jan 21 23:21:57 1999 Jeffrey A Law (law@cygnus.com)
1646
1647 * m68k.md (ashldi_const): Disable for !TARGET_5200. Fix indention.
1648 (ashldi3 expander): Similarly. Update comments.
1649 (ashrdi_const, lshrdi_const): Fix indention.
1650 (ashrdi3, lshrdi3): FIx indention. Update comments.
1651
23886015
RH
1652Thu Jan 21 21:53:36 1999 Richard Henderson <rth@cygnus.com>
1653
1654 * emit-rtl.c (try_split): Don't try to split non-instructions.
1655
15914757
AM
1656Thu Jan 21 23:47:30 EST 1999 Andrew MacLeod <amacleod@cygnus.com>
1657
1658 * expr.c (emit_push_insn): Fix dumb typo.
1659
c8ab9901
RH
1660Thu Jan 21 20:24:02 1999 Richard Henderson <rth@cygnus.com>
1661
1662 * rs6000.h (LEGITIMIZE_RELOAD_ADDRESS): Recognize and accept
1663 transformations that we have performed earlier.
1664 * alpha.h (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
1665
1666 * alpha.md (prologue_stack_probe_loop): Don't do our own label
1667 handling, call gen_label_rtx instead.
1668
470b68c0
RH
1669Thu Jan 21 17:45:18 1999 Richard Henderson <rth@cygnus.com>
1670
1671 * configure.in ({rs6000|powerpc}-ibm-aix4.[12]*): Add missing `then'.
1672
1673 * cccp.c (xrealloc): Call malloc given a NULL old pointer.
1674 * collect2.c, cppalloc.c, gcc.c, genattr.c, genattrtab.c: Likewise.
1675 * gencodes.c, genconfig.c, genemit.c, genextract.c: Likewise.
1676 * genflags.c, genopinit.c, genoutput.c, genpeep.c: Likewise.
1677 * genrecog.c, mips-tfile.c, protoize.c: Likewise.
1678
20fced2c
MM
1679Thu Jan 21 19:44:55 1999 Michael Meissner <meissner@cygnus.com>
1680
1681 * configure.in ({rs6000|powerpc}-ibm-aix4.[12]*): If
1682 --with-gnu-ld, use x-aix41-gld instead of x-aix41 to suppress
1683 adding -Wl,-bbigtoc to BOOT_LDFLAGS.
1684 * configure: Regenerate.
1685
1686 * config/rs6000/x-aix41-gld: New file, don't set BOOT_LDFLAGS.
1687
939b4a73
DB
1688Thu Jan 21 15:48:03 1999 Dave Brolley <brolley@cygnus.com>
1689
1690 * cppexp.c (cpp_lex): Allocate token_buffer dynamically.
1691
fbe1758d
AM
1692Thu Jan 21 14:18:04 EST 1999 Andrew MacLeod <amacleod@cygnus.com>
1693
1694 * expr.c (MOVE_BY_PIECES_P): Define condition for deciding to use
1695 move_by_pieces.
1696 (MOVE_MAX_PIECES): Define maximum number of bytes to move at once.
1697 (USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_DECREMENT): Define defaults.
1698 (USE_STORE_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Define defaults.
1699 (move_by_pieces): Use new macros.
1700 (emit_block_move): Use new macros.
1701 (clear_by_pieces): Use new macros.
1702 (clear_storage): Use new macros.
1703 (emit_push_insn): Use new macros.
1704 (expand_expr): Use new macros.
1705 * config/sh/sh.h (USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_DECREMENT):
1706 Define.
1707 (USE_STORE_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Define.
1708 (MOVE_BY_PIECES_P): Define based on alignment and TARGET_SMALLCODE.
1709 (MOVE_MAX_PIECES): move 8 bytes on SH4.
1710 * tm.texi(MOVE_BY_PIECES_P, MOVE_MAX_PIECES, USE_LOAD_POST_INCREMENT,
1711 USE_LOAD_PRE_DECREMENT, USE_STORE_POST_INCREMENT,
1712 USE_STORE_PRE_DECREMENT): Describe new macros.
1713
0003feb2
VM
1714Thu Jan 21 14:13:31 1999 Vladimir N. Makarov <vmakarov@cygnus.com>
1715
1716 * varasm.c (output_constant_pool): Use floor_log2 instead of
1717 exact_log2 for ASM_OUTPUT_ALIGN.
1718
1719 * stor-layout.c (layout_type): Do machine-dependent extra alignment.
1720
1721 * emit-rtl.c (operand_subword): Handle case when a subword outside
1722 the operand.
1723
1724 * tm.texi (ROUND_TYPE_{SIZE,ALIGN}): More accurate descriptions of
1725 the macros.
1726
ee5332b8
RH
1727Thu Jan 21 01:59:30 1999 Richard Henderson <rth@cygnus.com>
1728
1729 * cse.c (fold_rtx): Revert 29 Dec change.
1730 (cse_insn): Revert 12 Jan change.
1731 * expr.c (expand_builtin): Don't emit CONST around CONSTANT_P_RTX.
1732 * regclass.c (reg_scan_mark_refs): Revert 29 Dec change.
1733 * rtl.def: Likewise.
1734 * rtl.h (CONSTANT_P): Likewise.
1735
1736 * expr.c (emit_move_insn): Never try to flush CONSTANT_P_RTX
1737 to memory.
1738 * recog.c (immediate_operand): Accept CONSTANT_P_RTX.
1739 * alpha.c (input_operand): Likewise.
1740 * c4x.c (const_operand): Likewise.
1741
1742 * explow.c (allocate_dynamic_stack_space): Use register_operand
1743 instead of arith_operand, which does not exist.
1744
1745 * 1750a.h: Fix comment closure.
1746 * a29k.c (a29k_set_memflags): Fix typo in 19 Jan change.
1747 * arc.md (one_cmplsi2_set_cc_insn): Fix set mode mismatch.
1748 * arm.h (TARGET_SWITCHES): Fix typo.
1749 * i370.md (anon mult and div patterns): Fix set mode mismatch.
1750 * i860.c (output_delayed_branch): Fix operands to constrain_operands.
1751 (output_delay_insn): Likewise.
1752 * m88k.md (anon rotate insns): Fix set mode mismatch.
1753 (anon BLKmode moves): Commonize and fix set mode mismatches.
1754 * ns32k.md (udivmoddi[shq]i4_internal): Fix mode mismatch.
1755 * romp.md (movdf): Fix typo.
1756
f1cc886f
NS
1757Thu Jan 21 00:29:35 1999 Nathan Sidwell <nathan@acm.org>
1758
1759 * Makefile.in (install-common): Remove extraneous chmod for gcov
1760 install.
1761
efd8cba0
DB
1762Wed Jan 20 18:15:08 1999 Dave Brolley <brolley@cygnus.com>
1763
1764 * function.c (assign_parms): Save and restore setting of
1765 TREE_USED (parm).
1766
876d1fa3
MM
1767Wed Jan 20 12:51:42 1999 Mark Mitchell <mark@markmitchell.com>
1768
1769 * arm.md: Use MEM_COPY_ATTRIBUTES where appropriate throughout.
1770 Pass MEM_SCALAR_P to arm_gen_store_multiple where appropriate.
1771
d804ed43
RH
1772Tue Jan 19 21:20:52 1999 Richard Henderson <rth@cygnus.com>
1773
6fbe9bd8
RH
1774 * recog.c (pop_operand): New function.
1775 * recog.h (pop_operand): Declare it.
1776 * genrecog.c (preds): Define it.
1777
d804ed43
RH
1778 * expr.c (do_jump_for_compare): Handle conditional branch expanders
1779 emitting multiple jump instructions.
1780 * jump.c (condjump_label): New function.
1781 * rtl.h (condjump_label): Declare it.
1782
c14c6529
RH
1783Tue Jan 19 21:08:20 1999 Richard Henderson <rth@cygnus.com>
1784
1785 * expr.c (emit_move_insn_1): Revert 17 Dec change. Don't emit
1786 clobber during or after reload.
1787
8aeba909
RH
1788Tue Jan 19 16:56:03 1999 Richard Henderson <rth@cygnus.com>
1789
1790 * genoutput.c (name_for_index): New function.
1791 (scan_operands, validate_insn_alternatives): Use it.
1792 * genrecog.c (insn_name_ptr_size): New variable.
1793 (make_insn_sequence): Fill in insn_name_ptr.
1794 (merge_trees): Use it.
1795
67e5db2c
RH
1796Tue Jan 19 16:37:36 1999 Richard Henderson <rth@cygnus.com>
1797
1798 * i386/isc.h (TARGET_DEFAULT): Define symbolicly.
1799 * i386/isccoff.h, i386/next.h, i386/sco.h, i386/sco5.h: Likewise.
1800 * i386/scodbx.h, i386/sequent.h, i386.unix.h: Likewise.
1801
196fb9ff
JL
1802Tue Jan 19 15:00:10 1999 Jeffrey A Law (law@cygnus.com)
1803
d2551ee4
JL
1804 * loop.c (NUM_STORES): Delete.
1805 (loop_store_mems): Turn into an EXPR_LIST of MEMs.
1806 (prescan_loop): Properly initialize loop_mems_idx.
1807 (note_addr_stored): Simplify using list structure instead of
1808 fixed sized array.
1809 (invariant_p, check_dbra_loop, load_mems): Similarly.
1810
15e088b2
JL
1811 * flow.c (invalidate_from_autoinc): New function.
1812 (mark_set_1, mark_used_regs): Use it.
1813
196fb9ff
JL
1814 * Makefile.in (protoize.o, unprotoize.o): Depend on Makefile.
1815
eaa4b44c
VM
18161999-01-19 Vladimir N. Makarov <vmakarov@cygnus.com>
1817
1818 * invoke.texi (-mlong-double-64): New option description.
1819
18201999-01-19 Jim Wilson <wilson@cygnus.com>
1821
1822 * libgcc2.c: Change all uses of LONG_DOUBLE_TYPE_SIZE to
1823 LIBGCC2_LONG_DOUBLE_TYPE_SIZE.
1824 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New. Set to LONG_DOUBLE_TYPE_SIZE
1825 if not defined.
1826 * i960/i960.h (MULTILIB_DEFAULTS): Define to mnumerics.
1827 (CPP_SPECS): Add -mlong-double-64 support.
1828 (TARGET_FLAG_LONG_DOUBLE_64, TARGET_LONG_DOUBLE_64): New.
1829 (TARGET_SWITCHES): Add -mlong-double-64 support.
1830 (LONG_DOUBLE_TYPE_SIZE): Likewise.
1831 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
1832 * i960/vx960-coff.h (MULTILIB_DEFAULTS): Define to msoft-float.
1833 (CPP_SPECS): Add -mlong-double-64 support.
1834 * i960/t-960bare (MULTILIB_OPTIONS): Add mlong-double-64.
1835 (MULTILIB_DIRNAMES): Add ld64.
1836 * i960/t-vxworks960 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Likewise.
1837
60409070
JM
1838Tue Jan 19 11:54:04 1999 Jason Merrill <jason@yorick.cygnus.com>
1839
1840 * calls.c (expand_call): Strip a TARGET_EXPR if we're passing by
1841 invisible reference.
1842
97f6e72f
DE
1843Tue Jan 19 14:51:36 1999 David Edelsohn <edelsohn@mhpcc.edu>
1844
1845 * rs6000.c (offsettable_addr_operand): Delete.
1846 (offsettable_mem_operand): New function.
1847 * rs6000.h (PREDICATE_CODES): Reflect function change.
1848 (RS6000_SAVE_TOC): Represent address as MEM.
1849 * win-nt.h (RS6000_SAVE_TOC): Same.
1850 * rs6000.md (indirect calls): Change offsettable address parameter
1851 to offsettable memory parameter.
1852
c6df88cb
MM
1853Tue Jan 19 10:24:53 1999 Mark Mitchell <mark@markmitchell.com>
1854
1855 * rtl.h (rtx_def): Update documentation.
1856 (MEM_IN_STRUCT_P): Likewise.
1857 (MEM_SCALAR_P): New macro.
1858 (MEM_COPY_ATTRIBUTES): Likewise.
1859 (MEM_SET_IN_STRUCT_P): Likewise.
1860 * rtl.texi (MEM_SCALAR_P): Document.
1861 * alias.c (canon_rtx): Use MEM_COPY_ATTRIBUTES.
1862 (fixed_scalar_and_varying_struct_p): New function. Use
1863 MEM_SCALAR_P rather than !MEM_IN_STRUCT_P.
1864 (aliases_everything_p): Likewise.
1865 (true_dependence): Use them.
1866 (write_dependence_p): New function, containing code common to
1867 anti_dependence and output_dependence.
1868 (anti_dependence): Use it.
1869 (output_dependence): Likewise.
1870 * calls.c (save_fixed_argument_area): Don't clear
1871 MEM_IN_STRUCT_P.
1872 (expand_call): Use MEM_SET_IN_STRUCT_P.
1873 (emit_library_call): Don't clear MEM_IN_STRUCT_P.
1874 (emit_library_call_value): Likewise.
1875 (store_one_arg): Use MEM_SET_IN_STRUCT_P.
1876 * combine.c (simplify_rtx): Use MEM_COPY_ATTRIBUTES.
1877 (make_extraction): Likewise.
1878 (simplify_shift_const): Likewise.
1879 (gen_lowpart_for_combine): Likewise.
1880 * cse.c (gen_lowpart_if_possible): Use MEM_COPY_ATTRIBUTES.
1881 * emit-rtl.c (operand_subword): Likewise.
1882 (change_address): Likewise.
1883 * explow.c (stabilize): Use MEM_COPY_ATTRIBUTES.
1884 * expr.c (protect_from_queue): Use MEM_COPY_ATTRIBUTES.
1885 (emit_group_store): Use MEM_SET_IN_STRUCT_P.
1886 (copy_blkmode_from_reg): Likewise.
1887 (store_field): Likewise.
1888 (expand_expr): Remove bogus guesswork setting MEM_IN_STRUCT_P
1889 heuristically. Use MEM_SET_IN_STRUCT_P.
1890 (get_memory_rtx): Likewise.
1891 * final.c (alter_subreg): Use MEM_COPY_ATTRIBUTES.
1892 * function.c (assign_stack_temp): Clear MEM_SCALAR_P and
1893 MEM_ALIAS_SET on newly returned MEMs.
1894 (assign_temp): Use MEM_SET_IN_STRUCT_P.
1895 (put_reg_into_stack): Likewise.
1896 (fixup_var_refs1): Use MEM_COPY_ATTRIBUTES.
1897 (gen_mem_addressof): Use MEM_SET_IN_STRUCT_P.
1898 (assign_parms): Likewise.
1899 (expand_function): Likewise.
1900 * integrate.c (expand_inline_function): Likewise.
1901 (copy_rtx_and_substitute): Use MEM_COPY_ATTRIBUTES.
1902 * loop.c (note_addr_stored): Remove check on MEM_IN_STRUCT_P.
1903 * optabs.c (gen_move_insn): Use MEM_COPY_ATTRIBUTES.
1904 * print-rtl.c (print_rtx): Print /f for frame_related.
1905 * recog.c (validate_replace_rtx_1): Use MEM_COPY_ATTRIBUTES.
1906 * reload1.c (reload): Copy MEM_SCALAR_P as well.
1907 * stmt.c (expand_decl): Use MEM_SET_IN_STRUCT_P.
1908 (expand_anon_union_decl): Use MEM_COPY_ATTRIBUTES.
1909 * varasm.c (make_decl_rtl): Use MEM_SET_IN_STRUCT_P.
1910 (output_constant_def): Likewise.
1911 * a29k.c (a29k_set_memflags_1): Take scalar_p.
1912 Set MEM_SCALAR_P.
1913 (a29k_set_memflags): Use it.
1914 * alpha.c (get_aligned_mem): Use MEM_COPY_ATTRIBUTES.
1915 * c4x.c (c4x_scan_for_ld): Likewise.
1916 * h8300.c (fix_bit_operand): Likewise.
1917 * m88k.c (legitimize_address): Likewise.
1918 (block_move_loop): Likewise.
1919 (block_move_no_loop): Likewise.
1920 (block_move_sequence): Likewise.
1921 (m88k_builtin_saveregs): Use MEM_SET_IN_STRUCT_P.
1922 * mips/abi64.h (SETUP_INCOMING_VARARGS): Likewise.
1923 * rs6000.c (expand_block_move_insn): Use MEM_COPY_ATTRIBUTES.
1924 * sh.c (sh_builtin_saveregs): Use MEM_SET_IN_STRUCT_P.
1925 * arm.h (arm_gen_load_multiple): Take scalar_p.
1926 (arm_store_load_multiple): Likewise.
1927 * arm.c (arm_gen_load_multiple): Likewise.
1928 (arm_gen_store_multiple): Likewise.
1929 (arm_gen_movstrqi): Treat MEM_SCALAR_P like MEM_IN_STRUCT_P.
1930
b472794d
AM
1931Tue Jan 19 12:30:37 EST 1999 Andrew MacLeod <amacleod@cygnus.com>
1932
1933 * optabs.c (emit_libcall_block): Add a REG_EH_REGION reg note to all
1934 calls within a libcall block to indicate no throws are possible.
1935 * flow.c (find_basic_blocks, find_basic_blocks_1): Don't look for
1936 libcall blocks. Don't add edges to exception handlers if we see
1937 a REG_EH_REGION note with a value of 0.
1938 (make_edges): Override active_eh_region vector if the call has a note
1939 indicating the call does not throw.
1940
35a6fc82
VM
19411999-01-19 Vladimir N. Makarov <vmakarov@cygnus.com>
1942
1943 * config/rs6000/sysv4.h (CC1_SPEC): Fix correct numbers of {}.
1944
beb51090
JL
1945Tue Jan 19 06:26:30 1999 Jeffrey A Law (law@cygnus.com)
1946
1947 * Makefile.in (cccp.o, cpplib.o): Depend on Makefile.
1948
8c7707b0
JM
1949Mon Jan 18 09:56:41 1999 Jason Merrill <jason@yorick.cygnus.com>
1950
1951 * invoke.texi (C++ Dialect Options): Document -fno-rtti.
1952
bef84347
VM
19531999-01-18 Vladimir N. Makarov <vmakarov@cygnus.com>
1954
1955 * invoke.texi (-mcpu=740, -mcpu=750): New options.
1956 (-m(no-)multiple, -m(no-)string): Describe cases for PPC740 &
1957 PPC750.
1958
19591999-01-18 Michael Meissner <meissner@cygnus.com>
1960
1961 * rs6000.h ({ASM,CPP}_CPU_SPEC): Add support for all machines
1962 supported with -mcpu=xxx.
1963 (processor_type): Add PROCESSOR_PPC750.
1964 (ADJUST_PRIORITY): Call rs6000_adjust_priority.
1965 (RTX_COSTS): Supply costs for 750 multiply/divide operations.
1966 (rs6000_adjust_priority): Add declaration.
1967
1968 * rs6000.c (rs6000_override_options): -mcpu={750,740} now sets the
1969 processor type as 750, not 603. Allow -mmultiple and -mstring on
1970 little endian 750 systems.
1971 (rs6000_adjust_priority): Stub for now.
1972 (get_issue_rate): The PowerPC 750 can issue 2 instructions/cycle.
1973
1974 * rs6000.md (function/cpu attributes): Add initial ppc750 support.
1975
1976 * sysv4.h (STRICT_ALIGNMENT): Don't force strict alignment if
1977 little endian.
1978 (CC1_SPEC): Pass -mstrict-align if little endian, and not
1979 overridden.
1980 (CC1_ENDIAN_{LITTLE,BIG,DEFAULT}_SPEC): Endian specific configs.
1981 (SUBTARGET_EXTRA_SPECS): Add cc1 endian specs.
1982
1983 * {sysv4,eabi}le.h (CC1_ENDIAN_DEFAULT_SPEC): Override, default is
1984 little endian.
1985
1986 * t-ppcgas (MULTILIB_*): Delete obsolete Solaris multilibs.
1987
aa7ecb4a
GRK
1988Mon Jan 18 12:03:08 1999 Gavin Romig-Koch <gavin@cygnus.com>
1989
1990 * config/mips/mips.md (div_trap): Split div_trap_mips16
1991 from div_trap.
1992 (div_trap_normal,div_trap_mips16): Correct the length attributes.
1993
87e11268
KG
1994Mon Jan 18 11:48:28 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1995
1996 * cpplib.c (special_symbol): Qualify a char* with the `const' keyword.
1997 Instead of writing to const char *buf directly, use a non-const
1998 variable `wbuf' to allocate and write a string, then set buf = wbuf.
1999
2000 * cppulp.c (user_label_prefix): Qualify a char* with the `const'
2001 keyword.
2002
2003 * dyn-string.c (dyn_string_append): Likewise.
2004
2005 * dyn-string.h (dyn_string_append): Likewise.
2006
2007 * final.c (end_final, output_operand_lossage, asm_fprintf): Likewise.
2008
2009 * output.h (end_final, output_operand_lossage, asm_fprintf,
2010 named_section, decode_reg_name, make_decl_rtl, user_label_prefix):
2011 Likewise.
2012
2013 * profile.c (init_branch_prob): Likewise.
2014
2015 * toplev.c (set_target_switch, vmessage,
2016 v_message_with_file_and_line, v_message_with_decl,
2017 v_error_with_file_and_line, v_error_with_decl, v_error_for_asm,
2018 verror, vfatal, v_warning_with_file_and_line, v_warning_with_decl,
2019 v_warning_for_asm, vwarning, vpedwarn, v_pedwarn_with_decl,
2020 v_pedwarn_with_file_and_line, vsorry, v_really_sorry,
2021 open_dump_file, dump_rtl, clean_dump_file,
2022 print_version, print_single_switch, print_switch_values,
2023 dump_base_name, debug_args, lang_independent_options,
2024 user_label_prefix, documented_lang_options, target_switches,
2025 target_options, print_time, pfatal_with_name, fatal_io_error,
2026 fatal_insn, default_print_error_function, print_error_function,
2027 report_error_function, error_with_file_and_line, error_with_decl,
2028 error_for_asm, error, fatal, warning_with_file_and_line,
2029 warning_with_decl, warning_for_asm, warning, pedwarn,
2030 pedwarn_with_decl, pedwarn_with_file_and_line, sorry,
2031 really_sorry, botch, output_quoted_string, output_file_directive,
2032 open_dump_file, rest_of_decl_compilation, display_help, main):
2033 Likewise.
2034
2035 * toplev.h (print_time, fatal, fatal_io_error, pfatal_with_name,
2036 fatal_insn, warning, error, pedwarn, pedwarn_with_file_and_line,
2037 warning_with_file_and_line, error_with_file_and_line, sorry,
2038 really_sorry, default_print_error_function, report_error_function,
2039 rest_of_decl_compilation, pedwarn_with_decl, warning_with_decl,
2040 error_with_decl, error_for_asm, warning_for_asm, output_quoted_string,
2041 output_file_directive, botch): Likewise.
2042
2043 * tree.h (make_decl_rtl): Likewise.
2044
2045 * varasm.c (strip_reg_name, named_section, decode_reg_name,
2046 make_decl_rtl): Likewise.
2047
6b106e7d
GRK
2048Mon Jan 18 11:35:49 1999 Gavin Romig-Koch <gavin@cygnus.com>
2049
2050 * Makefile.in (TCL_LIBRARY): Use 'cd' to find the library
2051 directory logically rather than physically.
2052
47c3ed98
KG
2053Mon Jan 18 09:05:37 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2054
2055 * loop.c (insert_bct): Hide the definition of variables
2056 `increment_direction', `compare_direction', `add_iteration' and
2057 `loop_var_mode'.
2058
2059 * recog.c (mode_dependent_address_p): Mark parameter `addr' with
2060 ATTRIBUTE_UNUSED. Mark label `win' with ATTRIBUTE_UNUSED_LABEL.
2061 (mode_independent_operand): Mark label `lose' with
2062 ATTRIBUTE_UNUSED_LABEL.
2063
2064 * regclass.c (n_occurrences): Remove prototype and definition.
2065
2066 * reload.c (find_reloads_address_1): Mark variable `tem' with
2067 ATTRIBUTE_UNUSED.
2068
2069 * reload1.c (reload): Cast the first two arguments of `bcopy' to PTR.
2070
2071 * sbitmap.c (sbitmap_copy): Likewise.
2072
2073 * scan-decls.c (scan_decls): Hide label `handle_comma'.
2074
2075 * toplev.c (output_lang_identify): Mark prototype with
2076 ATTRIBUTE_UNUSED.
2077
2078 * tree.c (make_node): Cast the first argument of `bzero' to PTR.
2079 (make_tree_vec): Likewise.
2080 (build1): Likewise.
2081
2082 * varasm.c (assemble_static_space): Mark variable `tem' with
2083 ATTRIBUTE_UNUSED.
2084
23473647
NS
2085Mon Jan 18 04:28:36 1999 Nathan Sidwell <nathan@acm.org>
2086
2087 * Makefile.in (GCOV_INSTALL_NAME): New macro.
2088 (install-common): Use it.
2089 (uninstall): Use it.
2090 (uninstall): Use correct names for protoize and unprotoize.
2091
db3a887b
CB
2092Mon Jan 18 03:52:56 1999 Christian Bruel <Christian.Bruel@st.com>
2093 Jeffrey A Law (law@cygnus.com)
2094
2095 * flow.c (last_mem_set): Delete variable. References removed.
2096 (mem_set_list): New variable.
2097 (life_analysis): Initialize and finalize alias analysis.
2098 (propagate_block); Initialize mem_set_list. Clear for CALL_INSNs.
2099 (insn_dead_p): For a store to memory, search the entire mem_set_list
2100 for a match.
2101 (mark_set_1): Kill entries on the mem_set_list for aliased writes or
2102 changes to their addresses. Add new entries to the mem_set_list for
2103 memory writes writes.
2104 (mark_used_regs): Kill entries on the mem_set_list which may be
2105 referenced by a load operation.
2106
c9991385
JL
2107Mon Jan 18 01:01:02 1999 Jeffrey A Law (law@cygnus.com)
2108
2109 * alias.c (base_alias_check): Add missing return for differing
2110 symbols case.
2111
c4687d70
RO
2112Mon Jan 18 00:36:13 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2113
2114 * mips-tdump.c (print_file_desc): Handle unknown filenames and
2115 missing local symbols.
2116
bba596a3
RH
2117Sun Jan 17 21:04:31 1999 Richard Henderson <rth@cygnus.com>
2118
2119 * jump.c (rtx_renumbered_equal_p): Special case CODE_LABEL.
2120
b3c9dc1a
RH
2121 * system.h (bcopy): Implement with memmove not memcpy.
2122
89098dc1
JL
2123Sun Jan 17 19:23:20 1999 Jeffrey A Law (law@cygnus.com)
2124
c65ef754
JL
2125 * Makefile.in (cppulp.o): Add dependencies.
2126
f9670bce
JL
2127 * i386.md (integer conditional moves): Add missing earlyclobbers.
2128
89098dc1
JL
2129 * regmove.c (optimize_reg_copy_1): Undo Aug 18 change. Update
2130 REG_N_CALLS_CROSSED and REG_LIVE_LENGH if and only if we change
2131 where a register is live.
2132
2133Sun Jan 17 03:20:47 1999 H.J. Lu (hjl@gnu.org)
2134
2135 * reg-stack.c (subst_stack_regs_pat): Abort if the destination
2136 of a FP conditional move is not on the FP register stack.
2137
82db59b7
JL
2138Sun Jan 17 01:15:04 PST 1999 Jeff Law (law@cygnus.com)
2139
2140 * version.c: Bump for snapshot.
2141
62e7b719
JL
2142Sat Jan 16 23:40:33 1999 Jeffrey A Law (law@cygnus.com)
2143
148e9d57
JL
2144 * reload1.c (reload_cse_regs_1): Do not call
2145 reload_cse_simplify_operands for an insn with asm operands.
2146
62e7b719
JL
2147 * cccp.c (print_help): Fix typos.
2148 * cpplib.c (print_help): Fix typos.
2149 * toplev.c (f_optiosn): Fix typos.
2150 (documented_lang_options): Fix typos.
2151
cbc54665
ME
2152Sat Jan 16 21:48:17 1999 Marc Espie (Marc.Espie@openbsd.org)
2153
2154 * gcc.c: (do_spec_1): Fix obvious typo.
2155
db838bb8
KG
2156Sat Jan 16 19:31:07 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2157
2158 * c-decl.c (duplicate_decls): If `warn_traditional', warn when
2159 a non-static function declaration follows a static one.
2160
2161 * invoke.texi (-Wtraditional): Document the extra check now done
2162 by this flag.
2163
4fbf29af
JL
2164Sat Jan 16 15:13:46 1999 Jeffrey A Law (law@cygnus.com)
2165
2166 * pa.md (shadd): Create shadd insns, even if the result of the shift is
2167 needed without the addition.
2168
19e1d311
R
2169Sat Jan 16 10:48:16 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
2170
2171 * sh.md (movdf, movsf): Temporary workaround for no_new_pseudos lossage.
2172
393049a9
RH
2173Fri Jan 15 23:44:37 1999 Richard Henderson <rth@cygnus.com>
2174
2175 * sparc.c (sparc_issue): Add hypersparc/sparclite86x entries.
2176
19684119
DE
2177Fri Jan 15 22:30:04 1999 David Edelsohn <edelsohn@mhpcc.edu>
2178
2179 * rs6000.h (CONST_OK_FOR_LETTER_P): Do not assume 32-bit CONST_INT.
2180 * rs6000.c (u_short_cint_operand, add_operand, logical_operand,
2181 non_add_cint_operand, non_logical_cint_operand): Likewise.
2182 (get_issue_rate): Add CPU_PPC604E case.
2183 * rs6000.md (movdi, !TARGET_POWERPC64 splitters): Handle 64-bit hosts.
2184
1f06ee8d
RH
2185Fri Jan 15 18:42:12 1999 Richard Henderson <rth@cygnus.com>
2186
2187 * expr.c (queued_subexp_p): Make public.
2188 * expr.h (queued_subexp_p): Declare it.
2189 * recog.c (asm_operand_ok): New function.
2190 (check_asm_operands): Use it. After reload, use constrain_operands
2191 instead.
2192 * recog.h (asm_operand_ok): Declare it.
2193 * stmt.c (expand_asm_operands): Use it to try harder to make
2194 asms initially satisfy their constraints.
2195
1e75bc34
JL
2196Fri Jan 15 17:43:59 1999 Jeffrey A. Law <law@rtl.cygnus.com>
2197
2198 * sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Do not create
2199 (mem (lo_sum (...)) for TFmode unless TARGET_V9.
2200
077613ba
MH
2201Sat Jan 16 12:47:15 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2202
2203 * config/c4x/c4x.md (not_repeat_reg): Allow ldp instruction
2204 in delay slot of RPTBD.
2205
2206Sat Jan 16 12:26:40 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2207
2208 * config/c4x/libgcc.S (___divhi3, ___modhi3): Fix long long
2209 divide and modulo sign problem.
2210
9f16f932
MH
2211Fri Jan 15 11:02:31 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2212
2213 * unroll.c (loop_iterations): Return 0 if the last loop insn
2214 is not a jump insn or if the loop has multiple back edges.
2215
8c55f49c
JL
2216Thu Jan 14 22:38:41 1999 Jeffrey A Law (law@cygnus.com)
2217
f387b2e4
JL
2218 * unroll.c (find_splittable_givs): For a DEST_ADDR giv, do not share
2219 a register with another DEST_ADDR giv if the address is not valid.
2220
41b6ea68
JL
2221 * pa.c (hppa_expand_epilogue): Save and restore the static chain
2222 around the call to mcount.
2223
1ca7ac43
JL
2224 * h8300.h (ASM_OUTPUT_LABELREF): Use asm_fprintf, not fprintf.
2225
8c55f49c
JL
2226 * stmt.c (expand_end_case): Use emit_cmp_and_jump_insns to avoid
2227 generating non-canonical rtl.
2228
e4d26fc7
VM
22291999-01-14 Vladimir N. Makarov <vmakarov@cygnus.com>
2230
2231 * config/i960/i960.c (i960_output_move_double_zero,
2232 i960_output_move_quad_zero): New functions for moving zeros.
2233 (i960_output_move_double, i960_output_move_quad): Additional code
2234 for situation when moving unaligned register group.
2235
2236 * config/i960/i960.h (i960_output_move_double_zero,
2237 i960_output_move_quad_zero): The function definitions.
2238
2239 * config/i960/i960.md (movdi+1, movti+1): Usage of the functions.
2240
9ef06443
VM
22411999-01-13 Vladimir N. Makarov <vmakarov@cygnus.com>
2242
2243 * config/i960/i960.c (i960_function_prologue): New code (optimal
2244 solution) for saving global registers in local registers.
2245 (form_reg_groups, reg_group_compare, split_reg_group): New
2246 functions used by the code.
2247 (reg_group): New structure definition for the new code.
2248
58a2f534
RH
2249Wed Jan 13 20:12:37 1999 Richard Henderson <rth@cygnus.com>
2250
2251 * integrate.c (expand_inline_function): Recognize (mem (addressof))
2252 and substitute. Copy the return value from there into a new pseudo.
2253
716618d5
CM
2254Wed Jan 13 16:47:00 1999 Catherine Moore <clm@cygnus.com>
2255
2256 * config/arm.c (output_func_epilogue): Check TARGET_ABORT_NORETURN
2257 before generating a call to abort for volatile functions.
2258 * config/arm.h (ARM_FLAG_ABORT_NORETURN): Define.
2259 (TARGET_ABORT_NORETURN): Define.
2260 (abort-on-noreturn): New option.
2261
9b4f2bb7
MH
2262Thu Jan 14 13:52:42 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2263
2264 * config/c4x/c4x.md (in_annul_slot_3): Correctly allow unarycc
2265 and binarycc operations in 3rd annulled delay slot!
2266
34792e82
JL
2267Wed Jan 13 16:16:44 1999 Catherine Moore <clm@cygnus.com>
2268
2269 * config/arm.c (output_func_epilogue): Check TARGET_ABORT_NORETURN
2270 before generating a call to abort for volatile functions.
2271 * config/arm.h (ARM_FLAG_ABORT_NORETURN): Define.
2272 (TARGET_ABORT_NORETURN): Define.
2273 (abort-on-noreturn): New option.
2274
2275Wed Jan 13 13:30:08 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2276
2277 * cccp.c (xstrdup): Renamed from `savestring'. All callers changed.
2278 Remove prototype which we get from libiberty.h.
2279
2280 * collect2.c (xstrdup): Likewise.
2281
2282 * genextract.c (xstrdup): Likewise for `copystr'.
2283 (mybzero): Remove it and use `memset' instead.
2284
2285 * genoutput.c (mybcopy, mybzero): Remove these. All callers changed
2286 to use `memcpy' and `memset' instead.
2287
2288 * genrecog.c (xstrdup): Renamed from `copystr'. All callers
2289 changed. Remove prototype.
2290 (mybcopy, mybzero): Remove these and use memcpy/memset.
2291
2292Wed Jan 13 00:59:04 1999 Jeffrey A Law (law@cygnus.com)
2293
2294 * mips.h (LOAD_EXTEND_OP): Correct for SImode and CCmode moves when
2295 generating code for TARGET_64BIT.
2296
2297Tue Jan 12 14:05:37 1999 David Edelsohn <edelsohn@mhpcc.edu>
2298
2299 * rs6000.c (print_operand, cases 'm' and 'M'): Do not depend on
2300 HOST_WIDE_INT word-size.
2301 (rs6000_stack_info): Remove redundant alignment of fpmem.
2302
2303Tue Jan 12 14:05:37 1999 Richard Henderson <rth@cygnus.com>
2304
2305 * rs6000.c (short_cint_operand): Remove CONSTANT_P_RTX handling.
2306 (u_short_cint_operand, reg_or_cint_operand, logical_operand): Likewise.
2307 (input_operand): Adjust CONSTANT_P_RTX handling.
2308 * rs6000.h (PREDICATE_CODES): Remove CONSTANT_P_RTX references.
2309 * rs6000.md (movsi): Adjust CONSTANT_P_RTX handling.
2310 (movhi, movqi): Remove CONSANT_P_RTX handling.
2311 (movdi): Adjust CONSTANT_P_RTX handling.
2312
2313Tue Jan 12 10:23:24 1999 Stan Cox <scox@cygnus.com>
2314
2315 * mips.md (call_value_internal3c): New pattern for -mips16 -mlong-calls.
2316
eb691392
MH
23171999-01-12 Manfred Hollstein <manfred@s-direktnet.de>
2318
2319 * m68k/mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
2320 ensure all prototypes necessary for building libio will be available.
2321 * m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Remove
2322 definitions here as they are not host specific.
2323 * m88k/sysv3.h, m88k/xm-sysv3.h: Likewise.
2324
1ff136fd
RH
2325Tue Jan 12 02:53:46 1999 Richard Henderson <rth@cygnus.com>
2326
2327 * cse.c (cse_insn): Never prefer (const (constant_p_rtx)).
2328
fb857ec1
JL
2329Tue Jan 12 02:36:10 PST 1999 Jeff Law (law@cygnus.com)
2330
2331 * version.c: Bump for snapshot.
2332
d6c0e1c8
RH
2333Tue Jan 12 01:30:19 1999 Richard Henderson <rth@cygnus.com>
2334
2335 * rtl.c (rtx_alloc): Use memset instead of inline loop.
2336
b0983bb9
RH
2337 * recog.h (recog_op_alt): Declare extern.
2338
fbdfe39c
RH
2339Tue Jan 12 00:23:31 1999 Richard Henderson <rth@cygnus.com>
2340
2341 * function.c (purge_addressof_1): If the note accesses a mem+addressof
2342 in a wider mode than any replacement, adjust the cached replacement.
2343 Cache trivial substitutions as well.
2344
5f6c11d6
RH
2345Tue Jan 12 00:06:00 1999 Richard Henderson <rth@cygnus.com>
2346
2347 * Makefile.in (OBJECTS): Add sbitmap.o.
2348 (BASIC_BLOCK_H): Add sbitmap.h.
2349 * basic-block.h: Move simple bitmap code to sbitmap.h.
2350 * flow.c: Move simple bitmap code to sbitmap.c
2351 * sbitmap.h, sbitmap.c: New files.
2352
ca7cdae3
RH
2353Mon Jan 11 23:51:50 1999 Richard Henderson <rth@cygnus.com>
2354
2355 * alpha.h (TARGET_SWITCHES): Document switches.
2356 (TARGET_OPTIONS): Likewise.
2357
2358 * alpha/elf.h (ASM_FINISH_DECLARE_OBJECT): Use HOST_WIDE_INT_PRINT_DEC.
2359
a17fcad7
RH
2360Mon Jan 11 22:54:14 1999 Richard Henderson <rth@cygnus.com>
2361
2362 * tree.c (new_alias_set): Return zero if !flag_strict_aliasing.
2363
3b413743
RH
2364Mon Jan 11 22:36:01 1999 Richard Henderson <rth@cygnus.com>
2365
2366 * basic-block.h (basic_block_head): Rename to x_basic_block_head.
2367 (basic_block_end): Rename to x_basic_block_end.
2368 (BLOCK_HEAD, BLOCK_END): Update.
2369
2370 * caller-save.c: Change basic_block_head/end references to
2371 BLOCK_HEAD/END.
2372 * combine.c, flow.c, function.c, gcse.c, global.c: Likewise.
2373 * graph.c, haifa-sched.c, local-alloc.c, regclass.c: Likewise.
2374 * regmove.c, reload1.c, reorg.c, sched.c: Likewise.
2375
ed35cf6e
KG
2376Sat Jan 9 23:54:09 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2377
2378 * gcc.c (xstrerror): Renamed from my_strerror. All callers
2379 changed. Remove prototype since we get that from libiberty.h.
2380
2381 * protoize.c (xstrerror): Likewise.
2382
22d9f2cf
KG
2383Sat Jan 9 23:22:04 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2384
2385 * gcc.c (read_specs): Ensure format specifiers match their arguments.
2386
c2c41b7e
RH
2387Sat Jan 9 20:04:24 1999 Richard Henderson <rth@cygnus.com>
2388
2389 * tree.c (copy_node): Oops. That would be copy not zero
2390 in that last change.
2391
5e6a42d9
MH
2392Sun Jan 10 15:35:41 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2393
2394 * config/c4x/c4x.c: Include system.h.
2395 (c4x_caller_save_map): Disable caller save for RC.
2396 (c4x_optimization_options): Disable scheduling before reload.
2397 (valid_parallel_load_store) : Define return type as int.
2398 Remove unused variable regs.
2399 * config/c4x/c4x.h (REGISTER_MOVE_COST): Make independent of register
2400 class.
2401 * config/c4x/c4x.md (rotlqi3, rotrqi3): Fix up emitted RTL to
2402 handle rotations.
2403 (*db, decrement_and_branch_until_zero): Fix up constraints
2404 to keep reload happy.
2405
dfa27ef1
RH
2406Sat Jan 9 18:35:29 1999 Richard Henderson <rth@cygnus.com>
2407
2408 * tree.c (make_node): Call bzero instead of inline clear.
2409 (copy_node, make_tree_vec, build1): Likewise.
2410 (get_identifier): Call strlen instead of inline count.
2411 (maybe_get_identifier): Likewise.
2412
dfb31eec
MH
2413Sun Jan 10 14:04:51 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2414
2415 * config/c4x/c4x.md: (in_annul_slot_3): Allow unarycc and binarycc
2416 operations in 3rd annulled delay slot.
2417 (*lshrqi3_const_set): Disallow c constraint for operand0.
2418 (modhi3+1, modhi3+2): Set attribute type to multi.
2419 * config/c4x/c4x.c (c4x_S_constraint): Removed space in middle of
2420 != operator.
2421
a6b1d0a7
KG
2422Sat Jan 9 11:44:55 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2423
2424 * gansidecl.h: Allow attribute unused on labels only when we are
2425 version 2.93 or higher. Not all versions of 2.92 have this feature.
2426
2427 * version.c: Bump minor number to 93.
2428
523bb0ba
AS
2429Fri Jan 8 10:51:13 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
2430
2431 * config/m68k/m68k.h: Declare output_function_epilogue.
2432 * recog.h: Declare next_insn_tests_no_inequality.
2433
2668793e
JL
2434Fri Jan 8 01:43:53 1999 Jeffrey A Law (law@cygnus.com)
2435
642cac7b
JL
2436 * stmt.c (optimize_tail_recursion): New function, extracted from ...
2437 (expand_return): Use optimize_tail_recursion.
2438 * tree.h (optimize_tail_recursion): Declare.
2439
2668793e
JL
2440 * toplev.c (compile_file): Move call to output_func_start_profiler
2441 to after the loop to emit deferred functions.
2442
642cac7b
JL
2443Thu Jan 7 19:52:53 1999 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2444
2445 * system.h (abort): Supply more detailed information on how to
2446 report an Internal Compiler Error.
2447
8e6a59fe
MM
2448Thu Jan 7 11:26:17 1999 Mark Mitchell <mark@markmitchell.com>
2449
2450 * calls.c (store_unaligned_arguments_into_pseudos): Use xmalloc to
2451 allocate memory that will live beyond this function.
2452 (expand_call): Free it here.
2453
8947065c
RH
2454Thu Jan 7 03:08:17 1999 Richard Henderson <rth@cygnus.com>
2455
2456 * sparc.h (PREFERRED_RELOAD_CLASS): Select GENERAL_REGS for
2457 integer data not destined for fp regs.
2458 (LEGITIMIZE_RELOAD_ADDRESS): New.
2459
2460Thu Jan 7 03:03:42 1999 Stan Cox <scox@cygnus.com>
2461 Richard Henderson <rth@cygnus.com>
2462
2463 Support for Hypersparc and Sparclite86x:
2464 * sparc.h (TARGET_CPU_hypersparc, TARGET_CPU_sparclite86x): New.
2465 (CPP_CPU32_DEFAULT_SPEC): Fix up for the new targets.
2466 (ASM_CPU32_DEFAULT_SPEC): Likewise.
2467 (TARGET_CPU_DEFAULT): Likewise.
2468 (enum processor_type): Likewise.
2469 (CPP_ENDIAN_SPEC): Handle little endian data.
2470 (LIBGCC2_WORDS_BIG_ENDIAN): Likewise.
2471 (ADJUST_COST): Call sparc_adjust_cost.
2472 * sparc.c (sparc_override_options): Fix up for the new targets.
2473 (supersparc_adjust_cost): Make static.
2474 (hypersparc_adjust_cost): New.
2475 (ultrasparc_adjust_cost): Make static.
2476 (sparc_adjust_cost): New.
2477 * sparc.md (attr cpu): Add hypersparc and sparclite86x.
2478 (function_unit): Add hypersparc scheduling rules.
2479
2480 * configure.in (with_cpu handler): Recognize hypersparc.
2481
4ddb3ea6
MH
2482Thu Jan 7 23:54:05 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2483
2484 * config/c4x/c4x.c: Added space after negation operator.
2485 * config/c4x/c4x.h: Likewise.
2486 * config/c4x/c4x.md: Likewise.
2487
f2b15118
MH
2488Thu Jan 7 23:39:27 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2489
2490 * config/c4x/c4x.c (c4x_preferred_reload_class): Always return class.
2491
70186b34
BS
2492Thu Jan 7 00:29:25 199 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
2493
2494 * combine.c (num_sign_bit_copies): In NEG, MULT, DIV and MOD cases,
2495 when a test can't be performed due to limited width of
2496 HOST_BITS_PER_WIDE_INT, use the more conservative approximation.
2497 Fix UDIV case for cases where the first operand has the highest bit
2498 set.
2499
548e44b3
LV
2500Thu Jan 7 00:01:38 1999 Lutz Vieweg <lkv@mania.robin.de>
2501
2502 * pa.h (reg_class): Add FPUPPER_REGS.
2503 (REG_CLASS_NAMES): Similarly.
2504 (REG_CLASS_CONTENTS): Similarly
2505 (REGNO_REG_CLASS): Handle FPUPPER_REGS.
2506 (FP_REG_CLASS_P): Likewise.
2507 (REG_CLASS_FROM_LETTER): Similarly.
2508 (CLASS_MAX_NREGS): Similarly.
2509
884ba59a
BK
25101999-01-06 Brendan Kehoe <brendan@cygnus.com>
2511
2512 * fixincludes: For HP/UX 10.20, also look in curses_colr/curses.h
2513 for a typedef of bool. Make sure to have a copy of the file is
2514 in place before we look to fix it. Fix typo in variable name to
2515 FILE.
2516
44d22bef
RH
2517Wed Jan 6 07:51:05 1999 Richard Henderson <rth@cygnus.com>
2518
2519 * expr.c (expand_builtin) [case BUILT_IN_CONSTANT_P]: Use
2520 value_mode for the return mode.
2521
90e6a802
RL
2522Wed Jan 6 17:55:19 1999 Robert Lipe <robertlipe@usa.net>
2523
2524 * configure.in: New flag --with-dwarf2. If set, enables DWARF-2
2525 debugging as default.
2526
2527 * config/tm-dwarf2.h: New file.
2528
20efdf74
JL
2529Wed Jan 6 16:08:54 1999 Jeffrey A Law (law@cygnus.com)
2530
ee65dab8
JL
2531 * h8300.h (ASM_OUTPUT_LABELREF): Define.
2532
4f72f5da
JL
2533 * pa.h (DONT_RECORD_EQUIVALENCE): Kill.
2534 * local-alloc.c (update_equiv_regs): Corresponding changes.
2535 * tm.texi (DONT_RECORD_EQUIVALENCE): Kill.
2536
ca54603f
JL
2537 * calls.c (special_function_p): Push alloca test inside the large
2538 conditional which excludes functions not at file scope or not
2539 extern.
2540
20efdf74
JL
2541 * calls.c (special_function_p): New function broken out of
2542 expand_call.
2543 (precompute_register_parameters): Likewise.
2544 (store_one_arg): Likewise.
2545 (store_unaligned_argumetns_into_pseudos): Likewise.
2546 (save_fixed_argument_area): Likewise.
2547 (restore_fixed_argument_area): Likewise.
2548 (expand_call): Corresponding changes.
2549
4a8832ee
AS
2550Wed Jan 6 10:43:29 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
2551
2552 * config/m68k/m68k.c (const_uint32_operand): Remove CONSTANT_P_RTX
2553 handling.
2554 (const_sint32_operand): Likewise.
2555
2813b56e
KG
2556Wed Jan 6 09:44:51 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2557
2558 * toplev.h: In addition to checking _JBLEN, also check if `setjmp'
2559 is a macro when deciding if we can use `jmp_buf' in prototypes.
2560
e4e30b3d
MH
2561Thu Jan 7 00:12:24 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2562
2563 * config/c4x/c4x.md (addqi3): If the destination operand is
2564 a hard register other than an extended precision register,
2565 emit addqi3_noclobber.
2566 (*addqi3_noclobber_reload): New pattern added so that reload
2567 will recognise a store of a pseudo, equivalent to the sum
2568 of the frame pointer and a constant, as an add insn.
2569
2f197d2f
ME
2570Wed Jan 6 03:18:53 1999 Mark Elbrecht <snowball3@usa.net.
2571
2572 * configure.in (pc-msdosdjgpp): Set x_make to x-go32.
2573 * configure: Rebuilt.
2574 * i386/xm-go32.h: Define LIBSTDCXX.
2575 * i386/x-go32: New.
2576 * i386/go32.h (MD_EXEC_PREFIX): Define.
2577 (FILE_NAME_ABSOLUTE_P): Define.
2578 (LINK_COMMAND_SPEC): Define.
2579
b3fa7e9f
CH
2580Wed Jan 6 02:23:36 1999 "Charles M. Hannum" <root@ihack.net>
2581
2582 * expr.c (store_expr): If the lhs is a memory location pointed
2583 to be a postincremented (or postdecremented) pointer, always
2584 force the rhs to be evaluated into a pseudo.
2585
7735516c
GK
2586Wed Jan 6 00:54:21 1999 Geoff Keating <geoffk@ozemail.com.au>
2587
2588 * real.c (mtherr): Print more reasonable warning messages.
2589
460ee112
KG
2590Tue Jan 5 21:57:42 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2591
2592 * Makefile.in (gcc.o, prefix.o, cccp.o, cpplib.o): Depend on prefix.h.
2593
2594 * cccp.c: Include prefix.h, don't prototype prefix.c functions.
2595 (new_include_prefix): Constify char* parameters.
2596
2597 * cppfiles.c (read_name_map): Likewise.
2598 (append_include_chain): Likewise. Also, use a writable char* copy
2599 of parameter `dir' which we then modify, rather than using the
2600 parameter itself to store the new writable string.
2601 (remap_filename): Constify some variables. Also, use a writable
2602 char* to store an allocated string which we will be modifying.
2603
2604 * cpplib.c: Include prefix.h, don't prototype prefix.c functions.
2605 (cpp_start_read): Constify variable `str'.
2606
2607 * cpplib.h (append_include_chain): Constify a char* parameter.
2608
2609 * gcc.c Include prefix.h, don't prototype prefix.c functions.
2610 (add_prefix, save_string): Constify char* parameters.
2611 (fatal, error): Add ATTRIBUTE_PRINTF_1 to prototypes.
2612
2613 * prefix.c: Include prefix.h.
2614 (get_key_value, translate_name, save_string, update_path,
2615 set_std_prefix): Constify various char* parameters and variables.
2616 (save_string): Use xmalloc, not malloc.
2617 (translate_name): Use a writable temporary variable to create and
2618 modify a string before setting it to a const char*.
2619
2620 * prefix.h: New file to prototype functions exported from prefix.c.
2621
bb2d453f
DB
2622Mon Jan 4 15:37:30 1999 Zack Weinberg <zack@rabi.phys.columbia.edu>
2623
2624 * cpplib.c (skip_if_group): Split out the logic that handles
2625 directive recognition to its own function. Don't use
2626 parse markers; use a bare pointer into the buffer. Use
2627 copy/skip_rest_of_line instead of doing it by hand. Remove
2628 `return on any directive' mode which was never used, and take
2629 only one argument.
2630 (consider_directive_while_skipping): New function, subroutine
2631 of skip_if_group. Logic streamlined a bit.
2632 (conditional_skip, do_elif, do_else): Call skip_if_group with
2633 only one argument.
2634
2635Mon Jan 4 15:27:30 1999 Zack Weinberg <zack@rabi.phys.columbia.edu>
2636
2637 * cpplib.c (do_undef): EOF immediately after '#undef FOO' is not an
2638 error.
2639
0ded1f18
JM
2640Mon Jan 4 11:55:51 1999 Jason Merrill <jason@yorick.cygnus.com>
2641
2642 * extend.texi (Bound member functions): Document.
2643
47e6be47
KG
2644Mon Jan 4 11:01:48 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2645
2646 * mips-tdump.c (st_to_string, sc_to_string, glevel_to_string,
2647 lang_to_string, type_to_string): Make return type const char*.
2648 (print_symbol): Apply `const' keyword to a char*.
2649 (print_file_desc): Cast structure member `crfd' to ulong when
2650 comparing against one.
2651
2652 * mips-tfile.c (pfatal_with_name): Apply `const' keyword to char*.
2653 (fatal, error): Add ATTRIBUTE_PRINTF_1 to prototypes.
2654 (progname, input_name): Apply `const' keyword to a char*.
2655 Don't redundantly include sys/stat.h.
2656 (alloc_info): Apply `const' keyword to a char*.
2657 (st_to_string, sc_to_string): Likewise.
2658 (hash_string): Cast variable `hash_string' to a symint_t when
2659 comparing against one.
2660 (add_string): Cast PAGE_USIZE to Ptrdiff_t when comparing against one.
2661 Likewise cast it to long when comparing against one.
2662 (add_local_symbol): Apply `const' keyword to a char*.
2663 (add_ext_symbol): Likewise.
2664 (add_unknown_tag): Likewise.
2665 (add_procedure): Cast a printf-style field width to an int.
2666 (add_file): Cast PAGE_USIZE to long when comparing against one
2667 (parse_begin): Cast a printf-style field width to an int.
2668 (parse_bend): Likewise.
2669 (parse_def): Likewise.
2670 (parse_end): Likewise.
2671 (mark_stabs): Mark parameter `start' with ATTRIBUTE_UNUSED.
2672 (parse_stabs_common): Fix format specifier.
2673 (parse_input): Change type of variable `i' to Size_t.
2674 (write_object): Fix arguments to match format specifiers.
2675 Cast variable `num_write' to long when comparing against one.
2676 (read_seek): Cast variable `sys_read' to symint_t when comparing
2677 against one. Fix arguments to match format specifiers. Cast
2678 variable `size' to long when comparing against one.
2679 (copy_object): Cast result of `sizeof' to int when comparing
2680 against one. Fix arguments to match format specifiers. Cast
2681 variable `ifd' to long when comparing against a signed value.
2682 Likewise, likewise.
2683
736b02fd
KG
2684Mon Jan 4 10:30:33 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2685
2686 * c-common.c (decl_attributes): Allow applying attribute `unused'
2687 on a LABEL_DECL.
2688
2689 * c-parse.in (label): Parse attributes after a label, and call
2690 `decl_attributes' to handle them.
2691
2692 * gansidecl.h (ATTRIBUTE_UNUSED_LABEL): Define.
2693
2694 * genrecog.c (OUTPUT_LABEL, write_tree_1, write_tree): When
2695 generating labels, mark them with ATTRIBUTE_UNUSED_LABEL.
2696
2697 * invoke.texi: Note that labels can be marked `unused'.
2698
f430a01e
JL
2699Sun Jan 3 23:32:18 PST 1999 Jeff Law (law@cygnus.com)
2700
2701 * version.c: Bump for snapshot.
2702
3b0d546a
JL
2703Sun Jan 3 23:00:42 1999 Jeffrey A Law (law@cygnus.com)
2704
2705 * optabs.c (emit_cmp_and_jump_insns): Use CONSTANT_P canonicalizing
2706 RTL for a compare/jump sequence.
2707
362cc3d4
MH
2708Sun Jan 3 22:58:15 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2709
2710 * optabs.c (emit_cmp_insn): Abort if asked to emit non-canonical RTL
2711 for a target with HAVE_cc0 defined.
2712 (emit_cmp_and_jump_insns): New function.
2713 * expr.h (emit_cmp_and_jump_insns): Prototype it.
2714 * loop.c (check_dbra_loop): Use it to replace calls
2715 to emit_cmp_insn and emit_jump_insn and to canonicalise
2716 the comparison if necessary.
2717 * unroll.c (unroll_loop): Likewise.
2718
9d6b41f3
RO
2719Sun Jan 3 21:01:04 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2720
1cd0a8ed
RO
2721 * fixincludes (sys/utsname.h): Provide forward declaration of
2722 struct utsname on Ultrix V4.[35].
2723
9d6b41f3
RO
2724 * mips.md (div_trap): Use local labels instead of dot-relative
2725 branches.
2726
dcaeffef
JL
2727Sun Jan 3 20:40:34 1999 Jeffrey A Law (law@cygnus.com)
2728
2729 * pa.md (branch, negated branch): Handle (const_int 0) as first
2730 source operand.
2731 * pa.c (output_cbranch): Likewise.
2732
8dda1a21
DE
2733Sun Jan 3 03:20:38 1999 David Edelsohn <edelsohn@mhpcc.edu>
2734
2735 * rs6000.c (rs6000_stack_info): Undo spurious part of last
2736 change.
2737
1048777f
MH
27381999-01-01 Manfred Hollstein <manfred@s-direktnet.de>
2739
2740 * extend.texi (__builtin_constant_p): Add missing @smallexample.
2741
a94b6ed9
JL
2742Fri Jan 1 11:48:20 1999 Jeffrey A Law (law@cygnus.com)
2743
2744 * i386.md (doubleword shifts): Fix dumb mistakes in previous change.
2745
f203c520
JL
2746Wed Dec 30 23:38:55 1998 Jeffrey A Law (law@cygnus.com)
2747
4cca99f4
JL
2748 * m68k.md (adddi_dilshr32): Allow all operands to be registers too.
2749 (adddi_dishl32): Similarly.
2750
97577254
JL
2751 * cse.c (invalidate_skipped_block): Call invalidate_from_clobbers
2752 for each insn in the skipped block.
2753
f67c2384
JL
2754 * reload1.c (reload_as_needed): Verify that the insn satisfies its
2755 constraints after replacing a register address with an autoincrement
2756 address for reload inheritance purposes.
2757
f203c520
JL
2758 * i386.md (doubleword shifts): Avoid namespace pollution.
2759
56830143
DB
2760Wed Dec 30 23:00:28 1998 David O'Brien <obrien@NUXI.com>
2761
2762 * configure.in (FreeBSD ELF): Needs special crt files.
2763
2966b437
GN
2764Wed Dec 30 22:50:13 1998 Geoffrey Noer <noer@cygnus.com>
2765
2766 * i386/xm-cygwin.h: change DIR_SEPARATOR to forward slash.
2767
2c74fb2b
AS
27681998-12-30 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
2769
2770 * loop.c (check_dbra_loop): While reversing the loop, if the
2771 comparison value has a VOID mode use the mode of the other operand
2772 to compute the mask.
2773
ff381587
MM
2774Wed Dec 30 22:24:00 1998 Michael Meissner <meissner@cygnus.com>
2775
2776 * rs6000.md ({save,restore}_stack_function): Take 2 operands to
2777 avoid warnings in compiling explow.c.
2778
2779 (patch from Ken Raeburn, raeburn@cygnus.com)
2780 * rs6000.c (rs6000_stack_info): Force 8-byte alignment of
2781 fpmem_offset. Compute total size after that, and then
2782 rs6000_fpmem_offset using both values.
2783
c2a26505
GP
2784Mon Dec 28 19:26:32 1998 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2785
2786 * gcc.texi (Non-bugs): ``Empty'' loops will be optimized away in
2787 the future; indeed that already happens in some cases.
2788
11301057
RH
2789Tue Dec 29 11:58:53 1998 Richard Henderson <rth@cygnus.com>
2790
2791 * sparc.c (input_operand): Recognize (const (constant_p_rtx)).
2792 (arith_operand): Remove constant_p_rtx handling.
2793 (const64_operand, const64_high_operand): Likewise.
2794 (arith11_operand, arith10_operand, arith_double_operand): Likewise.
2795 (arith11_double_operand, arith10_double_operand, small_int): Likewise.
2796 (small_int_or_double, uns_small_int, zero_operand): Likewise.
2797 * sparc.h (PREDICATE_CODES): Likewise.
2798
30dfe54a
RH
2799 * rtl.h (CONSTANT_P): Remove CONSTANT_P_RTX.
2800
185ebd6c
RH
2801Tue Dec 29 11:32:54 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>:
2802
2803 * rtl.def (CONSTANT_P_RTX): Clarify commentary.
2804 * expr.c (expand_builtin, case BUILT_IN_CONSTANT_P): Rework to
2805 consider constant CONSTRUCTOR constant and to defer some cases
2806 to cse.
2807 * cse.c (fold_rtx, case CONST): Add handling for CONSTANT_P_RTX.
2808 * regclass.c (reg_scan_mark_refs, case CONST): Likewise.
2809
2810Tue Dec 29 11:30:10 1998 Richard Henderson <rth@cygnus.com>
2811
2812 * expr.c (init_expr_once): Kill can_handle_constant_p recognition.
2813 * cse.c (fold_rtx, case 'x'): Remove standalone CONSTANT_P_RTX code.
2814
2815 * alpha.c (reg_or_6bit_operand): Remove CONSTANT_P_RTX handling.
2816 (reg_or_8bit_operand, cint8_operand, add_operand): Likewise.
2817 (sext_add_operand, and_operand, or_operand): Likewise.
2818 (reg_or_cint_operand, some_operand, input_operand): Likewise.
2819 * alpha.h (PREDICATE_CODES): Likewise.
2820
081f12b3
JL
2821Sat Dec 26 23:26:26 PST 1998 Jeff Law (law@cygnus.com)
2822
2823 * version.c: Bump for snapshot.
2824
7ce1e6c8
JL
2825Sat Dec 26 09:17:04 1998 Jeffrey A Law (law@cygnus.com)
2826
ba476f75
JL
2827 * gengenrtl.c (gencode): Always use bzero to clear memory instead
2828 of dangerous casts and stores.
2829
7ce1e6c8
JL
2830 * Makefile.in (compare, gnucompare): Add missing else true clauses.
2831
4b855767
JL
2832Fri Dec 25 23:00:56 1998 Jeffrey A Law (law@cygnus.com)
2833
2834 * alpha.md (builtin_longjmp): Add missing "DONE".
2835
6405c0ec
SC
2836Thu Dec 24 10:39:57 1998 Stan Cox <scox@cygnus.com>
2837
2838 * gcc.c (execute): Enable -pipe with win32.
2839
a1e27b76
NC
2840Wed Dec 23 10:27:44 1998 Nick Clifton <nickc@cygnus.com>
2841
2842 * config/arm/t-arm-elf: Add multiplib option for leading
2843 underscores.
2844
2845 * config/arm/thumb.h (ASM_OUTPUT_LABELREF): Use variable
2846 'user_label_prefix' rather than macro USER_LABEL_PREFIX.
2847
2848 (thumb_shiftable_const): Use macro 'BASE_REG_CLASS' rather
2849 than variable 'reload_address_base_reg_class'. [Note this
2850 change is unrelated to the others in this patch].
2851
2852 * config/arm/unknown-elf.h (USER_LABEL_PREFIX): Default to no
2853 leading underscore.
2854
973838fd
KG
2855Wed Dec 23 09:51:32 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2856
2857 * alias.c (record_alias_subset): Remove ignored `&'.
2858 (init_alias_once): Likewise.
2859
2860 * c-lex.c (UNGETC): Cast first argument of comma expression to void.
2861
2862 * config/mips/mips.c (mips_asm_file_end): Cast the result of
2863 fwrite to `int' when comparing against one.
2864
2865 * config/mips/mips.h (CAN_ELIMINATE): Add parens around && within ||.
2866 (INITIAL_ELIMINATION_OFFSET): Add braces to avoid ambiguous `else'.
2867
2868 * cse.c (rehash_using_reg): Change type of variable `i' to
2869 unsigned int.
2870
2871 * dwarf2out.c (initial_return_save): Cast -1 to unsigned before
2872 assigning it to one.
2873
2874 * except.c (duplicate_eh_handlers): Remove unused variable `tmp'.
2875
2876 * final.c (final_scan_insn): Likewise for variable `i'.
2877 (output_asm_insn): Cast a char to unsigned char when used as an
2878 array index.
2879
2880 * gcse.c (compute_pre_ppinout): Cast -1 to SBITMAP_ELT_TYPE when
2881 assigning it to one.
2882
2883 * loop.c (strength_reduce): Remove unused variables `count' and `temp'.
2884
2885 * recog.c (preprocess_constraints): Cast a char to unsigned char
2886 when used as an array index.
2887
2888 * regmove.c (find_matches): Likewise.
2889
2890 * reload1.c (calculate_needs): Add default case in switch.
2891 (eliminate_regs_in_insn): Initialize variable `offset'.
2892 (set_offsets_for_label): Change type of variable `i' to unsigned.
2893 (reload_as_needed): Wrap variable `i' in macro check on
2894 AUTO_INC_DEC || INSN_CLOBBERS_REGNO_P.
2895
2896 * scan-decls.c (scan_decls): Mark parameters `argc' and `argv'
2897 with ATTRIBUTE_UNUSED. Cast variable `start_written' to size_t
2898 when comparing against one.
2899
2900 * stor-layout.c (layout_decl): Cast maximum_field_alignment to
2901 unsigned when comparing against one. Likewise for
2902 GET_MODE_ALIGNMENT().
2903 (layout_record): Cast record_align to int when comparing against a
2904 signed value.
2905 (layout_type): Cast TYPE_ALIGN() to int when comparing against a
2906 signed value.
2907
2908 * tree.c (get_identifier): Cast variable `len' to unsigned when
2909 comparing against one.
2910 (maybe_get_identifier): Likewise
2911
2ae74651
JL
2912Wed Dec 23 00:10:01 1998 Jeffrey A Law (law@cygnus.com)
2913
2914 * toplev.c (rest_of_compilation): Do not set reload_completed.
2915 * reload1.c (reload): Set reload_completed before calling
2916 cleanup_subreg_operands.
2917
3d0ec3b3
RH
2918Tue Dec 22 23:58:31 1998 Richard Henderson <rth@cygnus.com>
2919
2920 * reload1.c (emit_reload_insns): Check `set' not null before use.
2921
cae8acdd
NC
2922Tue Dec 22 15:15:45 1998 Nick Clifton <nickc@cygnus.com>
2923
2924 * rtlanal.c (multiple_sets): Change type of 'found' from 'rtx' to
2925 'int'.
2926
34fadae0
TP
2927Tue Dec 22 13:55:44 1998 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
2928
2929 * halfpic.c (half_pic_encode): Delete redundant code.
2930
2f0d2c99
MM
2931Tue Dec 22 13:02:22 1998 Michael Meissner <meissner@cygnus.com>
2932
2933 * toplev.c (main): Delete handling of -dM as a preprocessor
2934 option.
2935
b5c7059b
MM
2936Mon Dec 21 17:39:38 1998 Michael Meissner <meissner@cygnus.com>
2937
2938 * toplev.c (main): Don't emit any warnings when using -dD, -dM, or
2939 -dI, which are handled by the preprocessor.
2940
62481348
JC
2941Sun Dec 20 16:13:44 1998 John F. Carr <jfc@mit.edu>
2942
2943 * configure.in: Handle Digital UNIX 5.x the same as 4.x.
2944 * i386/sol2.h: Define LOCAL_LABEL_PREFIX as ".".
2945
1ead53b3
JL
2946Sun Dec 20 07:39:52 PST 1998 Jeff Law (law@cygnus.com)
2947
2948 * version.c: Bump for snapshot.
2949
24ccb032
JL
2950Sat Dec 19 22:24:22 PST 1998 Jeff Law (law@cygnus.com)
2951
2952 * version.c: Bump for snapshot.
2953
a5e3973f
JL
2954Sat Dec 19 21:41:32 PST 1998 Jeff Law (law@cygnus.com)
2955
2956 * version.c: Bump for snapshot.
2957
85fda1eb
KG
2958Sat Dec 19 09:52:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2959
2960 * genattr.c (fatal): Qualify a char* with the `const' keyword.
2961
2962 * genattrtab.c (fatal, attr_printf, attr_string, write_attr_set,
2963 write_unit_name, write_eligible_delay, expand_units,
2964 make_length_attrs, write_attr_case, find_attr,
2965 make_internal_attr): Likewise.
2966 * gencheck.c (tree_codes): Likewise.
2967 * gencodes.c (fatal): Likewise.
2968 * genconfig.c (fatal): Likewise.
2969 * genemit.c (fatal): Likewise.
2970 * genextract.c (fatal, walk_rtx, copystr): Likewise.
2971 * genflags.c (fatal): Likewise.
2972 * genopinit.c (fatal, optabs, gen_insn): Likewise.
2973 * genoutput.c (fatal, error, predicates): Likewise.
2974 * genpeep.c (fatal): Likewise.
2975 * genrecog.c (fatal, decision, pred_table, add_to_sequence,
2976 write_tree_1, write_tree, change_state, copystr, indents): Likewise.
2977
21f891de
RO
2978Thu Dec 17 18:21:49 1998 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2979
94878f15
RO
2980 * configure.in (with-fast-fixincludes): Fix whitespace.
2981 * configure: Rebuilt.
2982
21f891de
RO
2983 * fixincludes (c_asm.h): Wrap Digital UNIX V4.0B DEC C specific
2984 asm() etc. function declarations in __DECC.
2985
b2e7e6fb
NC
2986Thu Dec 17 13:57:23 1998 Nick Clifton <nickc@cygnus.com>
2987
2988 * expr.c (emit_move_insn_1): Only emit a clobber if the target
2989 is a pseudo register.
2990
3cdbd1f8
NC
2991Thu Dec 17 13:50:29 1998 Nick Clifton <nickc@cygnus.com>
2992
2993 * gcse.c: Include expr.h in order to get the prototype for
2994 get_condition() which is used in delete_null_pointer_checks().
2995
cce4a958
KG
2996Thu Dec 17 15:58:26 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2997
2998 * hwint.h: New file to consolidate HOST_WIDE_INT (etc) macros.
2999
2df8df36
JW
3000Thu Dec 17 12:31:12 1998 Jim Wilson <wilson@cygnus.com>
3001
3002 * Makefile.in (INTERNAL_CFLAGS): Add SCHED_CFLAGS.
3003 (ALL_CFLAGS): Delete SCHED_CFLAGS.
3004
0197d76b
VM
30051998-12-17 Vladimir N. Makarov <vmakarov@cygnus.com>
3006
3007 * config/i60/i960.md (extendqihi2): Fix typo (usage ',' instead of
3008 ';').
3009
30101998-12-17 Michael Tiemann <tiemann@axon.cygnus.com>
3011
3012 * i960.md (extend*, zero_extend*): Don't generate rtl that looks
3013 like (subreg:SI (reg:SI N) 0), because it's wrong, and it hides
3014 optimizations from the combiner.
3015
86147f48
R
3016Thu Dec 17 08:27:03 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3017
3018 * loop.c (combine_givs_used_by_other): Don't depend on n_times_set.
3019
16b6e120
NC
3020Wed Dec 16 17:30:35 1998 Nick Clifton <nickc@cygnus.com>
3021
3022 * toplev.c (main): Disable optimize_size if a specific
3023 optimization level is requested. Always set optimization
3024 level to 2 if -Os is specified.
3025
05c32e16
DB
3026Wed Dec 16 16:33:04 1998 Dave Brolley <brolley@cygnus.com>
3027
3028 * objc/lang-specs.h: Pass -MD, -MMD and -MG to cc1obj if configured with
3029 cpplib.
3030 * cpplib.c (cpp_start_read): If in_fname is not initialized, try to
3031 initialize it using fname.
3032
692b872e
ZW
30331998-12-16 Zack Weinberg <zack@rabi.phys.columbia.edu>
3034
3035 * cpplib.c (do_include): Treat #include_next in the
3036 primary source file as #include plus warning. Treat
3037 #include_next in a file included by absolute path as an
3038 error. fp == CPP_NULL_BUFFER is a fatal inconsistency.
3039
36b8337d
KG
3040Wed Dec 16 12:28:54 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3041
3042 * cccp.c: Don't define MIN/MAX anymore.
3043 * cpplib.c: Likewise.
3044 * machmode.h: Likewise.
3045 * system.h: Provide definitions for MIN/MAX.
3046
2d234b4f
ZW
3047Tue Dec 15 23:47:42 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
3048
3049 * fix-header.c: Don't define xstrdup here.
3050
a07516d3
R
3051Wed Dec 16 05:11:04 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3052
3053 * loop.c (consec_sets_giv): New argument last_consec_insn.
3054 (strength_reduce): Provide / use it.
3055
35704c46
MH
3056Wed Dec 16 17:24:07 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3057
3058 * loop.h (loop_info): New field 'vtop'.
3059 * loop.c (check_dbra_loop): Use loop_info->vtop rather than
3060 scanning loop for vtop.
3061 * unroll.c (subtract_reg_term, find_common_reg_term): New functions.
3062 (loop_iterations): Use them to determine if loop has a constant
3063 number of iterations. Set loop_info->vtop. Don't subtract
3064 common reg term from initial_value and final_value if have a
3065 do-while loop.
3066
9c907d54
JL
3067Tue Dec 15 13:49:55 1998 Jeffrey A Law (law@cygnus.com)
3068
b884a51a
JL
3069 * mn10200.md (addsi3 expander): Use "nonmemory_operand" for operand 2.
3070
5ba52c2e
JL
3071 * mn10300.md (bset, bclr): Operand 0 is a read/write operand.
3072
9c907d54
JL
3073 * mn10200.md (abssf2, negsf2): New expanders.
3074
3075 * mn10300.md (absdf2, abssf2, negdf2, negsf2): New expanders.
3076
ddc54eaa
NC
3077Tue Dec 15 11:55:30 1998 Nick Clifton <nickc@cygnus.com>
3078
3079 * integrate.c (copy_rtx_and_substitute): If a SUBREG is
3080 replaced by a CONCAT whoes components do not have the same
3081 mode as the original SUBREG, use a new SUBREG to restore the
3082 mode.
3083
3084 * emit-rtl.c (subreg_realpart_p): Cope with subregs containing
3085 multiword complex values.
3086
c49445e0
ZW
30871998-12-15 Zack Weinberg <zack@rabi.phys.columbia.edu>
3088
3089 * cppalloc.c: Add xstrdup here.
3090 * cpplib.h: Remove savestring prototype.
3091 * cpplib.c: Remove savestring function. s/savestring/xstrdup/
3092 throughout.
3093 * cppfiles.c: s/savestring/xstrdup/ throughout.
3094
941e09b6
ZW
30951998-12-15 Zack Weinberg <zack@rabi.phys.columbia.edu>
3096
3097 * cpplib.c: Make all directive handlers read their own
3098 arguments.
3099 (struct directive): Remove last two arguments from FUNC
3100 member prototype. Remove `command_reads_line' member
3101 entirely.
3102 (directive_table): Remove initializations of
3103 command_reads_line flag. Pretty-print.
3104 (eval_if_expression, do_define, do_line, do_include,
3105 do_undef, do_error, do_pragma, do_ident, do_if, do_xifdef,
3106 do_else, do_elif, do_sccs, do_assert, do_unassert,
3107 do_warning): Take only two args.
3108
3109 (cpp_define): Call do_define with two args and the text to
3110 define stuffed into a buffer.
3111 (make_assertion): Call do_assert with two args.
3112 (handle_directive): Call do_line with two args. Call
3113 kt->func with two args. Remove command_reads_line
3114 processing.
3115 (do_define, do_undef, do_error, do_warning, do_pragma,
3116 do_sccs): Read the rest of the line here.
3117 (do_ident): Gobble rest of line, as cccp does.
3118 (cpp_undef): New function.
3119 (cpp_start_read): Call cpp_undef instead of do_undef.
3120
7061aa5a
ZW
31211998-12-15 Zack Weinberg <zack@rabi.phys.columbia.edu>
3122
3123 * cpphash.h (union hash_value): Remove `keydef' member, add a
3124 `struct hashnode *aschain' member for #assert.
3125
3126 * cpplib.c (struct tokenlist_list, struct
3127 assertion_hashnode): Delete structure definitions.
3128 (assertion_install, assertion_lookup, delete_assertion,
3129 check_assertion, compare_token_lists, reverse_token_list,
3130 read_token_list, free_token_list): Delete functions.
3131 (parse_assertion): New function.
3132 (cpp_cleanup): Don't destroy the assertion_hashtable.
3133
3134 (do_assert): Gut and rewrite. #assert foo (bar) places
3135 entries for `#foo' and `#foo(bar)' in the macro hash table,
3136 type T_ASSERT. The value union's `aschain' member is used
3137 to chain all answers for a given predicate together.
3138 (do_unassert): Also rewritten. Take an un-asserted
3139 answer off the chain from its predicate and call
3140 delete_macro on the hashnode, or walk a predicate chain
3141 calling delete_macro on all the entries.
3142 (cpp_read_check_assertion): Simply call parse_assertion to
3143 get the canonical assertion name, and look that up in the
3144 hash table.
3145
3146 * cpplib.h (ASSERTION_HASHNODE,ASSERTION_HASHSIZE,assertion_hashtab):
3147 Removed.
3148
3149 * cpphash.c (install): Use bcopy instead of an explicit loop
3150 to copy the macro name.
3151
3152 * cppexp.c (cpp_lex): Convert the result of
3153 cpp_read_check_assertion to a `struct operation' directly;
3154 don't go through parse_number.
3155
4b259e3f
R
3156Tue Dec 15 18:27:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3157
3158 * loop.h (struct induction): Delete times_used member.
3159 * loop.c (n_times_set): Rename to set_in_loop. Changed all users.
3160 (n_times_used): Rename to n_times_set. Changed all users.
3161 (scan_loop): Free reg_single_usage before strength reduction.
3162 (record_giv, combine_givs): Remove handling of times_used member.
3163 (combine_givs_used_once): Rename to:
3164 (combine_givs_used_by_other) . Changed all callers.
3165
5f2f160c
JM
3166Tue Dec 15 01:45:26 1998 Jason Merrill <jason@yorick.cygnus.com>
3167
3168 * dwarf2out.c (gen_struct_or_union_type_die): Check AGGREGATE_TYPE_P
3169 instead of TREE_CODE_CLASS == 't'.
3170 (gen_type_die): Likewise.
3171 (scope_die_for): Ignore FUNCTION_TYPE "scopes".
3172
c1c7db89
JW
3173Mon Dec 14 16:23:27 1998 Jim Wilson <wilson@cygnus.com>
3174
3175 * real.c (endian): Disable last change unless
3176 HOST_BITS_PER_WIDE_INT is greater than 32.
3177
3167de5b
AM
3178Mon Dec 14 17:13:36 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
3179
3180 * output.h (force_data_section): New prototype.
3181 * varasm.c (force_data_section): New function to force the
3182 data section, regardless of what in_section thinks.
3183 * dwarf2out.c (output_call_frame_info): Call force_data_section
3184 since varasm may not realize we've changes sections.
3185
80599fd9
NC
3186Mon Dec 14 14:09:34 1998 Nick Clifton <nickc@cygnus.com>
3187
3188 * reload1.c (reload): Delete REG_RETVAL and REG_LIBCALL notes
3189 after completeing reload.
3190
3191 * rtl.texi: Document that REG_RETVAL and REG_LIBCALL are
3192 deleted after reload.
3193
93e0dfe1
JL
3194Mon Dec 14 01:39:28 1998 Jeffrey A Law (law@cygnus.com)
3195
3196 * rtl.h (multiple_sets): Fix prototype.
3197 * rtlanal.c (multiple_sets): Fix return type.
3198
5d943c3c
JL
3199Sun Dec 13 12:43:58 PST 1998 Jeff Law (law@cygnus.com)
3200
3201 * version.c: Bump for snapshot.
3202
714d352f
JL
3203Sun Dec 13 01:05:22 PST 1998 Jeff Law (law@cygnus.com)
3204
3205 * version.c: Bump for snapshot.
3206
56485bee
MH
32071998-12-13 Manfred Hollstein <manfred@s-direktnet.de>
3208
3209 * protoize.c (fputs): Wrap extern declaration in #ifndef fputs.
3210
404d95c4
R
3211Sun Dec 13 00:24:14 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3212
213c4983
R
3213 * rtl.h (recompute_reg_usage): Add second argument.
3214 * flow.c (recompute_reg_usage): Likewise.
3215 * toplev.c (rest_of_compilation): Supply second argument to
3216 recompute_reg_usage.
3217
404d95c4
R
3218 * reload1.c (compute_use_by_pseudos): Allow reg_renumber[regno] < 0
3219 after reload.
3220
941c63ac
JL
3221Sat Dec 12 23:39:10 1998 Jeffrey A Law (law@cygnus.com)
3222
f08347a9
JL
3223 * m68k/t-m68kelf (MULTILIB_OPTIONS): Add mcpu32.
3224 (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
3225 (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
3226 mcpu32 or m5200.
3227
4566eb62
JL
3228 * i386/next.h (ASM_OUTPUT_ALIGN): Use 0x90 for fill character.
3229
941c63ac
JL
3230 * rtlanal.c (multiple_sets): New function.
3231 * rtl.h (multiple_sets): Declare it.
3232 * local-alloc.c (wipe_dead_reg): Use it.
3233 * global.c (global_conflicts): Likewise.
3234
8d4c79be
MM
3235Sat Dec 12 22:13:02 1998 Mark Mitchell <mark@markmitchell.com>
3236
3237 * global.c (record_conflicts): Don't use an array of shorts to
3238 store an array of ints.
3239 (global_conflicts): Likewise.
3240
f35cba21
RH
3241Sat Dec 12 16:49:24 1998 Richard Henderson <rth@cygnus.com>
3242
3243 * alpha.c (alpha_expand_block_move): mode_for_size expects
3244 bits, not bytes. Infer extra alignment from addressof.
3245
a9aefc1e
MM
32461998-12-11 Michael Meissner <meissner@cygnus.com>
3247
3248 * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Put small data in the
3249 .sbss section, not .sdata.
3250
56adfa4a
MH
32511998-12-11 Manfred Hollstein <manfred@s-direktnet.de>
3252
8eeae6f4
MH
3253 * cccp.c: Do not #include <sys/stat.h> here; this is already done
3254 by "system.h".
3255 * collect2.c: Likewise.
3256 * cpplib.h: Likewise.
3257 * gcc.c: Likewise.
3258 * gcov.c: Likewise.
3259 * getpwd.c: Likewise.
3260 * protoize.c: Likewise.
3261 * toplev.c: Likewise.
3262
56adfa4a
MH
3263 * cpplib.h (HOST_WIDE_INT): Get definition from "machmode.h"
3264 and don't try to define it here.
3265 * Makefile.in (cppmain.o): Depend on machmode.h.
3266 (cpplib.o): Likewise.
3267 (cpperror.o): Likewise.
3268 (cppexp.o): Likewise.
3269 (cppfiles.o): Likewise.
3270 (cpphash.o): Likewise.
3271 (cppalloc.o): Likewise.
3272 (fix-header.o): Likewise.
3273 (scan-decls.o): Likewise.
3274
157131d7
SC
3275Fri Dec 11 11:02:49 1998 Stan Cox <scox@cygnus.com>
3276
3277 * sh.c (print_operand): lookup interrupt_handler attribute instead
3278 of relying on static variable.
3279 * (calc_live_regs): Likewise.
3280 * (sh_pragma_insert_attributes): Create interrupt_handler
3281 attribute if a pragma was specified
3282 * (sh_valid_machine_decl_attribute): Don't set static flag.
3283 * sh.h (PRAGMA_INSERT_ATTRIBUTES): New.
3284
b0634509
R
3285Fri Dec 11 12:56:07 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3286
3287 * reload1.c (reload_combine): Use BASIC_BLOCK_LIVE_AT_START
3288 to determine if a register is live at a jump destination.
3289 Everything is dead at a BARRIER.
3290
737e7965
JW
3291Thu Dec 10 16:02:06 1998 Jim Wilson <wilson@cygnus.com>
3292
3293 * cse.c (simplify_unary_operation): Sign-extend constants when
3294 they have the most significant bit set for the target.
3295 * real.c (endian): Sign-extend 32 bit output values on a 64 bit
3296 host.
3297 * m32r/m32r.c (m32r_expand_prologue): Store pretend_size in
3298 HOST_WIDE_INT temporary before negating it.
3299 * m32r/m32r.md (movsi_insn+1): Use ~0xffff instead of 0xffff0000.
3300
353f10d5
DB
3301Thu Dec 10 15:05:59 1998 Dave Brolley <brolley@cygnus.com>
3302
3303 * objc/objc-act.c (lang_init_options): Enclose cpplib related code in
3304 #if USE_CPPLIB.
3305
2edfd4ee
KG
3306Thu Dec 10 13:39:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3307
3308 * collect2.h: New header file for prototypes.
3309
3310 * Makefile.in (collect2.o, tlink.o): Depend on collect2.h.
3311
3312 * collect2.c: Include collect2.h.
3313 * tlink.c: Likewise.
3314
c9852047
JL
3315Wed Dec 9 23:55:11 1998 Jeffrey A Law (law@cygnus.com)
3316
3317 * flow.c: Update some comments.
3318
5d7da2c6
DB
3319Wed Dec 9 15:29:26 1998 Dave Brolley <brolley@cygnus.com>
3320
3321 * objc/objc-act.c (cpp_initialized): Removed.
3322 (lang_init_options): Initialize cpplib.
3323 (lang_decode_option): Move initialization of cpplib to
3324 lang_init_options.
3325 * c-lang.c: (parse_options,parse_in): Added.
3326 (lang_init_options): Initialized cpplib here.
3327 * c-decl.c (parse_options,cpp_initialized): Removed.
3328 (c_decode_option): Move initialization of cpplib to
3329 lang_init_options.
3330
ed937a19
R
3331Wed Dec 9 19:36:57 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3332
3333 * reload1.c (reload_combine, reload_combine_note_store):
a0078b37 3334 Make STORE_RUID always valid.
ed937a19
R
3335 (reload_combine): Check if BASE is clobbered too early.
3336
290b61f7
NC
3337Wed Dec 9 09:53:58 1998 Nick Clifton <nickc@cygnus.com>
3338
3339 * reload.c (find_reloads): Display the insn that cannot be
3340 reloaded.
3341
bdf777e4
DB
3342Wed Dec 9 12:15:26 1998 Dave Brolley <brolley@cygnus.com>
3343
3344 * cccp.c (create_definition): Fix end of bufer logic.
3345
3b89e9d1
KG
3346Wed Dec 9 10:15:45 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3347
3348 * except.c (duplicate_eh_handlers, rethrow_symbol_map): Function
3349 pointer parameters changed to use the PARAMS() macro.
3350
0177de87
AM
3351Wed Dec 9 09:12:40 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
3352
3353 * except.h (struct handler_info): Add handler_number field.
3354 * except.c (gen_exception_label): EH labels no longer need to be
3355 on the permanent obstack.
3356 (get_new_handler): Set the label number field.
3357 (output_exception_table_entry): Regenerate handler label reference
3358 from the label number field.
3359 (init_eh): Remove a blank line.
3360 * integrate.c (get_label_from_map): Labels no longer need to be
3361 on the permanent obstack.
3362
7a3c92a5
JW
3363Tue Dec 8 22:04:33 1998 Jim Wilson <wilson@cygnus.com>
3364
3365 * i960/i960.h (CONST_COSTS, case CONST_INT): Accept power2_operand
3366 only when OUTER_CODE is SET.
3367
5353610b
R
3368Tue Dec 8 22:47:15 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3369
3370 * loop.c (strength_reduce): If scan_start points to the loop exit
3371 test, be wary of subversive use of gotos inside expression statements.
3372 Don't set maybe_multiple for a backward jump that does not
3373 include the label under consideration into its range.
3374 * unroll.c (biv_total_increment): Make use of maybe_multiple field.
3375
03d937fc
R
3376Tue Dec 8 22:33:18 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3377
3378 * explow.c (plus_constant_wide): Don't immediately return with
3379 result of recursive call.
3380
e6cfb550
AM
3381Tue Dec 8 15:32:56 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
3382
3383 * eh-common.h (struct eh_context): Add table_index for rethrows.
3384
3385 * rtl.h (enum reg_note): Add REG_EH_REGION and REG_EH_RETHROW reg notes.
3386 (SYMBOL_REF_NEED_ADJUST): New flag indicating symbol needs to be
3387 processed when inlined or unrolled (ie duplicated in some way).
3388
3389 * rtl.c (reg_note_name): Add strings for new reg_note enums.
3390
3391 * expr.h (rethrow_libfunc): New library decl.
3392
3393 * optabs.c (rethrow_libfunc): Initialize.
3394
3395 * except.h (struct eh_entry): Add new field 'rethrow_label'.
3396 (new_eh_region_entry): No longer exported from except.c.
3397 (duplicate_handlers): Renamed to duplicate_eh_handlers and
3398 different prototype.
3399 (rethrow_symbol_map, rethrow_used): New exported functions.
3400 (eh_region_from_symbol): New exported function.
3401
3402 * except.c (create_rethrow_ref): New function to create a single
3403 SYMBOL_REF for a rethrow region.
3404 (push_eh_entry): Initialize a rethrow ref.
3405 (func_eh_entry): Add a rethrow_label field.
3406 (new_eh_region_entry): Make static, and initialize the rethrow entry.
3407 (duplicate_eh_handlers): Create a new region, and remap labels/symbols.
3408 (eh_region_from_symbol): Find an EH region based on its rethrow symbol.
3409 (rethrow_symbol_map): Given a label map, maps a rethrow symbol for
3410 a region into an appropriate new symbol.
3411 (rethrow_used): Indicate whether a rethrow symbol has been referenced.
3412 (expand_eh_region_end): Don't issue jump around code for new-exceptions.
3413 (end_catch_handler): Emit a barrier for new-exceptions since
3414 control can never drop through the end of a catch block.
3415 (expand_end_all_catch): new-exceptions never fall through a catch
3416 block.
3417 (expand_rethrow): use __rethrow routine for new exceptions.
3418 (output_exception_table_entry): Generate rethrow labels, if needed.
3419 (output_exception_table): Generate start and end rethrow labels.
3420 (init_eh): Create rethrow symbols for beginning and end of table.
3421 (scan_region): Don't eliminate EH regions which are the targets of
3422 rethrows.
3423
3424 * flow.c (make_edges): Add different edges for rethrow calls,
3425 identified by having the REG_EH_RETHROW reg label.
3426 (delete_unreachable_blocks): Don't delete regions markers which are
3427 the target of a rethrow.
3428
3429 * integrate.c (save_for_inline_eh_labelmap): New callback routine to
3430 allow save_for_inline_copying to call duplicate_eh_handlers.
3431 (save_for_inline_copying): Call duplicate_eh_handlers instead of
3432 exposing internal details of exception regions.
3433 (copy_for_inline): Check if SYMBOL_REFs need adjustment.
3434 (expand_inline_function_eh_labelmap): New callback routine to
3435 allow expand_inline_function to call duplicate_eh_handlers.
3436 (expand_inline_function): Call duplicate_eh_handlers instead of
3437 exposing internal details of exception regions.
3438 (copy_rtx_and_substitute): Adjust SYMBOL_REFS if SYMBOL_REF_NEED_ADJUST
3439 flag is set.
3440
3441 * libgcc2.c (find_exception_handler): Generalize to enable it to
3442 pick up processing where it left off last time for a rethrow.
3443 (__unwinding_cleanup): New function. debug hook which is called before
3444 unwinding when __throw finds there is nothing but cleanups left.
3445 (throw_helper): Common parts of __throw extracted out for reuse.
3446 (__throw): Common parts moved to throw_helper.
3447 (__rethrow): New function for performing rethrows.
3448
122a860e
JL
3449Tue Dec 8 13:11:04 1998 Jeffrey A Law (law@cygnus.com)
3450
3451 * reload1.c (current_function_decl): Tweak declaration.
3452
6271b191
RH
3453Tue Dec 8 10:23:52 1998 Richard Henderson <rth@cygnus.com>
3454
3455 * c-decl.c (flag_isoc9x): Default off.
3456 (c_decode_option): Kill -std=gnu, add -std=gnu89 and -std=gnu9x.
3457 * cccp.c (print_help, main): Likewise.
3458 * gcc.c (default_compilers): Update for -std=gnu*.
3459
dfb7c80f
JL
3460Tue Dec 8 01:14:46 1998 Jeffrey A Law (law@cygnus.com)
3461
d91d4a5c
JL
3462 * Makefile.in (DEMANGLE_H): Change location to shared demangle.h.
3463 * demangle.h: Deleted.
3464
dfb7c80f
JL
3465 * reload1.c (current_function_decl): Declare.
3466
b4eadc3d
KG
3467Tue Dec 8 11:58:51 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3468
3469 * cpplib.c (convert_string): Use `0x00ff', not `0x00ffU'.
3470
6785b077
KG
3471Tue Dec 8 09:28:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3472
3473 * dbxout.c: If USG is defined use gstab.h, even if HAVE_STAB_H is set.
3474
54953b66
UD
34751998-12-08 Ulrich Drepper <drepper@cygnus.com>
3476
3477 * configure.in: Test for availability of putc_unlocked, fputc_unlocked,
3478 and fputs_unlocked.
3479 * configure: Rebuilt.
3480 * system.h: If the *_unlocked functions are available use them
3481 instead of the locked counterparts by defining macros.
3482 * config.in: Regenerated.
3483
872936ad
MS
3484Tue Dec 8 00:34:05 1998 Mike Stump <mrs@wrs.com>
3485
3486 * i386/bsd.h (ASM_FILE_START): Don't use dump_base_name, it is
3487 wrong and should only be used for dump related things, not
3488 debugging information, instead main_input_filename should be used.
3489 Also, reuse output_file_directive if possible.
3490 * i386/aix386ng.h (ASM_FILE_START): Likewise.
3491 * i386/isc.h (ASM_FILE_START): Likewise.
3492 * i386/win-nt.h (ASM_FILE_START): Likewise.
3493 * i386/sun386.h (ASM_FILE_START): Likewise.
3494
11fa8909
RL
3495Mon Dec 7 23:56:28 1998 Robert Lipe <robertl@dgii.com>
3496
3497 * configure.in (mips*-*-linux*): Handle big and little endian
3498 systems.
3499 * configure: Rebuilt.
3500
fe77a034
MS
3501Mon Dec 7 23:14:51 1998 Mike Stump <mrs@wrs.com>
3502
3503 * emit-rtl.c: Fix typo.
3504
9becac0c
NS
3505Mon Dec 7 23:07:38 1998 Nathan Sidwell <nathan@acm.org>
3506
3507 * reload1.c (eliminate_regs): Don't do anything, if we're not
3508 generating code.
3509
5f680ab6
DD
3510Mon Dec 7 15:27:09 1998 DJ Delorie <dj@cygnus.com>
3511
3512 * mips/mips.h (ENCODE_SECTION_INFO): Handle TARGET_EMBEDDED_DATA.
3513 Add comment.
3514 * mips/mips.c (mips_select_section): Add comment.
3515
c25d8793
MS
3516Mon Dec 7 17:55:06 1998 Mike Stump <mrs@wrs.com>
3517
3518 * cccp.c (ignore_escape_flag): Add support for \ as `natural'
3519 characters in file names in #line to be consistent with #include
3520 handling. We support escape prcessing in the # 1 "..." version of
3521 the command. See also support in cp/lex.c.
3522 (handle_directive): Likewise.
3523 (do_line): Likewise.
3524
c50bca08
ZW
35251998-12-07 Zack Weinberg <zack@rabi.phys.columbia.edu>
3526
3527 * cpplib.c (initialize_char_syntax): Use ISALPHA and ISALNUM
3528 so it'll work on non-ASCII platforms. Always consider $ an
3529 identifier character. Take no arguments.
3530 (cpp_reader_init): Call initialize_char_syntax with no
3531 arguments.
3532 (cpp_start_read): Don't call initialize_char_syntax again.
3533 Clear is_idchar['$'] and is_idstart['$'] if not
3534 opts->dollars_in_ident.
3535
3536 * cpplib.h (struct cpp_reader): Replace void *data element by
3537 cpp_options *opts. Rearrange elements to make gdb printout
3538 less annoying (put buffer stack at end).
3539 (CPP_OPTIONS): Get rid of now-unnecessary cast.
3540
3541 * cppmain.c: s/data/opts/ when initializing cpp_reader
3542 structure.
3543 * c-decl.c: Likewise.
3544 * objc/objc-act.c: Likewise.
3545 * fix-header.c: Likewise.
3546
35471998-12-07 Zack Weinberg <zack@rabi.phys.columbia.edu>
f1a86df6
ZW
3548
3549 * cpplib.h (struct cpp_buffer): Replace dir and dlen members
3550 with a struct file_name_list pointer.
3551 (struct cpp_reader): Add pointer to chain of `actual
3552 directory' include searchpath entries.
3553 (struct file_name_list): Add *alloc pointer for the sake of
3554 the actual-directory chain.
3555
3556 Move definition of HOST_WIDE_INT here.
3557 (cpp_parse_escape): Change prototype to match changes in
3558 cppexp.c.
3559
3560 * cppfiles.c (actual_directory): New function.
3561 (finclude): Use it to initialize the buffer's actual_dir
3562 entry.
3563 (find_include_file): We don't need to fix up max_include_len
3564 here.
3565
3566 * cpplib.c (do_include): Don't allocate a file_name_list on
3567 the fly for current directory "" includes, use the one that's
3568 been preallocated in pfile->buffer->actual_dir. Hoist out
3569 duplicate code from the search_start selection logic.
3570 (cpp_reader_init): Initialize pfile->actual_dirs.
3571
3572 Remove definition of HOST_WIDE_INT. Change calls
3573 to cpp_parse_escape to match changes in cppexp.c (note
3574 hardcoded MASK, which is safe since this is the source
3575 character set).
3576
3577 * cppexp.c: Bring over changes to cpp_parse_escape from cccp.c
3578 to handle wide character constants in #if directives. The
3579 function now returns a HOST_WIDE_INT, and takes a third
3580 argument which is a binary mask for all legal values (0x00ff
3581 for 8-bit `char', 0xffff for 16-bit `wchar_t', etc.) Define
3582 MAX_CHAR_TYPE_MASK and MAX_WCHAR_TYPE_MASK. Change callers of
3583 cpp_parse_escape to match. [Fixes c-torture/execute/widechar-1.c]
3584
93447205
DB
3585Mon Dec 7 15:38:25 1998 Dave Brolley <brolley@cygnus.com>
3586
3587 * gcc.c (default_compilers): Fix typo in USE_CPPLIB spec for cc1.
3588
3589Mon Dec 7 15:38:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3590
3591 * c-aux-info.c (concat): Wrap function definition in !USE_CPPLIB.
3592 * cppalloc.c: Move function `xcalloc' from cpplib.c to here.
3593 * cpplib.c: Move function `xcalloc' from here to cppalloc.c.
3594
1db9f6ce
NC
3595Mon Dec 7 11:30:49 1998 Nick Clifton <nickc@cygnus.com>
3596
3597 * final.c (output_asm_name): Use tabs to seperate comments from
3598 assembly text.
3599
3600 Include instruction lengths (if defined) in output.
3601
eb6a3bc0
MH
3602Mon Dec 7 10:53:38 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3603
3604 * loop.c (check_dbra_loop): Fix initial_value and initial_equiv_value
3605 in the loop_info structure.
3606
e6592fff
CM
3607Mon Dec 7 11:04:40 1998 Catherine Moore <clm@cygnus.com>
3608
3609 * configure.in: (arm*-*-ecos-elf): New target.
3610 * configure: Regenerated.
3611 * config/arm/elf.h (ASM_WEAKEN_LABEL): Define.
3612 * config/arm/ecos-elf.h: New file.
3613 * config/arm/unknown-elf.h (TARGET_VERSION): Check
3614 for redefinition.
3615
1a953d0f
R
3616Mon Dec 7 16:15:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3617
3618 * sh.c (output_far_jump): Emit braf only for TARGET_SH2.
3619
8962b4b4
JL
3620Sun Dec 6 04:19:45 PST 1998 Jeff Law (law@cygnus.com)
3621
3622 * version.c: Bump for snapshot.
3623
5629b16c
MH
3624Sun Dec 6 05:16:16 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3625
3626 * loop.c (check_dbra_loop): New argument loop_info. Update fields
3627 as needed.
3628
01bdf1bc
JL
3629Sun Dec 6 03:40:13 PST 1998 Jeff Law (law@cygnus.com)
3630
3631 * version.c: Bump for snapshot.
3632
badcf916
AO
3633Sun Dec 6 07:49:29 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
3634
3635 * gcc.texi (Bug Reporting): 40Kb is a soft limit, larger
3636 compressed reports are ok and preferred over URLs
3637
892d0a6d
AO
3638Sun Dec 6 07:45:33 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
3639
3640 * invoke.texi (Warning Options): Soften the tone of -pedantic
3641
cd2c4c54
L
3642Sun Dec 6 00:20:44 1998 H.J. Lu (hjl@gnu.org)
3643
3644 * print-rtl.c (print_rtx): Add prototype.
3645
3646 * unroll.c (iteration_info): Make it static.
3647
02e3377d
RH
3648Sun Dec 6 01:19:46 1998 Richard Henderson <rth@cygnus.com>
3649
3650 * alias.c (memrefs_conflict_p): A second ANDed address
3651 disables the aligned address optimization.
3652
4bd75896
RH
3653Sat Dec 5 18:48:25 1998 Richard Henderson <rth@cygnus.com>
3654
3655 * alpha.c (alpha_emit_set_const_1): Fix parenthesis error
3656 in -c << n case.
3657
c78358d4
JM
3658Sat Dec 5 15:14:52 1998 Jason Merrill <jason@yorick.cygnus.com>
3659
3660 * i960.h (BOOL_TYPE_SIZE): Define.
3661
e868a840
MH
3662Sun Dec 6 00:28:16 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3663
3664 * config/c4x/c4x.c (valid_parallel_load_store): Flog functionality
3665 from old valid_parallel_operands_4.
3666 (valid_parallel_operands_4): Check that operands for 4 operand
3667 parallel insns are valid, excluding load/store insns.
3668 * config/c4x/c4x.h (valid_parallel_load_store): Add prototype.
3669 * config/c4x/c4x.md (*movqf_parallel, *movqi_parallel): Use
3670 valid_parallel_load_store instead of valid_parallel_operands_4.
3671 (*absqf2_movqf_clobber, *floatqiqf2_movqf_clobber,
3672 *negqf2_movqf_clobber, *absqi2_movqi_clobber,
3673 *fixqfqi2_movqi_clobber, *negqi2_movqi_clobber,
3674 *notqi_movqi_clobber): Use valid_parallel_operands_4.
3675 (*subqf3_movqf_clobber, *ashlqi3_movqi_clobber,
3676 *ashrqi3_movqi_clobber, *lshrqi3_movqi_clobber,
3677 *subqi3_movqi_clobber): Use valid_parallel_operands_5.
3678
cd20cc86
MH
3679Sat Dec 5 23:52:01 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3680
3681 * config/c4x/c4x.c (iteration_info): Delete extern.
3682
f62a15e3
BS
3683Fri Dec 4 20:15:57 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
3684
faa9eb19
BS
3685 * tm.texi (SMALL_REGISTER_CLASSES): Make description match reality.
3686
f62a15e3
BS
3687 * final.c (cleanup_subreg_operands): Delete some unused code.
3688
3689 * recog.h (MAX_RECOG_ALTERNATIVES): New macro.
3690 (struct insn_alternative): New structure definition.
3691 (recog_op_alt): Declare variable.
3692 (preprocess_constraints): Declare function.
3693 * recog.c (recog_op_alt): New variable.
3694 (extract_insn): Verify number of alternatives is in range.
3695 (preprocess_constraints): New function.
3696 * reg-stack.c: Include recog.h.
3697 (constrain_asm_operands): Delete.
3698 (get_asm_operand_lengths): Delete.
3699 (get_asm_operand_n_inputs): New function.
3700 (record_asm_reg_life): Delete OPERANDS, CONSTRAINTS, N_INPUTS and
3701 N_OUTPUTS args. All callers changed.
3702 Compute number of inputs and outputs here by calling
3703 get_asm_operand_n_inputs.
3704 Instead of constrain_asm_operands, call extract_insn,
3705 constrain_operands and preprocess_constaints. Use information
3706 computed by these functions throughout.
3707 (record_reg_life): Delete code that is unused due to changes in
3708 record_asm_reg_life.
3709 (subst_asm_stack_regs): Delete OPERANDS, OPERAND_LOC, CONSTRAINTS,
3710 N_INPUTS and N_OUTPUTS args. All callers changed.
3711 Similar changes as in record_asm_reg_life.
3712 (subst_stack_regs): Move n_operands declaration into the if statement
3713 where it's used.
3714 Delete code that is unused due to changes in subst_asm_stack_regs.
3715 * stmt.c (expand_asm_operands): Verify number of alternatives is in
3716 range.
3717 * Makefile.in (reg-stack.o): Depend on recog.h.
3718
2ec10ea9
JL
3719Fri Dec 4 02:23:24 1998 Jeffrey A Law (law@cygnus.com)
3720
3721 * except.c (set_exception_version_code): Argument is an "int".
3722
16fb6b5e
JL
3723Fri Dec 4 01:29:28 1998 Jeffrey A Law (law@cygnus.com)
3724
3725 * configure.in (hppa2*-*-*): Handle like hppa1.1-*-* for now.
3726 * configure: Rebuilt.
3727
18cae839
RL
3728Fri Dec 4 01:29:28 1998 Robert Lipe <robertl@dgii.com>
3729
3730 * configure.in (mipsel-*-linux*): New target.
3731 * mips/linux.h: New file, based on other Linux targets.
3732
0fcff082
MS
3733Thu Dec 3 11:19:50 1998 Mike Stump <mrs@wrs.com>
3734
3735 * gthr-vxworks.h (__ehdtor): Fix memory leak. The delete hook
3736 runs in the context of the deleter, not the deletee, so we must
3737 use taskVarGet to find the correct memory to free.
3738 (__gthread_key_create): Initialize the task
3739 variable subsystem so that the task variable is still active when
3740 the delete hook is run.
3741
9f643ff8
JL
37421998-12-03 Joseph S. Myers <jsm28@cam.ac.uk>
3743
f4190acc
JM
3744 * pdp11.h: Use optimize_size for space optimizations.
3745 * pdp11.c: Likewise.
3746 * pdp11.md: Likewise.
3747
9f643ff8
JL
3748 * pdp11.h (TARGET_40_PLUS): Fix typo.
3749
3750Thu Dec 3 11:48:32 1998 Jeffrey A Law (law@cygnus.com)
3751
3752 * local-alloc.c (block_alloc): Slightly retune heuristic to widen
3753 qty lifetimes.
3754
39cec1ac
MH
3755Thu Dec 3 22:30:18 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3756
3757 * alias.c (addr_side_effect_eval): New function.
3758 (memrefs_conflict_p): Use it.
3759 * rtl.h (addr_side_effect_eval): Prototype it.
3760
a6a715ca
JM
37611998-12-02 Joseph S. Myers <jsm28@cam.ac.uk>
3762
3763 * pdp11.md (extendsfdf2): Fix mode mismatch in SET.
3764
226592de
JW
3765Wed Dec 2 11:23:07 1998 Jim Wilson <wilson@cygnus.com>
3766
3767 * reload.c (find_reloads): When force const to memory, put result
3768 in substed_operand not *recog_operand_loc.
3769
1747054f
UD
37701998-12-02 Ulrich Drepper <drepper@cygnus.com>
3771
3772 * c-lex.c: Fix indentation from last patch.
3773 Remove trailing whitespace.
3774 * real.c: Likewise.
3775
2536e1ee
JL
3776Wed Dec 2 10:11:12 1998 Jeffrey A Law (law@cygnus.com)
3777
3778 * flow.c (delete_block): Call set_last_insn after we have reset
3779 NEXT_INSN (kept_tail).
3780
b151501e
JL
3781Wed Dec 2 00:47:31 1998 Jeffrey A Law (law@cygnus.com)
3782
3783 * mips.md (trap_if): Use "$0" for the value zero.
3784
6f4d7222
UD
3785Tue Dec 1 20:49:49 1998 Ulrich Drepper <drepper@cygnus.com>
3786 Stephen L Moshier <moshier@world.std.com>
3787 Richard Henderson <rth@cygnus.com>
3788
3789 * c-common.c (declare_function_name): Declare predefinied variable
3790 `__func__'.
3791
3792 * c-decl.c (flag_isoc9x): Set to 1 by default.
3793 (c_decode_option): Handle -std= option. Remove -flang-isoc9x.
3794 (grokdeclarator): Always emit warning about implicit int for ISO C 9x.
3795
3796 * c-parse.in: Allow constructors in ISO C 9x.
3797 Rewrite designator list handling.
3798 Allow [*] parameters.
3799 Don't warn about comma at end of enum definition for ISO C 9x.
3800
3801 * cccp.c (c9x): New variable.
3802 (rest_extension): New variable.
3803 (print_help): Document new -std= option.
3804 (main): Recognize -std= option. Set c9x appropriately.
3805 (create_definition): Recognize ISO C 9x vararg macros.
3806
3807 * gcc.c (default_compilers): Adjust specs for -std options.
3808 (option_map): Add --std.
3809 (display_help): Document -std.
3810
3811 * toplev.c (documented_lang_options): Add -std and remove
3812 -flang-isoc9x.
3813
3814 * c-lex.c (yylex): Recognize hex FP constants and call REAL_VALUE_ATOF
3815 or REAL_VALUE_HTOF based on base of the constants.
3816 * fold-const.c (real_hex_to_f): New function. Replacement function
3817 for hex FP conversion if REAL_ARITHMETIC is not defined.
3818 * real.c (asctoeg): Add handling of hex FP constants.
3819 * real.h: Define REAL_VALUE_HTOF if necessary using ereal_atof or
3820 real_hex_to_f.
3821
08c2951c
SC
3822Tue Dec 1 16:45:49 1998 Stan Cox <scox@cygnus.com>
3823
3824 * mips.md (divmodsi4*, divmoddi4*, udivmodsi4*, udivmoddi4): Add
3825 -mcheck-range-division/-mcheck-zero-division checking. Avoid as macro
3826 expansion. Use hi/lo as destination register.
3827 (div_trap): New.
3828 (divsi3*, divdi3*, modsi3*, moddi3*, udivsi3*, udivdi3*, umodsi3*,
3829 umoddi3*): Add -mcheck-range-division/-mcheck-zero-division checking.
3830 Avoid as macro expansion. Use hi/lo as destination register.
3831
3832 * mips.h (MASK_CHECK_RANGE_DIV): New.
3833 (MASK_NO_CHECK_ZERO_DIV): New.
3834 (ELIMINABLE_REGS): Added GP_REG_FIRST + 31.
3835 (CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): Allow for getting
3836 return address for leaf functions out of r31 to support
3837 builtin_return_address.
3838
1f5fb51f
HB
3839Tue Dec 1 15:03:30 1998 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
3840
3841 * jump.c (jump_optimize): Call regs_set_between_p with PREV_INSN(x),
3842 NEXT_INSN(x) to check insn x.
3843
45c85c4e
JL
3844Tue Dec 1 15:20:44 1998 Jeffrey A Law (law@cygnus.com)
3845
e3f6ee23
JL
3846 * flow.c (delete_block): Call set_last_insn if we end up deleting the
3847 last insn in the rtl chain.
3848
45c85c4e
JL
3849 * reload1.c (reload): Do not set reload_completed or split insns
3850 here. Instead...
3851 * toplev.c (rest_of_compilation): Set reload_completed after
3852 reload returns. Split insns after reload_cse has run.
3853
df3ba30a
RH
3854Tue Dec 1 11:55:04 1998 Richard Henderson <rth@cygnus.com>
3855
3856 * final.c (final_scan_insn): Abort if block_depth falls below 0.
3857
bbc1b3f7
NC
3858Tue Dec 1 10:23:16 1998 Nick Clifton <nickc@cygnus.com>
3859
3860 * config/arm/t-arm-elf (LIBGCC2_CFLAGS): Define inhibit_libc.
3861
3862Tue Dec 1 10:22:18 1998 Nick Clifton <nickc@cygnus.com>
3863
3864 * config/arm/unknown-elf.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Remove
3865 use of user-label_prefix.
3866
2b49ee39
R
3867Tue Dec 1 17:58:26 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3868
78a2bc08
R
3869 * reload1.c (emit_reload_insns): Clear spill_reg_store
3870 when doing a new non-inherited reload from the same pseudo.
3871
2b49ee39
R
3872 * local-alloc.c (function_invariant_p): New function.
3873 (update_equiv_regs): Use function_invariant_p instead of CONSTANT_P
3874 to decide if an equivalence should be recorded.
3875 * reload1.c (num_eliminable_invariants): New static variable.
3876 (reload): Set it. Use function_invariant_p instead of CONSTANT_P
3877 to decide if an equivalence should be recorded.
3878 Unshare PLUS.
3879 (calculate_needs_all_insns): Skip insns that only set an equivalence.
3880 Take num_eliminable_invariants into account when deciding
3881 if register elimination should be done.
3882 (reload_as_needed): Take num_eliminable_invariants into account
3883 when deciding if register elimination should be done.
3884 (eliminate_regs): Handle non-constant reg_equiv_constant.
3885 * rtl.h (function_invariant_p): Declare.
3886
dfc00b38
JL
3887Mon Nov 30 02:00:08 PST 1998 Jeff Law (law@cygnus.com)
3888
3889 * version.c: Bump for snapshot.
3890
a8afb377
JL
3891Mon Nov 30 00:42:59 PST 1998 Jeff Law (law@cygnus.com)
3892
3893 * version.c: Bump for snapshot.
3894
9bbdf48e
JM
3895Sun Nov 29 22:59:40 1998 Jason Merrill <jason@yorick.cygnus.com>
3896
3897 * except.c (add_new_handler): Complain about additional handlers
3898 after one that catches everything.
3899
66953094
JL
3900Sat Nov 28 10:56:32 1998 Jeffrey A Law (law@cygnus.com)
3901
3902 * configure.in (alpha*-*-netbsd): Fix typo.
3903 * configure: Rebuilt.
3904
2778b98d
KG
3905Fri Nov 27 12:28:56 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3906
3907 * system.h: Include libiberty.h.
3908
3909 * c-aux-info.c: Remove prototypes for concat/concat3. Change
3910 function `concat' from fixed parameters to variable parameters,
3911 as is done in libiberty. All callers of concat/concat3
3912 changed to use the new `concat' with variable args.
3913
3914 * cccp.c: Remove things made redundant by libiberty.h and/or
3915 conform to libiberty standards.
3916 * cexp.y: Likewise.
3917 * collect2.c: Likewise.
3918 * config/1750a/1750a.h: Likewise.
3919 * cppalloc.c: Likewise.
3920 * cppexp.c: Likewise.
3921 * cppfiles.c: Likewise.
3922 * cpphash.c: Likewise.
3923 * cpplib.c: Likewise.
3924 * dyn-string.c: Likewise.
3925 * fix-header.c: Likewise.
3926 * gcc.c: Likewise.
3927 * gcov.c: Likewise.
3928 * genattr.c: Likewise.
3929 * genattrtab.c: Likewise.
3930 * gencheck.c: Likewise.
3931 * gencodes.c: Likewise.
3932 * genconfig.c: Likewise.
3933 * genemit.c: Likewise.
3934 * genextract.c: Likewise.
3935 * genflags.c: Likewise.
3936 * gengenrtl.c: Likewise.
3937 * genopinit.c: Likewise.
3938 * genoutput.c: Likewise.
3939 * genpeep.c: Likewise.
3940 * genrecog.c: Likewise.
3941 * getpwd.c: Likewise.
3942 * halfpic.c: Likewise.
3943 * hash.c: Likewise.
3944 * mips-tdump.c: Likewise. Wrap malloc/realloc/calloc prototypes
3945 in NEED_DECLARATION_* macros.
3946
3947 * mips-tfile.c: Remove things made redundant by libiberty.h and/or
3948 conform to libiberty standards.
3949 (fatal): Fix const-ification of variable `format' in
3950 !ANSI_PROTOTYPES case.
3951
3952 * prefix.c: Remove things made redundant by libiberty.h and/or
3953 conform to libiberty standards.
3954
3955 * print-rtl.c: Rename variable `spaces' to `xspaces' to avoid
3956 conflicting with function `spaces' from libiberty.
3957
3958 * profile.c: Remove things made redundant by libiberty.h and/or
3959 conform to libiberty standards.
3960 * protoize.c: Likewise.
3961 * rtl.h: Likewise.
3962 * scan.h: Likewise.
3963 * tlink.c: Likewise.
3964 * toplev.c: Likewise.
3965 * toplev.h: Likewise.
3966 * tree.h: Likewise.
3967
21380ab0
KG
3968Thu Nov 26 08:38:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3969
3970 * cppfiles.c (simplify_pathname): Un-ANSI-fy function definition.
3971
6e863849
MH
3972Thu Nov 26 23:45:37 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3973
3974 * README.C4X: Updated URLs.
3975 * config/c4x/c4x.c (c4x_address_conflict): Fix typo.
3976 (valid_parallel_operands_5): Remove unused variable.
3977
d97860ae
MH
3978Thu Nov 26 23:40:03 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3979
3980 * config/c4x/c4x.h (TARGET_DEFAULT): Fix typo.
3981
71205e0b
MH
39821998-11-26 Manfred Hollstein <manfred@s-direktnet.de>
3983
3984 * Makefile.in (CONFIG_LANGUAGES): New macro taking all languages
3985 which can be configured.
3986 (LANGUAGES): Use $(CONFIG_LANGUAGES) instead of @all_languages@
3987 (Makefile): Pass actual LANGUAGES through the environment when
3988 re-configuring.
3989 (cstamp-h): Likewise.
3990 (config.status): Likewise.
3991
3992 * configure.in (enable_languages): Add new configuration parameter
3993 "--enable-languages=lang1,lang2,...".
3994 (${srcdir}/*/config-lang.in): Change handling to configure only
3995 those directories, that the user might have enabled; default to
3996 "all" existing languages.
3997 * configure: Regenerate.
3998
a2e1a0bf
RH
3999Thu Nov 26 00:19:19 1998 Richard Henderson <rth@cygnus.com>
4000
4001 * rtlanal.c (regs_set_between_p): New function.
4002 * rtl.h (regs_set_between_p): Prototype it.
4003 * jump.c (jump_optimize): Use it instead of modified_between_p
4004 in the Sep 2 change.
4005
83575957
ID
4006Wed Nov 25 23:32:02 1998 Ian Dall <Ian.Dall@dsto.defence.gov.au>
4007 Matthias Pfaller <leo@dachau.marco.de>
4008
4009 * invoke.texi (Option Summary, NS32K Options): add description
4010 of NS32K specific options.
4011
4012 * ns32k.md (tstdf, cmpdf, movdf, truncdfsf2, fixdfqi2, fixdfhi2,
4013 fixdfsi2, fixunsdfqi2, fixunsdfhi2, fixunsdfsi2, fix_truncdfqi2,
4014 fix_truncdfhi2, fix_truncdfsi2, adddf3, subdf3, muldf3, divdf3,
4015 negdf2, absdf2): Use l instead of f since the double class and
4016 float class are no longer the same.
4017 (cmpsi, truncsiqi2, truncsihi2, addsi3, subsi3, mulsi3, umulsidi3,
4018 divsi3, modsi3, andsi3, iorsi3, xorsi3, negsi2, one_cmplsi2,
4019 ashlsi3, ashlhi3, ashlqi3, rotlsi3, rotlhi3, rotlqi3, abssi2,...):
4020 use "g" instead of "rmn" since LEGITIMATE_PIC_OPERAND has been
4021 fixed.
4022 (cmpsi, cmphi, cmpqi): use general_operand instead of
4023 non_immediate_operand. Removes erroneous assumption that can't
4024 compare constants.
4025 (movsf, movsi, movhi, movqi,...): New register numbering scheme.
4026 (movsi, addsi3): Use NS32K_DISPLACEMENT_P instead of hard coded
4027 constants.
4028 (movstrsi, movstrsi1, movstrsi2): completely new block move
4029 scheme.
4030 (...): Patterns to exploit multiply-add instructions.
4031 (udivmodsi4, udivmodsi_internal4, udivmodhi4,
4032 udivmoddihi4_internal, udivmodqi4, udivmoddiqi4_internal): new
4033 patterns to exploit extended divide insns.
4034 (udivsi3, udivhi3, udivqi3): remove since superceded by udivmodsi
4035 etc patterns.
4036
4037 * ns32k.h (FUNCTION_VALUE, LIBCALL_VALUE): Use f0 for complex
4038 float return values as well as simple scalar floats.
4039 (TARGET_32381, TARGET_MULT_ADD, TARGET_SWITCHES):
4040 support new flag to denote 32381 fpu.
4041 (OVERRIDE_OPTIONS): 32381 is a strict superset of 32081.
4042 (CONDITIONAL_REGISTER_USAGE): disable extra 32381 registers if not
4043 compling for 32381.
4044 (FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS,
4045 REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES, OUTPUT_REGISTER_NAMES,
4046 REG_ALLOC_ORDER, DBX_REGISTER_NUMBER, R0_REGNUM, F0_REGNUM,
4047 L1_REGNUM, STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM,
4048 LONG_FP_REGS_P, ARG_POINTER_REGNUM, reg_class, REG_CLASS_NAMES,
4049 REG_CLASS_CONTENTS, SUBSET_P,REGNO_REG_CLASS,
4050 REG_CLASS_FROM_LETTER, FUNCTION_PROLOGUE, FUNCTION_EPILOGUE,
4051 REGNO_OK_FOR_INDEX_P, FP_REG_P, REG_OK_FOR_INDEX_P,
4052 REG_OK_FOR_BASE_P, MEM_REG): new register scheme to include 32381
4053 fpu registers and special register classes for new 32381
4054 instructions dotf and polyf.
4055 (MODES_TIEABLE_P): Allow all integer modes, notably DI and SI, to
4056 be tieable.
4057 (INCOMING_RETURN_ADDR_RTX, RETURN_ADDR_RTX,
4058 INCOMING_FRAME_SP_OFFSET): New macros in case DWARF support is
4059 required.
4060 (SMALL_REGISTER_CLASSES): Make dependant on -mmult-add option.
4061 (MOVE_RATIO): Set to zero because of smart movstrsi implimentation.
4062 (REGISTER_MOVE_COST): move code to register_move_cost function for
4063 ease of coding and debugging.
4064 (CLASS_LIKELY_SPILLED_P): Under new register scheme class
4065 LONG_FLOAT_REGO is likely spilled but not caught by default
4066 definition.
4067 (CONSTANT_ADDRESS_P, CONSTANT_ADDRESS_NO_LABEL_P): use macro
4068 instead of hard coded numbers in range check.
4069 (ASM_OUTPUT_LABELREF_AS_INT): delete since unused.
4070 (...): Add prototypes for functions in ns32k.c but disable because
4071 of problems when ns32k.h is included in machine independant files.
4072
4073 * ns32k.c: include "system.h", "tree.h", "expr.h", "flags.h".
4074 (ns32k_reg_class_contents, regcass_map, ns32k_out_reg_names,
4075 hard_regno_mode_ok, secondary_reload_class,
4076 print_operand, print_operand_address): new register scheme to
4077 include 32381 fpu registers and special register classes for new
4078 32381 instructions dotf and polyf.
4079 (gen_indexed_expr): Make static to keep namespace clean.
4080 (check_reg): remove since never called.
4081 (move_tail, expand_block_move): helper functions for "movstrsi"
4082 block move insn.
4083 (register_move_cost): Helper function for REGISTER_MOVE_COST macro.
4084 Increase cost of moves which go via memory.
4085 * netbsd.h (TARGET_DEFAULT): Set (new) 32381 fpu flag.
4086 (CPP_PREDEFINES): nolonger predefine "unix".
4087
4088 * ns32k.md (movsi, movsi, adddi3, subdi3, subsi3, subhi3, subqi3,...):
4089 Remove erroneous %$. print_operand() can work out from the rtx is
4090 an immediate prefix is required.
4091
4092 * ns32k.h (RETURN_POPS_ARGS, VALID_MACHINE_DECL_ATTRIBUTE,
4093 VALID_MACHINE_TYPE_ATTRIBUTE, COMP_TYPE_ATTRIBUTES,
4094 SET_DEFAULT_TYPE_ATTRIBUTES): Support for -mrtd calling
4095 convention.
4096 (LEGITIMATE_PIC_OPERAND_P, SYMBOLIC_CONST): Correct handling of
4097 pic operands.
4098
4099 * ns32k.c (symbolic_reference_mentioned_p, print_operand):
4100 Correct handling of pic operands.
4101 (ns32k_valid_decl_attribute_p, ns32k_valid_type_attribute_p,
4102 ns32k_comp_type_attributes, ns32k_return_pops_args): Support for
4103 -mrtd calling convention.
4104
36696297
TT
4105Wed Nov 25 23:42:20 1998 Tom Tromey <tromey@cygnus.com>
4106
4107 * gcc.c (option_map): Recognize --output-class-directory.
4108
e96b4d7a
MH
4109Thu Nov 26 18:26:21 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4110
4111 * loop.h (precondition_loop_p): Added new mode argument.
4112 * unroll.c (precondition_loop_p): Likewise.
4113 (approx_final_value): Function deleted and subsumed
4114 into loop_iterations.
4115 (loop_find_equiv_value): New function.
4116 (loop_iterations): Use loop_find_equiv_value to find increments
4117 too large to be immediate constants. Also use it to find terms
4118 common to initial and final iteration values that can be removed.
4119
302670f3
MH
4120Thu Nov 26 18:05:04 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4121
4122 * loop.h (struct loop_info): Define new structure.
4123 (precondition_loop_p): Added prototype.
4124 (unroll_loop): Added new argument loop_info to prototype.
4125 (final_biv_value, final_giv_value): Added new argument n_iterations
4126 to prototype.
4127 * loop.c (strength_reduce): Declare new structure loop_iteration_info
4128 and new pointer loop_info.
4129 (loop_n_iterations): Replace global variable by element in
4130 loop_info structure.
4131 (check_final_value): New argument n_iterations.
4132 (insert_bct): New argument loop_info.
4133 (loop_unroll_factor): Replace global array by element in
4134 loop_info structure.
4135 (loop_optimize): Remove code to allocate and initialise
4136 loop_unroll_factor_array.
4137 * unroll.c (precondition_loop_p): No longer static since
4138 used by branch on count optimization.
4139 (precondition_loop_p, unroll_loop): New argument loop_info.
4140 (final_biv_value, final_giv_value, find_splittable_regs): New
4141 argument n_iterations.
4142 (loop_iteration_var, loop_initial_value, loop_increment,
4143 loop_final_value, loop_comparison_code, loop_unroll_factor):
4144 Replaced global variables by loop_info structure.
4145 (loop_unroll_factor): Replace global array by element in
4146 loop_info structure.
4147
a7060368
MH
4148Thu Nov 26 17:49:29 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4149
4150 * loop.c (check_dbra_loop): Update JUMP_LABEL field of jump insn
4151 when loop reversed.
4152
4153 * unroll.c (precondition_loop_p): Return loop_initial_value
4154 for initial_value instead of loop_iteration_var.
4155
959e0a76
MH
4156Thu Nov 26 17:15:38 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4157
4158 * config/c4x/c4x.md: Fix minor formatting problems. Update docs.
4159 (*b, *b_rev, *b_noov, *b_noov_rev, *db,
4160 decrement_and_branch_until_zero, rptb_end): Use c4x_output_cbranch
4161 to output the instruction sequences.
4162 (rpts): Delete.
4163 (rptb_top): Provide alternatives to use any register or memory
4164 for loop counter.
4165 (rptb_end): Emit use of operands rather than assigning them
4166 explicitly to the RS and RE registers.
4167
0fe69aba
MH
4168Thu Nov 26 16:37:59 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4169
4170 * config/c4x/c4x.c (c4x_modified_between_p, c4x_mem_set_p,
4171 c4x_mem_set_p, c4x_mem_modified_between_p, c4x_insn_moveable_p,
4172 c4x_parallel_pack, c4x_parallel_find, c4x_update_info_reg,
4173 c4x_update_info_regs, c4x_copy_insn_after, c4x_copy_insns_after,
4174 c4x_merge_notes, c4x_parallel_process,
4175 c4x_combine_parallel_independent, c4x_combine_parallel_dependent,
4176 c4x_combine_parallel): Delete.
4177
4178Thu Nov 26 15:16:05 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4179
4180 * config/c4x/c4x.c: (c4x_override_options): For compatibility
4181 with old target options clear flag_branch_on_count_reg if
4182 -mno-rptb specified and set flag_argument_alias is -mno-aliases
4183 specified.
4184 (c4x_output_cbranch): Handle a sequence of insns rather than a
4185 single insn.
4271f003 4186 (c4x_rptb_insert): Do not emit a RPTB insn if the RC register
0fe69aba 4187 has not been allocated as the loop counter.
4271f003
MH
4188 (c4x_address_conflict): Do not allow two volatile memory references.
4189 (valid_parallel_operands_4, valid_parallel_operands_5,
4190 valid_parallel_operands_6): Reject pattern if the register destination
4191 of the first set is used as part of an address in the second set.
0fe69aba 4192
2e3e9ead
MH
4193Thu Nov 26 14:56:32 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4194
4195 * config/c4x/c4x.h (TARGET_DEFAULT): Add PARALEL_MPY_FLAG.
4196 (TARGET_SMALL_REG_CLASS): Set to 0 so that SMALL_REGISTER_CLASSES
4197 is no longer enabled if PARALLEL_MPY_FLAG set.
4198 (HARD_REGNO_CALL_CLOBBERED): Add parentheses to remove ambiguity.
4199 (REG_CLASS_CONTENTS): Add braces around initializers.
4200 (HAVE_MULTIPLE_PACK): Define.
4201 (ASM_OUTPUT_BYTE_FLOAT): Use %lf format specifier with
4202 REAL_VALUE_TO_DECIMAL.
4203 (ASM_OUTPUT_SHORT_FLOAT): Use %lf format specifier with
4204 REAL_VALUE_TO_DECIMAL.
4205 (ar0_reg_operand): Add prototype.
4206 (ar0_mem_operand): Likewise.
4207 (ar1_reg_operand): Likewise.
4208 (ar1_mem_operand): Likewise.
4209 (ar2_reg_operand): Likewise.
4210 (ar2_mem_operand): Likewise.
4211 (ar3_reg_operand): Likewise.
4212 (ar3_mem_operand): Likewise.
4213 (ar4_reg_operand): Likewise.
4214 (ar4_mem_operand): Likewise.
4215 (ar5_reg_operand): Likewise.
4216 (ar5_mem_operand): Likewise.
4217 (ar6_reg_operand): Likewise.
4218 (ar6_mem_operand): Likewise.
4219 (ar7_reg_operand): Likewise.
4220 (ar7_mem_operand): Likewise.
4221 (ir0_reg_operand): Likewise.
4222 (ir0_mem_operand): Likewise.
4223 (ir1_reg_operand): Likewise.
4224 (ir1_mem_operand): Likewise.
4225 (group1_reg_operand): Likewise.
4226 (group1_mem_operand): Likewise.
4227 (ir1_reg_operand): Likewise.
4228 (arx_reg_operand): Likewise.
4229 (not_rc_reg): Likewise.
4230 (not_modify_reg): Likewise.
4231 (c4x_group1_reg_operand): Remove prototype.
4232 (c4x_group1_mem_operand): Likewise.
4233 (c4x_arx_reg_operand): Likewise.
4234
a46f03ea
SM
4235Wed Nov 25 19:02:55 1998 (Stephen L Moshier) <moshier@world.std.com>
4236
4237 * emit-rtl.c (gen_lowpart_common): Remove earlier change.
4238 * real.c (make_nan): Make SIGN arg actually specify the sign bit.
4239
f3ed04e7
MH
4240Thu Nov 26 14:12:05 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4241
4242 * config/c4x/c4x.md (addqi3): Emit addqi3_noclobber pattern
4243 during reload.
4244
0e1bd737
R
4245Wed Nov 25 22:05:28 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4246
4247 * config/sh/lib1funcs.asm (___udivsi3_i4): Don't switch to sz == 1
4248 unless FMOVD_WORKS is defined.
4249
910bc42d
R
4250Wed Nov 25 20:11:04 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4251
4252 * regclass.c (init_reg_sets): Move code that calculates tables
4253 dependent on reg_class_contents from here...
4254 (init_reg_sets_1): To here.
4255
0b3d776a
ZW
4256Wed Nov 25 14:54:46 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
4257
4258 * cpplib.h: Delete struct import_file. Add ihash element to
4259 struct cpp_buffer. Delete dont_repeat_files and
4260 import_hash_table elements from cpp_reader; change
4261 all_include_files to a hash table. Delete all foobar_include
4262 / last_foobar_include elements from struct cpp_options; put
4263 back four such: quote_include, bracket_include,
4264 system_include, after_include. Redo struct file_name_list
4265 completely. Add new structure type include_hash. Add
4266 prototypes for merge_include_chains and include_hash. Change
4267 prototypes for finclude, find_include_file, and
4268 append_include_chain to match changes below.
4269
4270 * cppfiles.c (simplify_pathname, include_hash,
4271 remap_filename, merge_include_chains): New functions.
4272 (add_import, lookup_import, open_include_file): Removed.
4273 (INO_T_EQ): Define this (copied from cccp.c).
4274 (hack_vms_include_specification): Remove all calls and #if 0
4275 out the definition. It was being called incorrectly and at
4276 the wrong times. Until a VMSie can look at this, it's better
4277 to not pretend to support it.
4278 (append_include_chain): Change calling convention; now takes
4279 only one directory at a time, and sets up the data structure
4280 itself.
4281 (redundant_include_p): Rewritten - this is now used for all
4282 include redundancy, whether by #ifndef, #import, or #pragma
4283 once. Looks up things in the include hash table.
4284 (file_cleanup): Decrement pfile->system_include_depth here if
4285 it's >0.
4286 (find_include_file): Calling convention changed; now passes
4287 around a struct include_hash instead of 3 separate parameters.
4288 Guts ripped out and replaced with new include_hash mechanism.
4289 (finclude): Calling convention changed as for
4290 find_include_file. Error exits pulled out-of-line. Reformat.
4291 (safe_read): Return a long, not an int.
4292 (deps_output): Don't recurse.
4293
4294 * cpplib.c (is_system_include): Deleted.
4295 (path_include): Fix up call to append_include_chain.
4296 (do_include): Fix up calls to find_include_file and finclude.
4297 Clean up dependency output a bit. Shorten obnoxiously lengthy
4298 #import warning message. Don't decrement
4299 pfile->system_include_depth here.
4300 (do_pragma): Understand the include_hash structure. Reformat.
4301 (do_endif): Correct handling of control macros. Understand
4302 the include_hash.
4303 (cpp_start_read): Fix up calls to finclude. Call
4304 merge_include_chains.
4305 (cpp_handle_option): Fix up calls to append_include_chain.
4306 Understand the four partial include chains.
4307 (cpp_finish): Add debugging code (#if 0-ed out) for the
4308 include_hash.
4309 (cpp_cleanup): Free the include_hash, not the import hash and
4310 the all_include and dont_repeat lists which no longer exist.
4311
f1db3576
JL
4312Wed Nov 25 11:26:19 1998 Jeffrey A Law (law@cygnus.com)
4313
4314 * toplev.c (no_new_pseudos): Define.
4315 (rest_of_compilation): Set no_new_pseudos as needed.
4316 * emit-rtl.c (gen_reg_rtx): Abort if we try to create a new pseudo
4317 if no_new_pseudos is set.
4318 * rtl.h (no_new_pseudos): Declare it.
4319 * reload1.c (reload): Update comments.
4320 * md.texi: Corresponding changes.
4321
4322Wed Nov 25 11:26:17 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
4323
4324 * reload1.c (reg_used_in_insn): Renamed from reg_used_by_pseudo.
4325 (choose_reload_regs): Rename it here as well. When computing it,
4326 also merge in used hardregs.
4327
b12da25e
ZW
43281998-11-25 07:51 -0500 Zack Weinberg <zack@rabi.phys.columbia.edu>
4329
4330 * gcc.c: Split out Objective-C specs to...
4331 * objc/lang-specs.h: here. (New file.) Make the specs cpplib
4332 aware.
4333
4334 * c-lex.c (init_parse): Always initialize the filename global.
4335 * objc/objc-act.c (lang_init): Always call check_newline at
4336 beginning of file.
4337
5828374f
GS
4338Wed Nov 25 00:48:29 1998 Graham <grahams@rcp.co.uk>
4339
4340 * reload1.c (reload): Remove unused variable.
4341 (reload_reg_free_for_value_p): Add missing parameter definition.
4342
4343 * jump.c (jump_optimize): Remove unused variable.
4344
940da324
JL
4345Wed Nov 25 00:07:11 1998 Jeffrey A Law (law@cygnus.com)
4346
0c3a267b
JL
4347 * Makefile.in (graph.o): Depend on $(RTL_H), not rtl.h.
4348
940da324
JL
4349 * cse.c (fold_rtx): Make autoincrement addressing mode tests be
4350 runtime selectable.
4351 * expr.c (move_by_pieces): Similarly.
4352 (move_by_pieces_1, clear_by_pieces, clear_by_pieces_1): Similarly.
4353 * flow.c (find_auto_inc): Similarly.
4354 (try_pre_increment): Similarly.
4355 * loop.c (strength_reduce): Similarly.
4356 * regclass.c (auto_inc_dec_reg_p): Similarly.
4357 * regmove.c (try_auto_increment): Similarly.
4358 (fixup_match_1): Similarly.
4359 * rtl.h (HAVE_PRE_INCREMENT): Define if not already defined.
4360 (HAVE_PRE_DECREMENT): Similarly.
4361 (HAVE_POST_INCREMENT, HAVE_POST_DECREMENT): Similarly.
0c3a267b
JL
4362 * Corresponding changes to all target header files.
4363 * tm.texi: Update docs for autoinc addressing modes.
940da324 4364
d1be3be3
JW
4365Tue Nov 24 20:24:59 1998 Jim Wilson <wilson@cygnus.com>
4366
4367 * configure.in (m68020-*-elf*, m68k-*-elf*): New targets.
4368 * configure: Rebuild.
4369 * config/elfos.h: New file.
4370 * config/m68k/m68020-elf.h, config/m68k/m68kelf.h,
4371 config/m68k/t-m68kelf: New file.
4372
f6c2a93c
JL
4373Tue Nov 24 13:40:06 1998 Jeffrey A Law (law@cygnus.com)
4374
4375 * Makefile.in (HOST_AR): Define.
4376 (HOST_AR_FLAGS, HOST_RANLIB, HOST_RANLIB_TEST): Similarly.
4377 (libcpp.a): Use the host tools explicitly.
4378 (STAGESTUFF): Add libcpp.a.
4379
6970d948
NC
4380Tue Nov 24 09:33:49 1998 Nick Clifton <nickc@cygnus.com>
4381
4382 * config/m32r/m32r.md (movstrsi_internal): Describe changes made
4383 to source and destination registers.
4384
d0b9a143
MS
4385Mon Nov 23 20:28:02 1998 Mike Stump <mrs@wrs.com>
4386
4387 * libgcc2.c (top_elt): Remove top_elt, it isn't thread safe.
4388 The strategy we now use is to pre allocate the top_elt along
4389 with the EH context so that each thread has its own top_elt.
4390 This is necessary as the dynmanic cleanup chain is used on the
4391 top element of the stack and each thread MUST have its own.
4392 (eh_context_static): Likewise.
4393 (new_eh_context): Likewise.
4394 (__sjthrow): Likewise.
4395
8c8a9717
JM
4396Mon Nov 23 20:25:03 1998 Jason Merrill <jason@yorick.cygnus.com>
4397
4398 * i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Wrap in do...while.
4399 * i386.md (prologue_get_pc): Remove unused variable.
4400
b8a14125
GN
4401Mon Nov 23 17:05:40 1998 Geoffrey Noer <noer@cygnus.com>
4402
4403 * i386/xm-cygwin.h: Rename cygwin_ path funcs back to cygwin32_.
4404
735a0e33
UD
4405Mon Nov 23 16:40:00 1998 Ulrich Drepper <drepper@cygnus.com>
4406
4407 * Makefile.in (OBJS): Add graph.o
4408 (graph.o): New dependency list.
4409 * flags.h: Declare dump_for_graph and define graph_dump_types type.
4410 * print-rtl.c (dump_for_graph): Define new variable.
4411 (print_rtx): Rewrite to allow use in graph dumping functions.
4412 * toplev.c: Declare print_rtl_graph_with_bb, clean_graph_dump_file,
4413 finish_graph_dump_file.
4414 Define graph_dump_format.
4415 (compile_file): If graph dumping is enabled also clear these files.
4416 Finish graph dump files.
4417 (rest_of_compilation): Also dump graph information if enabled.
4418 (main): Recognize -dv to enabled VCG based graph dumping.
4419 * graph.c: New file. Graph dumping functions.
4420
a05e22b8
RH
4421Mon Nov 23 16:39:04 1998 Richard Henderson <rth@cygnus.com>
4422
4423 * configure.in: Look for <sys/stat.h>.
4424 * system.h: Include it before substitute S_ISREG definitions.
4425
a53f72db
GRK
4426Mon Nov 23 17:40:37 1998 Gavin Romig-Koch <gavin@cygnus.com>
4427
4428 * config/mips/abi.h: Use ABI_O64, duplicating ABI_32 usage.
4429 * config/mips/iris6.h: Same.
4430 * config/mips/mips.md: Same.
4431 * config/mips/mips.c: Same; also add "-mabi=o64" option.
4432 * config/mips/mips.h: Same; also define ABI_O64.
4433
c9a3de16
KG
4434Mon Nov 23 17:02:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4435
4436 * configure.in: Use AC_PREREQ(2.12.1).
4437
9855b854
MN
4438Mon Nov 23 10:16:38 1998 "Melissa O'Neill" <oneill@cs.sfu.ca>
4439
4440 * cccp.c (S_ISREG, S_ISDIR): Delete defines.
4441 * cpplib.c, gcc.c: Likewise.
4442 * system.h (S_ISREG, S_ISDIR): Define if not already defined.
4443
578db09b
RH
4444Mon Nov 23 09:53:44 1998 Richard Henderson <rth@cygnus.com>
4445
4446 * local-alloc.c (local_alloc): Use malloc not alloca for
4447 reg_qty, reg_offset, ref_next_in_qty.
4448
225e4f43
R
4449Mon Nov 23 16:46:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4450
193f66a9
JL
4451 * caller-save.c (insert_one_insn): Initialize the live_before and
4452 live_after register sets.
4453
225e4f43
R
4454 Add SH4 support:
4455
4456 * config/sh/lib1funcs.asm (___movstr_i4_even, ___movstr_i4_odd): Define.
4457 (___movstrSI12_i4, ___sdivsi3_i4, ___udivsi3_i4): Define.
4458 * sh.c (reg_class_from_letter, regno_reg_class): Add DF_REGS.
4459 (fp_reg_names, assembler_dialect): New variables.
4460 (print_operand_address): Handle SUBREGs.
4461 (print_operand): Added 'o' case.
4462 Don't use adj_offsettable_operand on PRE_DEC / POST_INC.
4463 Name of FP registers depends on mode.
4464 (expand_block_move): Emit different code for SH4 hardware.
4465 (prepare_scc_operands): Use emit_sf_insn / emit_df_insn as appropriate.
4466 (from_compare): Likewise.
4467 (add_constant): New argument last_value. Changed all callers.
4468 (find_barrier): Don't try HImode load for FPUL_REG.
4469 (machine_dependent_reorg): Likewise.
4470 (sfunc_uses_reg): A CLOBBER cannot be the address register use.
4471 (gen_far_branch): Emit a barrier after the new jump.
4472 (barrier_align): Don't trust instruction lengths before
4473 fixing up pcloads.
4474 (machine_dependent_reorg): Add support for FIRST_XD_REG .. LAST_XD_REG.
4475 Use auto-inc addressing for fp registers if doubles need to
4476 be loaded in two steps.
4477 Set sh_flag_remove_dead_before_cse.
4478 (push): Support for TARGET_FMOVD. Use gen_push_fpul for fpul.
4479 (pop): Support for TARGET_FMOVD. Use gen_pop_fpul for fpul.
4480 (calc_live_regs): Support for TARGET_FMOVD. Don't save FPSCR.
4481 Support for FIRST_XD_REG .. LAST_XD_REG.
4482 (sh_expand_prologue): Support for FIRST_XD_REG .. LAST_XD_REG.
4483 (sh_expand_epilogue): Likewise.
4484 (sh_builtin_saveregs): Use DFmode moves for fp regs on SH4.
4485 (initial_elimination_offset): Take TARGET_ALIGN_DOUBLE into account.
4486 (arith_reg_operand): FPUL_REG is OK for SH4.
4487 (fp_arith_reg_operand, fp_extended_operand) New functions.
4488 (tertiary_reload_operand, fpscr_operand): Likewise.
4489 (commutative_float_operator, noncommutative_float_operator): Likewise.
4490 (binary_float_operator, get_fpscr_rtx, emit_sf_insn): Likewise.
4491 (emit_df_insn, expand_sf_unop, expand_sf_binop): Likewise.
4492 (expand_df_unop, expand_df_binop, expand_fp_branch): Likewise.
4493 (emit_fpscr_use, mark_use, remove_dead_before_cse): Likewise.
4494 * sh.h (CPP_SPEC): Add support for -m4, m4-single, m4-single-only.
4495 (CONDITIONAL_REGISTER_USAGE): Likewise.
4496 (HARD_SH4_BIT, FPU_SINGLE_BIT, SH4_BIT, FMOVD_BIT): Define.
4497 (TARGET_CACHE32, TARGET_SUPERSCALAR, TARGET_HARWARD): Define.
4498 (TARGET_HARD_SH4, TARGET_FPU_SINGLE, TARGET_SH4, TARGET_FMOVD): Define.
4499 (target_flag): Add -m4, m4-single, m4-single-only, -mfmovd.
4500 (OPTIMIZATION_OPTIONS): If optimizing, set flag_omit_frame_pointer
4501 to -1 and sh_flag_remove_dead_before_cse to 1.
4502 (ASSEMBLER_DIALECT): Define to assembler_dialect.
4503 (assembler_dialect, fp_reg_names): Declare.
4504 (OVERRIDE_OPTIONS): Add code for TARGET_SH4.
4505 Hide names of registers that are not accessible.
4506 (CACHE_LOG): Take TARGET_CACHE32 into account.
4507 (LOOP_ALIGN): Take TARGET_HARWARD into account.
4508 (FIRST_XD_REG, LAST_XD_REG, FPSCR_REG): Define.
4509 (FIRST_PSEUDO_REGISTER: Now 49.
4510 (FIXED_REGISTERS, CALL_USED_REGISTERS): Include values for registers.
4511 (HARD_REGNO_NREGS): Special treatment of FIRST_XD_REG .. LAST_XD_REG.
4512 (HARD_REGNO_MODE_OK): Update.
4513 (enum reg_class): Add DF_REGS and FPSCR_REGS.
4514 (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REG_ALLOC_ORDER): Likewise.
4515 (SECONDARY_OUTPUT_RELOAD_CLASS, SECONDARY_INPUT_RELOAD_CLASS): Update.
4516 (CLASS_CANNOT_CHANGE_SIZE, DEBUG_REGISTER_NAMES): Define.
4517 (NPARM_REGS): Eight floating point parameter registers on SH4.
4518 (BASE_RETURN_VALUE_REG): SH4 also passes double values
4519 in floating point registers.
4520 (GET_SH_ARG_CLASS) Likewise.
4521 Complex float types are also returned in float registers.
4522 (BASE_ARG_REG): Complex float types are also passes in float registers.
4523 (FUNCTION_VALUE): Change mode like PROMOTE_MODE does.
4524 (LIBCALL_VALUE): Remove trailing semicolon.
4525 (ROUND_REG): Round when double precision value is passed in floating
4526 point register(s).
4527 (FUNCTION_ARG_ADVANCE): No change wanted for SH4 when things are
4528 passed on the stack.
4529 (FUNCTION_ARG): Little endian adjustment for SH4 SFmode.
4530 (FUNCTION_ARG_PARTIAL_NREGS): Zero for SH4.
4531 (TRAMPOLINE_ALIGNMENT): Take TARGET_HARWARD into account.
4532 (INITIALIZE_TRAMPOLINE): Emit ic_invalidate_line for TARGET_HARWARD.
4533 (MODE_DISP_OK_8): Not for SH4 DFmode.
4534 (GO_IF_LEGITIMATE_ADDRESS): No base reg + index reg for SH4 DFmode.
4535 Allow indexed addressing for PSImode after reload.
4536 (LEGITIMIZE_ADDRESS): Not for SH4 DFmode.
4537 (LEGITIMIZE_RELOAD_ADDRESS): Handle SH3E SFmode.
4538 Don't change SH4 DFmode nor PSImode RELOAD_FOR_INPUT_ADDRESS.
4539 (DOUBLE_TYPE_SIZE): 64 for SH4.
4540 (RTX_COSTS): Add PLUS case.
4541 Increae cost of ASHIFT, ASHIFTRT, LSHIFTRT case.
4542 (REGISTER_MOVE_COST): Add handling of R0_REGS, FPUL_REGS, T_REGS,
4543 MAC_REGS, PR_REGS, DF_REGS.
4544 (REGISTER_NAMES): Use fp_reg_names.
4545 (enum processor_type): Add PROCESSOR_SH4.
4546 (sh_flag_remove_dead_before_cse): Declare.
4547 (rtx_equal_function_value_matters, fpscr_rtx, get_fpscr_rtx): Declare.
4548 (PREDICATE_CODES): Add binary_float_operator,
4549 commutative_float_operator, fp_arith_reg_operand, fp_extended_operand,
4550 fpscr_operand, noncommutative_float_operator.
4551 (ADJUST_COST): Use different scale for TARGET_SUPERSCALAR.
4552 (SH_DYNAMIC_SHIFT_COST): Cheaper for SH4.
4553 * sh.md (attribute cpu): Add value sh4.
4554 (attrbutes fmovd, issues): Define.
4555 (attribute type): Add values dfp_arith, dfp_cmp, dfp_conv, dfdiv.
4556 (function units memory, int, mpy, fp): Make dependent on issue rate.
4557 (function units issue, single_issue, load_si, load): Define.
4558 (function units load_store, fdiv, gp_fpul): Define.
4559 (attribute hit_stack): Provide proper default.
4560 (use_sfunc_addr+1, udivsi3): Predicated on ! TARGET_SH4.
4561 (udivsi3_i4, udivsi3_i4_single, divsi3_i4, divsi3_i4_single): New insns.
4562 (udivsi3, divsi3): Emit special patterns for SH4 hardware,
4563 (mulsi3_call): Now uses match_operand for function address.
4564 (mulsi3): Also emit code for SH1 case. Wrap result in REG_LIBCALL /
4565 REG_RETVAL notes.
4566 (push, pop, push_e, pop_e): Now define_expands.
4567 (push_fpul, push_4, pop_fpul, pop_4, ic_invalidate_line): New expanders.
4568 (movsi_ie): Added y/i alternative.
4569 (ic_invalidate_line_i, movdf_i4): New insns.
4570 (movdf_i4+[123], reload_outdf+[12345], movsi_y+[12]): New splitters.
4571 (reload_indf, reload_outdf, reload_outsf, reload_insi): New expanders.
4572 (movdf): Add special code for SH4.
4573 (movsf_ie, movsf_ie+1, reload_insf, calli): Make use of fpscr visible.
4574 (call_valuei, calli, call_value): Likewise.
4575 (movsf): Emit no-op move.
4576 (mov_nop, movsi_y): New insns.
4577 (blt, sge): generalize to handle DFmode.
4578 (return predicate): Call emit_fpscr_use and remove_dead_before_cse.
4579 (block_move_real, block_lump_real): Predicate on ! TARGET_HARD_SH4.
4580 (block_move_real_i4, block_lump_real_i4, fpu_switch): New insns.
4581 (fpu_switch0, fpu_switch1, movpsi): New expanders.
4582 (fpu_switch+[12], fix_truncsfsi2_i4_2+1): New splitters.
4583 (toggle_sz): New insn.
4584 (addsf3, subsf3, mulsf3, divsf3): Now define_expands.
4585 (addsf3_i, subsf3_i, mulsf3_i4, mulsf3_ie, divsf3_i): New insns.
4586 (macsf3): Make use of fpscr visible. Disable for SH4.
4587 (floatsisf2): Make use of fpscr visible.
4588 (floatsisf2_i4): New insn.
4589 (floatsisf2_ie, fixsfsi, cmpgtsf_t, cmpeqsf_t): Disable for SH4.
4590 (ieee_ccmpeqsf_t): Likewise.
4591 (fix_truncsfsi2): Emit different code for SH4.
4592 (fix_truncsfsi2_i4, fix_truncsfsi2_i4_2, cmpgtsf_t_i4): New insns.
4593 (cmpeqsf_t_i4, ieee_ccmpeqsf_t_4): New insns.
4594 (negsf2, sqrtsf2, abssf2): Now expanders.
4595 (adddf3, subdf3i, muldf2, divdf3, floatsidf2): New expanders.
4596 (negsf2_i, sqrtsf2_i, abssf2_i, adddf3_i, subdf3_i): New insns.
4597 (muldf3_i, divdf3_i, floatsidf2_i, fix_truncdfsi2_i): New insns.
4598 (fix_truncdfsi2, cmpdf, negdf2, sqrtdf2, absdf2): New expanders.
4599 (fix_truncdfsi2_i4, cmpgtdf_t, cmpeqdf_t, ieee_ccmpeqdf_t): New insns.
4600 (fix_truncdfsi2_i4_2+1): New splitters.
4601 (negdf2_i, sqrtdf2_i, absdf2_i, extendsfdf2_i4): New insns.
4602 (extendsfdf2, truncdfsf2): New expanders.
4603 (truncdfsf2_i4): New insn.
4604 * t-sh (LIB1ASMFUNCS): Add _movstr_i4, _sdivsi3_i4, _udivsi3_i4.
4605 (MULTILIB_OPTIONS): Add m4-single-only/m4-single/m4.
4606 * float-sh.h: When testing for __SH3E__, also test for
4607 __SH4_SINGLE_ONLY__ .
4608 * va-sh.h (__va_freg): Define to float.
4609 (__va_greg, __fa_freg, __gnuc_va_list, va_start):
4610 Define for __SH4_SINGLE_ONLY__ like for __SH3E__ .
4611 (__PASS_AS_FLOAT, __TARGET_SH4_P): Likewise.
4612 (__PASS_AS_FLOAT): Use different definition for __SH4__ and
4613 __SH4_SINGLE__.
4614 (TARGET_SH4_P): Define.
4615 (va_arg): Use it.
4616
4617 * sh.md (movdf_k, movsf_i): Tweak the condition so that
4618 init_expr_once is satisfied about the existence of load / store insns.
4619
4620 * sh.md (movsi_i, movsi_ie, movsi_i_lowpart, movsf_i, movsf_ie):
4621 change m constraint in source operand to mr / mf .
4622
4623 * va-sh.h (__va_arg_sh1): Use __asm instead of asm.
4624
4625 * (__VA_REEF): Define.
4626 (__va_arg_sh1): Use it.
4627
4628 * va-sh.h (va_start, va_arg, va_copy): Add parenteses.
4629
668d9af5
JL
4630Sun Nov 22 21:34:02 1998 Jeffrey A Law (law@cygnus.com)
4631
4632 * i386/dgux.c (struct option): Add new "description field".
4633 * m88k/m88k.c (struct option): Likewise.
4634
e736f77a
JL
4635Sun Nov 22 16:07:57 PST 1998 Jeff Law (law@cygnus.com)
4636
4637 * version.c: Bump for snapshot.
4638
3d2f8eb6
BS
4639Sun Nov 22 13:40:02 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
4640
4641 * regmove.c (regmove_profitable_p): Use return value of find_matches
4642 properly.
4643
57412d4f
JL
4644Sun Nov 22 02:47:37 PST 1998 Jeff Law (law@cygnus.com)
4645
4646 * version.c: Bump for snapshot.
4647
225a7e3d
JL
4648Sat Nov 21 22:12:09 1998 Jeffrey A Law (law@cygnus.com)
4649
9969bb2c
JL
4650 * reload1.c (eliminate_regs): Do not lose if eliminate_regs is called
4651 without reload having been called earlier.
4652
2268cc52
JL
4653 * v850.c (ep_memory_operand): Offsets < 0 are not valid for EP
4654 addressing modes.
4655 (v850_reorg): Similarly.
4656
225a7e3d
JL
4657 * loop.c (check_dbra_loop): Avoid using gen_add2_insn.
4658
18985c91
R
4659Sat Nov 21 02:18:38 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4660
4661 * loop.c (move_movables): Start of libcall might be new loop start.
4662
d25a233e
KG
4663Fri Nov 20 12:14:16 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4664
4665 * hash.c (hash_table_init_n): Wrap prototype arguments in PARAMS().
4666
ba716ac9
BS
4667Fri Nov 20 08:34:00 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
4668
4669 * function.c (nonlocal_goto_handler_slots): Renamed from
4670 nonlocal_goto_handler_slot; now an EXPR_LIST chain.
4671 (push_function_context_to): Adjust for this change.
4672 (pop_function_context_from): Likewise.
4673 (init_function_start): Likewise.
4674 (expand_function_end): Likewise.
4675 * function.h (struct function): Likewise.
4676 * calls.c (expand_call): Likewise.
4677 * explow.c (allocate_dynamic_stack_space): Likewise.
4678 * expr.h (nonlocal_goto_handler_slots): Rename its declaration.
4679 * stmt.c (declare_nonlocal_label): Make a new handler slot for each
4680 label.
4681 (expand_goto): When doing a nonlocal goto, find corresponding handler
4682 slot for it. Don't put the label address in the static chain register.
4683 (expand_end_bindings): Break out nonlocal goto handling code into
4684 three new functions.
4685 (expand_nl_handler_label, expand_nl_goto_receiver,
4686 expand_nl_goto_receivers): New static functions, broken out of
4687 expand_end_bindings and adapted to create one handler per nonlocal
4688 label.
4689 * function.c (delete_handlers): Delete insn if it references any of
4690 the nonlocal goto handler slots.
4691 * i960.md (nonlocal_goto): Comment out code that modifies
4692 static_chain_rtx.
4693 * sparc.md (nonlocal_goto): Likewise.
4694 (goto_handler_and_restore_v9): Comment out.
4695 (goto_handler_and_restore_v9_sp64): Comment out.
4696
e468780f 4697Thu Nov 19 23:44:38 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
c795bca9
BS
4698
4699 * expr.c (STACK_BYTES): Delete unused macro.
4700 * calls.c: Provide default for PREFERRED_STACK_BOUNDARY.
4701 (STACK_BYTES): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
4702 (expand_call): Likewise.
4703 (emit_library_call): Likewise.
4704 (emit_library_call_value): Likewise.
4705 * function.c: Provide default for PREFERRED_STACK_BOUNDARY.
4706 (STACK_BYTES): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
4707 * explow.c: Provide default for PREFERRED_STACK_BOUNDARY.
4708 (round_push): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
4709 (allocate_dynamic_stack_space): Likewise.
4710 * tm.texi (PREFERRED_STACK_BOUNDARY): Document new macro.
4711 (STACK_BOUNDARY): Update description to reflect the new situation.
4712
9bce98db
JL
4713Thu Nov 19 22:20:51 1998 Jeffrey A Law (law@cygnus.com)
4714
9f5a2691
JL
4715 * reorg.c (relax_delay_slots): When optimizing for code size, if a
4716 return with a filled delay slot is followed by a return with an
4717 unfilled delay slot, delete the first return and reemit the insn
4718 that was previously in its delay slot.
4719
9bce98db
JL
4720 * i860.c (single_insn_src_p): Add missing parens.
4721 * ginclude/math-3300.h: Likewise.
4722
24deb20a
L
4723Thu Nov 19 20:55:59 1998 H.J. Lu (hjl@gnu.org)
4724
4725 * regclass.c (init_reg_sets_1): Add prototype.
4726 (init_reg_modes): Likewise.
4727
07be2a23
ZW
47281998-11-19 Zack Weinberg <zack@rabi.phys.columbia.edu>
4729
4730 * c-common.c: Change warning messages to say `comparison is
4731 always true' or `comparison is always false' instead of the
4732 confusing `is always 0', `is always 1'.
4733
39e4e1ef
PB
4734Thu Nov 19 19:05:49 1998 Per Bothner <bothner@cygnus.com>
4735
4736 * print-tree.c (print_node): After printing BLOCK or BIND_EXPR,
4737 break instead of return (which loses closing '>').
4738
90aec2cf
JL
4739Thu Nov 19 19:34:13 1998 Jeffrey A Law (law@cygnus.com)
4740
e3f159c2
JL
4741 * i386.h (LEGITIMATE_CONSTANT_P): Reject CONST_DOUBLEs that are not
4742 standard 387 constants.
4743
90aec2cf
JL
4744 * i386.md (jump): Explicitly set "memory" attribute.
4745 (indirect_jump, prologue_set_stack_ptr): Likewise.
4746 (prologue_get_pc_and_set_got, pop): Likewise.
4747 (allocate_stack_worder, blockage, return_internal): Likewise.
4748 (return_pop_internal, nop): Likewise.
4749 (epilogue_set_stack_ptr, leave): Likewise.
4750
233ce013
NC
4751Thu Nov 19 15:42:54 1998 Nick Clifton <nickc@cygnus.com>
4752
4753 * config/arm/coff.h: Set USER_LABEL_PREFIX to "_".
4754
701d55e8
R
4755Thu Nov 19 23:20:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4756
53526817
JR
4757 * reload1.c (reload_reg_free_for_value_p):
4758 Early auto_inc reloads don't conflict with outputs.
701d55e8 4759
e9831ca0
KG
4760Thu Nov 19 12:58:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4761
4762 * configure.in: Don't do AC_CHECK_HEADERS(wait.h sys/wait.h).
4763 Instead call AC_HEADER_SYS_WAIT.
4764
4765 * collect2.c: Don't provide defaults for sys/wait.h macros.
4766 * gcc.c: Likewise.
4767 * protoize.c: Likewise. Also, don't include sys/wait.h.
4768
4769 * system.h: Include sys/wait.h and provide macro defaults.
4770
a76b6b40
MH
47711998-11-19 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
4772
4773 * Makefile.in (mandir): Set to @mandir@.
4774 (man1dir): New variable to hold the former value of $(mandir).
4775 Replace all uses of $(mandir) by $(man1dir).
4776
10352226
JW
4777Wed Nov 18 16:31:28 1998 Jim Wilson <wilson@cygnus.com>
4778
ef18065c
JW
4779 * reload.c (find_reloads_address_part): If have a CONST_INT, create
4780 a new one before passing it to force_const_mem.
4781
10352226
JW
4782 * reload.c (find_reloads_toplev): Pass &x instead of NULL_PTR in
4783 find_reloads_address call.
4784
f3f2255a
R
4785Wed Nov 18 22:13:00 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4786
4787 * expr.c (store_expr): Don't generate load-store pair
4788 if TEMP is identical (according to ==) with TARGET.
4789
25963977
R
4790Tue Nov 17 22:25:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4791
4792 * reload1.c (reload_reg_free_for_value_p): When considered reload
4793 has an output, matching inputs are not sufficient to avoid conflict.
4794
a87ec9e6
MM
4795Tue Nov 17 11:51:16 1998 Mark Mitchell <mark@markmitchell.com>
4796
4797 * hash.h (hash_table_key): New type.
4798 (hash_entry): Change `string' field to generic `key'.
4799 (hash_table): Add `comp' and `hash' functions.
4800 (hash_table_init): Take them as input.
4801 (hash_table_init_n): Likewise.
4802 (hash_lookup): Modify for generic keys.
4803 (hash_newfunc): Likewise.
4804 (hash_traverse): Likewise.
4805 (string_hash): New function.
4806 (string_compare): Likewise.
4807 (string_copy): Likewise.
4808 * hash.c (hash_table_init_n): Modify for generic keys.
4809 (hash_table_init): Likewise.
4810 (hash_lookup): Likewise.
4811 (hash_newfunc): Likewise.
4812 (hash_traverse): Likewise.
4813 (string_hash): Split out from hash_lookup.
4814 (string_compare): New function.
4815 (string_copy): Split out from hash_lookup.
4816 * tlink.c (symbol_hash_newfunc): Modify for new interfaces to hash
4817 tables.
4818 (symbol_hash_lookup): Likewise.
4819 (file_hash_newfunc): Likewise.
4820 (file_hash_lookup): Likewise.
4821 (demangled_hash_newfunc): Likewise.
4822 (demangled_hash_lookup): Likewise.
4823 (tlink_int): Likewise.
4824 (read_repo_file): Likewise.
4825 (recompile_files): Likewise.
4826 (demangle_new_symbols): Likewise.
4827 (scan_linker_output): Likewise.
4828
e398aa80
R
4829Tue Nov 17 17:13:53 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4830
4831 * flow.c (insn_dead_p): New argument NOTES. Changed all callers.
4832
efc97ef0
DE
4833Mon Nov 16 17:56:07 1998 David Edelsohn <edelsohn@mhpcc.edu>
4834
4835 * rs6000.c (output_mi_thunk): Improve test for local branch.
4836
4837Mon Nov 16 17:56:07 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4838
4839 * rs6000.c (output_mi_thunk): Correct test for aggregate values.
4840
dfe96118
R
4841Mon Nov 16 21:02:52 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4842
4843 * reload1.c (reload_reg_free_before_p): Delete.
4844 Changed all callers to use reload_reg_free_for_value_p instead.
4845 (reload_reg_free_for_value_p): Handle more reload types.
4846 A RELOAD_FOR_INPUT doesn't conflict with its
4847 RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS.
4848 Add special case for OUT == const0_rtx.
4849 Added ignore_address_reloads argument. Changed all callers.
4850
1f288b3f
JM
4851Mon Nov 16 02:22:29 1998 Jason Merrill <jason@yorick.cygnus.com>
4852
4853 * toplev.c (compile_file): Don't pedwarn about undefined static
4854 functions just because we passed -Wunused.
4855
de0dd934
R
4856Mon Nov 16 04:41:41 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4857
4858 * function.c (purge_addressof_1): Unshare rtl created by
4859 store_bit_field.
4860
8d1d76c1
R
4861Mon Nov 16 04:23:06 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4862
4863 * regmove.c (regmove_optimize): Don't do anything but
4864 optimize_reg_copy[123] when flag_regmove is not set.
4865
bd8dc165
RH
4866Sat Nov 14 15:05:07 1998 Richard Henderson <rth@cygnus.com>
4867
4868 * alpha.md (addsi3, subsi3): Revise 5 Nov change to store DImode
4869 value in paradoxical SImode result, rather than truncating midpoint.
4870
40b80dad
RH
4871Fri Nov 13 22:19:23 1998 Richard Henderson <rth@cygnus.com>
4872
4873 * alpha.c (reg_not_elim_operand): New.
4874 * alpha.h (PREDICATE_CODES): Add it.
4875 * alpha.md (s48addq, s48subq patterns): Use it as the predicate
4876 for the multiplicand.
4877
f99f88e0
DE
4878Fri Nov 13 22:50:37 1998 David Edelsohn <edelsohn@mhpcc.edu>
4879
4880 * rs6000.md (movsf): Remove explicit secondary-reload-like
4881 functionality. Only truncate SFmode store if in FPR.
4882 (movsf splitters): Combine const_double splitters.
4883 (movsf_hardfloat): Add GPR support.
4884
8c64be75
SC
4885Fri Nov 13 11:02:11 1998 Stan Cox <scox@cygnus.com>
4886
93d9a2eb
SC
4887 * splet.h (SUBTARGET_OVERRIDE_OPTIONS): New to
4888 deprecate -mlive-g0 and -mbroken-saverestore.
4889 * t-splet (MULTILIB_OPTIONS): Likewise.
4890
8c64be75
SC
4891 * sparc.c (sparc_flat_compute_frame_size): Correctly calc args_size
4892 in a leaf function. Clarify total_size/extra_size relationship.
4893
cae21ae8
GN
4894Thu Nov 12 19:20:57 1998 Geoffrey Noer <noer@cygnus.com>
4895
4896 * i386/cygwin32.asm: Delete.
4897 * i386/cygwin.asm: New file, renamed from cygwin32.asm.
4898 * i386/cygwin32.h: Delete.
4899 * i386/cygwin.h: New file, renamed from cygwin32.h.
4900 * i386/t-cygwin32: Delete.
4901 * i386/t-cygwin: New file, renamed from t-cygwin32. Include
4902 cygwin.asm instead of cygwin32.asm. Remove "32" from comment.
4903 * i386/x-cygwin32: Delete.
4904 * i386/x-cygwin: New file, renamed from x-cygwin32.
4905 * i386/xm-cygwin32: Delete.
4906 * i386/xm-cygwin: New file, renamed from xm-cygwin32. Use newly
4907 renamed cygwin_ funcs for path translations.
4908 * i386/win32.h: Define __CYGWIN__ when -mcygwin given.
4909 * i386/winnt.c: Remove "32" from comment about cygwin.
4910 * i386/mingw32.h: Fix references to cygwin32.h in light of above.
4911 * rs6000/cygwin32.h: Delete.
4912 * rs6000/cygwin.h: New file, renamed from cygwin32.h. Add
4913 -D__CYGWIN__ to CPP_PREDEFINES.
4914 * rs6000/x-cygwin32: Delete.
4915 * rs6000/x-cygwin: New file, renamed from x-cygwin32.
4916 * rs6000/xm-cygwin32: Delete.
4917 * rs6000/xm-cygwin: New file, renamed from xm-cygwin32.
4918
4919 * configure.in: Check for cygwin* instead of cygwin32. Account
4920 for the rename of cygwin-related config files to lose the "32"s.
4921 * configure: Regenerate.
4922
4923 * cccp.c, collect2.c, gcc.c, getpwd.c, libgcc2.c, protoize.c,
4924 toplev.c: Change all refs to __CYGWIN32__ to __CYGWIN__.
4925
df37e3db
TT
4926Wed Nov 11 12:25:19 1998 Tom Tromey <tromey@cygnus.com>
4927
4928 * Makefile.in (JAVAGC): New macro.
4929 * configure: Rebuilt.
4930 * configure.in: Recognize --enable-java-gc argument. Subst
4931 `JAVAGC' variable.
4932
135eb61c
R
4933Thu Nov 12 03:32:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4934
4935 Handle equivalences that have been obscured by gcse:
4936
4937 * reload1.c (reload): Handle equivalences set up in multiple places.
4938 * local-alloc.c (reg_equiv_init_insns): New variable.
4939 (no_equiv): New function.
4940 (update_equiv_regs): Handle equivalences set up in multiple places.
4941 Don't ignore an insn just because its destination is likely to be
4942 spilled.
4943
2a55b8e8
JW
4944Wed Nov 11 13:46:13 1998 Jim Wilson <wilson@cygnus.com>
4945
4946 * except.c (expand_eh_return): Readd force_operand call lost in
4947 Sept 15 change.
4948
fbd2bdda
DE
4949Tue Nov 10 17:04:11 1998 David Edelsohn <edelsohn@mhpcc.edu>
4950
4951 * rs6000.h (LEGITIMIZE_ADDRESS): Add missing goto on last case.
4952
3363316f
JL
49531998-11-09 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
4954
4955 * dbxout.c: Check HAVE_STAB_H instead of HAVE_STABS_H.
4956
4957Mon Nov 9 20:15:19 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
4958
4959 * regmove.c (regmove_optimize): Fix error in last change.
4960
a3bc83cc
AC
4961Mon Nov 9 16:37:52 1998 Andrew Cagney <cagney@b1.cygnus.com>
4962
4963 * mips.c (function_prologue): When TARGET_MIPS16, adjust the register
4964 offset in the .mask pseudo to compensate for frame pointer adjustments.
4965 (mips16_fp_args, build_mips16_call_stub): For little endian, do not
4966 word swap arguments moved to/from FP registers.
4967 * mips16.S (DFREVCMP): Reverse arguments to OPCODE.
4968
b8b2d50d
JL
4969Mon Nov 9 09:47:06 PST 1998 Jeff Law (law@cygnus.com)
4970
4971 * version.c: Bump for snapshot.
4972
57457ee0
JL
4973Mon Nov 9 02:14:14 PST 1998 Jeff Law (law@cygnus.com)
4974
4975 * version.c: Bump for snapshot.
4976
a3a24aa6
JL
4977Mon Nov 9 03:06:24 1998 Jeffrey A Law (law@cygnus.com)
4978
4979 * reload1.c (delete_output_reload_insn): If a pseudo is set multiple
4980 times, then it can not be completely replaced.
4981
8cad673c
RH
4982Mon Nov 9 00:39:02 1998 Richard Henderson <rth@cygnus.com>
4983
4984 * alpha.md (call, call_value) [OSF]: Correct alt 3 insn length.
4985
5148a72b
KG
4986Sun Nov 8 17:50:30 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4987
4988 * gansidecl.h: Prepend a "G" to the macro wrapping this file
4989 (to distinguish it from the macro wrapping ansidecl.h.)
4990 Include libiberty's ansidecl.h. Remove all redundant definitions.
4991 Define the PROTO() style macros in terms of the PARAMS() ones.
4992
4993
4994 * calls.c (emit_library_call): Switch on ANSI_PROTOTYPES, not
4995 __STDC__, when deciding whether to use ANSI variable args.
4996 (emit_library_call_value): Likewise.
4997
4998 * cccp.c (error): Likewise.
4999 (warning): Likewise.
5000 (error_with_line): Likewise.
5001 (warning_with_line): Likewise.
5002 (pedwarn): Likewise.
5003 (pedwarn_with_line): Likewise.
5004 (pedwarn_with_file_and_line): Likewise.
5005 (fatal): Likewise.
5006
5007 * cexp.y (error): Likewise.
5008 (pedwarn): Likewise.
5009 (warning): Likewise.
5010
5011 * collect2.c (fatal_perror): Likewise.
5012 (fatal): Likewise.
5013 (error): Likewise.
5014
5015 * combine.c (gen_rtx_combine): Likewise.
5016
5017 * cpperror.c (cpp_message): Likewise.
5018 (cpp_fatal): Likewise.
5019
5020 * cpplib.c (cpp_error): Likewise.
5021 (cpp_warning): Likewise.
5022 (cpp_pedwarn): Likewise.
5023 (cpp_error_with_line): Likewise.
5024 (cpp_warning_with_line): Likewise.
5025 (cpp_pedwarn_with_line): Likewise.
5026 (cpp_pedwarn_with_file_and_line): Likewise.
5027
5028 * cpplib.h: Don't define PARAMS() macro.
5029
5030 * demangle.h: Likewise.
5031
5032 * doprint.c (checkit): Switch on ANSI_PROTOTYPES, not __STDC__,
5033 when deciding whether to use ANSI variable args.
5034
5035 * emit-rtl.c (gen_rtx): Likewise.
5036 (gen_rtvec): Likewise.
5037
5038 * final.c (asm_fprintf): Likewise.
5039
5040 * fix-header.c (cpp_message): Likewise.
5041 (fatal): Likewise.
5042 (cpp_fatal): Likewise.
5043
5044 * gcc.c (concat): Likewise.
5045 (fatal): Likewise.
5046 (error): Likewise.
5047
5048 * genattr.c (fatal): Likewise.
5049
5050 * genattrtab.c (attr_rtx): Likewise.
5051 (attr_printf): Likewise.
5052 (fatal): Likewise.
5053
5054 * gencodes.c (fatal): Likewise.
5055
5056 * genconfig.c (fatal): Likewise.
5057
5058 * genemit.c (fatal): Likewise.
5059
5060 * genextract.c (fatal): Likewise.
5061
5062 * genflags.c (fatal): Likewise.
5063
5064 * genopinit.c (fatal): Likewise.
5065
5066 * genoutput.c (fatal): Likewise.
5067 (error): Likewise.
5068
5069 * genpeep.c (fatal): Likewise.
5070
5071 * genrecog.c (fatal): Likewise.
5072
5073 * halfpic.h: Switch on ANSI_PROTOTYPES, not __STDC__, when
5074 deciding whether to declare `tree_node' and `rtx_def'.
5075
5076 * hash.h: Don't define stuff we get from gansidecl.h.
5077
5078 * mips-tfile.c: Likewise. Define __proto() in terms of PARAMS().
5079 (fatal): Switch on ANSI_PROTOTYPES, not __STDC__, when deciding
5080 whether to use ANSI variable args.
5081 (error): Likewise.
5082
5083 * prefix.c (concat): Likewise.
5084
5085 * scan.h: Likewise.
5086
5087 * system.h: Likewise.
5088
5089 * toplev.c (error_with_file_and_line): Likewise.
5090 (error_with_decl): Likewise.
5091 (error_for_asm): Likewise.
5092 (error): Likewise.
5093 (fatal): Likewise.
5094 (warning_with_file_and_line): Likewise.
5095 (warning_with_decl): Likewise.
5096 (warning_for_asm): Likewise.
5097 (warning): Likewise.
5098 (pedwarn): Likewise.
5099 (pedwarn_with_decl): Likewise.
5100 (pedwarn_with_file_and_line): Likewise.
5101 (sorry): Likewise.
5102 (really_sorry): Likewise.
5103
5104 * toplev.h: Switch on ANSI_PROTOTYPES, not __STDC__, when deciding
5105 whether to declare `tree_node' and `rtx_def'.
5106
5107 * tree.c (build): Switch on ANSI_PROTOTYPES, not __STDC__, when
5108 deciding whether to use ANSI variable args.
5109 (build_nt): Likewise.
5110 (build_parse_node): Likewise.
5111
2fb04465
JL
5112Sun Nov 8 13:10:55 PST 1998 Jeff Law (law@cygnus.com)
5113
5114 * version.c: Bump for snapshot.
5115
4f44785e
KG
5116Sat Nov 7 23:34:01 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5117
5118 * Makefile.in (libcpp.a): Check RANLIB_TEST before runing RANLIB.
5119
3d697b4c
DE
5120Sat Nov 7 22:26:19 1998 David Edelsohn <edelsohn@mhpcc.edu>
5121
5122 * collect2.c (main, case 'b'): Use else if.
5123
0056a9b5
KG
5124Sat Nov 7 15:35:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5125
5126 * configure.in (host_xm_file, build_xm_file, xm_file, tm_file):
5127 Arrange to include gansidecl.h in {ht}config.h & tm.h just
5128 before the config/ directory headers.
5129 (tm_file_list, host_xm_file_list, build_xm_file_list): Handle
5130 gansidecl.h in the list of dependencies.
5131
5132 * Makefile.in (RTL_BASE_H): Don't depend on gansidecl.h.
5133 (TREE_H, DEMANGLE_H, RECOG_H, REGS_H, libgcc2.a, stmp-multilib,
5134 mbchar.o, collect2.o, pexecute.o, vfprintf.o, splay-tree.o, gcc.o,
5135 gencheck.o, choose-temp.o, mkstemp.o, mkstemp.o, prefix.o,
5136 dyn-string.o, cexp.o, cccp.o, cppmain.o, cpplib.o, cpperror.o,
5137 cppexp.o, cppfiles.o, cpphash.o, cppalloc.o, scan-decls.o):
5138 Likewise.
5139
5140 * cccp.c: Don't include gansidecl.h.
5141 * cexp.y: Likewise.
5142 * collect2.c: Likewise.
5143 * config/c4x/c4x.c: Likewise.
5144 * config/v850/v850.h: Likewise.
5145 * cppalloc.c: Likewise.
5146 * cpperror.c: Likewise.
5147 * cppexp.c: Likewise.
5148 * cppfiles.c: Likewise.
5149 * cpphash.c: Likewise.
5150 * cpplib.c: Likewise.
5151 * cppmain.c: Likewise.
5152 * cppulp.c: Likewise.
5153 * demangle.h: Likewise.
5154 * doprint.c: Likewise.
5155 * dyn-string.c: Likewise.
5156 * eh-common.h: Likewise.
5157 * fix-header.c: Likewise.
5158 * frame.c: Likewise.
5159 * gcc.c: Likewise.
5160 * gcov.c: Likewise.
5161 * gen-protos.c: Likewise.
5162 * gencheck.c: Likewise.
5163 * halfpic.h: Likewise.
5164 * hash.c: Likewise.
5165 * machmode.h: Likewise.
5166 * mbchar.c: Likewise.
5167 * prefix.c: Likewise.
5168 * protoize.c: Likewise.
5169 * recog.h: Likewise.
5170 * rtl.h: Likewise.
5171 * scan-decls.c: Likewise.
5172 * tree.h: Likewise.
5173 * varray.h: Likewise.
5174
35e2d030
RH
5175Sat Nov 7 11:37:53 1998 Richard Henderson <rth@cygnus.com>
5176
5177 * i386.md (call_value_pop): If we're not popping anything,
5178 defer to call_value.
5179 (call_pop): Likewise defer to call.
5180
da9b1f9c
RH
5181Sat Nov 7 02:49:56 1998 Richard Henderson <rth@cygnus.com>
5182
5183 * function.c (purge_addressof): Clear purge_addressof_replacements
5184 only after processing the whole function.
5185
8f5db3c1
JL
5186Sat Nov 7 00:54:55 1998 Jeffrey A Law (law@cygnus.com)
5187
5188 * reload1.c (reload): If we can not perform a particular elimination
5189 when we thought we could earlier, then we must always iterate through
5190 the loop at least one more time.
5191
80df65c9
RH
5192Fri Nov 6 19:37:33 1998 Richard Henderson <rth@cygnus.com>
5193
5194 * alpha.c (add_operand): Simplify the CONST_INT match.
5195 (sext_add_operand): Correct typo in comparison by using
5196 CONST_OK_FOR_LETTER_P.
5197 * alpha.md (s?addq): Use sext_add_operand to allow the negative
5198 constant alternatives to be generated.
5199 (mulsi3, muldi3, umuldi3_highpart): Loosen constraints to allow
5200 small constants, since the hw instructions do.
5201
d30e8ef0
BS
5202Fri Nov 6 20:15:19 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
5203
5204 * reload1.c (emit_reload_insns): When rewriting the SET_DEST of a
5205 previous insn to store directly into our reload register, make sure
5206 that if the source of the previous insn is a reload register, its
5207 spill_reg_store and spill_reg_stored_to values are cleared.
5208
955fc2e7
DE
5209Fri Nov 6 16:35:10 1998 David Edelsohn <edelsohn@mhpcc.edu>
5210
5211 * rs6000.md (floatunssidf2_internal splitter): Use base register
5212 operand, not hard-coded SP.
5213
ca76d13d
DM
5214Fri Nov 6 04:07:53 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
5215
5216 * jump.c (calculate_can_reach_end): Fix thinko.
5217
2cea37e5
JL
5218Fri Nov 6 00:16:04 1998 Jeffrey A Law (law@cygnus.com)
5219
0d87569a
JL
5220 * reorg.c (fill_simple_delay_slots): Fix typo.
5221
2cea37e5
JL
5222 * romp.h (LEGITIMIZE_ADDRESS): Fix typo.
5223
724d568a
JH
5224Fri Nov 6 00:10:00 1998 Jan Hubicka (hubicka@freesoft.cz)
5225
5226 * i386.md (extendsidi2): Use # in the output template.
5227 (extendsidi splitters): New splitters.
5228
5ee26f85
NC
5229Thu Nov 5 11:13:27 1998 Nick Clifton <nickc@cygnus.com>
5230
5231 * configure.in: Use unknown-elf.h as tm_file for arm-elf
5232 configuarions.
5233 * configure: Regenerate.
5234
269ef46c
DM
5235Thu Nov 5 07:59:05 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
5236
5237 * jump.c (init_label_info, delete_barrier_successors,
5238 mark_all_labels, delete_unreferenced_labels,
5239 delete_noop_moves, calculate_can_reach_end): New functions broken
5240 out of jump_optimize.
5241 (jump_optimize): Use them.
5242
b37f006b
AM
5243Thu Nov 5 07:57:45 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
5244
5245 * except.c (expand_fixup_region_end): Make sure outer context labels
5246 are not issued in an inner context during cleanups.
5247
6c61c2bb
RH
5248Thu Nov 5 04:03:06 1998 Richard Henderson <rth@cygnus.com>
5249
5250 * alpha.md (addsi3, subsi3): No new temporaries once cse is
5251 no longer expected.
5252
8f5d6855
RH
5253Thu Nov 5 03:29:19 1998 Richard Henderson <rth@cygnus.com>
5254
5255 * alpha.md (addsi3, subsi3): Expand to a DImode temporary so as
5256 to expose this midpoint to CSE.
5257
4ba687c8
DM
5258Thu Nov 5 03:42:54 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
5259
5260 * config/sparc/sparc.md (movdf_const_intreg_sp64): Enable again.
5261
9da0e39b
AS
5262Thu Nov 5 10:53:01 1998 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
5263
5264 * configure.in: Bring over gcc2 change of Nov 19 1997.
5265
444bf316
JL
5266Wed Nov 4 23:43:08 1998 Graham <grahams@rcp.co.uk>
5267
5268 * toplev.c (output_lang_identify): Make definition dependent on
5269 ASM_IDENTIFY_LANGUAGE.
5270
5271 * print-rtl.c (spaces): Make static.
5272
5273Wed Nov 4 22:16:36 1998 Hans-Peter Nilsson <hp@axis.se>
8fe1938e
HPN
5274
5275 * extend.texi: Clarify proper uses for register clobbers in asms.
5276
0eadeb15
BS
5277Wed Nov 4 22:16:36 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
5278
5279 * recog.h (enum op_type): Define.
5280 (constrain_operands): Adjust prototype.
5281 (recog_op_type): Declare new variable.
5282 * recog.c (recog_op_type): New variable.
5283 (insn_invalid_p): Allow modifying an asm statement after reload.
5284 (extract_insn): Set up recog_op_type.
5285 (constrain_operands): Lose INSN_CODE_NUM arg. All callers changed.
5286 Don't compute operand types, use recog_op_type.
5287 Use the information computed by extract_insn instead of the previous
5288 method of finding it by insn code number.
5289 * caller-save.c (init_caller_save): Use extract_insn, not insn_extract.
5290 * reorg.c (fill_slots_from_thread): Likewise.
5291 * reload1.c (reload_as_needed): Likewise.
5292 (gen_reload): Likewise.
5293 (inc_for_reload): Likewise.
5294 (reload_cse_simplify_operands): Likewise.
5295 Use the information computed by extract_insn instead of the previous
5296 method of finding it by insn code number.
5297 * genattrtab.c (write_attr_case): Generate call to extract_insn, not
5298 insn_extract.
5299 * final.c (final_scan_insn): Use extract_insn, not insn_extract.
5300 (cleanup_operand_subregs): Use extract_insn, not insn_extract.
5301 Use the information computed by extract_insn instead of the previous
5302 method of finding it by insn code number.
5303 * regmove.c (find_matches): Likewise. Change meaning of the return
5304 value to be nonzero if the optimization can be performed, zero if
5305 not. All callers changed.
5306 Shorten some variable names to fix formatting problems.
5307 (regmove_optimize): Shorten some variable names to fix formatting
5308 problems.
5309 Use the information computed by extract_insn instead of the previous
5310 method of finding it by insn code number.
5311 * regclass.c (scan_one_insn): Likewise.
5312 (record_reg_classes): Don't compute operand types, use recog_op_type.
5313 * reload.c (find_reloads): Lose CONSTRAINTS1 variable; use
5314 recog_constraints instead.
5315
09d33be8
JL
5316Wed Nov 4 21:37:46 1998 Jeffrey A Law (law@cygnus.com)
5317
5318 * rtl.h (flow2_completed): Declare.
5319 * flow.c (flow2_completed): Definition.
5320 * toplev.c (rest_of_compilation): Set and clear flow2_completed
5321 as necessary.
5322
bfc5000a
JL
5323Wed Nov 4 19:15:37 1998 "Melissa O'Neill" <oneill@cs.sfu.ca>
5324
5325 * Makefile.in (libcpp.a): Ranlib libcpp.a
5326
5327 * cppulp.c (user_label_prefix): Initialize.
5328
5329Wed Nov 4 19:07:08 1998 John Wehle (john@feith.com)
5330
5331 * flow.c (mark_regs_live_at_end): Mark the stack pointer as live
5332 at a RETURN if current_function_sp_is_unchanging is set.
5333
a93049de
HB
5334Wed Nov 4 18:16:29 1998 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
5335
5336 * emit-rtl.c (try_split): Fixed error in Oct 10 patch.
5337
040688bd
GN
5338Wed Nov 4 15:11:15 1998 Geoffrey Noer <noer@cygnus.com>
5339
5340 * i386/cygwin32.h (MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS, MASK_DLL,
5341 TARGET_WIN32, TARGET_CYGWIN, TARGET_WINDOWS, TARGET_DLL): New.
5342 (SUBTARGET_SWITCHES): Add -mno-cygwin, -mcygwin, and -mdll options.
5343 (CPP_PREDEFINES): Don't define __CYGWIN32__ here.
5344 (STARTFILE_SPEC): Handle -mdll, -mno-cygwin options.
5345 (CPP_SPEC): Handle -mno-cygwin option. Define __CYWIN__ in addition
5346 to __CYGWIN32__.
5347 (LIB_SPEC): Handle -mno-cyginw option.
5348 (LINK_SPEC): Handle -mdll.
5349
e0d7bb0d
R
5350Wed Nov 4 22:56:14 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5351
5352 * reload.c (find_reloads): Fix test for usage by other reload
5353 to handle secondary reloads properly.
5354
590cf94d
KG
5355Wed Nov 4 17:25:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5356
5357 * reload1.c (ELIMINABLE_REGS, NUM_ELIMINABLE_REGS): Introduce an
5358 intermediate structure which has exactly the members provided by
5359 ELIMINABLE_REGS. Define NUM_ELIMINABLE_REGS in terms of the
5360 static intermediate structure.
5361
5362 (init_elim_table): Xmalloc() `reg_eliminate', and initialize it
5363 from the intermediate structure. Do the same analogous fix in
5364 the case where ELIMINABLE_REGS is not defined.
5365
ab2e3386
JL
5366Tue Nov 3 20:50:03 1998 Jeffrey A Law (law@cygnus.com)
5367
5368 * pa.h (SELECT_SECTION): Fix thinko.
5369
eef906d6
JW
5370Tue Nov 3 17:51:36 1998 Jim Wilson <wilson@cygnus.com>
5371
5372 * dwarf2out.c (output_call_frame_info): Comments on last change.
5373
74641843
RE
5374Tue Nov 3 07:51:43 1998 Richard Earnshaw (rearnsha@arm.com)
5375
5376 * arm.c (add_constant): When taking the address of an item in the
5377 pool, get the mode of the item addressed.
5378
5379 * arm.c (final_prescan_insn case INSN): If an insn doesn't
5380 contain a SET or a PARALLEL, don't consider it for conditional
5381 execution.
5382
5383 Restore ABI compatibility for NetBSD.
5384 * arm/netbsd.h (DEFAULT_PCC_STRUCT_RETURN): Override setting in
5385 arm.h
5386 (RETURN_IN_MEMORY): Likewise.
5387
0ae9f65b
DE
5388Mon Nov 2 11:46:17 1998 Doug Evans <devans@canuck.cygnus.com>
5389
5390 * m32r/m32r.c (m32r_expand_block_move): Fix byte count computations.
5391 (m32r_output_block_move): Rewrite bytes < 4 handling.
5392
c375c43b
KG
5393Mon Nov 2 10:10:35 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5394
5395 * configure.in: Call AC_FUNC_VFORK.
5396
5397 * collect2.c: Define VFORK_STRING as a printable string for
5398 error messages (either "vfork" or "fork".) If HAVE_VFORK_H is
5399 defined, include vfork.h. If VMS is defined, define vfork()
5400 appropriately. Remove vfork check on USG, we're using autoconf.
5401 (collect_execute): Pass VFORK_STRING to fatal_perror instead of
5402 checking locally what string to pass.
5403 (scan_prog_file): Likewise.
5404 (scan_libraries): Likewise.
5405
5406 * gcc.c: Remove vfork check on USG, we're using autoconf.
5407 Besides, no calls to vfork/fork occur in this file.
5408
5409 * protoize.c: Likewise.
5410
3ccc3a56
AO
5411Mon Nov 2 07:52:28 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
5412
5413 * configure.in (DEFAULT_LINKER): renamed from LD
5414 (DEFAULT_ASSEMBLER): renamed from AS; reverted Schwab's patch
5415 (gcc_cv_as): try $DEFAULT_ASSEMBLER before $AS
5416 * configure: rebuilt
5417
5dd21ded
AO
5418Mon Nov 2 01:48:10 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
5419
5420 * BUGS: fix the regexp for `more' to find the appropriate node.
5421 Reported by Joerg Pietschmann <joerg_pietschmann@zkb.ch>
5422
5423 * BUGS: added link to the WWW FAQ
5424
44ba27b4
JL
5425Sun Nov 1 18:27:15 PST 1998 Jeff Law (law@cygnus.com)
5426
5427 * version.c: Bump for snapshot.
5428
6d8cf409
JL
5429Sun Nov 1 11:04:32 1998 Jeffrey A Law (law@cygnus.com)
5430
5431 * From Christian Gafton:
5432 * i386/linux.h (CPP_PREDEFINES): Add -D__i386__.
5433 * sparc/linux.h (CPP_PREDEFINES): Add -D__sparc__.
5434 * sparc/linux64.h (CPP_PREDEFINES): Add -D__sparc__.
5435
43d8a6c7
MM
5436Sat Oct 31 21:42:39 1998 Mark Mitchell <mark@markmitchell.com>
5437
5438 * c-common.c (c_get_alias_set): Allow all type-punning through
5439 unions. Don't get confused about the type of a bit-field, despite
5440 the antics of build_modify_expr.
5441
abf0be7c
JPR
5442Sat Oct 31 22:35:29 1998 Jean-Pierre Radley <jpr@jpr.com>
5443
5444 * fixinc.sco: Paramaterize #include_next values.
5445 * fixinc/fixinc.sco: Likewise.
5446
27ff8c00
JL
5447Sat Oct 31 20:39:35 1998 Jeffrey A Law (law@cygnus.com)
5448
5449 * toplev.c (rest_of_compilation): No longer set reload_completed.
5450 * reload1.c (reload): Set it here. Perform instruction splitting
5451 after reload has completed if we will be running the scheduler
5452 again.
5453
18f3f864
JL
5454Sat Oct 31 12:30:02 1998 Jeffrey A Law (law@cygnus.com)
5455
5456 * jump.c (jump_optimize): Initialize mappings from INSN_UID to
5457 EH region if exceptions are enabled and we're performing cross
5458 jump optimizations.
5459 (find_cross_jump): Exit loop if the insns are in different EH regions.
5460
21af493b
MM
5461Sat Oct 31 10:02:48 1998 Mark Mitchell <mark@markmitchell.com>
5462
5463 * dwarf2out.c (output_call_frame_info): Use
5464 ASM_OUTPUT_DWARF_DELTA4 for the CIE offset to match frame.c.
5465
bf39dde3
KG
5466Sat Oct 31 10:23:14 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5467
5468 Reinstall Apr 24th fix, lost during May 6th gcc2 merge:
5469 * c-common.c (check_format_info): Don't check for the 'x'
5470 format character twice, instead check for 'x' and 'X'
5471
09bedf80
JL
5472Fri Oct 30 14:50:25 1998 Jeffrey A Law (law@cygnus.com)
5473
5474 * configure.in (assembler features): Also make gas is configured if
5475 we find it in the souce tree.
5476
6093f019
RH
5477Fri Oct 30 13:23:20 1998 Richard Henderson <rth@cygnus.com>
5478
5479 * i386.c (i386_comp_type_attributes): Compare whether the
5480 attributes are defined, not their tree nodes.
5481
de82584d
AO
5482Fri Oct 30 11:39:47 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
5483
5484 * configure.in (gxx_include_dir): bitten by autoconf quoting
5485 characters :-(
5486 * configure: rebuilt
5487
d65ae058
AS
5488Fri Oct 30 10:43:29 1998 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
5489
5490 * configure.in: Ignore non-absolute value in $AS.
5491
8b83b2a7
PJ
5492Fri Oct 30 00:54:25 1998 Peter Jakubek <pjak@snafu.de>
5493
5494 * m68k.h (INDIRECTABLE_1_ADDRESS_P): Fix thinko.
5495
dedcc399
ME
5496Fri Oct 30 00:42:34 1998 Mark Elbrecht <snowball3@usa.net>
5497
5498 * configure.in (msdosdjgpp): Set exeext and target_alias.
5499
00f9f1bc
BS
5500Thu Oct 29 23:55:43 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
5501
421382ac
BS
5502 * flow.c (XNMALLOC): New macro.
5503 (flow_int_list_blocks, basic_block_succ, basic_block_pred): New
5504 static variables.
5505 (add_edge, add_edge_to_label): New static functions.
5506 (free_bb_memory): New function.
5507 (flow_delete_insn): Delete function.
5508 (basic_block_drops_in): Delete variable.
5509 (find_basic_blocks): Allocate and initialize basic_block_head,
5510 basic_block_succ. Don't allocate basic_block_drops_in.
5511 Call free_bb_memory at the beginning.
5512 (find_basic_blocks_1): Don't do multiple passes.
5513 Delete code to compute basic_block_drops_in.
5514 After calling make_edges, mark blocks reached by current block live.
5515 Update test for unreachable live blocks.
5516 (mark_label_ref): Delete args X, CHECKDUP. Add PRED arg. All callers
5517 changed.
5518 Simplify to call add_edge_to_label when a LABEL_REF is found.
5519 (make_edges): Simplify to call add_edge_to_label instead of
5520 mark_label_ref most of the time.
5521 Compute here whether control drops into the next block.
5522 (delete_unreachable_blocks): Return void. All callers changed.
5523 Delete unreachable blocks in reverse order.
5524 After deleting all unreachable blocks, renumber the remaining ones
5525 and update n_basic_blocks.
5526 (delete_block): Speed up deletion a bit.
5527 Don't set basic_block_drops_in for deleted blocks.
5528 (free_basic_block_vars): Don't free basic_block_drops_in.
5529 (life_analysis_1): Update to use new edge representation.
5530 (dump_flow_info): Delete code to print basic block info; call
5531 dump_bb_data instead.
5532 (compute_preds_succs): Delete code to recompute basic_block_drops_in
5533 and uid_block_number.
5534 Simply copy the previously computed cfg.
5535 (dump_bb_data): New arg LIVE_INFO. All callers changed.
5536 Print register lifetime information if LIVE_INFO is nonzero.
5537 * basic-block.h (dump_bb_data): Adjust prototype.
5538 * gcse.c (gcse_main): Update call to dump_bb_data.
5539 * rtl.h (free_bb_memory): Declare.
5540 * toplev.c (rest_of_compilation): Call free_bb_memory.
5541
6467c05f
JL
5542 * reload1.c (struct elim_table): Delete MAX_OFFSET member.
5543 (update_eliminable_offsets): Don't compute it.
5544 (set_initial_elim_offsets): Don't initialize it.
5545 Break out some code into set_initial_label_offsets so the rest of
5546 this function can be called from reload_as_needed.
5547 Assume that INITIAL_FRAME_POINTER_OFFSET is defeined when
5548 ELIMINABLE_REGS isn't.
5549 (set_initial_label_offsets): New function, broken out of
5550 set_initial_elim_offsets.
5551 (set_offsets_for_label): New function, broken out of set_label_offsets
5552 and reload_as_needed.
5553 (reload): Call the two new functions.
5554 (reload_as_needed): Call set_initial_elim_offsets instead of
5555 duplicating the code. Likewise for set_offsets_for_label.
5556
00f9f1bc
BS
5557 * reload1.c (choose_reload_regs): Fix typo in Oct 17 change.
5558 (emit_reload_insns): Ensure that when we set reg_reloaded_valid for
5559 any hard reg, reg_reloaded_dead contains valid data.
5560
afcfe58c
MM
5561Thu Oct 29 22:30:54 1998 Marcus Meissner <Marcus.Meissner@informatik.uni-erlangen.de>
5562
f3196f46 5563 * i386.c (i386_comp_type_attributes): Return nonzero for mismatched
afcfe58c
MM
5564 "stdcall" and "cdecl" attributes.
5565
faff4ab8
JW
5566Thu Oct 29 19:05:17 1998 Jim Wilson <wilson@cygnus.com>
5567
5568 * sched.c (update_flow_info): Add code to ! found_orig_dest case to
5569 handle deleted no-op moves of hard registers.
5570 * haifa-sched.c (update_flow_info): Likewise.
5571
839366dd
JL
5572Thu Oct 29 18:07:47 1998 Jeffrey A Law (law@cygnus.com)
5573
5574 * mips.md (reload_{in,out}{si,di}): Emit a USE of HILO at the end
5575 of the sequences to reload the HILO register which do not actually
5576 reference HILO.
5577
1e280035
JW
5578Thu Oct 29 12:39:35 1998 Jim Wilson <wilson@cygnus.com>
5579
5580 * c-common.c (c_get_alias_set): Handle ARRAY_REF of union field.
5581
0fc1434b
AM
5582Thu Oct 29 14:10:22 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
5583
5584 * except.c (emit_eh_context): Make the EH context register stay alive
5585 at -O0 so stupid.c doesn't get confused.
5586
e526eeec
HB
55871998-10-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
5588
5589 * emit-rtl.c (try_split): Do not try to split a BARRIER.
5590
bb62e19a
JH
5591Thu Oct 29 01:33:54 1998 Jan Hubicka <hubicka@freesoft.cz>
5592 Jeffrey A Law (law@cygnus.com)
5593
5594 * i386.md: Change ix86_cpu == PROCESSOR_PENTIUM to TARGET_PENTIUM
5595 (zero_extendsidi2): Use # in output template and handle completely by
5596 splits.
5597 (zero_extend splitters): New define_splits.
5598 (ashiftrt_32): New pattern.
5599
e2c31432
JM
5600Wed Oct 28 22:58:35 1998 Jason Merrill <jason@yorick.cygnus.com>
5601
5602 * tree.c (append_random_chars): New fn.
5603 (get_file_function_name_long): Use it.
5604
19283265
RH
5605Wed Oct 28 22:27:05 1998 Richard Henderson <rth@cygnus.com>
5606
5607 * Makefile.in (cc1): Put C_OBJS, and thence @extra_c_objs@ last.
5608 (LIBCPP_OBJS): New. Add cppulp.o.
5609 (cppmain, fix-header): Depend on and use libcpp.a.
5610 * configure.in (extra_c_objs, extra_cxx_objs): Use libcpp.a instead
5611 of the individual object files.
5612 * objc/Make-lang.in (cc1obj): Put OBJC_OBJS, and thence @extra_c_objs@,
5613 last.
5614
5615 * cccp.c (user_label_prefix): New.
5616 (main): Set it off -f*leading-underscore.
5617 (special_symbol): Use it.
5618 * cpplib.c (special_symbol): Likewise.
5619 (cpp_handle_option): Handle -f*leading-underscore.
5620 * cppulp.c: New file.
5621
5622 * output.h (user_label_prefix): Declare it.
5623 * dwarf2out.c (ASM_NAME_TO_STRING): Prepend user_label_prefix.
5624 * toplev.c (f_options, main): Handle -f*leading-underscore.
5625
5626 * defaults.h (ASM_OUTPUT_LABELREF): Use asm_fprintf instead of
5627 referencing USER_LABEL_PREFIX directly.
5628 * config/nextstep.h (ASM_OUTPUT_LABELREF): Likewise.
5629 * m32r/m32r.h (ASM_OUTPUT_LABELREF): Likewise.
5630 * final.c (asm_fprintf): Use user_label_prefix instead.
5631 * arm/thumb.c (thumb_print_operand): Likewise.
5632
5633 * gcc.c (default_compilers): Pass -f*leading-underscore on to
5634 cpp wherever appropriate.
5635
79a9696b
RL
5636Wed Oct 28 23:09:25 1998 Robert Lipe <robertl@dgii.com>
5637
5638 * sco5.h (SUBTARGET_SWITCHES): Add documentation for OpenServer-
5639 specific compiler switches.
5640
5916476f
JL
5641Wed Oct 28 21:05:53 1998 Jeffrey A Law (law@cygnus.com)
5642
5643 * Makefile.in (c-common.o): Depend on c-pragma.h. Use $(RTL_H) instead
5644 of rtl.h.
5645
829245be
KG
5646Wed Oct 28 20:52:47 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5647
5648 * gcc.c (EXTRA_SPECS, extra_specs): Introduce an intermediate
5649 structure which has exactly the members provided by EXTRA_SPECS.
5650 Xmalloc() the real `extra_specs', and initialize it from this
5651 intermediate structure.
5652
5653 * alpha.h (EXTRA_SPECS): Revert change for missing initializers.
5654
5655 * mips.h (EXTRA_SPECS): Likewise.
5656
5657 * sparc.h (EXTRA_SPECS): Likewise.
5658
b5bd3b3c
AS
5659Wed Oct 28 16:46:07 1998 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
5660
5661 * function.c (purge_addressof_1): Instead of aborting when a
5662 bitfield insertion as a replacement for (MEM (ADDRESSOF)) does not
5663 work just put the ADDRESSOF on stack. Otherwise remember all such
5664 successfull replacements, so that exactly the same replacements
5665 can be made on the REG_NOTEs. Remove the special case for CALL
5666 insns again.
5667 (purge_addressof_replacements): New variable.
5668 (purge_addressof): Clear it at end.
5669
add7091b
ZW
56701998-10-28 16:10 -0500 Zack Weinberg <zack@rabi.phys.columbia.edu>
5671
5672 * c-lang.c: Declare extern char *yy_cur if USE_CPPLIB.
5673 (lang_init): Call check_newline always.
5674 * c-lex.c (init_parse) [USE_CPPLIB=1]: After calling
5675 cpp_start_read, set yy_cur and yy_lim to read from
5676 parse_in.token_buffer, so that we'll see the first #line
5677 directive.
5678 * cpplib.c (cpp_start_read): finclude the main input file
5679 before processing -include/-imacros. Process -imacros and
5680 -include separately, and handle -include by stacking a
5681 buffer for the file in question as if it'd been #included.
5682 * toplev.c (documented_lang_options) Recognize -H when
5683 USE_CPPLIB is on.
5684
56851998-10-28 16:09 -0500 Zack Weinberg <zack@rabi.phys.columbia.edu>
5686
5687 * cpplib.c: Merge do_once into do_pragma. Break file handling
5688 code out of do_include.
5689 Move append_include_chain, deps_output,
5690 file_cleanup, redundant_include_p, import_hash,
5691 lookup_import, add_import, read_filename_string, read_name_map,
5692 open_include_file, finclude, safe_read to cppfiles.c.
5693 Move prototypes for deps_output, append_include_chain,
5694 finclude to cpplib.h. Move definition of struct
5695 file_name_list there also.
5696
5697 * cppfiles.c: New file. Contains all the above functions
5698 broken out of cpplib.c; also hack_vms_include_specification
5699 from cccp.c and find_include_file, a new function broken out of
5700 do_include.
5701
5702 * Makefile.in (cppmain): Depend on cppfiles.o.
5703 (fix-header): Likewise.
5704 (cppfiles.o): New target.
5705 * configure.in (--enable-c-cpplib): Add cppfiles.o to
5706 extra_c_objs. Add ../cppfiles.o to extra_cxx_objs.
5707
0a4be913
JW
5708Wed Oct 28 14:06:49 1998 Jim Wilson <wilson@cygnus.com>
5709
5710 * dwarfout.c (dwarfout_file_scope_decl): If DECL_CONTEXT, don't abort
5711 if pending_types is non-zero.
5712 (dwarfout_finish): Verify pending_types is zero before finishing.
5713
2b28d92e
NC
5714Wed Oct 28 10:29:09 1998 Nick Clifton <nickc@cygnus.com>
5715
5716 * expr.c (convert_move): Use shifts to perform the move if a
5717 suitable extend pattern cannot be found. Code written by
5718 Richard Henderson <rth@cygnus.com>.
5719
8f142c0b
BS
5720Wed Oct 28 03:59:29 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
5721
ed396e68
BS
5722 * regclass.c (renumber, regno_allocated): New static variables, moved
5723 out of allocate_reg_info.
5724 (allocate_reg_info): Move these two variables outside the function.
5725 Move code to free memory into new function free_reg_info.
5726 (free_reg_info): New function, broken out of allocate_reg_info.
5727 * toplev.c (compile_file): Call free_reg_info, not allocate_reg_info.
5728 * rtl.h (allocate_reg_info): Don't declare.
5729 (free_reg_info): Declare.
5730
8f142c0b
BS
5731 * final.c (cleanup_subreg_operands): ASM_INPUTs need no treatment.
5732
a554186c
JM
5733Wed Oct 28 02:38:12 1998 Jason Merrill <jason@yorick.cygnus.com>
5734
5735 * toplev.c (compile_file): Temporarily revert last change.
5736
b58c9a79
JM
5737Wed Oct 28 00:00:35 1998 Jason Merrill <jason@yorick.cygnus.com>
5738
5739 * c-typeck.c (convert_for_assignment): Parenthesize.
5740
2eb6dac7
AS
57411998-10-28 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
5742
5743 * reload1.c (delete_output_reload): Avoid ambigous else.
5744
0304f787
JL
5745Wed Oct 28 00:10:35 1998 Jeffrey A Law (law@cygnus.com)
5746
e0c6d139
JL
5747 * toplev.c (compile_file): Call allocate_reg_info to free register
5748 table memory.
5749 * rtl.h (allocate_reg_info): Declare.
5750
c75d5284
JL
5751 * PROJECTS: Remove entry for local spilling.
5752
0304f787
JL
5753 * final.c (cleanup_subreg_operands): New function.
5754 (final_scan_insn): Use it.
5755 (alter_subreg): Clear the "used" field when we turn a SUBREG into
5756 a REG.
5757 * reload1.c (reload): Delete CLOBBER insns and also cleanup SUBREG
5758 operands when reload has finished.
5759 * reload.h (cleanup_subreg_operands): Declare..
5760 * flow.c (life_analysis_1): No longer delete CLOBBER insns after
5761 reload. Handled in reload itself.
5762
03acd8f8
BS
5763Tue Oct 27 23:32:34 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
5764
c47f5ea5
BS
5765 * reload1.c (verify_initial_offsets): New function.
5766 (reload): Call it after reload_as_needed. Also verify that the frame
5767 size stays constant during reload_as_needed.
5768 * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Undo Jul 26 change.
5769
03acd8f8
BS
5770 * reload.h (struct insn_chain): Add need_operand_change element.
5771 * reload1.c (new_insn_chain): Clear it.
5772 (calculate_needs_all_insns): Set it; don't overload need_reload.
5773 (reload_as_needed): Use it.
5774
5775 * reload.c (find_reloads_address): Use BASE_REG_CLASS instead of
5776 reload_address_base_reg_class throughout. Similar for INDEX_REG_CLASS
5777 and reload_address_index_reg_class.
5778 (find_reloads_address_1): Likewise.
5779 * reload.h (reload_address_base_reg_class,
5780 reload_address_index_reg_class): Don't declare.
5781 * reload1.c (reg_old_renumber, pseudo_previous_regs,
5782 pseudo_forbidden_regs, bad_spill_regs_global): New static variables.
5783 (used_spill_regs): Now static.
5784 (reload_address_base_reg_class, reload_address_index_reg_class,
5785 regs_explicitly_used, counted_for_groups, counted_for_nongroups,
5786 basic_block_needs, max_needs, group_size, group_mode, max_groups,
5787 max_nongroups, max_needs_insn, max_groups_insn, max_nongroups_insn,
5788 forbidden_regs):
5789 Deleted variables.
5790 (init_reload): Delete code to compute base/index reg classes.
5791 (reload): Delete variable J.
5792 Delete code to manage basic_block_needs.
5793 Don't compute regs_explicitly_used.
5794 Allocate, initialize and free reg_old_renumber, pseudo_forbidden_regs,
5795 pseudo_previous_regs.
5796 Initialize bad_spill_regs_global.
5797 Don't call order_regs_for_reload here.
5798 Don't initialize spill_reg_order and n_spills.
5799 Don't forbid explicitly used regs to be used for spill regs.
5800 Change main loop to infinite loop, with explicit break statements.
5801 Make SOMETHING_CHANGED variable local to that loop.
5802 Don't initialize max_needs, max_groups, max_nongroups, max_needs_insn,
5803 max_groups_insn, max_nongroups_insn, group_size, group_mode.
5804 Make sure spilled_speudos is cleared before calling spill_hard_reg or
5805 new_spill_reg.
5806 Don't call dump_needs.
5807 Delete code to reset potential_reload_regs.
5808 Delete code to terminate loop conditional on the global needs variables
5809 showing no further needs.
5810 (calculate_needs_all_insns): Return void. All callers changed.
5811 Initialize somehing_needs_elimination here, not in reload.
5812 Delete avoid_return_reg kludge.
5813 (calculate_needs): Lose AVOID_RETURN_REG and GLOBAL args, return void.
5814 All callers changed.
5815 Initialize the group_mode and group_size elements of the arg CHAIN.
5816 Delete code to manage basic_block_needs.
5817 Operate on elements of CHAIN instead of global variables.
5818 Delete avoid_return_reg kludge.
5819 (find_tworeg_group): Lose GLOBAL arg, take CHAIN arg, return void.
5820 All callers changed.
5821 Operate on elements of CHAIN instead of global variables.
5822 Delete special SMALL_REGISTER_CLASSES code.
5823 Delete spill_failure code; now in new_spill_reg.
5824 (find_group): Lose GLOBAL arg, take CHAIN arg, return void.
5825 All callers changed.
5826 Operate on elements of CHAIN instead of global variables.
5827 (maybe_mark_pseudo_spilled): New static function.
5828 (find_reload_regs): Lose GLOBAL arg, take CHAIN arg, return void.
5829 All callers changed.
5830 Operate on elements of CHAIN instead of global variables.
5831 Call order_regs_for_reload here, not in reload.
5832 Initialize spill_reg_order and n_spills.
5833 Simplify test whether an asm insn is involved.
5834 Delete spill_failure code; now in new_spill_reg.
5835 Call maybe_mark_pseudo_spilled for everything marked as live in
5836 CHAIN. Merge CHAIN's used_spill_regs into the global variable
5837 used_spill_regs.
5838 (dump_needs): Take CHAIN arg. No longer static, to prevent the
5839 compiler from optimizing this function (now unused) away.
5840 Operate on elements of CHAIN instead of global variables.
5841 (possible_group_p): Lose MAX_GROUPS arg, take CHAIN arg. All callers
5842 changed.
5843 Operate on elements of CHAIN instead of global variables.
5844 (count_possible_groups): Lose GROUP_SIZE, GROUP_MODE, MAX_GROUPS args,
5845 take CHAIN arg. All callers changed.
5846 Operate on elements of CHAIN instead of global variables.
5847 (new_spill_reg): Lose MAX_NEEDS, MAX_NONGROUPS, GLOBAL args, take
5848 CHAIN, NONGROUP args. Return void. All callers changed.
5849 Verify caller isn't trying to spill a pseudo.
5850 Simplify test for illegal reg, just use bad_spill_regs.
5851 Generate better error messages.
5852 Operate on elements of CHAIN instead of global variables.
5853 Mark spilled register in CHAIN's used_spill_regs element.
5854 Don't call spill_hard_reg.
5855 (spill_hard_reg): Lose GLOBAL arg, return void. All callers changed.
5856 Mark spilled hard regs in bad_spill_regs_global.
5857 Mark affected pseudos in spilled_pseudos, but don't spill them.
5858 (ior_hard_reg_set): New static function.
5859 (finish_spills): Return int. All callers changed.
5860 Compute spill_reg_order, n_spills and spill_regs here. Also update
5861 regs_ever_live for regs used as spills.
5862 For every pseudo in spilled_pseudos, spill it and mark the previous
5863 hard reg it had in pseudo_previous_regs. Compute which hard regs
5864 arseudo): New static function.
5865 (order_regs_for_reload): Take CHAIN arg. All callers changed.
5866 Initialize bad_spill_regs from bad_spill_regs_global, then merge any
5867 hard registers explicitly used across the current insn into the set.
5868 Compute hard_reg_n_uses taking only pseudos live across this insn
5869 into account.
5870 Tweak sorting of potential_reload_regs.
5871 (compare_spill_regs): Delete function.
5872 (reload_as_needed): Don't sort the spill_regs array, it's computed
5873 in proper order in finish_spills.
5874 Delete avoid_return_reg kludge.
5875 Delete code to manage basic_block_needs.
5876 (allocate_reload_reg): Minor speed/readability tweaks.
5877 Operate on elements of CHAIN instead of global variables.
5878 (choose_reload_regs): Lose AVOID_RETURN_REG arg. All callers changed.
5879 Delete avoid_return_reg kludge.
5880 Initialize reload_reg_used from CHAIN's used_spill_regs element.
5881 Delete unused label FAIL.
5882 (reload_combine): Replce reload_address_index_reg_class with
5883 INDEX_REGS.
5884 Don't use used_spill_regs to determine information about lifetime of
5885 hard regs.
5886
844642e6
NC
5887Tue Oct 27 13:15:02 1998 Nick Clifton <nickc@cygnus.com>
5888
5889 * toplev.c (display_help): Ignore empty target specific
5890 options, and if -W is also specified on the command line then
5891 display undocumented options.
2a5307b1
NC
5892
5893 * config/arm/arm.c: Updated with changes in devo sources.
5894 * config/arm/arm.h: Updated with changes in devo sources.
5895 * config/arm/lib1funcs.asm: Updated with changes in devo sources.
5896 * config/arm/lib1thumb.asm: Add ELF support.
5897
f5e04914 5898Tue Oct 27 16:11:43 1998 David Edelsohn <edelsohn@mhpcc.edu>
3d697b4c 5899
f5e04914
DE
5900 * collect2.c (aix64_flag): New variable.
5901 (main, case 'b'): Parse it.
5902 (GCC_CHECK_HDR): object magic number must match mode.
5903 (scan_prog_file): Only check for shared object if valid header.
5904 Print debugging if header/mode mismatch.
5905
5906Tue Oct 27 10:15:02 1998 Nick Clifton <nickc@cygnus.com>
b355a481
NC
5907
5908 Added support for arm-elf-linux configuration, submitted by Philip
5909 Blundell <pb@nexus.co.uk>, and integrated this with the arm-elf
5910 code developed by Catherine Moore <clm@cygnus.com>. The following
5911 files are affected:
5912
5913 * configure.in: Add arm-*-linux-gnu, armv2-*-linux and arm-*-elf
5914 targets.
5915
5916 * configure: Regenerated.
5917
5918 * config/arm/aout.h: Add default definitions of REGISTER_PREFIX,
5919 USER_LABEL_PREFIX and LOCAL_LABEL_PREFIX. Make other macro
5920 definitions conditional on their not having been already defined.
5921
5922 * config/arm/lin1funcs.asm: Add ELF only macros to generate .size
5923 and .type directives, and add "(PLT)" qualification to function
5924 calls.
5925
5926 * config/arm/linux.h: Deleted. This file is now superceeded by
5927 either linux-elf.h or linux-aout.h.
5928
5929 * config/arm/linux-gas.h: Define `inhibit_libc' if cross-compiling.
5930 (CLEAR_INSN_CACHE): New macro, currently disabled (awaiting kernel
5931 support).
5932 Move definitions from old linux.h file here.
5933
5934 * config/arm/elf.h: New file. Generic ARM/ELF support.
5935
5936 * config/arm/linux-aout.h: New file. Support for Linux with a.out.
5937
5938 * config/arm/linux-elf.h: New file. Support for Linux with ELF.
5939
5940 * config/arm/linux-elf26.h: New file. Support for Linux with ELF
5941 using the 26bit APCS.
5942
5943 * config/arm/unknown-elf.h: New file. Support for OS'es other
5944 than Linux with ELF.
5945
5946 * config/arm/t-arm-elf: New file. makefile fragment for arm-elf
5947 builds.
5948
5949 * config/arm/coff.h: Include aout.h for basic assembler macros.
5950 Add support for -mstructure_size_boundary=<n> command line option.
5951
5952 * config/arm/arm.h: Add support for -mstructure_size_boundary=<n>
5953 command line option. Make macro definitions conditional on their
5954 not having been already defined.
5955
5956 * config/arm/arm.c: Add support for -mstructure_size_boundary=<n>
5957 command line option.
5958
5959
f5e04914 5960Tue Oct 27 08:56:46 1998 Andrew MacLeod <amacleod@cygnus.com>
74153f8e
AM
5961
5962 * dwarfout.c (ASM_OUTPUT_DWARF_STRING_NEWLINE): ASM_OUTPUT_DWARF_STRING
5963 has been changed to not include a newline. Use this macro instead.
5964 (output_enumeral_list, const_value_attribute, name_attribute,
5965 comp_dir_attribute, prototyped_attribute, producer_attribute,
5966 inline_attribute, pure_or_virtual_attribute, output_inheritance_die,
5967 dwarfout_file_scope_decl, generate_new_sfname_entry,
5968 generate_macinfo_entry, dwarfout_init, dwarfout_finish): Use
5969 ASM_OUTPUT_DWARF_STRING_NEWLINE macro.
5970
4f4b3679
RH
5971Mon Oct 26 13:35:02 1998 Richard Henderson <rth@cygnus.com>
5972
5973 * combine.c (subst): Process the inputs to a parallel asm_operands
5974 only once.
5975
3fbd5c2c
RH
5976Mon Oct 26 13:32:31 1998 Richard Henderson <rth@cygnus.com>
5977
5978 * stmt.c (expand_asm_operands): Accept `=' or `+' at any position.
5979
26f63a77
JL
5980Mon Oct 26 12:53:14 1998 Jeffrey A Law (law@cygnus.com)
5981
5982 * tm.texi (ASM_OUTPUT_MAX_SKIP_ALIGN): Document.
5983
ff08e6b5
JL
5984Mon Oct 26 00:36:58 PST 1998 Jeff Law (law@cygnus.com)
5985
5986 * version.c: Bump for snapshot.
5987
e17f9bc0
JM
5988Sun Oct 25 23:36:52 1998 Jason Merrill <jason@yorick.cygnus.com>
5989
5990 * stmt.c (expand_fixup): Set fixup->before_jump to a
5991 NOTE_INSN_DELETED instead of a NOTE_INSN_BLOCK_BEG.
5992
7f7f8214
KG
5993Sun Oct 25 15:49:57 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5994
5995 * Makefile.in (recog.o): Depend on toplev.h.
5996 (insn-emit.o): Depend on recog.h.
5997 (insn-peep.o): Depend on recog.h and insn-config.h.
5998
5999 * combine.c (simplify_set): Remove unused variable `scratches'.
6000
6001 * final.c (final_scan_insn): Wrap declaration of variables `vlen'
6002 and `idx' in macro conditional controlling their use.
6003
6004 * genemit.c (main): Make the generated output file include
6005 recog.h. Don't have it declare `insn_operand_constraint', since
6006 we get it from recog.h.
6007
6008 * genpeep.c (main): Make the generated output file include
6009 insn-config.h and recog.h.
6010
6011 * recog.c: Include toplev.h.
6012 (extract_insn): Remove unused variable `p'.
6013
6014 * regclass.c (fix_register): Add missing braces around initializer
6015 for `what_option'.
6016 (allocate_reg_info): Move variable `i' into the scope where it is
6017 used. Change its type to `size_t'.
6018
9ff16ff2
BS
6019Sun Oct 25 13:10:15 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
6020
6021 * reload.c (push_reload): When merging reloads, make sure
6022 that reload_in_reg and reload_in are from the same reload in
6023 all cases.
6024
de3a0967
MK
6025Sun Oct 25 12:07:00 1998 Mumit Khan <khan@xraylith.wisc.edu>
6026
6027 * i386/crtdll.h (CPP_PREDEFINES): Fix typo.
6028 * i386/mingw32.h (CPP_PREDEFINES): Likewise.
6029
8c368ee2
DE
6030Fri Oct 23 23:42:03 1998 David Edelsohn <edelsohn@mhpcc.edu>
6031
6032 * loop.c (loop_has_tablejump): New variable.
6033 (prescan_loop): Scan for it.
6034 (insert_bct): Replace explicit scan with use of it.
6035 * regclass.c (regclass): Restore loop variable j.
6036 (record_reg_classes): Deterine op_types modifiers and initialize
6037 classes[i] before matching constraints. Handle matching
6038 constraints 5-9.
6039
ca3bf2b5
JW
6040Fri Oct 23 13:55:48 1998 Jim Wilson <wilson@cygnus.com>
6041
6042 * m32r/m32r.c (gen_split_move_double): Call alter_subreg. Delete
6043 subreg support.
6044
e1ba7da7
KG
6045Fri Oct 23 16:19:24 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6046
6047 * mips.h (EXTRA_SPECS): Add missing initializers.
6048
df4f7565
KG
6049Fri Oct 23 16:08:39 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6050
6051 * sparc.h (EXTRA_SPECS): Add missing initializers.
6052 (sparc_defer_case_vector): Provide a prototype.
6053
6054 * svr4.h (ASM_OUTPUT_ASCII): Cast STRING_LIMIT to (long) when
6055 comparing it to the result of a pointer subtraction.
6056
d1e6b55b
KG
6057Fri Oct 23 15:34:14 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6058
6059 * alpha.c (override_options): Use ISDIGIT(), not isdigit(). Cast
6060 the argument to (unsigned char).
6061
6062 * alpha.h (EXTRA_SPECS): Add missing initializers.
6063 (ASM_GENERATE_INTERNAL_LABEL): Ensure the argument matches the
6064 format specifier.
6065
c4214310
JL
6066Fri Oct 23 13:12:35 1998 Jeffrey A Law (law@cygnus.com)
6067
b590bbfd
JL
6068 * flow.c (life_analysis_1): Enable "rescan" code after reload.
6069 (propagate_block): Delete dead code after reload.
6070
a1ef0af4
JL
6071 * sched.c (update_flow_info): Revert Oct 19, 1998 change. Brings
6072 back Oct 15, 1998 change.
6073 * haifa-sched.c (update_flow_info): Likewise.
7b16da78
JL
6074 * flow.c (life_analysis_1): Delete CLOBBER insns after reload.
6075
c4214310
JL
6076 * mn10200.md (truncated shift): Accept constant inputs too.
6077
abef8789
RE
6078Fri Oct 23 04:06:57 1998 Richard Earnshaw (rearnsha@arm.com)
6079
6080 * machmode.h (mode_mask_array): No longer const.
6081 * rtl.c (init_rtl): Fully initialize it if EXTRA_CC_MODES defined.
6082
ccb5954f
ML
6083