]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
alias.c: Remove uses of "register" specifier in declarations of arguments and local...
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
b3694847
SS
12001-10-10 Stan Shebs <shebs@apple.com>
2
3 * alias.c: Remove uses of "register" specifier in declarations
4 of arguments and local variables.
5 * c-common.c: Ditto.
6 * c-convert.c: Ditto.
7 * c-decl.c: Ditto.
8 * c-format.c: Ditto.
9 * c-semantics.c: Ditto.
10 * c-typeck.c: Ditto.
11 * caller-save.c: Ditto.
12 * calls.c: Ditto.
13 * cfg.c: Ditto.
14 * cfgbuild.c: Ditto.
15 * cfgrtl.c: Ditto.
16 * collect2.c: Ditto.
17 * combine.c: Ditto.
18 * convert.c: Ditto.
19 * cppexp.c: Ditto.
20 * cppfiles.c: Ditto.
21 * cse.c: Ditto.
22 * dbxout.c: Ditto.
23 * defaults.h: Ditto.
24 * df.c: Ditto.
25 * dwarf2out.c: Ditto.
26 * dwarfout.c: Ditto.
27 * emit-rtl.c: Ditto.
28 * explow.c: Ditto.
29 * expmed.c: Ditto.
30 * expr.c: Ditto.
31 * final.c: Ditto.
32 * fix-header.c: Ditto.
33 * floatlib.c: Ditto.
34 * flow.c: Ditto.
35 * fold-const.c: Ditto.
36 * function.c: Ditto.
37 * gcc.c: Ditto.
38 * gcse.c: Ditto.
39 * gen-protos.c: Ditto.
40 * genattrtab.c: Ditto.
41 * gencheck.c: Ditto.
42 * genconfig.c: Ditto.
43 * genemit.c: Ditto.
44 * genextract.c: Ditto.
45 * genflags.c: Ditto.
46 * gengenrtl.c: Ditto.
47 * genoutput.c: Ditto.
48 * genpeep.c: Ditto.
49 * genrecog.c: Ditto.
50 * gensupport.c: Ditto.
51 * global.c: Ditto.
52 * gmon.c: Ditto.
53 * graph.c: Ditto.
54 * haifa-sched.c: Ditto.
55 * hard-reg-set.h: Ditto.
56 * hash.c: Ditto.
57 * integrate.c: Ditto.
58 * jump.c: Ditto.
59 * lists.c: Ditto.
60 * local-alloc.c: Ditto.
61 * loop.c: Ditto.
62 * mips-tdump.c: Ditto.
63 * mips-tfile.c: Ditto.
64 * optabs.c: Ditto.
65 * prefix.c: Ditto.
66 * print-rtl.c: Ditto.
67 * read-rtl.c: Ditto.
68 * real.c: Ditto.
69 * recog.c: Ditto.
70 * reg-stack.c: Ditto.
71 * regclass.c: Ditto.
72 * regmove.c: Ditto.
73 * reload.c: Ditto.
74 * reload1.c: Ditto.
75 * reorg.c: Ditto.
76 * resource.c: Ditto.
77 * rtl.c: Ditto.
78 * rtlanal.c: Ditto.
79 * scan.c: Ditto.
80 * sched-deps.c: Ditto.
81 * sched-rgn.c: Ditto.
82 * sdbout.c: Ditto.
83 * simplify-rtx.c: Ditto.
84 * stmt.c: Ditto.
85 * stor-layout.c: Ditto.
86 * toplev.c: Ditto.
87 * tradcif.y: Ditto.
88 * tradcpp.c: Ditto.
89 * tree.c: Ditto.
90 * unroll.c: Ditto.
91 * varasm.c: Ditto.
92 * xcoffout.c: Ditto.
93
ba3c4fbb
RH
942001-10-10 Richard Henderson <rth@redhat.com>
95
96 * rtl.h (can_reverse_comparison_p): Remove.
97
0a977123
CF
982001-10-10 Christopher Faylor <cgf@redhat.com>
99
100 * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
101 used.
102
1032001-10-10 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
104
105 * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
106 (Thanks to Chris Faylor for suggesting macro name).
107 (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
108 WIN32 defines.
109 (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
110 (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
111 (MATH_LIBRARY): Undef before definition.
112 (OUTPUT_QUOTED_STRING): Likewise.
113 * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
114
bde257ff
RH
1152001-10-10 Richard Henderson <rth@redhat.com>
116
117 * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
118 (fde_unencoded_compare): Likewise. Don't use subtraction to get
119 a tristate comparison value.
120 (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
121
c156ea30
FS
1222001-10-10 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
123
e10f3d36
FS
124 PR c++/4512
125 * unroll.c (loop_iterations): Ignore insns generated by loop
126 unrolling.
127
c156ea30
FS
128 * config.gcc (mips*-*-gnu*): Delete support.
129 * config/mips/gnu.h: Remove.
130
6d2f8887
KH
1312001-10-10 Kazu Hirata <kazu@hxi.com>
132
133 * calls.c: Fix formatting.
134 * c-decl.c: Likewise.
135 * cfgcleanup.c: Likewise.
136 * combine.c: Likewise.
137 * cppfiles.c: Likewise.
138 * cpplib.c: Likewise.
139 * cppmacro.c: Likewise.
140 * crtstuff.c: Likewise.
141 * cse.c: Likewise.
142 * dwarf2out.c: Likewise.
143 * expmed.c: Likewise.
144 * expr.c: Likewise.
145 * fold-const.c: Likewise.
146 * function.c: Likewise.
147 * gcse.c: Likewise.
148 * genattrtab.c: Likewise.
149 * ggc-page.c: Likewise.
150 * integrate.c: Likewise.
151 * libgcc2.c: Likewise.
152 * loop.c: Likewise.
153 * optabs.c: Likewise.
154 * profile.c: Likewise.
155 * protoize.c: Likewise.
156 * real.c: Likewise.
157 * recog.c: Likewise.
158 * reload1.c: Likewise.
159 * reload.c: Likewise.
160 * reorg.c: Likewise.
161 * resource.c: Likewise.
162 * sched-rgn.c: Likewise.
163 * sdbout.c: Likewise.
164 * stmt.c: Likewise.
165 * toplev.c: Likewise.
166 * varasm.c: Likewise.
167
1affb409
JJ
1682001-10-10 Janis Johnson <janis187@us.ibm.com>, Alexandre Oliva <aoliva@redhat.com>
169
170 * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
171 * Makefile.in (langhooks.o): Add dependencies.
172
b999aaeb
JW
173Wed Oct 10 00:41:29 EDT 2001 John Wehle (john@feith.com)
174
175 * rs6000.c (rs6000_emit_load_toc_table): Don't
176 strdup the toc label.
177 (create_TOC_reference): Likewise.
178
09eaf5a5
DS
1792001-10-09 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
180
181 * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
182 version default.
183
3da1eb0b
DS
1842001-10-09 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
185
186 * config/i386/i386.c (ix86_attribute_table): Correct
187 min_len, max_len fields for dllimport, dllexport and shared.
188
df2a54e9
JM
1892001-10-10 Joseph S. Myers <jsm28@cam.ac.uk>
190
191 * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
192 doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
193 Consistently use "nonzero" instead of "non-zero".
194
19eb1ad7
KH
1952001-10-09 Kazu Hirata <kazu@hxi.com>
196
197 * acconfig.h: Fix comment formatting.
198 * c-dump.h: Likewise.
199 * c-tree.h: Likewise.
200 * conditions.h: Likewise.
201 * expr.h: Likewise.
202 * function.h: Likewise.
203 * gthr.h: Likewise.
204 * hwint.h: Likewise.
205 * integrate.h: Likewise.
206 * intl.h: Likewise.
207 * loop.h: Likewise.
208 * optabs.h: Likewise.
209
2ba84f36
KH
2102001-10-09 Kazu Hirata <kazu@hxi.com>
211
212 * c-common.h: Fix comment formatting.
213 * c-dump.c: Likewise.
214 * cfg.c: Likewise.
215 * diagnostic.h: Likewise.
216 * except.c: Likewise.
217 * gcc.h: Likewise.
218 * gcov-io.h: Likewise.
219 * genattrtab.c: Likewise.
220 * output.h: Likewise.
221 * predict.h: Likewise.
222 * reload1.c: Likewise.
223 * reload.h: Likewise.
224 * resource.h: Likewise.
225 * scan.h: Likewise.
226 * system.h: Likewise.
227 * tree.h: Likewise.
228 * tree-inline.c: Likewise.
229 * tsystem.h: Likewise.
230 * varasm.c: Likewise.
231 * xcoffout.h: Likewise.
232
77332b4e
JM
2332001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
234
235 * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
236
9f2f9eb6
JM
2372001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
238
239 * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
240 config/i386/i386elf.h, config/i386/netbsd-elf.h,
241 config/i386/netware.h, config/mcore/gfloat.h,
242 config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
243 config/netware.h, gccbug.in: Update FSF address.
244
4fe9b91c
KH
2452001-10-09 Kazu Hirata <kazu@hxi.com>
246
247 * c-common.c: Fix comment typos.
248 * cfgrtl.c: Likewise.
249 * collect2.c: Likewise.
250 * cpplex.c: Likewise.
251 * doloop.c: Likewise.
252 * dwarf2out.c: Likewise.
253 * dwarfout.c: Likewise.
254 * expr.c: Likewise.
255 * fold-const.c: Likewise.
256 * gcc.c: Likewise.
257 * gcov.c: Likewise.
258 * gcse.c: Likewise.
259 * global.c: Likewise.
260 * ifcvt.c: Likewise.
261 * loop.c: Likewise.
262 * optabs.c: Likewise.
263 * protoize.c: Likewise.
264 * regclass.c: Likewise.
265 * reorg.c: Likewise.
266 * rtl.h: Likewise.
267 * stmt.c: Likewise.
268 * tree.h: Likewise.
269 * doc/cpp.texi: Likewise.
270 * doc/c-tree.texi: Likewise.
271 * doc/extend.texi: Likewise.
272 * doc/invoke.texi: Likewise.
273 * doc/objc.texi: Likewise.
274 * doc/tm.texi: Likewise.
275
8d2134aa
RH
2762001-10-08 Richard Henderson <rth@redhat.com>
277
278 * varasm.c (set_named_section_flags): Initialize "declared".
279
a8c01a59
RL
2802001-10-08 Robert Lipe <robertlipe@usa.net>
281
8d2134aa 282 * varasm.c (struct in_named_entry): Add declared.
a8c01a59
RL
283 (named_section_first_declaration): New function.
284 (default_elf_asm_named_section): Use it.
285 * output.h (named_section_first_declaration): New.
286
646ded90
RH
2872001-10-08 Richard Henderson <rth@redhat.com>
288
289 * i386.md (movsi_xor): Export.
290 (setcc peep2): Use it when available; add an alternative to
291 match zero_extendhisi2_and.
292
e052f1a9
KG
2932001-10-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
294
295 * romp-protos.h (romp_initialize_trampoline): New function.
296 * romp.c (romp_initialize_trampoline): Likewise.
297 * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
298 romp_initialize_trampoline.
299
da905677
KG
3002001-10-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
301
302 * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
303 * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
304 * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
305 * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
306
9d1e9f93
FS
3072001-10-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
308
309 * unroll.c (loop_iterations): Extend check for multiple back edges.
310
69dcadff
AO
3112001-10-08 Alexandre Oliva <aoliva@redhat.com>
312
313 * langhooks.h: New file.
314 * Makefile.in (OBJS): Added langhooks.o.
315 (c-lang.o): Depend on langhooks.h.
316 (c-common.o): Don't depend on tree-inline.h.
317 (tree-inline.o): Depend on toplev.h.
318 (langhooks.o): New rule.
319 * c-common.c: Don't include tree-inline.h.
320 (c_mark_lang_decl): Mark argument c as unused.
321 (c_common_lang_init): Don't initialize hooks here.
322 * c-lang.c: Include langhooks.h, then override some macros.
323 (lang_hooks): Initialize with macros in langhooks.h.
324 (c_init): Don't initialize hooks here.
325 * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
326 (struct lang_hooks): Add tree_inlining. Refer to langhooks.h.
327 * tree-inline.c: Include toplev.h. Don't define hook variables.
328 * tree-inline.h: Don't define hook types nor declare hook
329 variables. Move macros to...
330 * langhooks.c: ... new file, as functions. Adjust all callers.
331
5a2ce672
JL
3322001-10-08 Jeffrey A Law <law@cygnus.com>
333
334 * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
335 purge_mem_unchanging_flag on all instructions, not just on those
336 before NOTE_INSN_FUNCTION_BEG.
337
bbb12d76
NB
3382001-10-08 Neil Booth <neil@daikokuya.demon.co.uk>
339
340 * cppmacro.c (_cpp_create_definition): Leave comments off.
341
342 * doc/cpp.texi: Update.
343
3e96a2fd
DD
3442001-10-08 DJ Delorie <dj@redhat.com>
345
346 * c-decl.c (grokfield): Make sure the only unnamed fields
347 we're allowing are either structs or unions.
348 * doc/extend.texi: Add documentation for the unnamed field
349 extension.
350
67f28219
ZW
3512001-10-08 Zack Weinberg <zack@codesourcery.com>
352
353 * aclocal.m4 (gcc_AC_PROG_GNAT): New.
354 * configure.in: Use it.
355 * configure: Regenerated.
356 * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
357 config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
358
c0bfe993
NB
3592001-10-08 Neil Booth <neil@daikokuya.demon.co.uk>
360
361 * cppfiles.c (open_file): Don't mark zero-length files
362 never-reread here. Don't output diagnostics here either.
363 (stack_include_file): Mark them never-reread here.
364 (_cpp_read_file): Update.
365
d5d1b9e2
RH
3662001-10-08 Richard Henderson <rth@redhat.com>
367
368 * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
369
1f1b0541
RH
3702001-10-08 Richard Henderson <rth@redhat.com>
371
372 * expr.c (store_expr): When converting a CONST_INT for storage
373 in a SUBREG, convert it to both SUBREG modes before stripping
374 the SUBREG.
375
6ba3b214
RH
3762001-10-08 Richard Henderson <rth@redhat.com>
377
378 * varasm.c (restore_varasm_status): New.
379 * function.h: Declare it.
380 * function.c (pop_function_context_from): Call it.
381
31ed8fea
RH
3822001-10-08 Richard Henderson <rth@redhat.com>
383
384 * c-common.h (struct c_lang_decl): Add declared_inline.
385 * c-tree.h (DECL_DECLARED_INLINE_P): New.
386 * c-lang.c (c_disregard_inline_limits): Use it.
387 * c-decl.c (duplicate_decls): Likewise.
388 (pushdecl, redeclaration_error_message): Likewise.
389 (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
390 (grokdeclarator): Likewise. Set DECL_DECLARED_INLINE_P.
391 Set DECL_INLINE if -finline-functions.
392 (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
393
d6da836d
NB
3942001-10-08 Neil Booth <neil@daikokuya.demon.co.uk>
395
396 * cppmacro.c (funlike_invocation_p): Move some logic to caller
397 in enter_macro_context. Create a padding token in its own context
398 if necessary when the search for '(' fails.
399 (enter_macro_context): Update.
400
cc712abf
JM
4012001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
402
403 * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
404 genmultilib, toplev.c: Fix spelling errors of "separate" as
405 "seperate", and corresponding spelling errors of related words.
406
8b60264b
KG
4072001-10-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
408
409 * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
410 * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
411 Likewise.
412 * c-dump.c (dump_option_value_info): Likewise.
413 * c-format.c (format_length_info, format_char_info,
414 format_flag_spec, format_flag_pair, format_kind_info): Likewise.
415 * collect2.c (names): Likewise.
416 * cppdefault.h (default_include): Likewise.
417 * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
418 * flow.c (life_analysis): Likewise.
419 * gcc.c (dir_separator_str, modify_target, option_map,
420 target_option_translations, spec_list_1, extra_specs_1,
421 init_spec): Likewise.
422 * gcov.c (gcov_version_string): Likewise.
423 * genattr.c (write_units): Likewise.
424 * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
425 * gengenrtl.c (rtx_definition, defs): Likewise.
426 * genrecog.c (pred_table): Likewise.
427 * global.c (global_alloc): Likewise.
428 * lcm.c (optimize_mode_switching): Likewise.
429 * local-alloc.c (find_free_reg): Likewise.
430 * params.h (param_info): Likewise.
431 * predict.c (predictor_info): Likewise.
432 * protoize.c (unexpansion_struct): Likewise.
433 * real.c (bmask): Likewise.
434 * recog.h (insn_operand_data, insn_data): Likewise.
435 * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
436 * stmt.c (expand_nl_goto_receiver): Likewise.
437 * toplev.c (da, debug_args, lang_opt, documented_lang_options,
438 target_switches, target_options): Likewise.
439 * tradcif.y (token, tokentab2, yylex): Likewise.
440 * tree.h (attribute_spec): Likewise.
441
442 * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
443 Likewise.
444 * arc.c (arc_output_function_epilogue): Likewise.
445 * arm.c (processors, all_cores, all_architectures,
446 arm_override_options, isr_attribute_arg, isr_attribute_args,
447 arm_isr_value): Likewise.
448 * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
449 Likewise.
450 * c4x.c (c4x_int_reglist): Likewise.
451 * d30v.c (override_options): Likewise.
452 * h8300.c (shift_insn): Likewise.
453 * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
454 pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
455 ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
456 builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
457 ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
458 * i386.h (processor_costs, ix86_cost): Likewise.
459 * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
460 * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
461 * m68k.c (codes_68881, codes_FPA): Likewise.
462 * m88k.c (mode_from_align, max_from_align, all_from_align,
463 best_from_align, m_options): Likewise.
464 * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
465 * mcore.c (mode_from_align): Likewise.
466 * mips/elf64.h (UNIQUE_SECTION): Likewise.
467 * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
468 * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
469 * mips.h (mips_regno_to_class): Likewise.
470 * ns32k.c (scales): Likewise.
471 * pa.c (import_string, magic_milli): Likewise.
472 * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
473 * sparc.c (leaf_reg_remap, sparc_override_options,
474 reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
475 Likewise.
476 * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
477
d1d18b46
DJ
4782001-10-07 Dale Johannesen <dalej@apple.com>
479
480 * reload1.c (reload_reg_free_p): Teach register interference
481 checking that multiple output reloads are emitted in
482 reverse order.
483 reload1.c (reload_reg_reaches_end_p): Ditto.
484 reload1.c (reloads_conflict): Ditto.
485
59d42021
JM
4862001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
487
488 * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
489 NULL_TREE inside @code.
490
96cd0e2d
JM
4912001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
492
493 * doc/gcc.texi: Document consistent style of "32-bit",
494 "Objective-C", and "@code{NULL}".
495
47ad4138
ZW
4962001-10-06 Zack Weinberg <zack@codesourcery.com>
497
498 * cpplex.c (enum spell_type): Add SPELL_NUMBER.
499 (cpp_token_len, cpp_spell_token, cpp_output_token,
500 _cpp_equiv_tokens): Handle it.
501 * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
502 CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
503 * cppexp.c (_cpp_parse_expr): Use the correct operator code in
504 error messages.
505
7fb56130
RK
506Sat Oct 6 07:42:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
507
508 * gcc.c (default_compilers): Remove .ada.
509
5b810d3c
NB
5102001-10-06 Neil Booth <neil@daikokuya.demon.co.uk>
511
512 * doc/cppinternals.texi: Update.
513
d644be7b
ZW
5142001-10-06 Zack Weinberg <zack@codesourcery.com>
515
516 * gcc.c (main): Set this_file_error if the appropriate
517 compiler for a language has not been installed.
518
3afb4581
UW
5192001-10-06 Ulrich Weigand <uweigand@de.ibm.com>
520
521 * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
522
45b70dd4
JM
5232001-10-05 Joseph S. Myers <jsm28@cam.ac.uk>
524
525 * gccbug.in (CATEGORIES): Add ada.
526
da6e254e
CM
5272001-10-05 Catherine Moore <clm@redhat.com>
528
529 * config/stormy16/stormy-abi: Document abi changes.
530 * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
531 (ICALL_REGS): New register class.
532 (NUM_ARGUMENT_REGISTERS): Now 6.
533 (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
534 in registers.
535 (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
536 * config/stormy16.md (call_internal, call_value_internal,
537 indirect_jump): Use new 'z' constraint.
538
9f1c2931
NB
5392001-10-05 Neil Booth <neil@daikokuya.demon.co.uk>
540
541 * doc/cppinternals.texi: Update.
542
27d95cbe
RH
5432001-10-05 Richard Henderson <rth@redhat.com>
544
545 * dwarf2out.c (FRAME_BEGIN_LABEL): New.
546 (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
547 the gas section-name-as-label feature.
548
591099cd
NB
5492001-10-05 Neil Booth <neil@daikokuya.demon.co.uk>
550
551 * doc/cppinternals.texi: Update.
552
523fbd9d
RK
553Fri Oct 5 08:17:46 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
554
555 * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
556 to ensure valid SImode constants.
557
d4e4baa9
AO
5582001-10-05 Alexandre Oliva <aoliva@redhat.com>
559
4838c5ee
AO
560 * Makefile.in (c-decl.o): Depend on tree-inline.h.
561 (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
562 * c-decl.c: Include tree-inline.h.
563 (c_expand_body): Call optimize_inline_calls. Determine whether
564 a function is inlinable upfront, and only clear
565 DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
566 * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
567 (c_disregard_inline_limits): New function.
568 (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
569 (c_post_options): Enable tree inlining if inlining is enabled.
570 Don't inline trees when instrumenting functions.
571 (c_init): Initialize lang_disregard_inline_limits and
572 lang_cannot_inline_tree_fn.
573 * tree-inline.c (initialize_inlined_parameters): Handle calls
574 with fewer arguments than declared parameters, and fewer
575 parameters than passed arguments. Don't assume value is a
576 DECL.
577 (declare_return_variable): Convert return value back to the
578 original type, if it was promoted.
579 (tree_inlinable_function_p): New function.
580 (inlinable_function_p): Don't look at DECL_INLINE if we're
581 inlining all functions. Make it work with a NULL id.
582 Re-check DECL_UNINLINABLE after language-specific checks.
4838c5ee 583 * tree-inline.h (tree_inlinable_function_p): Declare it.
6afed784
AO
584 * integrate.c (save_for_inline): Don't bother to prepare argvec
585 when not inlining.
4838c5ee
AO
586 * cse.c (check_for_label_ref): Don't check deleted labels.
587
d4e4baa9
AO
588 * Makefile.in (tree-inline.o): Depend on newly-included headers.
589 * tree-inline.c: Include headers needed for the functions moved in.
590 (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
591 (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
592 (copy_body, initialize_inlined_parameters): Likewise.
593 (declare_return_variable, inlinable_function_p): Likewise.
594 (expand_call_inline, expand_calls_inline): Likewise.
595 (optimize_inline_calls, clone_body): Likewise.
596 (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
597 (copy_tree_r, remap_save_expr): Likewise.
598
588d3ade
AO
5992001-10-04 Alexandre Oliva <aoliva@redhat.com>
600
601 * Makefile.in (OBJS): Added tree-inline.o.
602 (c-common.o): Depend on tree-inline.h.
603 (tree-inline.o): New target.
604 * c-common.c: Include tree-inline.h.
605 (c_mark_lang_decl): Don't mark saved_tree.
606 (c_common_lang_init): Set lang_anon_aggr_type_p.
607 * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
608 (struct c_lang_decl): Moved saved_tree to tree_decl.
609 * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
610 * integrate.h (function_attribute_inlinable_p): Declare it.
611 * integrate.c (function_attribute_inlinable_p): Export it.
612 * tree-inline.c: New file. Define variables declared in...
613 * tree-inline.h: New file. Declare functions to be moved to
614 tree-inline.c. Define macros and declare types and hooks for
615 language-specific tree inlining.
616 (flag_inline_trees): Moved definition from cp/decl2.c.
617 * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
618 (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
619 (struct tree_decl): Moved saved_tree from c_lang_decl and
620 inlined_fns from C++'s lang_decl.
621
d6c0ca38
LR
6222001-10-04 Loren J. Rittle <ljrittle@acm.org>
623
624 * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
625 propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
626
d3d43aab
NB
6272001-10-04 Neil Booth <neil@daikokuya.demon.co.uk>
628
629 * doc/cppinternals.texi: Update.
630
3054eeed
EC
6312001-10-04 Eric Christopher <echristo@redhat.com>
632
633 * config/mips/mips.c (init_cumulative_args): Remember to set
634 cum->prototype.
635 * config.gcc: Redo linux configuration. Add target_cpu_default
636 of soft-float to all mipsisa32 combinations and tx39.
637 * config/mips/linux.h: Remove include of mips.h.
638
8276ed21
LR
6392001-10-03 Loren J. Rittle <ljrittle@acm.org>
640
641 * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
642 HOST_LDFLAGS and HOST_CPPFLAGS.
643
8607f1bc
ZL
6442001-10-03 Ziemowit Laski <zlaski@apple.com>
645
646 * c-parse.in (objc_inherit_code, objc_pq_context,
647 objc_public_flag): Make static.
648 (objc_interface_context, objc_implementation_context,
649 objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
650 global tree array in objc/objc-act.[ch].
651 (methoddef): Remove unnecessary code.
652
653 * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
654 Hoist struct definitions to objc-act.h.
655 (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
656 cat_count): Place declaration in objc-act.h.
657 (objc_tree_index): Move enumeration to objc-act.h.
658 (objc_global_trees): Place declaration and macro accessors in
659 objc-act.h.
660 (implementation_context): Remove duplicate; use
661 objc_implementation_context instead:
662 (method_context): Remove duplicate; use objc_method_context
663 instead.
664 (objc_ellipsis_node, objc_method_prototype_template,
665 implemented_classes, function_type): Move global vars to
666 objc_global_trees.
667 (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
668 (build_message_expr): Move actual construction of ObjC message
669 send nodes to finish_message_expr.
670 (finish_message_expr): New routine, contains code formerly in
671 build_message_expr.
672 * objc/objc-act.h (finish_message_expr): New prototype.
673 (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
674 declarations; these vars are now part of objc_global_trees.
675 (objc_tree_index, objc_global_trees): Move definitions from
676 objc-act.c.
677 * objc/objc-tree.def: Update copyright info.
678
508fc646
JW
679Wed Oct 3 12:22:11 EDT 2001 John Wehle (john@feith.com)
680
681 * dwarf2asm.c (unaligned_integer_asm_op): Abort if
682 op is NULL.
683 * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
684 only if TARGET_ARCH64.
685
80ebf43e
BS
6862001-10-02 Bernd Schmidt <bernds@redhat.com>
687
688 * doc/extend.texi: Fix some problems with previous checkin.
689 * doc/invoke.texi: Likewise.
690
644eddaa
NB
6912001-10-02 Neil Booth <neil@daikokuya.demon.co.uk>
692
693 * cpphash.h: Update comments.
694 (cpp_context): Update.
695 (spec_nodes): Remove n__Pragma.
696 * cppinit.c (cpp_create_reader): Update.
697 (builtin_array): Add _Pragma.
698 * cpplib.h: Update comments.
699 (NODE_DISABLED, BT_PRAGMA): New.
700 (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
701 * cppmacro.c (struct cpp_macro): Remove disabled.
702 (builtin_macro): Return int, handle _Pragma, push the new token
703 on the context stack.
704 (funlike_invocation_p): Unconstify, update.
705 (enter_macro_context): Handle builtins here.
706 (replace_args, push_token_context, push_ptoken_context):
707 Update for prototype changes.
708 (_cpp_pop_context): Update.
709 (cpp_get_token): Don't handle buitins, nor _Pragma here.
710 (cpp_sys_macro_p): Update.
711 (_cpp_free_definition): Clear disabled flag.
712 (_cpp_create_definition): Upate.
713 * cppmain.c: Update comments.
714
14f73b5a
JH
715Tue Oct 2 12:46:01 CEST 2001 Bo Thorsen <bo@suse.co.uk>,
716 Andreas Jaeger <aj@suse.de>,
717 Jan Hubicka <jh@suse.cz>
718
719 * doc/invoke.texi (i386 Options): Document x86-64 options.
720 (i386 and x86-64 Options): Rename i386 options section.
721
722 * config/i386/i386.h (TARGET_UNWIND_INFO): New.
723 (TARGET_SWITCHES): Add -munwind-info.
724 (MASK_NO_UNWIND_INFO): New.
725 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
726 biarch compilation.
727 (ASM_OUTPUT_DOUBLE_INT): New.
728
729 * config/i386/linux64.h: New spec file for Linux x86-64 support.
730 * config.gcc: Fix tm_file settings for x86-64.
731 * config/i386/x86-64.h: New file with OS independent x86-64
732 definitions.
733 * config/i386/biarch64.h: New file used to configure compiler
734 to biarch/64bit compilation.
735
736 * config/i386/i386.c: (override_options): Set flags default
737 for 64bit compilation.
738
739Tue Oct 2 12:46:01 CEST 2001 Jan Hubicka <jh@suse.cz>
740
741 * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
3054eeed 742 (ix86_expand_int_movcc): Optimize DImode conditional moves with
14f73b5a
JH
743 constants on x86_64.
744 (ix86_attr_length_immediate_default): Support MODE_DI.
745 * i386.md (fixdi splitter): Add missing "&& 1" in splitter
746 condition.
747 (indirect_jump, tablejump): Turn into expander.
748
80a497e4
JM
7492001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
750
751 * c-common.c (c_format_attribute_table): Make format and
752 format_arg attributes apply to function types rather than to
753 decls.
754 (is_valid_printf_arglist): Construct an attribute list and pass
755 that to check_function_format rather than a name.
756 * c-common.h (check_function_format): Adjust prototype.
757 * c-decl.c (duplicate_decls): Preserve attributes from type of
758 built-in decl when allowing for harmless conflict in types.
759 * c-format.c (record_function_format,
760 record_international_format, function_format_list,
761 international_format_info, international_format_list): Remove.
762 (function_format_info): Remove next, name and assembler_name.
763 Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
764 (decode_format_attr): New.
765 (handle_format_attribute): Handle receiving a type rather than a
766 decl. Call decode_format_attr. Store format information in a
767 function_format_info.
768 (handle_format_arg_attribute): Correct comment. Handle receiving
769 a type rather than a decl. Use unsigned HOST_WIDE_INT for
770 arg_num.
771 (check_format_info_recurse, check_format_info_main): Take argument
772 numbers as unsigned HOST_WIDE_INT.
773 (check_function_format): Take a list of attributes from the
774 function type rather than a name or assembler name. Check for
775 format attributes in that list and the attributes on the type of
776 the current function rather than looking through
777 function_format_list.
778 (check_format_info): Use unsigned HOST_WIDE_INT for argument
779 numbers.
780 (check_format_info_recurse): Take format_arg attributes from the
781 type of the function calls rather than using
782 international_format_list. Allow for multiple format_arg
783 attributes.
784 * c-typeck.c (build_function_call): Pass type attributes to
785 check_function_format rather than name or assembler name. Don't
786 require there to be a name or assembler name to check formats.
787
6431177a
JM
7882001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
789
790 * attribs.c (decl_attributes): Possibly call
791 insert_default_attributes to insert default attributes on
792 functions in a lazy manner.
793 * builtin-attrs.def: New file; define the default format and
794 format_arg attributes.
795 * c-common.c (c_format_attribute_table): Move to earlier in the
796 file.
797 (c_common_nodes_and_builtins): Initialize format_attribute_table.
798 (enum built_in_attribute, built_in_attributes,
799 c_attrs_initialized, c_init_attributes,
800 c_common_insert_default_attributes): New.
801 (c_common_lang_init): Don't initialize format_attribute_table. Do
802 call c_init_attributes.
803 * Makefile.in (c-common.o): Depend on builtin-attrs.def.
804 * c-common.h (init_function_format_info): Don't declare.
805 (c_common_insert_default_attributes): Declare.
806 * c-decl.c (implicitly_declare, builtin_function): Call
807 decl_attributes.
808 (init_decl_processing): Don't call init_function_format_info.
809 (insert_default_attributes): New.
810 * c-format.c (handle_format_attribute,
811 handle_format_arg_attribute): Be quiet about inappropriate
812 declaration when applying default attributes.
813 (init_function_format_info): Remove.
814 * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
815 (insert_default_attributes): Declare.
816
ed0ea560
JM
8172001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
818
819 * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
820
357e3f3d
JW
8212001-10-01 Jim Wilson <wilson@redhat.com>
822
823 * sched-deps.c (add_dependence): When elide conditional dependence,
824 check that insn doesn't modify cond2.
825
ed947a96
DJ
8262001-10-01 Dale Johannesen <dalej@apple.com>
827
828 * config/rs6000/rs6000.h (enum processor_type): Add support
829 for 7400 (G4) and 7450.
830 (RTX_COSTS): Ditto.
831 * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
832 (rs6000_issue_rate): Ditto.
833 (rs6000_adjust_cost): Fix cycle counts for compares.
834 (debug_stack_info): Fix an obvious typo.
835 * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
836 * doc/invoke.texi: Document.
837 * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
838 for Darwin.
839 (PROCESSOR_DEFAULT): Ditto.
840
d93f142f
LR
8412001-10-01 Loren J. Rittle <ljrittle@acm.org>
842
843 * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
844 (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
845 later recursive make invocation.
846
11e9ecc5
HB
8472001-10-01 Hans Boehm <boehm@acm.org>
848
849 * optabs.c (emit_libcall_block): When using non-call exceptions,
850 don't add REG_LIBCALL reg notes to trapping calls.
851
607a6500
DB
8522001-10-01 David Billinghurst <David.Billinghurst@riotinto.com>
853
854 * flow.c (propagate_block_delete_libcall): Remove unused first arg
855 (propagate_one_insn): Update for above change
856
2adaabc6
DB
8572001-10-01 David Billinghurst <David.Billinghurst@riotinto.com>
858
859 * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
860 _Unwind_GetTextRelBase): Argument is unused.
861
f47e9b4e
RK
862Mon Oct 1 19:20:57 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
863
864 * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
865 Loop through NOPs, placeholders, and components.
866 Don't go through NOPs if change mode.
867 (record_alias_subset): Do nothing if SUBSET and SET are the same.
868 * emit-rtl.c (set_mem_alias_set): Enable check.
869 * expr.c (find_placeholder): New function.
870 (expand_expr, case PLACEHOLDER_EXPR): Use it.
871 (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
872 to modify it and avoid unneeded copies.
873 * expr.h (expand_expr): Always define.
874 (find_placeholder): New declaration.
875
d5d5ec45
SC
8762001-10-01 Stephane Carrez <Stephane.Carrez@worldnet.fr>
877
878 * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
879 operand 2 is the stack pointer.
880 ("addr-peephole"): Fix address computation peephole when operand 2
881 is the stack pointer.
882
0692acba
RK
883Mon Oct 1 09:26:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
884
885 * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
886 (ix86_setup_incoming_varargs): Likewise.
887
55b3d665
JM
8882001-10-01 Jason Merrill <jason_merrill@redhat.com>
889
890 * stor-layout.c (layout_type): Don't complain about too-large
891 array here.
892
173b24b9
RK
893Mon Oct 1 06:43:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
894
895 * function.c (keep_stack_depressed): Don't use delete_insn.
896
897 * expr.h (set_mem_alias_set): Move decl to here.
898 * rtl.h (mem_attrs): New typedef and struct.
899 (union rtunion_def): Add field for mem_attrs.
900 (X0MEMATTR, MEM_ATTRS): New macros.
901 (MEM_ALIAS_SET): Use MEM_ATTRS.
902 (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
903 (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
904 (set_mem_alias_set): Delete decl from here.
3054eeed 905
173b24b9
RK
906 * alias.c (set_mem_alias_set): Delete from here.
907 * emit-rtl.c (mem_attrs_htab): New variable.
908 (rtx_htab_mark, rtx_htab_mark_1): Deleted.
909 (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
910 (mem_attrs_mark, get_mem_attrs): Likewise.
911 (gen_rtx_MEM): Clear MEM_ATTRS.
912 (set_mem_attributes): Move to here.
913 (set_mem_alias_set): Likewise, and call get_mem_attrs.
914 (init_emit_once): const_int_htab now deletable htab.
915 Initialize mem_attrs_htab.
916 * explow.c (set_mem_attributes): Delete from here.
917 * function.c (put_var_into_stack): Clear MEM_ATTRS.
918 (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
919 * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
920 * reload1.c (reload): Rework changing REG to MEM.
921
e9449401
L
9222001-09-30 H.J. Lu <hjl@gnu.org>
923
924 * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
925 * config.in: Rebuild.
926
c9b9c05c
SC
9272001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
928
929 * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
930 ("tsthi_1"): Avoid allocation in register y.
931 ("*movqi_68hc12"): Reorganize and fix constraints.
932 ("zero_extendqisi2"): Prefer d over x and y for operand 1.
933 ("addqi3"): Likewise.
934 ("addhi3"): Fix constraints.
935 ("*logicalhi3_zexthi"): Disparage soft registers.
936
713b2058
SC
9372001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
938
939 * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
940 to tmp reg.
941
b5b4c48c
SC
9422001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
943
944 * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
945 that we use setjmp/longjmp exceptions.
946
8c3b2693
NB
9472001-09-30 Neil Booth <neil@daikokuya.demon.co.uk>
948
949 * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
950 POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
951 struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
952 _cpp_pool_alloc, _cpp_next_chunk): Remove.
953 (_cpp_extend_buff, BUFF_ROOM): Update.
954 (_cpp_append_extend_buff): New.
955 (struct cpp_reader): Remove macro_pool, add a_buff.
956 * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
957 macro_pool.
958 (cpp_destroy): Free a_buff instead of macro_pool.
959 * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
960 new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
961 _cpp_pool_alloc, ): Remove.
962 (parse_number, parse_string): Update use of _cpp_extend_buff.
963 (_cpp_extend_buff): Update.
964 (_cpp_append_extend_buff, cpp_aligned_alloc): New.
965 * cpplib.c (glue_header_name, parse_answer):
966 Update use of _cpp_extend_buff.
967 (cpp_register_pragma, cpp_register_pragma_space): Use
968 _cpp_aligned_alloc.
969 (do_assert, do_unassert): Check for EOL, update.
970 * cppmacro.c (stringify_arg, collect_args): Update to use
971 _cpp_extend_buff and _cpp_append_extend_buff.
972 (save_parameter, parse_params, alloc_expansion_token,
973 _cpp_create_definition): Rework memory management.
974
ed9fca3f
AP
9752001-09-29 Andris Pavenis <pavenis@lanet.lv>
976
977 * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
978 update md_exec_prefix.
979 (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
980 to string constant.
981
ba956982
UW
9822001-09-30 Ulrich Weigand <uweigand@de.ibm.com>
983
984 * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
985 (SELECT_CC_MODE): Use s390_select_ccmode.
986 * config/s390/s390-protos.h (s390_select_ccmode): Add.
987 * config/s390/s390.c (s390_select_ccmode): New.
988 (s390_match_ccmode): Add CCLmode.
989 (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
990 (output_branch_condition, output_inverse_branch_condition): Removed.
991 (print_operand): Use s390_branch_condition_mnemonic.
992 * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
993 subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
994 (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
995
996 * config/s390/s390.c (check_and_change_labels): Preserve CC mode
997 when converting conditional branches to far branches.
998 * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
999 cmpint_di): Use CCSmode instead of CCUmode.
1000
1001 * config/s390/s390.c (legitimate_la_operand_p): New.
1002 * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
1003 * config/s390/s390.md (movsi): Convert load address patterns to
1004 arithmetic operations when necessary.
1005 (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
1006 (do_la): Renamed to *do_la and use legitimate_la_operand_p.
1007 (*do_la_reg_0): Don't use before reload.
1008
1009 * config/s390/s390.c (legitimize_address): Make more efficient
1010 use of two-register addressing mode.
1011
1012 * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
1013 with -mno-backchain in some corner cases.
1014
1015 * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
1016
3d17d93d
AO
10172001-09-29 Alexandre Oliva <aoliva@redhat.com>
1018
1019 * reload.c (find_reloads): Mark new USE insns with QImode.
1020 (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
1021 find_reloads_subreg_address): Likewise.
1022 * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
1023 encountered.
1024 * reload1.c (reload_combine_note_use): Likewise, inside USEs and
1025 CLOBBERs.
1026 (reload): Make sure there are no USEs with mode other than
1027 VOIDmode. At the end, remove those marked with QImode.
1028
793e9558
PB
10292001-09-29 Per Bothner <per@bothner.com>
1030
1031 * cppdefault.c (cpp_include_defaults): Also search PREFIX_INCLUDE_DIR.
1032 * Makefile.in (includedir): Rename to local_includedir.
1033 (includedir): Define as $(prefix)/include.
1034 * config.in (PREFIX_INCLUDE_DIR): New variable.
1035 * configure.in (PREFIX_INCLUDE_DIR): Test for new variable.
1036
1255c85c
BS
10372001-09-29 Bernd Schmidt <bernds@redhat.com>
1038
1039 * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
1040 storehps builtins.
1041 * doc/extend.texi (Vector Extensions): New node.
1042 * doc/invoke.texi (Machine Dependent Options): Add documentation for
1043 i386 -mmmx, -msse, -m3dnow.
1044
86be733d
JH
1045Sat Sep 29 15:08:16 CEST 2001 Jan Hubicka <jh@suse.cz>
1046
1047 * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
1048
8d2cef84
HPN
10492001-09-29 Hans-Peter Nilsson <hp@axis.com>
1050
6dee7384
HPN
1051 * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
1052
8d2cef84
HPN
1053 * doc/invoke.texi (Optimize Options): Delete spurious @table.
1054
a3623c48
RH
10552001-09-28 Richard Henderson <rth@redhat.com>
1056
410ad077
RH
1057 * varasm.c (assemble_integer): Bound alignment check by
1058 BIGGEST_ALIGNMENT.
1059
a3623c48
RH
1060 * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
1061
5bc10877
RO
10622001-09-28 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1063
1064 * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
1065
47f339cf
BS
10662001-09-25 Bernd Schmidt <bernds@redhat.com>
1067
1068 Mostly from Graham Stott <grahams@redhat.com>
1069 * c-common.c (type_for_mode): Add support for V2SFmode.
1070 * tree.c (build_common_tree_nodes_2): Likewise.
1071 * tree.h (enum tree_index, global_trees): Likewise.
1072 * config/i386/i386.c (x86_3dnow_a): New variable.
1073 (override_options): Support 3Dnow extensions.
1074 (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
1075 Athlon's version of 3Dnow.
1076 (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
1077 (ix86_expand_builtin): Handle them.
1078 (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
1079 * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
1080 TARGET_3DNOW_A): New macros.
1081 (TARGET_SWITCHES): Add 3Dnow switches.
1082 (VALID_MMX_REG_MODE_3DNOW): New macro.
1083 (VECTOR_MODE_SUPPORTED_P): Use it.
1084 (enum ix86_builtins): Add entries for 3Dnow builtins.
1085 * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
1086 pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
1087 pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
1088 pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
1089 pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
1090 pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
1091 (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
1092 mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
1093 mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
1094 sfence_insn, prefetch): Make these available if TARGET_SSE or
1095 TARGET_3DNOW_A.
3054eeed 1096
ad919812
JH
1097Fri Sep 28 19:18:40 CEST 2001 Jan Hubicka <jh@suse.cz>
1098
1099 * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
1100 ix86_va_start, ix86_build_va_list): Declare.
1101 * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
1102 ix86_va_start, ix86_build_va_list): New global functions.
1103 * i386.md (sse_prologue_save_insn): New insn.
1104 (sse_prologue_save): New expander.
1105 * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
1106 BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
1107
6142088c
NB
11082001-09-28 Neil Booth <neil@daikokuya.demon.co.uk>
1109
1110 * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
1111 Use size_t everywhere, make definitions consistent with
3054eeed 1112 prototypes.
6142088c 1113
49ce134f
JH
1114Fri Sep 28 14:59:34 CEST 2001 Jan Hubicka <jh@suse.cz>
1115
1116 * gcse.c (replace_store_insn): Use delete_insn.
1117 * loop.c (move_movables): Likewise; avoid delete_insn
1118 from clobbering notes moved elsewhere.
1119 (check_dbra_loop): Use delete_insn.
1120 * ssa.c (convert_from_ssa): Likewise.
1121 * cse.c (cse_insn): Use delete_insn.
1122
ece54d54
NB
11232001-09-28 Neil Booth <neil@daikokuya.demon.co.uk>
1124
1125 * cpphash.h (struct cpp_buff): Make unsigned.
1126 (_cpp_get_buff): Take length of size_t.
1127 (_cpp_unaligned_alloc): New.
1128 (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
1129 (struct cpp_reader): Remove ident_pool. Add u_buff.
1130 * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
1131 (cpp_destroy): Destroy u_buff, not ident_pool.
1132 * cpplex.c (parse_number, parse_string, save_comment,
1133 cpp_token_as_text): Update to use the unaligned buffer.
1134 (new_buff): Make unsigned.
1135 (_cpp_unaligned_alloc): New.
1136 * cpplib.c (glue_header_name): Update to use the unaligned buffer.
1137 * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
1138 Similarly.
1139 (collect_args): Make unsigned.
1140
3b681e9d
ZW
11412001-09-27 Zack Weinberg <zack@codesourcery.com>
1142
1143 * cpplex.c (cpp_output_token): Use a putc loop for
1144 SPELL_OPERATOR, and fwrite for SPELL_IDENT.
1145
1146 * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
1147 * configure, config.in: Regenerate.
1148 * system.h: Replace fwrite and fprintf with their unlocked
1149 variants if available.
1150
b97d4c0b
RH
11512001-09-27 Richard Henderson <rth@redhat.com>
1152
1153 * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
1154 in favour of .eh_frame.
1155
e9cf9523
AH
11562001-09-27 Aldy Hernandez <aldyh@redhat.com>
1157
3b681e9d 1158 * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
e9cf9523
AH
1159 to macros.
1160 (LIBCALL_VALUE): Likewise.
1161
c9e7a609
NB
11622001-09-27 Neil Booth <neil@daikokuya.demon.co.uk>
1163
1164 * cpphash.h: Update comment.
1165 * cpplex.c: Update comments.
1166 (_cpp_can_paste): Remove.
1167 * cpplib.h (_cpp_can_paste): Remove.
1168 * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
1169 lexer rather than _cpp_can_paste.
1170
4cf817a7
NB
11712001-09-27 Neil Booth <neil@daikokuya.demon.co.uk>
1172
1173 * doc/cppinternals.texi: Update.
1174
1e013d2e
NB
11752001-09-26 Neil Booth <neil@daikokuya.demon.co.uk>
1176
1177 * cpphash.h (struct cpp_pool): Remove locks and locked.
1178 (struct cpp_context): Add member buff.
1179 (struct cpp_reader): Remove member argument_pool.
1180 (_cpp_lock_pool, _cpp_unlock_pool): Remove.
1181 * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
1182 * cpplex.c (chunk_suitable): Remove pool argument.
1183 (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
1184 (new_buff, _cpp_extend_buff): Update.
1185 (_cpp_get_buff): Fix silly pointer bug. Be more selective about
1186 which buffer is returned.
1187 (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
1188 (_cpp_lock_pool, _cpp_unlock_pool): Remove.
1189 * cppmacro.c (lock_pools, unlock_pools): Remove.
1190 (push_ptoken_context): Take a _cpp_buff.
1191 (enter_macro_context): Pool locking removed.
1192 (replace_args): Use a _cpp_buff for the replacement list with
1193 arguments replaced.
1194 (push_token_context): Clear buff.
1195 (expand_arg): Use _cpp_pop_context.
1196 (_cpp_pop_context): Free a context's buffer, if any.
1197
a63f73f8
DD
11982001-09-26 DJ Delorie <dj@redhat.com>
1199
1200 * c-typeck.c (digest_init): Check for sizeless arrays.
1201
9c2f7166
RH
12022001-09-26 Richard Henderson <rth@redhat.com>
1203
1204 * optabs.c (init_one_libfunc): Create a dummy function type
1205 instead of using error_mark_node.
1206
b8af0ca5
NB
12072001-09-26 Neil Booth <neil@daikokuya.demon.co.uk>
1208
1209 * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
1210 _cpp_extend_buff, _cpp_free_buff): New.
1211 (struct cpp_reader): New member free_buffs.
1212 * cppinit.c (cpp_destroy): Free buffers.
1213 * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
1214 _cpp_extend_buff, _cpp_free_buff): New.
1215 * cpplib.h (struct cpp_options): Remove unused member.
1216 * cppmacro.c (collect_args): New. Combines the old parse_arg
1217 and parse_args. Use _cpp_buff for memory allocation.
1218 (funlike_invocation_p, replace_args): Update.
1219
2e106602
JH
1220Wed Sep 26 13:20:51 CEST 2001 Jan Hubicka <jh@suse.cz>
1221
1222 * final.c (final_scan_insn): Use delete_insn instead of delete_note.
1223
fd2c57a9
AH
12242001-09-25 Andrew Haley <aph@cambridge.redhat.com>
1225
1226 * except.c (sjlj_mark_call_sites): Change address inside sequence.
1227
ee3d5b8e
AH
12282001-09-24 Andrew Haley <aph@cambridge.redhat.com>
1229
1230 * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
1231 glibc.
1232
b499d9ab
JJ
12332001-09-25 Janis Johnson <janis187@us.ibm.com>
1234 Jim Wilson <wilson@redhat.com>
1235
1236 * doc/install.texi (Specific, ia64-*-linux): Document.
1237
ca6c03ca
JH
1238Tue Sep 25 17:13:56 CEST 2001 Jan Hubicka <jh@suse.cz>
1239
1240 * Makefile.in (cfgrtl.o): Add.
1241 * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
1242 free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
1243 free_aux_for_edge): Declare.
1244 * cfg.c
1245 (HAVE_return): Undefine.
1246 * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
1247 free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
1248 free_aux_for_edge): New global functions.
1249 (first_delete_block): New static variable.
1250 (init_flow): Clear first_delete_block.
1251 (basic_block_for_insn, label_value_list, tail_recursion_label_list,
1252 can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
1253 try_redirect_by_replacing_jump, last_loop_beg_note,
1254 back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
1255 delete_insn, delete_insn_chain, create_basic_block_structure,
1256 create_basic_block, flow_delete_block, compute_bb_for_insn,
1257 free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
1258 set_block_for_new_insns, split_block, merge_blocks_nomove,
1259 block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
1260 redirect_edge_and_branch, force_nonfallthru_and_redirect,
1261 force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
1262 tidy_fallthru_edges, split_edge, insert_insn_on_edge,
1263 commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
1264 debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
1265 purge_all_dead_edges): Move to ....
1266 * cfgrtl.c: New file; .... Here.
1267
1268 * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
1269 (reroder_basic_block): Use alloc_aux_for_blocks.
1270 * predict.c (estimate_bb_frequencies): Likewise; use
1271 alloc_aux_for_edges.
1272 * profile.c (compute_branch_probabilities): Likewise.
1273 (branch_prob): Likewise.
1274 * reg-stack.c (reg_to_stack): Likewise.
1275
1276 * emit-rtl.c (emit_insns_after): Never return NULL.
1277
1278 * basic-block.h (set_block_for_new_insns): Delete.
1279 * cfgrtl.c (set_block_for_new_insns): Delete.
1280
1281 * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
1282 calls when crossjumping.
1283
1284 * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
1285 * unroll.c (copy_loop_body): Use delete_insn.
1286
1287 * final.c (final, final_scan_insn): Use delete_insn/delete_note.
1288 * function.c (fixup_var_refs_insn, fixup_var_refs_1,
1289 keep_stack_depressed): Likewise.
1290 * gcse.c (cprop_cc0_jump): Likewise.
1291 * local-alloc.c (update_equiv_regs): Likewise.
1292 * loop.c (scan_loop, loop_delete_insns): Likewise.
1293 * regmove.c (try_auto_increment, fixup_match_1): Likewise.
1294 * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
1295 delete_output_reload, delete_address_reloads_1,
1296 reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
1297 Likewise.
1298 * sibcall.c (replace_call_placeholder): Likewise.
1299 * cse.c (cse_insn): Likewise.
1300
eeb06b1b
BS
13012001-09-25 Bernd Schmidt <bernds@redhat.com>
1302
1303 From Graham Stott <grahams@redhat.com>
1304 (def_builtin): Only define builtins appropriate for target_flags. All
1305 callers changed.
1306 (builtin_decsription): Add new field mask which is used to determine
1307 when to define the builtin via the macro def_builtin.
1308
1309 (bdesc_comi): Initialise new mask fields.
1310 (bdesc_2srg): Likewise.
1311 (bdesc_1arg): Likewise.
1312
3b681e9d 1313 * config/i386/i386.c (ix86_init_builtins): Correct return type
21e1b5f1
BS
1314 building v4hi_ftype_v4hi_int_int tree node.
1315 (ix86_expand_sse_comi): Fix typo swapping operands.
1316 Don't swap comparision condition, it is already swapped.
1317 (ix86_expand_sse_compare): Before swapping operands
1318 move operand 1 into new rtx and not the target rtx.
1319 Don't swap comparison condition, it is already swapped.
1320 Always check whether we need to create a new TARGET.
1321
1322 * config/i386/i386.md: (sse_comi) Fix typos.
1323 (sse_ucomi): Likewise.
1324 (cvtss2si): Fix operand 0 contraint.
1325 (cvttss2si): Likewise.
1326 (sse_unpckhps): Fix mode for operand 2.
1327 (sse_unpcklps): Likewise.
1328
87f8b15f
GS
13292001-09-25 Graham Stott <grahams@redhat.com>
1330
1331 * sibcall.c (skip_copy_to_return_value): Tighten return value
1332 copy check.
1333
6a40a9d6
DE
13342001-09-24 David Edelsohn <edelsohn@gnu.org>
1335
1336 * rs6000.c (lwa_operand): Address must be word aligned.
1337
6abba055
RK
1338Mon Sep 24 18:57:59 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1339
1340 * tree.c (type_hash_marked_p): Consider as marked if debug symbol
1341 number has been set.
1342 (type_hash_mark): Mark type itself.
1343
4ed5bcfb
NB
13442001-09-24 Neil Booth <neil@daikokuya.demon.co.uk>
1345
1346 * c-lex.c (cb_def_pragma): Update.
1347 (c_lex): Update, and skip padding.
1348 * cppexp.c (lex, parse_defined): Update, remove unused variable.
1349 * cpphash.h (struct toklist): Delete.
1350 (union utoken): New.
1351 (struct cpp_context): Update.
1352 (struct cpp_reader): New members eof, avoid_paste.
1353 (_cpp_temp_token): New.
1354 * cppinit.c (cpp_create_reader): Update.
1355 * cpplex.c (_cpp_temp_token): New.
1356 (_cpp_lex_direct): Add PREV_WHITE when parsing args.
1357 (cpp_output_token): Don't print leading whitespace.
1358 (cpp_output_line): Update.
1359 * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
1360 do_include_common, do_line, do_ident, do_pragma,
1361 do_pragma_dependency, _cpp_do__Pragma, parse_answer,
1362 parse_assertion): Update.
1363 (get_token_no_padding): New.
1364 * cpplib.h (CPP_PADDING): New.
1365 (AVOID_LPASTE): Delete.
1366 (struct cpp_token): New union member source.
1367 (cpp_get_token): Update.
1368 * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
1369 (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
1370 replace_args, quote_string, stringify_arg, parse_arg, next_context,
1371 enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
1372 _cpp_backup_tokens, _cpp_create_definition): Update.
1373 (push_arg_context): Delete.
1374 (padding_token, push_token_context, push_ptoken_context): New.
1375 (make_string_token, make_number_token): Update, rename.
1376 (cpp_get_token): Update to handle tokens as pointers to const,
1377 and insert padding appropriately.
1378 * cppmain.c (struct printer): New member prev.
1379 (check_multiline_token): Constify.
1380 (do_preprocessing, cb_line_change): Update.
1381 (scan_translation_unit): Update to handle spacing.
1382 * scan-decls.c (get_a_token): New.
1383 (skip_to_closing_brace, scan_decls): Update.
1384 * fix-header.c (read_scan_file): Update.
1385
1386 * doc/cpp.texi: Update.
1387
ad43d46f
KG
13882001-09-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1389
1390 * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC. Avoid
1391 leak by passing malloc'ed pointer to reconcat, not concat.
1392
b6fc7110
DD
13932001-09-24 DJ Delorie <dj@redhat.com>
1394
1395 * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
1396
967bd823
UW
13972001-09-24 Ulrich Weigand <uweigand@de.ibm.com>:
1398
1399 * flow.c (delete_dead_jumptables): Delete jumptable if the only
1400 reference is from the literal pool.
1401
b9da07da
JJ
14022001-09-24 Janis Johnson <janis187@us.ibm.com>
1403
1404 * doc/install.texi (Final install): Request additional information
3b681e9d 1405 in mail about successful builds.
b9da07da 1406
cf3735b8
JDA
14072001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
1408
1409 * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero. Use
1410 initial value of return pointer register instead of value in frame-20.
1411 Revise comments.
1412
f3403757
JDA
14132001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
1414
1415 * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
1416 (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
1417 the libcall if there isn't a referenced identifier for the symbol.
1418
8e1494b7
JDA
14192001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
1420
1421 * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
1422 non 64-bit machines. Use these as a plabel for the trampoline.
1423 (TRAMPOLINE_SIZE): Adjust size for new words.
1424 (INITIALIZE_TRAMPOLINE): Initialize new words.
1425 (TRAMPOLINE_ADJUST_ADDRESS): New. Adjust address to make it a
1426 pointer to the plabel in the trampoline.
1427
b848dc65
JDA
14282001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
1429
1430 * pa.c (function_arg): Pass floating arguments in both general and
1431 floating registers in indirect (dynamic) calls when generating code
1432 for the 32 bit ABI and the HP assembler.
1433
250d5688
RO
14342001-09-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1435
1436 * doc/install.texi: Markup fixes.
1437 Use Solaris 2, SunOS 4 as appropriate.
1438 (Specific, *-*-solaris2*): Explain this.
1439 Unconditionally warn against /usr/ucb tools.
1440 Remove Sun as warning, obsolete.
1441 Move X11 header bug workaround here, update patches.
1442 (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
1443 (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
1444
749ced52
ZW
14452001-09-23 Zack Weinberg <zack@codesourcery.com>
1446
1447 * errors.h (warning, error, fatal, internal_error): Don't mark
1448 with ATTRIBUTE_PRINTF_n.
1449 * toplev.h (internal_error, fatal_io_error, warning, error,
1450 pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
1451 error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
1452 Likewise.
1453
a0fd557a
RK
1454Sun Sep 23 18:19:48 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1455
7a80cf9a
RK
1456 * function.c (pop_function_context_from): var_refs_queue
1457 and temp slots now in GC memory.
1458 (mark_function_status, free_after_compilation): Likewise;
1459 also struct function now in GC memory.
1460 (assign_stack_temp_for_type): struct temp_slot now in GC memory.
1461 (combine_temp_slots): Likewise.
1462 (schedule_fixup_var_refs): var_refs_queue now in GC memory.
1463 (prepare_function_start): Use GC memory for struct function.
1464 (mark_temp_slot): Deleted.
1465 (gcc_mark_struct_function): struct function now in GC memory.
1466
0629440f
RK
1467 * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
1468 code for division, not modulus.
1469
a0fd557a
RK
1470 * rtl.def (MEM): Remove obsolete part of comment.
1471
040cc071
JM
14722001-09-22 Joseph S. Myers <jsm28@cam.ac.uk>
1473
1474 * c-format.c (init_function_format_info): Check __builtin_printf
1475 and __builtin_fprintf even if -ffreestanding. Check C99 functions
1476 in gnu89 mode.
1477
bb9f8221
RK
1478Sat Sep 22 09:09:32 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1479
0c96e965
RK
1480 * c-common.c (format_attribute_table): Remove decl.
1481 * tree.h (format_attribute_table, lang_attribute_table): New decls.
1482 (lang_attribute_common): Likewise.
1483
6a1d250e
RK
1484 * function.c (fix_lexical_address): Use set_mem_alias_set.
1485 (expand_function_start): Likewise.
1486 * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
1487
f42f3c2d
RK
1488 * varasm.c (output_constant): Fix unused variable warning.
1489
bb9f8221
RK
1490 * attribs.c: New file, from c-common.c.
1491 (attribute_tables): Now four elements.
1492 (format_attribute_table, lang_attribute_common): New variables.
1493 (init_attributes): Reflect above changes.
1494 (handle_mode_attribute): Delete check for wider than uintmax.
1495 * c-common.c: Delete parts moved to attribs.c.
1496 (enum attrs): Deleted; unused.
1497 (c_format_attribute_table): New variable.
1498 (c_common_lang_init): Initialize format_attribute_table with it.
1499 * c-common.h (decl_attributes): Remove decl.
1500 * tree.h (decl_attribute): Move it to here.
1501 * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
1502 (attribs.o): New rule.
1503
b8d323b1
AJ
15042001-09-22 Andreas Jaeger <aj@suse.de>
1505
1506 * builtins.c (c_getstr): Remove unused variable.
1507
e5eac8ef
RH
15082001-09-21 Richard Henderson <rth@redhat.com>
1509
1510 * reload1.c (reload): Use delete_insn instead of splatting
1511 NOTE_INSN_DELETED.
1512
8a9a857e
RH
15132001-09-21 Richard Henderson <rth@redhat.com>
1514
1515 * reload.c (push_secondary_reload): Don't check for "=" in output
1516 constraint after ""->ALL_REGS check.
1517
ee1315aa
RH
15182001-09-21 Richard Henderson <rth@redhat.com>
1519
24ee7cae
RH
1520 * predict.c (expected_value_to_br_prob): Use pc_set.
1521
ee1315aa
RH
1522 * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
1523 ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
1524
9defc9b7
RH
15252001-09-21 Richard Henderson <rth@redhat.com>
1526
1527 * rtl.h (LCT_RETURNS_TWICE): New.
1528 * calls.c (emit_call_1): Set current_function_calls_setjmp for
1529 ECF_RETURNS_TWICE.
1530 (emit_library_call_value_1): Map LCT_RETURNS_TWICE
1531 to ECF_RETURNS_TWICE.
1532 * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
1533 call to setjmp.
1534
1535 * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
1536
1537 * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
1538 (JMP_BUF_SIZE): New.
1539
1853547e
RH
15402001-09-21 Richard Henderson <rth@redhat.com>
1541
1542 * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
1543 to R8_REGS.
1544
67231816
RH
15452001-09-21 Richard Henderson <rth@redhat.com>
1546
1547 * tree.def (FDESC_EXPR): New.
1548 * expr.c (expand_expr): Handle it.
1549 * varasm.c (initializer_constant_valid_p): Likewise.
1550 (output_constant): Likewise.
1551 * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
1552 * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
1553 (ASM_OUTPUT_FDESC): New.
1554 * doc/tm.texi: Document the new macros.
1555
f62ce55b
RE
155621-09-2001 Richard Earnshaw (reanrsha@arm.com)
1557
b8d323b1 1558 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
f62ce55b
RE
1559 ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
1560 once merging is complete.
1561
97a4f671
RK
1562Fri Sep 21 11:20:12 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1563
1564 * integrate.c (allocate_initial_values): Eliminate unused arg warning.
1565
7106d491
RE
156621-09-2001 Richard Earnshaw (reanrsha@arm.com)
1567
1568 * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
1569 that would be invalid after a merge.
1570
53c17031
JH
1571Fri Sep 21 14:24:29 CEST 2001 Jan Hubicka <jh@suse.cz>
1572
1573 * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
1574 * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
1575 remove some labels.
1576 (flow_delete_insn): This one.
1577 (delete_insn_chain): Rename from ...; do not care labels.
1578 (flow_delete_insn_chain): ... this one.
1579 (flow_delete_block): Remove the insns one BB has been expunged.
1580 (merge_blocks_nomove): Likewise.
1581 (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
1582 updating BB boundaries.
1583 (tidy_fallthru_edge): Likewise.
1584 (commit_one_edge_insertion): Likewise.
1585 * cfgbuild.c (find_basic_block): Likewise.
1586 (find_basic_blocks_1): Likewise.
1587 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
1588 (try_crossjump_to_edge): Likewise.
1589 (try_optimize_cfg): Likewise.
1590 * cse.c (delete_trivially_dead_insns): Likewise.
1591 * df.c (df_insn_delete): Likewise.
1592 * doloop.c (doloop_modify): Use delete_related_insns.
1593 * emit-rtl.c (try_split): Likewise.
1594 (remove_insn): Update BB boundaries.
1595 * expect.c (connect_post_landing_pads): Use delete_related_insns.
1596 * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
1597 updating BB boundaries.
1598 (propagate_block_delete_insn): Likewise.
1599 (propagate_block_delete_libcall): Likewise.
1600 * function.c (delete_handlers): Use delete_related_insns.
1601 (thread_prologue_and_epilogue_insns): Likewise.
1602 * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
1603 * genpeep.c (gen_peephole): Use delete_related_insns.
1604 * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
1605 BB boundaries.
1606 (find_cond_trap): Likewise.
1607 * integrate.c (save_for_inline): Use delete_related_insns.
1608 (copy_insn_list): Likewise.
1609 * jump.c (pruge_linie_number_notes): Likewise.
1610 (duplicate_loop_exit_test): Likewise.
1611 (delete_computation): Likewise.
1612 (delete_related_insn): Rename from ...; use delete_insn
1613 (delete_insn): ... this one.
1614 (redirect_jump): Use delete_related_insns.
1615 * loop.c (scan_loop): Likewise.
1616 (move_movables): Likewise.
1617 (find_and_verify_loops): Likewise.
1618 (check_dbra_loop): Likewise.
1619 * recog.c (peephole2_optimize): Likewise.
1620 * reg-stack.c (delete_insn_for_stacker): Remove.
1621 (move_for_stack_reg): Use delete_insn.
1622 * regmove.c (combine_stack_adjustments_for_block): Likewise.
1623 * reload1.c (delete_address_reloads): Use delete_related_insns.
1624 (fixup_abnormal_edges): Use delete_insn.
1625 * recog.c (emit_delay_sequence): Use delete_related_insns.
1626 (delete_from-delay_slot): Likewise.
1627 (delete_scheduled_jump): likewise.
1628 (optimize_skip): Likewise.
1629 (try_merge_delay_insns): Likewise.
1630 (full_simple_delay_slots): Likewise.
1631 (fill_slots_from_thread): Likewise.
1632 (relax_delay_slots): Likewise.
1633 (make_return_insns): Likewise.
1634 (dbr_schedule): Likewise.
1635 * rtl.h (delete_insn): Rename to delete_related_insns.
1636 (delete_insn, delete_insn_chain): New prototypes.
1637 * ssa-ccp (sse_fast_dce): Remove deleting of DEF, as it is done
1638 by df_insn_delete already.
1639 * ssa-dce.c (delete_insn_bb): Use delete_insn.
1640 * ssa.c (convert_from_ssa): Use delete_related_insns.
1641 * unroll.c (unroll_loop): Likewise.
1642 (calculate_giv_inc): Likewise.
1643 (copy_loop_body): Likewise.
1644
1645 * i386-protos.h (ix86_libcall_value, ix86_function_value,
1646 ix86_function_arg_regno_p, ix86_function_arg_boundary,
1647 ix86_return_in_memory, ix86_function_value): Declare.
1648 * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
1649 new static valurables.
1650 (x86_64_reg_class): New enum
1651 (x86_64_reg_class_name): New array.
1652 (classify_argument, examine_argument, construct_container,
1653 merge_classes): New static functions.
1654 (optimization_options): Enable flag_omit_frame_pointer and disable
1655 flag_pcc_struct_return on 64bit.
1656 (ix86_libcall_value, ix86_function_value,
1657 ix86_function_arg_regno_p, ix86_function_arg_boundary,
1658 ix86_return_in_memory, ix86_function_value): New global functions.
1659 (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
1660 (function_arg_advance): Handle x86_64 passing conventions.
1661 (function_arg): Likewise.
1662 * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
1663 (RETURN_IN_MEMORY): Move offline.
1664 (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
1665 (FUNCTION_VALUE_REGNO_P): New macro.
1666 (FUNCTION_ARG_REGNO_P): Move offline.
1667 (struct ix86_args): Add maybe_vaarg.
1668 * next.h (FUNCTION_VALUE_REGNO_P): Delete.
1669 * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
1670
f2d3c02a
HP
16712001-09-21 Hartmut Penner <hpenner@de.ibm.com>
1672
1673 * s390.md: Changed attributes for scheduling.
1674 * s390.c: (s390_adjust_cost, s390_adjust_priority)
1675 Changed scheduling
1676
91d231cb
JM
16772001-09-21 Joseph S. Myers <jsm28@cam.ac.uk>
1678
1679 Table-driven attributes.
1680 * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
1681 config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
1682 config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
1683 config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
1684 config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
1685 config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
1686 doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
1687 tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
1688 * tree.h (struct tree_decl): Change machine_attributes to
1689 attributes.
1690 * doc/c-tree.texi: Document that all attributes are now attached
1691 to decls and types.
1692 * c-common.c (add_attribute, attrtab, attrtab_idx,
1693 default_valid_lang_attribute, valid_lang_attribute): Remove.
1694 (attribute_tables, attributes_initialized,
1695 c_common_attribute_table, default_lang_attribute_table): New
1696 variables.
1697 (handle_packed_attribute, handle_nocommon_attribute,
1698 handle_common_attribute, handle_noreturn_attribute,
1699 handle_unused_attribute, handle_const_attribute,
1700 handle_transparent_union_attribute, handle_constructor_attribute,
1701 handle_destructor_attribute, handle_mode_attribute,
1702 handle_section_attribute, handle_aligned_attribute,
1703 handle_weak_attribute, handle_alias_attribute,
1704 handle_no_instrument_function_attribute,
1705 handle_no_check_memory_usage_attribute, handle_malloc_attribute,
1706 handle_no_limit_stack_attribute, handle_pure_attribute): New
1707 functions.
1708 (init_attributes, decl_attributes): Rewrite to implement
1709 table-driven attributes.
1710 * c-common.h (enum attribute_flags): Move to tree.h.
1711 * c-format.c (decl_handle_format_attribute,
1712 decl_handle_format_arg_attribute): Rename to
1713 handle_format_attribute and handle_format_arg_attribute. Update
1714 for table-driven attributes.
1715 * c-common.h (decl_handle_format_attribute,
1716 decl_handle_format_arg_attribute): Remove prototypes.
1717 (handle_format_attribute, handle_format_arg_attribute): Add
1718 prototypes.
1719 * c-decl.c (grokdeclarator): Handle attributes nested inside
1720 declarators.
1721 * c-parse.in (setattrs, maybe_setattrs): Remove.
1722 (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
1723 Update to handle nested attributes properly.
1724 (maybe_resetattrs, after_type_declarator,
1725 parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
1726 absdcl1_ea, direct_absdcl1): Update to handle nested attributes
1727 properly.
1728 (make_pointer_declarator): Update to handle nested attributes
1729 properly.
1730 * doc/extend.texi: Update documentation of limits of attributes
1731 syntax. Warn about problems with attribute semantics in C++.
1732 * target.h (struct target): Remove valid_decl_attribute and
1733 valid_type_attribute. Add attribute_table and
1734 function_attribute_inlinable_p.
1735 * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
1736 TARGET_VALID_TYPE_ATTRIBUTE): Remove.
1737 (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
1738 Add.
1739 (TARGET_INITIALIZER): Update.
1740 * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
1741 definition.
1742 (function_attribute_inlinable_p): New function. Check for the
1743 presence of any machine attributes before using
1744 targetm.function_attribute_inlinable_p.
1745 (function_cannot_inline_p): Update.
1746 * Makefile.in (integrate.o): Update dependencies.
1747 * doc/tm.texi: Update documentation of target attributes and
1748 example definition of TARGET_VALID_TYPE_ATTRIBUTE.
1749 * tree.c (default_valid_attribute_p, valid_machine_attribute):
1750 Remove.
1751 (default_target_attribute_table,
1752 default_function_attribute_inlinable_p): New.
1753 (lookup_attribute): Update comment to clarify handling of multiple
1754 attributes with the same name.
1755 (merge_attributes, attribute_list_contained): Allow multiple
1756 attributes with the same name but different arguments to appear in
1757 the same attribute list.
1758 * tree.h (default_valid_attribute_p): Remove prototype.
1759 (struct attribute_spec): New.
1760 (default_target_attribute_table): Declare.
1761 (enum attribute_flags): Move from c-common.h. Add
1762 ATTR_FLAG_TYPE_IN_PLACE.
1763 (default_function_attribute_inlinable_p): Declare.
1764 * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
1765 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
1766 (TARGET_ATTRIBUTE_TABLE): Define.
1767 (vms_attribute_table): New.
1768 * config/arc/arc.c (arc_valid_decl_attribute): Remove.
1769 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
1770 (TARGET_ATTRIBUTE_TABLE): Define.
1771 (arc_attribute_table, arc_handle_interrupt_attribute): New.
1772 * config/arm/arm.c (arm_valid_type_attribute_p,
1773 arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
1774 Remove.
1775 (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
1776 define.
1777 (TARGET_ATTRIBUTE_TABLE): Define.
1778 (arm_attribute_table, arm_handle_fndecl_attribute,
1779 arm_handle_isr_attribute): New.
1780 * config/avr/avr.c (avr_valid_type_attribute,
1781 avr_valid_decl_attribute): Remove.
1782 (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
1783 define.
1784 (TARGET_ATTRIBUTE_TABLE): Define.
1785 (avr_attribute_table, avr_handle_progmem_attribute,
1786 avr_handle_fndecl_attribute): New.
1787 * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
1788 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
1789 (TARGET_ATTRIBUTE_TABLE): Define.
1790 (c4x_attribute_table, c4x_handle_fntype_attribute): New.
1791 * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
1792 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
1793 (TARGET_ATTRIBUTE_TABLE): Define.
1794 (h8300_attribute_table, h8300_handle_fndecl_attribute,
1795 h8300_handle_eightbit_data_attribute,
1796 h8300_handle_tiny_data_attribute): New.
1797 * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
1798 i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
1799 Remove prototypes.
1800 (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
1801 declarations.
1802 * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
1803 (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
1804 define.
1805 (TARGET_ATTRIBUTE_TABLE): Define.
1806 (ix86_attribute_table, ix86_handle_cdecl_attribute,
1807 ix86_handle_regparm_attribute): New.
1808 * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
1809 i386_pe_valid_type_attribute_p): Remove.
1810 (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
1811 * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
1812 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
1813 (TARGET_ATTRIBUTE_TABLE): Define.
1814 (ia64_attribute_table): New.
1815 * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
1816 interrupt_ident2, model_ident1, model_ident2): Remove.
1817 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
1818 (TARGET_ATTRIBUTE_TABLE): Define.
1819 (init_idents): Update.
1820 (m32r_attribute_table, m32r_handle_model_attribute): New.
1821 * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
1822 Remove.
1823 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
1824 (TARGET_ATTRIBUTE_TABLE): Define.
1825 (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
1826 * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
1827 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
1828 (TARGET_ATTRIBUTE_TABLE): Define.
1829 (mcore_attribute_table, mcore_handle_naked_attribute): New.
1830 * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
1831 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
1832 (TARGET_ATTRIBUTE_TABLE): Define.
1833 (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
1834 * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
1835 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
1836 (TARGET_ATTRIBUTE_TABLE): Define.
1837 (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
1838 * config/sh/sh.c (sh_valid_decl_attribute): Remove.
1839 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
1840 (TARGET_ATTRIBUTE_TABLE): Define.
1841 (sh_attribute_table, sh_handle_interrupt_handler_attribute,
1842 sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
1843 New.
1844 * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
1845 Remove.
1846 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
1847 (TARGET_ATTRIBUTE_TABLE): Define.
1848 (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
1849 New.
1850 * config/v850/v850.c (v850_valid_decl_attribute): Remove.
1851 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
1852 (TARGET_ATTRIBUTE_TABLE): Define.
1853 (v850_attribute_table, v850_handle_interrupt_attribute,
1854 v850_handle_data_area_attribute): New.
1855 * config/v850/v850-c.c (mark_current_function_as_interrupt):
1856 Return void. Call decl_attributes instead of
1857 valid_machine_attribute.
1858
3007d592
R
1859Fri Sep 21 01:49:41 2001 J"orn Rennecke <amylaar@redhat.com>
1860
1861 * sh-protos.h (sh_pr_n_sets): Declare.
1862 * sh.c (calc_live_regs): If the initial value for PR has been copied,
1863 look at the copy to determine if PR needs to be saved.
1864 sh_pr_n_sets: New function.
1865 * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
1866 (ALLOCATE_INITIAL_VALUE): Define.
1867
1868 * sh.c (initial_elimination_offset):
1869 Fix RETURN_ADDRESS_POINTER_REGNUM case.
1870
385b6e2d
R
1871Fri Sep 21 01:13:56 2001 J"orn Rennecke <amylaar@redhat.com>
1872
1873 * integrate.c (allocate_initial_values): New function.
1874 * integrate.h (allocate_initial_values): Declare.
1875 * local-alloc.c (local_alloc): Move call to allocate_reg_info from
1876 here...
1877 * reload1.c (reload): And initialization of reg_equiv_memory_loc
1878 from here...
1879 * toplev.c (rest_of_compilation): To here.
1880 Call allocate_initial_values.
1881 * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
1882
a4b5b2ae
RK
1883Thu Sep 20 09:00:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1884
1885 * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
1886
e7b6a0ee
DD
18872001-09-20 DJ Delorie <dj@redhat.com>
1888
1889 * c-typeck.c (really_start_incremental_init): Discriminate
1890 between zero-length arrays and flexible arrays.
1891 (push_init_level): Detect zero-length arrays and handle them
1892 like fixed-sized arrays.
1893 * expr.c (store_constructor): Handle zero-length arrays and
1894 flexible arrays correctly.
1895 * doc/extend.texi: Update zero-length array notes.
1896
f5aee631
JW
18972001-09-20 Jim Wilson <wilson@redhat.com>
1898
1899 * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
1900 (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
1901 for issue port conflicts.
1902 (cycle_end_fill_slots): TYPE_L instructions take two slots.
1903
91dc6f6e
AM
19042001-09-20 Andrew MacLeod <amacleod@redhat.com>
1905
1906 * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
1907 on ia64.
1908
4c160717
RK
1909Thu Sep 20 09:00:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1910
1911 * fold-const.c (hashtab.h): Include.
1912 (int_const_binop): Remove FORSIZE arg and compute from type; all
1913 callers changed.
1914 Call size_int_type_wide for all single-word constants.
1915 (size_htab_hash, size_htab_eq): New functions.
1916 (size_int_type_wide): Rework to use hash table.
1917 * ggc-common.c (hashtab.h): Include.
1918 (struct d_htab_root): New struct.
1919 (d_htab_roots): New variable.
1920 (ggc_add_deletable_htab, ggc_htab_delete): New functions
1921 (ggc_mark_roots): Handle deletable htabs.
1922 * ggc-page.c (ggc_marked_p): New function.
1923 * ggc-simple.c (ggc_marked_p): Likewise.
1924 * ggc.h: Reformatting throughout.
1925 (ggc_marked_p, ggc_add_deletable_htab): New declarations.
1926 * tree.c (init_obstacks): Make type_hash_table a deletable root.
1927 (type_hash_add): Allocate struct type_hash from GC memory.
1928 (mark_hash_entry, mark_type_hash): Deleted.
1929 (type_hash_marked_p, type_hash_mark): New functions.
1930 * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
1931
c762ab6e
R
1932Thu Sep 20 12:49:34 2001 J"orn Rennecke <amylaar@redhat.com>
1933
1934 * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
1935 than SImode.
1936
ed1a150e
RK
1937Thu Sep 20 09:00:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1938
1939 * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
1940 array-too-large test for signed sizetype.
1941
6eb791fc
JH
1942Thu Sep 20 12:19:36 CEST 2001 Jan Hubicka <jh@suse.cz>
1943
1944 * i386.md (indirect_jump): Allow Pmode operand.
1945 (tablejump): LIkewise; perform expansion to 64bit mode.
1946 * i386.c (symbolic_operand): Allow 64bit PIC references.
1947 (pic_symbolic_operand): Likewise.
1948 (ix86_find_base_term): Strip the 64bit PIC references.
1949 (legitimate_pic_address_disp_p): Handle 64bit PIC.
1950 (legitimize_pic_address): Likewise.
1951 (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
1952 * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
1953
4bad9e39
APB
19542001-09-19 Alexandre Petit-Bianco <apbianco@redhat.com>
1955
1956 * stringpool.c (get_identifier_with_length): New function.
1957 * tree.h (get_identifier_with_length): New prototype.
1958
40501e5f
AM
19592001-09-19 Alan Modra <amodra@bigpond.net.au>
1960 David Edelsohn <edelsohn@gnu.org>
1961
1962 Revert:
1963 * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
1964 already sign-extended.
1965
1966 * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
1967 * config/rs6000/rs6000.c (logical_operand): Always compare op as
1968 HOST_WIDE_INT.
1969 (rs6000_emit_set_long_const): Avoid unnecessary shift.
1970 (output_profile_hook): Declare label_name const.
1971 * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
1972 to match constraints.
1973
e3aafbad
SS
19742001-09-19 Stan Shebs <shebs@apple.com>
1975
1976 * alias.c: Fix typos in comments.
1977 * sched-rgn.c (init_ready_list): Ditto.
1978 * unwind-dw2.c (uw_frame_state_for): Ditto.
1979 * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
1980 * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
1981 * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
1982
3d9339a9
RH
19832001-09-19 Richard Henderson <rth@redhat.com>
1984
1985 * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
1986 to the exit block.
1987 * Makefile.in (cfg.o): Depend on TM_P_H.
1988
e2c9fb9b
RH
19892001-09-19 Richard Henderson <rth@redhat.com>
1990
1991 * config/alpha/alpha.c (local_symbol_p): Split out from ...
1992 (local_symbolic_operand): ... here.
1993 (small_symbolic_operand): Check mode.
1994 (global_symbolic_operand): New.
1995 (input_operand): Reject symbolics if explicit relocs.
1996 (call_operand): Tidy.
1997 (alpha_legitimize_address): Use movdi_er_high_g.
1998 (alpha_expand_mov): Likewise.
1999 * config/alpha/alpha-protos.h: Update.
2000 * config/alpha/alpha.h (PREDICATE_CODES): Update.
2001 * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
2002 (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
2003 (UNSPECV_LDGP2): Remove.
2004 (all call patterns): Use 's' not 'i' for symbolic constraint.
2005 (call_osf call_value_osf): Use call_operand.
2006 (all osf call patterns): Use $gp. New peepholes for explicit relocs.
2007 (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
2008 (prologue_ldgp_1_er): Remove.
2009 (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
2010 (builtin_setjmp_receiver_er patterns): Use them.
2011 (exception_receiver_er): Likewise.
2012
f068df3f
RH
20132001-09-19 Richard Henderson <rth@redhat.com>
2014
2015 * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
2016
216183ce
RH
2017 * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
2018 and NON_LOCAL_GOTO notes.
33593de7
RH
2019 * recog.c (peephole2_optimize): Likewise. Handle EH_REGION;
2020 copy over CALL_INSN_FUNCTION_USAGE.
216183ce 2021
784d7cce
CM
20222001-09-18 Catherine Moore <clm@redhat.com>
2023
b8d323b1 2024 * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
784d7cce
CM
2025 Define as 0.
2026
70eeb10b 20272001-09-18 Ulrich Weigand <uweigand@de.ibm.com>:
b8d323b1 2028
749ced52 2029 * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
b8d323b1
AJ
2030 new-style tm_file specification. Specify correct tm_p_file,
2031 md_file, and out_file for s390x.
70eeb10b
UW
2032
2033 * config/s390/linux.h, linux64.h: Don't include other target
2034 macro header files. Now handled via tm_file.
2035
b8d323b1 2036 * config/s390/linux.h, s390.h: (IEEE_FLOAT, TARGET_IEEE_FLOAT,
70eeb10b
UW
2037 TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
2038 are defined before use.
b8d323b1 2039
518b566f
EC
2040Tue Sep 18 09:51:11 2001 Eric Christopher <ecechristo@redhat.com>
2041
749ced52
ZW
2042 * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
2043 code generation only for Gnu assembler.
518b566f 2044
8086b53c
CM
20452001-09-18 Catherine Moore <clm@redhat.com>
2046
749ced52 2047 * config/stormy16 (LIB_SPEC): Remove -lnosys.
8086b53c 2048
1cbfdb1f
RS
20492001-09-18 Richard Sandiford <rsandifo@redhat.com>
2050
2051 * config/mips/mips.c (mips_frame_set): New.
2052 (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
2053 a parallel frame-related expression with a set for each register.
2054
d71ebc32
PB
20552001-09-18 Philip Blundell <philb@gnu.org>
2056
2057 * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
2058 header files.
2059
5dead3e5
DJ
20602001-09-17 Dale Johannesen <dalej@apple.com>
2061
2062 * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
2063 * config/rs6000/aix.h (FIXED_R2): Define.
2064 * config/rs6000/darwin.h (FIXED_R2): Define.
2065 * config/rs6000/sysv4.h (FIXED_R2): Define.
2066
5c701bb1
JS
20672001-09-17 Jeff Sturm <jsturm@one-point.com>
2068
2069 * except.c (dw2_build_landing_pads): New local
2070 clobbers_hard_regs. Emit an ASM_INPUT as a scheduling
2071 barrier after clobbers. Fixes c++/4012.
2072
c793eea7
KG
20732001-09-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2074
2075 * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
2076
63fb6fc7
JM
20772001-09-17 Joseph S. Myers <jsm28@cam.ac.uk>
2078
2079 * dostage2, dostage3, listing, make-l2.com, makefile.vms,
2080 patch-apollo-includes, vmsconfig.com: Remove obsolete files.
2081
c1d49704
KG
20822001-09-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2083
2084 * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
2085 alloca/strcpy.
2086
14baae01
NB
20872001-09-17 Neil Booth <neil@daikokuya.demon.co.uk>
2088
2089 * cpphash.h (_cpp_lex_direct): New.
2090 * cpplex.c (_cpp_lex_token): Update.
2091 (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
2092 and increment that pointer.
2093 * cppmacro.c (alloc_expansion_token): New.
2094 (lex_expansion_token): Lex macro expansion directly into
2095 macro storage.
2096
478c61b7
BL
20972001-09-16 Brad Lucier <lucier@math.purdue.edu>
2098
2099 * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
2100
3c030e88
JH
2101Sun Sep 16 21:59:46 CEST 2001 Jan hubicka <jh@suse.cz>
2102
2103 * basic-block.h (free_bb_for_insn): Declare.
2104 * bb-reorder.c (label_for_bb): Use block_label.
2105 (emit_jump_to_block_after): Remove.
2106 (insert_intra_1): Do not update block_for_insn.
2107 (insert_inter_bb_scope_notes): Likewise; update bb->end
2108 * cfg.c (free_bb_for_insn): New.
2109 (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
2110 (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
2111 (commit_one_edge_insertion): Likewise.
2112 (commit_one_edge_insertion): Do not update BB boundary.
2113 (commit_edge_insertions): Do not call compute_bb_for_insn.
2114 * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
2115 * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
2116 (merge_blocks_move_successor_nojumps): Likewise.
2117 (try_crossjump_to_edge): Do not update block_for_insn.
2118 * combine.c (combine_instructions): Remove compute_bb_for_insn call.
2119 * df.c (df_pattern_emit_later): Do not update BB boundary.
2120 (df_jump_pattern_emit_after): Likewise.
2121 (df_insn_move_before): Use emit_insn_before.
2122 * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
2123 properly.
2124 (add_insn_after, add_insn_before, emit_insns_after): Update BB
2125 boundaries and basic_block_for_insn.
2126 (reorder_insns_nobb): Rename from reorder_insns.
2127 (reorder_insns): New.
2128 (emit_block_insn_before, emit_block_insn_after): Kill.
2129 * flow.c (check_function_return_warnings): Do not call
2130 compute_bb_for_insn; Do not free basic_block_for_insn.
2131 (attempt_auto_inc): Do not update basic_block_for_insn.
2132 * function.c (emit_return_into_block): Likewise;
2133 do not update BB boundaries.
2134 * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
2135 (insert_insn_end_bb): Use emit_insn_before; Likewise.
2136 (pre_insert_copy_insn): Likewise.
2137 (update_ld_motion_notes): Likewise.
2138 (insert_insn_start_bb): Likewise.
2139 (replace_store_insn): Likewise.
2140 * ifcvt.c (noce_process_if_block): Likewise.
2141 (if_convert): Do not call compute_bb_for_insn.
2142 * lcm.c (optimize_mode_switching): Do not update BB boundaries.
2143 Use emit_insn_before and emit_insn_after.
2144 * recog.c (split_all_insns): Do not update BB boundaries;
2145 Do not call compute_bb_for_insn.
2146 (peephole2_optimize): Do not update BB boundaries.
2147 * reg-stack.c (emit_pop_insn): Use emit_insn_after and
2148 emit_insn_before.
2149 (emit_swap_insn): Likewise.
2150 (convert_regs_1): Likewise.
2151 * reload1.c (reload): Call compute_bb_for_insn.
2152 * rtl.h (reorder_insns_nobb): Declare.
2153 * ssa.c (rename_equivalent_regs): Use emit_insn_before.
2154 * toplev.c (rest_of_compilation): Call free_bb_for_insn
2155 at places CFG is invalidated; do not call compute_bb_for_insn.
2156
2157 * cfg.c (expunge_block): Invalidate BB structure.
2158
2159 * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
2160 array.
2161
2162 * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
2163
345894b4
NB
21642001-09-16 Neil Booth <neil@daikokuya.demon.co.uk>
2165
2166 * cpphash.h (_cpp_lex_token): Update prototype.
2167 * cpplex.c (_cpp_lex_token): New prototype.
2168 * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
2169 lex_macro_node, read_flag, do_pragma_poison): Update.
2170 * cppmacro.c (cpp_get_token, parse_params,
2171 lex_expansion_token): Update.
2172
18a9d8ff
NB
21732001-09-16 Neil Booth <neil@daikokuya.demon.co.uk>
2174
2175 * cppmain.c (scan_translation_unit): Don't worry about
2176 putting a space after hashes.
2177 * cpplib.c (directive_diagnostics): New.
2178 (_cpp_handle_directive): Update to use directive_diagnostics.
2179 (run_directive): Don't toggle prevent_expansion.
2180 (do_line): Backup in case of the line extension.
2181 * cpplib.h (cpp_lexer_pos): Remove.
2182 * cppmacro.c (_cpp_create_definition): Precede a leading #
2183 with whitespace.
2184
3f85558f
RH
21852001-09-15 Richard Henderson <rth@redhat.com>
2186
2187 * c-typeck.c (comptypes): Handle zero-length arrays properly.
2188
c6c04fca
RL
21892001-09-15 Roman Lechtchinsky <rl@cs.tu-berlin.de>
2190
2191 * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
2192
69e47210
NB
21932001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
2194
2195 PR preprocessor/3571
2196 * tradcpp.c (handle_directive): Skip non-vertical space.
2197
f0581dc7
NB
21982001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
2199
2200 * cppmain.c (setup_callbacks): Set line callback only
2201 if outputting preprocessed source.
2202
cb6edbcb
KG
22032001-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2204
2205 * collect2.c (main): Const-ification.
2206 * gcc.c (translate_options, process_command): Use xstrdup in
2207 lieu of xmalloc/strcpy.
2208 (main): Use concat in lieu of xmalloc/strcpy/strcat.
2209
068e5714
RL
22102001-09-14 Roman Lechtchinsky <rl@cs.tu-berlin.de>
2211
2212 * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
2213 example.
2214
65813f56
NB
22152001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
2216
2217 * scan-decls.c (scan_decls): Fix typo.
2218
50410426
NB
22192001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
2220
2221 * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
2222 Split mlstring_pos into mls_line and mls_col.
2223 * cppinit.c (cpp_create_reader): Initialize line to 1.
2224 (cpp_destroy): Free tokenruns.
2225 (push_include): Don't update lexer_pos.
2226 * cpplex.c (unterminated, parse_string): Update.
2227 (lex_token): Don't update lexer_pos, update.
2228 * cpplib.c (if_stack): Save line instead of line + col.
2229 (start_directive, _cpp_do__Pragma, do_else, do_elif,
2230 push_conditional, _cpp_pop_buffer): Update.
2231 * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
2232 (_cpp_create_definition): Update.
2233
6047ddc8
EC
22342001-09-15 Eric Christopher <echristo@redhat.com>
2235
2236 * config/mips/abi64.h: Add support for MEABI.
2237
0e5a4ad8
EC
22382001-09-15 Eric Christopher <echristo@redhat.com>
2239
2240 * config/mips/mips.md: Add unspec #2.
2241 (reload_indi): Use.
2242 (reload_outdi): Ditto.
2243 (reload_outsi): Ditto.
2244 (HILO_delay): New.
2245
22462001-09-15 Eric Christopher <echristo@redhat.com>
2247 Jason Eckhardt <jle@redhat.com>
2248
2249 * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
2250 * config/mips/isa32-linux.h: New file.
2251 * config/mips/isa3264.h: Ditto.
2252 * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
2253 * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
2254 (output_block_mode): Support MEABI.
2255 (function_arg): Ditto. Fix floating point arg passing.
2256 (mips_va_start): Ditto.
2257 (override_options): Add isas 32 and 64, meabi, mips32 and mips64
2258 processors.
2259 (mips_asm_file_start): Add new section to pass abi to gdb.
2260 (function_arg_pass_by_reference): Support MEABI.
2261 (mips_parse_cpu): Support mips32 and mips64 processors.
2262 * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
2263 TARGET_MIPS5KC. Support isa32 and isa64.
2264 (processor_type): Add r4kc, r5kc, r20kc.
2265 (GENERATE_MULT3_SI): New.
2266 (GENERATE_MULT3_DI): Ditto.
2267 (GENERATE_MULT3): Remove.
2268 (ISA_HAS_64BIT_REGS): Add isa == 64.
2269 (ISA_HAS_8CC): Add mips_isa = 32 and 64.
2270 (ISA_HAS_MADD_MSUB): New.
2271 (ISA_HAS_CLZ_CLO): Ditto.
2272 (ISA_HAS_DCLZ_DCLO): Ditto.
2273 (ABI_GAS_ASM_SPEC): New.
2274 (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
2275 (ASM_SPEC): Ditto.
2276 (LINK_SPEC): Ditto.
2277 (SUBTARGET_CC1_SPEC): Ditto.
2278 (SUBTARGET_CPP_SIZE_SPEC): Ditto.
2279 (PAD_VARARGS_DOWN): Support MEABI.
2280 (HARD_REGNO_NREGS): Move to mips.c.
2281 (ASM_OUTPUT_IDENT): Add #undef.
2282 * config/mips/mips.md: Add r4kc, r5kc, r20kc.
2283 (mulsi3): Use GENERATE_MULT3_SI.
2284 (mulsi3_mult3): Ditto. Support mips32, mips64.
2285 (mul_acc_si): Use ISA_HAS_MADD_MSUB.
2286 (mul_sub_si): New pattern.
2287 (unnamed splitters): New.
2288 (muldi3): Use GENERATE_MULT3_DI.
2289 (muldi3_internal2): Ditto.
2290 (movdicc): Support mips32.
2291 * config/mips/t-isa3264: New file.
2292
e75ecd26
HPN
22932001-09-15 Hans-Peter Nilsson <hp@axis.com>
2294
2295 * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
2296 || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
2297 || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
86c7007a
HPN
2298
2299 * reorg.c (fill_slots_from_thread): After call to
2300 steal_delay_list_from_target, update own_thread as new_thread may
2301 have branched.
2302
97293897
NB
23032001-09-14 Neil Booth <neil@daikokuya.demon.co.uk>
2304
2305 * cpperror.c (print_location): Take line and column, for
2306 default positioning use the previously lexed token.
2307 (_cpp_begin_message): Take line and column.
2308 (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
2309 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
2310 * cpphash.h (_cpp_begin_message): Update prototype.
2311 * cppinit.c (push_include): Don't set output line.
2312 * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
2313 * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
2314 (do_pragma): Kludge for front ends. Don't expand macros at all.
2315 * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
2316 (struct cpp_token): Remove output_line.
2317 (struct cpp_callbacks): New member line_change.
2318 * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
2319 cpp_get_token): Preserve BOL flag.
2320 (cpp_get_line): Remove.
2321 (_cpp_backup_tokens): Remove useless abort().
2322 * cppmain.c (cb_line_change): New.
2323 (scan_translation_unit): Don't worry about starting new lines here.
2324 * scan-decls.c (scan_decls): Update.
2325 * c-lex.c (c_lex, init_c_lex): Update.
2326 (cb_line_change, src_lineno): New.
2327
13d7d58b
JW
2328Fri Sep 14 13:54:50 EDT 2001 John Wehle (john@feith.com)
2329
2330 * tree.c (append_random_chars): Generate the random
2331 characters in a reproducable fashion.
2332
623fe810
RH
23332001-09-14 Richard Henderson <rth@redhat.com>
2334
2335 * config/i386/i386.c (internal_label_prefix): New.
2336 (internal_label_prefix_len): New.
2337 (override_options): Set them.
2338 (local_symbolic_operand): New.
2339 (legitimate_pic_address_disp_p): Use it.
2340 (legitimize_pic_address): Likewise.
2341
95a37e3f 23422001-09-14 Marc Espie <espie@openbsd.org>
0e1f7b2a 2343
95a37e3f
ME
2344 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Generate reference to GOT
2345 correctly.
2346
e91c2a24
RL
23472001-09-14 Roman Lechtchinsky <rl@cs.tu-berlin.de>
2348
2349 * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
2350 * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
2351
be393ecf
NC
23522001-09-14 Nick Clifton <nickc@cambridge.redhat.com>
2353
5de7e417
NC
2354 * rtlanal.c (subreg_regno_offset): Add semicolon to end of
2355 invocation of SUBREG_REGNO_OFFSET.
2356
bc591fb4
NC
2357 * haifa-sched.c: Fix typo in FSF copyright statement.
2358 * sched-deps.c: Fix typo in FSF copyright statement.
2359 * sched-ebb.c: Fix typo in FSF copyright statement.
2360 * sched-rgn.c: Fix typo in FSF copyright statement.
2361 * sched-vis.c: Fix typo in FSF copyright statement.
2362
be393ecf
NC
2363 * config.gcc: Move inclusion of arm elf specific header files
2364 from the files themselves into the tm_file variable. Make
2365 sure that elfos.h is included before target specific elf
2366 headers.
2367 * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
2368 already defined.
2369 (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
2370 * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
2371 ASM_OUTPUT_CASE_LABEL): Protect definition.
2372 (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
2373 not already defined.
2374 * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
2375 LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
0e5a4ad8 2376 Remove duplicate definition.
be393ecf
NC
2377 (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
2378 (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
2379 (RDATA_SECTION_FUNCTION): Remove redundant definition.
2380 (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
2381 Remove inclusion of arm/elf.h.
2382 * config/arm/unknown-elf.h: as for conix-elf.h.
2383 (STARTFILE_SPEC): Include crti.o and crtn.o.
2384 * config/arm/linux-elf.h: as for conix-elf.h.
2385 * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
2386 * config/arm/strongarm-elf.h: Remove inclusion of
2387 unknown-elf.h.
2388 * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
2389 * config/arm/unknown-elf-oabi.h: Remove inclusion of
2390 unknown-elf.h and elf.h.
2391 * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
2392 * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
2393 ASM_WEAKEN_LABEL): Remove redundant definition.
2394 * config/arm/elf.h: Test for inclusion of elfos.h
2395 (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
2396 ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
2397 SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
2398 EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
2399 redundant definition.
2400 (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
2401 ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
2402 ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
2403 * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
2404 Add rules to build crti.o and crtn.o
2405 * crti.asm: New file.
2406 * crtn.asm: New file.
2407
bdcbe496
NB
24082001-09-13 Neil Booth <neil@daikokuya.demon.co.uk>
2409
2410 * c-parse.in (_yylex): Use _cpp_backup_tokens.
2411 * cpphash.h (struct tokenrun): Add prev.
2412 (struct lexer_state): Remove bol.
2413 (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
2414 (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
2415 : Remove.
2416 * cppinit.c (cpp_create_reader): Don't set bol.
2417 (cpp_destroy): Don't free lookaheads.
2418 * cpplex.c (lex_directive): Remove.
2419 (next_tokenrun): Update.
2420 (_cpp_lex_token): Clean up logic.
2421 (lex_token): Update to return a pointer to lexed token, since it
2422 can move to the start of the buffer. Simpify newline handling.
2423 * cpplib.c (SEEN_EOL): Update.
2424 (skip_rest_of_line): Remove lookahead stuff.
2425 (end_directive): Line numbers are already incremented. Revert
2426 to start of lexed token buffer if we can.
2427 (_cpp_handle_directive, do_pragma, do_pragma_dependency,
2428 parse_answer): Use _cpp_backup_tokens.
2429 (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
2430 instead. Don't check for EOL.
2431 (do_include_common, do_line, do_pragma_system_header): Use
2432 skip_rest_of_line.
2433 * cpplib.h (BOL, _cpp_backup_tokens): New.
2434 * cppmacro.c (save_lookahead_token, take_lookahead_token,
2435 alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
2436 cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
2437 (builtin_macro): Don't use cpp_get_line.
2438 (cpp_get_line): Short term kludge.
2439 (parse_arg): Handle directives in arguments here. Back up when
2440 appropriate. Store EOF at end of argument list.
2441 (funlike_invocation_p): Use _cpp_backup_tokens.
2442 (push_arg_context): Account for EOF at end of list.
2443 (cpp_get_token): Remove lookahead stuff. Update.
2444
83182544
KG
24452001-09-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2446
2447 * c-parse.in (yyerror): Const-ification and/or static-ization.
2448 * c-typeck.c (push_member_name): Likewise.
2449 * collect2.c (main): Likewise.
2450 * dbxout.c (dbxout_parms): Likewise.
2451 * diagnostic.c (format_with_decl): Likewise.
2452 * dwarf2out.c (output_ranges): Likewise.
2453 * dwarfout.c (fundamental_type_code): Likewise.
2454 * except.c (dw2_output_call_site_table): Likewise.
2455 * gcc.c (do_spec_1): Likewise.
2456 * genopinit.c (optabs): Likewise.
2457 * objc/objc-act.c (synth_id_with_class_suffix, start_class,
2458 gen_declaration_1, handle_impent): Likewise.
2459 * protoize.c (default_include, in_system_include_dir, abspath):
2460 Likewise.
2461 * sched-vis.c (visualize_stall_cycles): Likewise.
2462 * sdbout.c (plain_type_1, sdbout_end_function,
2463 sdbout_end_epilogue): Likewise.
2464 * varasm.c (decode_reg_name): Likewise.
0e5a4ad8 2465
83182544
KG
2466 * 1750a.c (mod_regno_adjust): Likewise.
2467 * alpha.c (alpha_write_one_linkage,
2468 unicosmk_output_default_externs): Likewise.
2469 * arm.c (arm_condition_codes): Likewise.
2470 * arm.h (arm_condition_codes): Likewise.
2471 * avr.c (output_movsisf, encode_section_info): Likewise.
2472 * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
2473 Likewise.
2474 * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
2475 * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
2476 * m88k.c (output_function_profiler): Likewise.
2477 * mips.c (mips_output_conditional_branch): Likewise.
2478 * ns32k.c (ns32k_out_reg_names): Likewise.
2479 * ns32k.h (ns32k_out_reg_names): Likewise.
2480 * pj.c (pj_output_rval): Likewise.
2481 * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
2482 * sparc.c (sparc_flat_function_prologue,
2483 sparc_flat_function_epilogue): Likewise.
2484
f404402c 24852001-09-13 Markus Werle <numerical.simulation@web.de>
623fe810 2486 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
f404402c
MW
2487
2488 * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
2489 Aachen University of Technology".
2490
08ed72a9
AS
24912001-09-13 Andreas Schwab <schwab@suse.de>
2492
2493 * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
2494 C99.
2495
133d3133
RH
24962001-09-13 Richard Henderson <rth@redhat.com>
2497
2498 * config/alpha/alpha.c (small_symbolic_operand): New.
2499 (override_options): Set MASK_SMALL_DATA based on pic/PIC.
2500 (some_operand, input_operand): Don't handle HIGH.
2501 (alpha_legitimize_address): Use it. Emit HIGH with PLUS gp.
2502 (alpha_expand_mov): Likewise.
2503 (print_operand) [H]: Just print HIGH symbol.
2504 (print_operand_address): Handle small data.
2505 * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
2506 (TARGET_SWITCHES): Add -msmall-data/large-data.
2507 (PIC_OFFSET_TABLE_REGNUM): New.
2508 (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
2509 (PREDICATE_COES): Update.
2510 * config/alpha/alpha.md (adddi_er_high): New.
2511 (adddi_er_low): Handle small data.
2512 * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
2513 prefer .sdata to .rodata.
2514 (SELECT_RTX_SECTION): Likewise.
2515
34b3b0f6
JM
25162001-09-12 Josh Martin <josh.martin@abq.sc.philips.com>
2517
2518 * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
2519 defining __size_t and leaving size_t undefined.
0e5a4ad8 2520
d5c768b8
DN
25212001-09-12 Diego Novillo <dnovillo@redhat.com>
2522
2523 * basic-block.h (expunge_block): Declare.
2524 * cfg.c (expunge_block): Remove static declaration.
2525
3bab2571
RH
25262001-09-12 Richard Henderson <rth@redhat.com>
2527
2528 * integrate.c (copy_insn_list): Copy label name from
2529 NOTE_INSN_DELETED_LABEL.
2530
27c38fbe
KG
25312001-09-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2532
2533 * c-common.c (c_tree_code_name): Const-ification.
2534 * c-decl.c (c_decode_option): Likewise.
2535 * c-typeck.c (warn_for_assignment): Likewise.
2536 * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
2537 Likewise.
2538 * cppinit.c (output_deps): Likewise.
2539 * dependence.c (dependence_string, direction_string): Likewise.
2540 * dwarf2out.c (output_ranges): Likewise.
2541 * fixinc/fixfixes.c (emit_gnu_type): Likewise.
2542 * fixinc/gnu-regex.c (re_error_msgid): Likewise.
2543 * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
2544 standard_startfile_prefix, standard_startfile_prefix_1,
2545 standard_startfile_prefix_2, tooldir_base_prefix,
2546 standard_bindir_prefix, find_a_file): Likewise.
2547 * genattrtab.c (make_length_attrs): Likewise.
2548 * gencheck.c (tree_codes): Likewise.
2549 * genemit.c (gen_split): Likewise.
2550 * genrecog.c (special_mode_pred_table): Likewise.
2551 * graph.c (graph_ext): Likewise.
2552 * protoize (default_include): Likewise.
2553 * reload.c (reload_when_needed_name): Likewise.
2554 * sched-vis.c (visualize_stall_cycles): Likewise.
2555 * tlink.c (recompile_files): Likewise.
2556 * toplev.c (decode_g_option): Likewise.
2557 * tradcpp.c (output_deps): Likewise.
2558 * varasm.c (decode_reg_name): Likewise.
0e5a4ad8 2559
27c38fbe
KG
2560 * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
2561 Const-ification.
2562 * arm.md: Likewise.
2563 * avr.c (avr_regnames, encode_section_info): Likewise.
2564 * c4x.c (float_reg_names): Likewise.
2565 * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
2566 * elfos.h (const_section): Likewise.
2567 * i386.c (ix86_comp_type_attributes): Likewise.
2568 * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
2569 * ia64/aix.h (UNIQUE_SECTION): Likewise.
2570 * ia64.c (type_names): Likewise.
2571 * m68hc11.c (reg_class_names): Likewise.
2572 * m88k.c (m_options): Likewise.
2573 * mips.c (mips_output_conditional_branch, mips_unique_section):
2574 Likewise.
2575 * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
2576 * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
2577 ultra_code_names): Likewise.
2578 * sparc.h (OVERRIDE_OPTIONS): Likewise.
2579
a8b7afb9
JJ
25802001-09-12 Jakub Jelinek <jakub@redhat.com>
2581
2582 * configure.in (gcc_cv_as_shf_merge): Fix a typo.
2583 Use --fatal-warnings option for gas.
2584 * configure: Rebuilt.
2585
71b96724
RL
25862001-09-12 Roman Lechtchinsky <rl@cs.tu-berlin.de>
2587
2588 * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
2589
4e1a4144
JW
25902001-09-11 Jim Wilson <wilson@redhat.com>
2591
2592 * alias.c (clear_reg_alias_info): Only handle pseudo registers.
2593
1de3d877
MK
25942001-10-11 Matt Kraai <kraai@alumni.carnegiemellon.edu>
2595
2596 * builtins.c (c_strlen): Treat an offset too large for a
2597 HOST_WIDE_INT as out of range.
2598
4262e623
JH
2599Tue Sep 11 18:57:47 CEST 2001 Jan Hubicka <jh@suse.cz>
2600
2601 * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
2602 (EDGE_CRITICAL_P): New predicate.
2603 * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
2604 handling.
2605 (insert_insn_on_edge): Use EDGE_CRITICAL_P.
2606 (dump_edge_info): Remove "crit".
2607 * cfganal.c (mark_critical_edges): Kill.
2608 * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
2609 * cfgcleanup.c (cleanup_cfg): Likewise.
2610 * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
2611 (find_spanning_tree): Likewise.
2612 * reg-stack.c (convert_regs_1): Likewise.
2613 * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
2614
2615 * basic-block.h (create_basic_block_structure): New.
2616 (create_basic_block): Update prototype.
2617 (force_nonfallthru): New.
2618 * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
2619 * cfg.c (create_basic_block_structure): Rename from create_basic_block;
2620 handle updating of block_for_insn, creating of empty BBs and BBs at
2621 the end of INSN chain.
2622 (create_basic_block): New function.
2623 (split_block): Use create_basic_block.
2624 (force_nonfallthru_and_redirect): Break out from ...; cleanup
2625 (redirect_edge_and_branch_force): ... here.
2626 (force_nonfallthru): New.
2627 (split_edge): Rewrite to use force_nonfallthru and create_block.
2628 * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
2629 (find_basic_blocks): Free basic_block_for_insn.
2630 * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
2631
2632 * cfg.c: Fix formating.
2633 * cfgcleanup.c: Fix formating.
2634 (merge_blocks, tail_recursion_label_p): Return bool.
2635 (merge_blocks_move_predecessor_nojumps,
2636 merge_blocks_move_successor_nojumps): Return void.
2637
201556f0
JJ
26382001-09-11 Jakub Jelinek <jakub@redhat.com>
2639
2640 * configure.in: Check whether assembler supports section merging.
2641 * config.in: Rebuilt.
2642 * configure: Rebuilt.
2643 * varasm.c (variable_section, output_constant_pool): Pass alignment
2644 to SELECT_SECTION and SELECT_RTX_SECTION.
2645 (mergeable_string_section): New.
2646 (mergeable_constant_section): New.
2647 (default_elf_asm_named_section): Output SECTION_MERGE and
2648 SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
2649 * output.h (mergeable_string_section): New.
2650 (mergeable_constant_section): New.
2651 (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
2652 * toplev.c (flag_merge_constants): New.
2653 (f_options): Add -fmerge-constants and -fmerge-all-constants
2654 options.
2655 (toplev_main): Default to -fno-merge-constants if not optimizing.
2656 * flags.h (flag_merge_constants): Add extern.
2657 * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
2658 * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
2659 argument.
2660 * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
2661 Define if assembler has working .subsection -1 support.
2662 (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
2663 Put constant into special SHF_MERGE sections if the linker should
2664 attempt to merge duplicates.
2665 * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
2666 macro argument.
2667 Put constant into special SHF_MERGE sections if the linker should
2668 attempt to merge duplicates.
2669 * config/alpha/elf.h: Likewise.
2670 (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
2671 has working .subsection -1 support.
2672 * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
2673 SELECT_SECTION.
2674 * config/svr3.h: Likewise.
2675 * config/darwin.h: Likewise.
2676 * config/arm/aof.h: Likewise.
2677 * config/arm/linux-elf.h: Likewise.
2678 * config/avr/avr.h: Likewise.
2679 * config/c4x/c4x.h: Likewise.
2680 * config/d30v/d30v.h: Likewise.
2681 * config/i386/dgux.h: Likewise.
2682 * config/i386/osfrose.h: Likewise.
2683 * config/i386/sco5.h: Likewise.
2684 * config/i386/svr3gas.h: Likewise.
2685 * config/ia64/aix.h: Likewise.
2686 * config/m32r/m32r.h: Likewise.
2687 * config/m68k/m68k.h: Likewise.
2688 * config/m88k/dgux.h: Likewise.
2689 * config/m88k/m88k.h: Likewise.
2690 * config/mcore/mcore-pe.h: Likewise.
2691 * config/mips/mips.h: Likewise.
2692 * config/pa/pa.h: Likewise.
2693 * config/pa/pa-linux.h: Likewise.
2694 * config/romp/romp.h: Likewise.
2695 * config/rs6000/sysv4.h: Likewise.
2696 * config/rs6000/xcoff.h: Likewise.
2697 * config/s390/linux.h: Likewise.
2698 * config/sparc/sparc.h: Likewise.
2699 * config/sparc/sysv4.h: Likewise.
2700 * config/stormy16/stormy16.h: Likewise.
2701 * config/v850/v850.h: Likewise.
2702 * config/vax/vms.h: Likewise.
2703 * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
2704 and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
2705 * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
2706 default_elf_asm_named_section for SHF_MERGE sections.
2707
0a24446d
JH
2708Tue Sep 11 17:55:54 CEST 2001 Jan Hubicka <jh@suse.cz>
2709
2710 * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
2711 is OK.
2712
1d30139d
JM
27132001-09-11 Joseph S. Myers <jsm28@cam.ac.uk>
2714
2715 * c-common.c (split_specs_attrs): Allow for empty attributes with
2716 empty TREE_PURPOSE. Fixes PR c/4294.
2717
7ded4467
JH
2718Tue Sep 11 11:37:52 CEST 2001 Jan Hubicka <jh@suse.cz>
2719
2720 * basic-block.h (cached_make_edge, make_single_succ): New.
2721 (make_edge): Remove first parameter.
2722 * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
2723 * cfg.c (cached_make_edge): Rename from make_edge; return newly
2724 created edge; use obstack allocation.
2725 (make_edge, make_single_succ_edge): New.
2726 (first_removed_edge): New static variable.
2727 (init_flow): Initialize first_removed_edge and n_edges.
2728 (clear_edges): Use remove_edge.
2729 (flow_delete_block): Likewise.
2730 (remove_edge): Add removed edges to the removed edges list.
2731 (split_block, redirect_edge_and_branch_force, split_edge):
2732 Use make_edge.
2733 * cfganal.c (flow_call_edges_add): Updaet make_edge call.
2734 (add_noreturn_fake_exit_edges): Likewise.
2735 (connect_infinite_loops_to_exit): Liekwise.
2736 * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
2737 Use cached_make_edge.
2738 * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
2739 * profile.c (branch_prob): Update make_edge call.
2740 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
2741
30102605
RH
27422001-09-11 Richard Henderson <rth@redhat.com>
2743
2744 * config/alpha/alpha.c: Tidy formatting.
2745 (local_symbolic_operand): Verify mode.
2746 (alpha_sa_mask): Ignore unicos for eh_return.
2747 (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
2748 * config/alpha/alpha.md (umk divsi patterns): Remove.
2749 (extendsfdf2): Remove unicos check.
2750 (tablejump): Merge vms and unicos code; always use direct set
2751 plus label_ref use.
2752
27532001-09-11 Roman Lechtchinsky <rl@cs.tu-berlin.de>
2754
2755 * config.gcc (alpha*-*-unicosmk*): New target.
2756
2757 * config/alpha/alpha-protos.h (symbolic_operand,
2758 unicosmk_add_call_info_word, unicosmk_add_extern,
2759 unicosmk_defer_case_vector, unicosmk_unique_section,
2760 unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
2761 unicosmk_asm_file_start, unicosmk_asm_file_end,
2762 unicosmk_output_common): Declare.
2763
2764 * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
2765 direct_return, function_arg, alpha_va_start, alpha_va_arg,
2766 alpha_does_function_need_gp, alpha_end_function): Support Cray
2767 Unicos/Mk.
2768 (alpha_init_machine_status, alpha_mark_machine_status,
2769 alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
2770 unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
2771 unicosmk_asm_named_section, unicosmk_insert_attributes,
2772 unicosmk_section_type_flags, symbolic_operand,
2773 unicosmk_output_module_name, unicosmk_output_default_externs,
2774 unicosmk_output_dex, unicosmk_output_externs,
2775 unicosmk_output_addr_vec, unicosmk_ssib_name,
2776 unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
2777 unicosmk_asm_file_end, unicosmk_output_common,
2778 unicosmk_section_type_flags, unicosmk_unique_section,
2779 unicosmk_add_call_info_word, unicosmk_text_section,
2780 unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
2781 unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
2782 unicosmk_dex_count, unicosmk_special_name): New.
2783 (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
2784 TARGET_ABI_UNICOSMK.
2785 (get_aligned_mem, alpha_expand_unaligned_load,
2786 alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
2787 alpha_expand_unaligned_store_words): Support big-endian mode.
2788 (print_operand): Likewise. New format specifier 't'. Use
2789 TARGET_AS_SLASH_BEFORE_SUFFIX.
2790 (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
2791 (alpha_pv_save_size): Update with above change.
2792 (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
2793 alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
2794 Unicos/Mk.
2795
2796 * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
2797 (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
2798 (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
2799 (EXTRA_CONSTRAINT): New constraint 'U'.
2800 (PREDICATE_CODES): Add symbolic_operand.
2801
2802 * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
2803 UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
2804 (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
2805 (integer division and modulus patterns): Split in default and
2806 Unicos/Mk versions.
2807 (*divmodsi_internal, *divmoddi_internal): Disable for
2808 TARGET_ABI_UNICOSMK.
0e5a4ad8 2809 (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
30102605
RH
2810 little-endian and big-endian versions.
2811 (ext, ins, msk): Likewise.
2812 (extv, extzv, insv): Support big-endian mode.
2813 (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
2814 (call_umk, call_value_umk, *call_umk, tablejump_umk,
2815 *tablejump_umk_internal, *call_value_umk): New.
2816 (*movdi_nofix): Add pattern for loading an address into a register on
2817 TARGET_ABI_UNICOSMK.
2818 (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
2819 (umk_mismatch_args, arg_home_umk): New.
2820 (various insns): Don't use mov, fmov, nop, fnop and unop.
2821 (realign): Support TARGET_ABI_UNICOSMK.
2822
2823 * config/alpha/unicosmk.h: New file.
2824 * config/alpha/t-unicosmk: New file.
2825
2826 * fixinc/inclhack.def (unicosmk_restrict): New.
2827 * fixinc/fixincl.x: Regenerate.
2828
2829 * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
2830 (wchar_t): Check for and define __WCHAR_T__.
2831
b1c4394d
RS
28322001-09-11 Richard Sandiford <rsandifo@redhat.com>
2833
2834 * combine.c (simplify_shift_const): Treat shifts by the mode
2835 size as undefined.
2836
5fddcffc
NB
28372001-09-11 Neil Booth <neil@daikokuya.demon.co.uk>
2838
2839 * cpphash.h (struct tokenrun): New.
2840 (struct cpp_context): New member bol.
2841 (struct cpp_reader): New members.
2842 (_cpp_init_tokenrun): New.
2843 * cppinit.c (cpp_create_reader): Set up the token runs.
2844 * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
2845 (lex_token): New internalised version of _cpp_lex_token. Don't
2846 handle directives or the multiple include opimisation here any
2847 more. Simply lex a token.
2848 * cpplib.c (run_directive): Clear bol.
2849 (_cpp_pop_buffer): Set bol.
2850 * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
2851 arguments.
2852
75dcd8fe
MM
28532001-09-11 Michael Meissner <meissner@redhat.com>
2854
2855 * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
2856 give an error if the user uses -mfp32.
2857 (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
2858 default options.
2859 (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
2860 floating point register size.
2861 (EXTRA_SPECS): Add CPP_FPR_SPEC.
2862
2863 * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
2864 HOST_WIDE_INT_PRINT_DEC to properly print the result of
2865 int_size_in_bytes.
2866 * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
2867 * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
2868
fb530c07
HPN
28692001-09-11 Hans-Peter Nilsson <hp@axis.com>
2870
2871 * dbxout.c (dbxout_parms): Fix typo in comment.
2872 * unroll.c (loop_find_equiv_value): Ditto.
2873 * toplev.c (rest_of_compilation): Ditto.
2874 * loop.c (scan_loop): Ditto.
fb530c07
HPN
2875 * dwarf2out.c (struct dw_fde_struct): Ditto.
2876
2c3fcba6
ZW
28772001-09-10 Zack Weinberg <zackw@panix.com>
2878
2879 * cpplex.c (parse_identifier): Fast-path optimize. Avoid
2880 copying identifier when we're just going to throw it away.
2881 (parse_identifier_slow): New routine to handle abnormal cases.
2882 (_cpp_lex_token): Update call site.
2883
2884 * hashtable.c (ht_lookup): Don't assume that the string we've
2885 been given is NUL-terminated.
2886 * system.h: #define __builtin_expect(a, b) to (a) if not
2887 GCC >=3.0.
2888
60acf24e
MM
28892001-09-10 Michael Meissner <meissner@redhat.com>
2890
2891 * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
2892 binutils, gdb.
2893
51d3e7d6
DE
28942001-09-10 David Edelsohn <edelsohn@gnu.org>
2895
2896 * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
2897
bf06b5d8
RK
2898Mon Sep 10 16:26:44 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2899
2900 * builtins.c (c_getstr): Correct thinko in last change and further
2901 cleanup.
2902
244a4af0
TF
29032001-09-10 Tim Freeman <tim@fungibole.com>
2904
2905 * dwarf2out.c (incomplete_types, decl_scope_table): Make them
2906 into varray's and register them as roots with the garbage
2c3fcba6 2907 collector so they are not collected too soon.
244a4af0 2908
402209ff
JH
2909Mon Sep 10 14:21:26 CEST 2001 Jan Hubicka <jh@suse.cz>
2910
2911 * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
2912 New.
2913 * basic-block.h (flow_obstack, label_value_list,
2914 tail_recursion_label_list): Declare
2915 (tidy_fallthru_edges): Declare.
2916 (expunge_block, last_loop_beg_note): Delete.
2917 (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
2918 * cfg.c: New file
2919 (basic_block_for_insn, label_value_list): Move from flow.c; make global.
2920 (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
2921 init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
2c3fcba6 2922 flow_delete_insn, flow_delete_insn_chain, create_basic_block,
402209ff
JH
2923 expunge_block, flow_delete_block, compute_bb_for_insn,
2924 update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
2925 make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
2926 redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
2927 try_redirect_by_replacing_jump, last_loop_beg_note,
2928 redirect_edge_and_branch, redirect_edge_and_branch_force,
2929 tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
2930 split_edge, insert_insn_on_edge, commit_one_edge_insertion,
2c3fcba6 2931 commit_edge_insertions, dump_flow_info, debug_flow_info,
402209ff
JH
2932 dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
2933 verify_flow_info, purge_dead_edges, purge_all_dead_edges):
2934 Move here from flow.c
2935 * cfganal.c: New file.
2936 (forwarder_block_p, can_fallthru, mark_critical_edges,
2937 mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
2938 find_unreachable_blocks, create_edge_list, free_edge_list,
2939 print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
2940 flow_edge_list_print, remove_fake_successors, remove_fake_edges,
2941 add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
2942 flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
2943 flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
2944 flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
2945 Move here from flow.c
2946 * cfgbuild.c: New file
2947 (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
2948 make_edges, find_basic_blocks_1, find_basic_blocks,
2949 find_sub_basic_blocks): Move here from flow.c
2950 * cfgcleanup.c: New file.
2951 (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
2952 merge_blocks_move_predecessor_nojumps,
2953 merge_blocks_move_successor_nojumps, merge_blocks,
2954 flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
2955 try_crossjump_bb, try_optimize_cfg): Move here from flow.c
2956 (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
2957 if succeeded.
2958 * cfgloop.c: New file
2959 (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
2960 flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
2961 flow_loop_exit_edges_find, flow_loop_nodes_find,
2962 flow_loop_pre_header_scan, flow_loop_pre_header_find,
2963 flow_loop_tree_node_add, flow_loops_tree_build,
2964 flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
2965 flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
2966 Move here from flow.c
2967 * flow.c: Remove everything moved elsewhere
2968 * output.h (cleanup_cfg): Return bool.
2969
2970 * bb-reorder.c (reorder_block_def): Remove 'index'.
2971 (insert_intra_1): Add argument BB, set block for new note.
2972 (make_reorder_chain): Do not depdent on BB indexes.
2973 (make_reorder_chain_1): Do not use BB indexes.
2974 (label_for_bb): Likewise; set BB for new insn.
2975 (emit_jump_to_block_after): Likewise.
2976 (fixup_reoder_chain): Sanity check that all basic blocks
2977 are chained; verify newly created insn chain; remove
2978 undocnitional jump simplifying; Do not use BB indexes;
2979 properly initialize count and frequency information;
2980 dump reordered sequence.
2981 (insert_intra_bb_scope_notes): update call of insert_intra_1.
2982 (insert_inter_bb_scope_notes): Set block for new insn.
2983 (reorder_basic_blocks): Dump flow info before reoredering.
2984
5197bd50
RK
2985Mon Sep 10 06:47:35 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2986
2987 * alias.c (clear_reg_alias_info): Use K&R format definition.
2988 Avoid unsigned warning.
2989 * builtins.c: Use "unsigned int", not "unsigned".
2990 (target_char_cast): Use host_integerp and tree_low_cst.
2991 (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
2992 (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
2993 (c_getstr): Likewise.
2994 (std_expand_builtin_va_arg): Use int_size_in_bytes.
2995 (builtin_memcpy_read_str): Avoid unsigned warning.
2996 (expand_builtin_memcpy): Alignments are unsigned.
2997 (expand_builtin_strncpy, expand_builtin_memset): Likewise.
2998 (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
2999 * predict.c (expensive_function_p): LIMIT now unsigned.
3000 * resource.c (mark_target_live_regs): Make some vars unsigned.
3001 * sdbout.c: Use "unsigned int", not "unsigned".
3002 (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
3003 (sdbout_source_line): Likewise.
3004 (sdbout_record_type_name): Remove "const" for NAME declaration.
3005 * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
3006
2e547b13
RS
30072001-09-10 Richard Sandiford <rsandifo@redhat.com>
3008
3009 * calls.c (store_one_arg): Expand comment.
3010
0df299ae
RL
30112001-09-10 Roman Lechtchinsky <rl@cs.tu-berlin.de>
3012
3013 * calls.c (store_one_arg): Make sure that the entire argument is
3014 pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
3015
1650fcad
RH
30162001-09-09 Richard Henderson <rth@redhat.com>
3017
3018 * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
3019
5bb08c84
JH
3020Sun Sep 9 10:43:17 CEST 2001 Jan Hubicka <jh@suse.cz>
3021
3022 * loop.c (combine_givs): Fix computing of benefit once giv is combined.
3023
1eb356b9
RH
30242001-09-09 Richard Henderson <rth@redhat.com>
3025
3026 * config/alpha/alpha.c (alpha_next_sequence_number): New.
3027 (alpha_this_literal_sequence_number): New.
3028 (alpha_this_gpdisp_sequence_number): New.
3029 (some_operand, input_operand): Add HIGH.
3030 (local_symbolic_operand): New.
3031 (alpha_encode_section_info): New.
3032 (alpha_legitimate_address_p): Allow LO_SUM.
3033 (alpha_legitimize_address): Generate HIGH+LO_SUM.
3034 (alpha_expand_mov): Likewise.
3035 (secondary_reload_class): Check memory_operand not general_operand
3036 for FP_REGS test.
3037 (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
3038 (alpha_expand_unaligned_store): Likewise.
3039 (alpha_expand_unaligned_load_words): Likewise.
3040 (alpha_expand_unaligned_store_words): Likewise.
3041 (alpha_expand_block_clear): Likewise.
3042 (print_operand): Handle %#, %*, %H.
3043 (print_operand_address): Handle LO_SUM.
3044 (find_lo_sum): New.
3045 (alpha_does_function_need_gp): Use it.
3046 (alpha_expand_block_move): Fix signed compare warnings.
3047 (alpha_sa_mask, alpha_align_insns): Likewise.
3048 * config/alpha/alpha-protos.h: Update.
3049 * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
3050 (MASK_EXPLICIT_RELOCS): New.
3051 (TARGET_SWITCHES): Add -mexplicit-relocs.
3052 (EXTRA_CONSTRAINT): Add 'T'.
3053 (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
3054 (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
3055 (ENCODE_SECTION_INFO): Out line.
3056 (REDO_SECTION_INFO_P): New.
3057 (STRIP_NAME_ENCODING): New.
3058 (ASM_OUTPUT_LABELREF): New.
3059 (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
3060 (PREDICATE_CODES): Update.
3061 * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
3062 call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
3063 movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
3064 builtin_setjmp_receiver_er, exception_receiver_1_er,
3065 call_value_osf_1_er): New patterns.
3066 (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
3067 (movqi, movhi, movsi): Add explicit $31 base register to lda.
3068 * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
3069 (FINAL_PRESCAN_INSN): New.
3070
b74cf1ce
JH
3071Sat Sep 8 22:00:55 CEST 2001 Jan Hubicka <jh@suse.cz>
3072
3073 * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
3074
2c36d070
AJ
30752001-09-08 Andreas Jaeger <aj@suse.de>
3076
3077 * i386.h (TARGET_SWITCHES): Fix description.
3078
4e2c1c44
DE
30792001-09-07 David Edelsohn <edelsohn@gnu.org>
3080
3081 * rs6000.c (num_insns_constant): Compute number of instructions
3082 more accurately.
3083
d5d8d540
DE
3084 * doc/install.texi: Explain AIX exception handling work-around.
3085 Update URL for AIX fixes.
3086
43fe47ca
JW
30872001-09-07 Jim Wilson <wilson@redhat.com>
3088
3089 * alias.c (clear_reg_alias_info): New.
3090 * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
3091 * rtl.h (clear_reg_alias_info): Declare.
3092
177b41eb
RL
30932001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
3094
3095 * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
3096 available.
3097 (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
3098 (m16m,edivm,emulm): Change declaration to match definition.
3099
b4905cba
RL
31002001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
3101
3102 * reload.c (push_reload): Check for subreg_lowpart_p instead of
3103 SUBREG_BYTE being 0 when determining if the inner part of a subreg
3104 can be reloaded.
3105
4a063bec
RH
31062001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
3107
3108 * c-common.c (signed_or_unsigned_type): Handle machine mode types
3109 which have no corresponding C type.
3110 * fold_const.c (target_isinf,target_isnan,target_negative): Update
3111 the representation of 64-bit doubles to work with 64-bit ints.
3112
31132001-09-07 Aldy Hernandez <aldyh@redhat.com>
2fd7f0c1 3114
4a063bec
RH
3115 * config/mips/mips.c (override_options): Do not override ISA when ABI
3116 specified if MIPS_CPU_STRING_DEFAULT was specified.
2fd7f0c1 3117
9b3bd424
RH
31182001-09-07 Richard Henderson <rth@redhat.com>
3119
3120 * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
3121 (express_from_1): Wrap lines.
3122 * rtlanal.c (commutative_operand_precedence): Rename from
3123 operand_preference; export.
3124 * rtl.h: Declare it.
3125 * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
3126 (simplify_binary_operation): Invoke simplify_plus_minus on
3127 (CONST (PLUS ...)) as well.
3128 (struct simplify_plus_minus_op_data): New.
3129 (simplify_plus_minus_op_data_cmp): New.
3130 (simplify_plus_minus): Use them. Avoid infinite recursion with
3131 simplify_binary_operation wrt CONST.
3132
5660465a
KH
3133Fri Sep 7 11:52:30 2001 Kazu Hirata <kazu@hxi.com>
3134
3135 * h8300-protos.h (general_operand_dst_push): Remove.
3136 * h8300.c (general_operand_dst_push): Likewise.
3137 * h8300.h (OK_FOR_T): Likewise.
3138 (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
3139 * h8300.md (pushqi_h8300): New.
3140 (pushqi_h8300hs): Likewise.
3141 (pushqi): Likewise.
3142 (pushhi_h8300): Likewise.
3143 (pushhi_h8300hs): Likewise.
3144 (pushhi): Likewise.
3145
7b9e1fcf
RK
3146Fri Sep 7 12:56:26 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3147
3148 * genattrtab.c (attr_printf): First arg is unsigned.
3149 Clean up formatting of callers.
3150
1dee47c3
AH
31512001-09-06 Aldy Hernandez <aldyh@redhat.com>
3152
3153 * config/mips/mips.c (override_options): Allow abi32 with 64 bit
3154 registers.
3155
4cba3b67
AJ
31562001-09-07 Andreas Jaeger <aj@suse.de>
3157
3158 * i386.h (TARGET_SWITCHES): Fix descriptions.
3159
6a9f6727
MK
31602001-09-07 Matt Kraai <kraai@alumni.carnegiemellon.edu>
3161
3162 * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
3163
cffb2601
IR
31642001-09-06 Ira Ruben <ira@apple.com>
3165
3166 Remove OP_IDENTIFIER.
3167 * tree.def (OP_IDENTIFIER): Remove.
3168 * tree.c (tree_node_kind enum): Remove op_id_kind.
3169 (tree_node_kind_names): Remove "op_identifiers".
3170 (make_node): Remove OP_IDENTIFIER test.
3171 (build_op_identifier): Removed because it isn't being used.
3172 * print-tree.c (print_node): Remove OP_IDENTIFIER case.
3173 * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
3174
0615ed36
RH
31752001-09-06 Richard Henderson <rth@redhat.com>
3176
3177 * simplify-rtx.c (simplify_binary_operation): Revert last change.
3178
7d8be4da
RH
31792001-09-06 Richard Henderson <rth@redhat.com>
3180
3181 * simplify-rtx.c (simplify_binary_operation): Simplify contents
3182 of CONST.
3183
a1dc9455
FS
31842001-09-06 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3185
3186 * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
3187 number used for CR register.
3188
1aae372e
JL
3189Thu Sep 6 11:16:35 2001 Jeffrey A Law (law@cygnus.com)
3190 Joern Rennecke (amylaar@cygnus.com)
3191
3192 * h8300-protos.h (h8300_return_addr_rtx): New prototype.
3193 * h8300.c (initial_offset): Handle offset between RP and FP.
3194 (h8300_return_addr_rtx): New function.
3195 * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
3196 return register.
3197 (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
3198 (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
3199 (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
3200 (CAN_ELIMINATE, REGISTER_NAMES):
3201 (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
3202
6d0a3f67
NS
32032001-09-06 Nathan Sidwell <nathan@codesourcery.com>
3204
3205 Remove TYPE_NONCOPIED_PARTS.
3206 * tree.h (TYPE_NONCOPIED_PARTS): Remove.
3207 (struct tree_type): Remove noncopied_parts.
3208 * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
3209 * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
3210 (fixed_type_p): Remove.
3211 (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
3212 (expand_expr, MODIFY_EXPR): Likewise.
3213 * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
3214 * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
3215
02071907
AM
32162001-09-06 Alan Modra <amodra@bigpond.net.au>
3217
3218 * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
3219 compiler warnings.
3220 (mask64_operand): Likewise.
3221 (includes_rldic_lshift_p): Likewise.
3222 (includes_rldicr_lshift_p): Likewise.
3223
89fc3605
ZL
32242001-09-05 Ziemowit Laski <zlaski@apple.com>
3225
4a063bec 3226 * objc/objc-act.c (build_message_expr): If a class method cannot
89fc3605
ZL
3227 be found, do not issue a warning if a corresponding instance
3228 method exists in the root class.
3229
666b0481
RH
32302001-09-05 Richard Henderson <rth@redhat.com>
3231
3232 * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
3233
ae6f2a1c
ZW
32342001-09-05 Zack Weinberg <zack@codesourcery.com>
3235
3236 * function.c (ggc_mark_struct_function): Mark f->outer.
3237 * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
3238 * integrate.c (output_inline_function): ... not here.
3239
2ab0437e
JH
3240Wed Sep 5 17:28:49 CEST 2001 Jan Hubicka <jh@suse.cz>
3241
04ac5ee9
JH
3242 * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
3243
2ab0437e
JH
3244 * i386.c (size_cost): New static variable.
3245 (override_function): Use size_cost when -Os is specified.
3246
3247 * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
3248 properly; Use current_function_calls_eh_return.
3249 (ix86_expand_epilogue): Avoid dummy optimize_size tests;
3250 use leave to avoid depdendancy chain.
3251
3252 * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
3253 get BB loop_depth instead of computing it from LOOP notes.
3254
3255 * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
3256
76f81d95
JDA
32572001-09-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
3258
3259 * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
3260 * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
3261 UNALIGNED_DOUBLE_INT_ASM_OP): Define
3262
8db4c867
JL
32632001-09-05 Jeffrey A Law (law@cygnus.com)
3264 Jason Merrill (jason@redhat.com)
3265
3266 * stor-layout.c (layout_type): Complain if an array's size can
3267 not be represented in a size_t.
3268
3269 * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
3270
caa297fe
DB
32712001-09-05 David Billinghurst <David.Billinghurst@riotinto.com>
3272
4cba3b67 3273 * gcc.c: (process_command) Add parentheses around assignment
caa297fe
DB
3274 used as truth value.
3275
eecd6d9c
RS
32762001-09-05 Richard Sandiford <rsandifo@redhat.com>
3277
4cba3b67 3278 * config/mips/mips.c (save_restore_insns): Don't mark any register
eecd6d9c
RS
3279 save slots as unchanging if current_function_calls_eh_return.
3280
a39bdefc
RH
32812001-09-05 Richard Henderson <rth@redhat.com>
3282
3283 * config/alpha/alpha.c (alpha_legitimate_address_p): New.
3284 * config/alpha/alpha-protos.h: Declare it.
3285 * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
3286 (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
3287 (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
3288 (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
3289 (REG_OK_FOR_BASE_P): Select one of the above.
3290
662704e7
RS
32912001-09-05 Richard Sandiford <rsandifo@redhat.com>
3292
3293 * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
3294 (crti.o): Prefix name of object file with $(T).
3295 (crtn.o): Likewise.
3296
2be1602e
DM
32972001-09-05 David S. Miller <davem@redhat.com>
3298
3299 * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
3300 * config/sparc/linux64.h: Likewise.
3301
a7939b1d
AJ
33022001-09-05 Andreas Jaeger <aj@suse.de>
3303
3304 * doc/invoke.texi (i386 Options): -mwide-multiply is not
3305 available anymore, remove the documentation.
3306 (i386 Options): Fix typo, cleanup index entries.
3307
3308 * prefix.c (concat): Remove, we can use the version from liberty.
3309
23296a36
RH
33102001-09-05 Richard Henderson <rth@redhat.com>
3311
3312 * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
3313 New functions split out of md file expanders.
3314 * config/alpha/alpha-protos.h: Declare them.
3315 * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
3316
522d73ab
NB
33172001-09-05 Neil Booth <neil@daikokuya.demon.co.uk>
3318
3319 * cppmacro.c (funlike_invocation_p): No need to restore context.
3320
aead1ca3
RH
33212001-09-04 Richard Henderson <rth@redhat.com>
3322
3323 * reload.c (push_reload): Export.
3324 * reload.h (push_reload): Declare it.
3325
3326 * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
3327 (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
3328 * config/alpha/alpha.c (alpha_legitimize_address): New.
3329 (alpha_legitimize_reload_address): Likewise.
3330 * config/alpha/alpha-protos.h: Declare them.
3331
93913281
SS
33322001-09-04 Stan Shebs <shebs@apple.com>
3333
3334 * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
3335 * config/darwin.c (machopic_stub_name): Account for internally
3336 generated lib calls such as memcpy.
3337
4c21ef03
RH
33382001-09-04 Richard Henderson <rth@redhat.com>
3339
3340 * unwind.h (_UA_END_OF_STACK): New flag.
3341 * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
3342
9aa5ba97
JL
3343Tue Sep 4 11:16:35 2001 Jeffrey A Law (law@cygnus.com)
3344
3345 * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
3346
58771ed1
RS
33472001-09-04 Richard Sandiford <rsandifo@redhat.com>
3348
3349 * config/mips/mips.c (save_restore_insns): Change base_offset to
3350 fp_offset in second call to mips_emit_frame_related_store.
3351
ba72e5a6
HPN
33522001-09-04 Hans-Peter Nilsson <hp@axis.com>
3353
3354 * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
3355 sometimes be represented as a NOTE of type
3356 NOTE_INSN_DELETED_LABEL.
3357 (Insns): Document NOTE_INSN_DELETED_LABEL.
3358
22367161
NS
33592001-09-04 Nathan Sidwell <nathan@codesourcery.com>
3360
3361 * c-common.h (tree_dump_index): Add more comments.
3362 * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
3363 (dump_option_value_info): New struct.
3364 (dump_options): New array.
3365 (dump_switch_p): Parse switch options symbolically.
3366 * doc/invoke.texi (-fdump-ast): Rename to ...
3367 (-fdump-tree): ... here. Document that options are symbolic, and
3368 not all are applicable.
3369
f7df2b9d
DM
33702001-09-04 David S. Miller <davem@redhat.com>
3371
3372 * config/sparc/sparc.md (define_splits): Kill constraints.
3373
7fbb2f84
DM
3374 Cleanup redundant and unused insn attributes.
3375 * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
3376 binary, and move. Mark ialu as default.
3377 (commented out define_function_unit "alu"): Kill.
3378 (define_attr "use_clobbered"): Kill.
3379 (whole file): Kill address insn type references. Replace
3380 all unary/binary/move references with ialu.
3381 * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
3382 references. Replace TYPE_{UNARY,BINARY,MOVE} references with
3383 TYPE_IALU.
a7939b1d 3384
24697ca0
DM
3385 Simplify length insn attribute and make more judicious use
3386 of insn attribute defaulting.
3387 * config/sparc/sparc.md (all insns with length > one): Mark as
3388 insn type multi if real instructions, else use default if
3389 it is a forced splitter.
3390 (all insns with length == one): Use default insn length.
3391 (all insns of type ialu): Use default insn type.
3392
3393 Fix erroneous insn attribute settings.
3394 (addx): Set insn type to misc.
3395 (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
3396 const_umulsidi3_sp64): Set insn type to imul.
a7939b1d 3397
24697ca0
DM
3398 Track SFmode vs DFmode insns according to UltraSPARC
3399 scheduling rules.
3400 * config/sparc/sparc.md ("fptype"): New attribute, default
3401 to "single".
3402 (all DFmode single insns): Mark as fptype "double".
3403
7743fdb9
JJ
34042001-09-03 Jakub Jelinek <jakub@redhat.com>
3405
3406 * loop.c (express_from_1): Fix CONSTANT_P(a) case.
3407
964be02f
RH
34082001-09-03 Richard Henderson <rth@redhat.com>
3409
3410 * function.h (struct function): Add arg_pointer_save_area_init.
3411 * function.c (expand_function_end): Init arg_pointer_save_area.
3412 (get_arg_pointer_save_area): Do not init arg_pointer_save_area
3413 when called from a nested function.
3414
86251d81
AMT
34152001-09-02 Angela Marie Thomas <angela@cygnus.com>
3416
3417 * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
3418 is enabled.
3419
0c4992b0
JH
3420Sun Sep 2 18:37:54 CEST 2001 Jan Hubicka <jh@suse.cz>
3421
3422 * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
3423
e27e731d
GK
34242001-09-01 Geoffrey Keating <geoffk@redhat.com>
3425
9e0e11bf
GK
3426 * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
3427 (emit_push_insn): Use specified padding direction when
3428 STACK_PUSH_CODE is POST_INC.
3429
e27e731d
GK
3430 * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
3431
a6ffcb2a
KG
34322001-09-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3433
3434 * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
3435
53aabfbc
NB
34362001-09-01 Neil Booth <neil@daikokuya.demon.co.uk>
3437
3438 * cppinit.c (cpp_start_read): Free the imacros list as we
3439 traverse it. Don't free the chains before returning.
3440 (_cpp_push_next_buffer): Only try pushing buffers if we've
3441 completed -imacros handling.
3442
4049df42
EC
34432001-08-31 Eric Christopher <echristo@redhat.com>
3444
3445 * gcc.c (handle_braces): Add explaination for abort.
3446
57bfa49a
RZ
34472001-08-30 Roman Zippel <zippel@linux-m68k.org>
3448
3449 * expmed.c (store_bit_field): Update to patch from 2001-08-27:
3450 move adjustment of bitpos instead.
3451
eb3ae3e1
ZW
34522001-08-31 Zack Weinberg <zack@codesourcery.com>
3453
3454 * function.c: Remove all_functions. Make outer_function_chain
3455 static.
3456 (init_function_start): Don't add new function structure to
3457 all_functions.
3458 (find_function_data, push_function_context_to,
3459 pop_function_context_from, put_var_into_stack,
3460 trampoline_address): Update for changed structure element names.
3461 (push_function_context_to): Disentangle.
3462 (free_after_compilation): Also free F.
3463 (expand_dummy_function_end): Don't free cfun here.
3464 (put_var_into_stack): Comment why we can't use find_function_data here.
3465 (fix_lexical_addr, trampoline_address, ): Use find_function_data.
3466 (mark_function_chain): Split into maybe_mark_struct_function and
3467 ggc_mark_struct_function. Export the latter.
3468 (init_function_once): Mark from cfun and outer_function_chain;
3469 not all_functions.
3470
3471 * function.h (struct function): Kill next_global. Rename next
3472 to outer. All users updated to match.
3473 (all_functions, outer_function_chain): Don't declare.
3474
3475 * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
3476 * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
3477 don't touch f->inlinable, after calling rest_of_compilation.
3478
3479 * tree.h: Forward-declare struct function. Prototype
3480 ggc_mark_struct_function.
3481
fb9282f9
KH
34822001-08-31 Kazu Hirata <kazu@hxi.com>
3483
3484 * config/h8300/h8300.md (*andorhi3): Fix typos.
3485
6268b922
KG
34862001-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3487
3488 * calls.c (emit_library_call_value): Don't use a fixed
3489 argument after VA_CLOSE, i.e. out of scope in traditional C.
3490
3491 * emit-rtl.c (gen_rtvec): Likewise.
3492
78b41166
KG
34932001-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3494
3495 * Makefile.in (c-pragma.o): Depend on output.h.
3496 (reorg.o): Depend on except.h.
3497
3498 * c-pragma.c: Include output.h.
3499
3500 * reorg.c: Include except.h.
3501
3502 * unwind-dw2.c: Call __builtin_alloca, not alloca.
3503
fe3e667f
RH
35042001-08-31 Richard Henderson <rth@redhat.com>
3505
3506 * sched-deps.c (add_dependence): Don't elide dependancy if the
3507 conditional used by insn is modified in elem.
3508
75b9045a
NC
35092001-08-31 Nick Clifton <nickc@cambridge.redhat.com>
3510
3511 * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
3512
a8231a01
DN
35132001-08-31 Diego Novillo <dnovillo@redhat.com>
3514
3515 * c-decl.c (c_decode_option): Skip '-f' prefix before calling
3516 dump_switch_p.
3517
43898541
GK
35182001-08-31 Geoffrey Keating <geoffk@redhat.com>
3519
3520 * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
3521 function.
3522 (stormy16_asm_out_constructor): New function.
3523 (TARGET_ASM_CONSTRUCTOR): Define.
3524 (TARGET_ASM_DESTRUCTOR): Define.
3525
6b8c9327
AJ
35262001-08-31 Andreas Jaeger <aj@suse.de>
3527
3528 * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
3529 * loop.c (add_label_notes): Likewise.
3530 * reload.c (find_reloads): Likewise.
3531 * config/sh/sh.c (machine_dependent_reorg): Likewise.
3532
a9985a92
JM
35332001-08-31 Jason Merrill <jason_merrill@redhat.com>
3534
3535 * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
3536 code here. Take _Unwind_{W,Sw}ord*.
3537 (read_encoded_value_with_base): Use them.
3538 * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
3539 words.
3540 (extract_cie_info): Simplify read_?leb128 handling.
3541 (execute_stack_op, execute_cfa_program): Likewise.
3542 * unwind-dw2-fde.c (get_cie_encoding): Likewise.
3543
e2470e1b
GK
35442001-08-31 Geoffrey Keating <geoffk@redhat.com>
3545
3546 * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
3547 the frame pointer to pop the stack if convenient.
3548
3549 * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
3550 Don't use post-increment before combine.
3551 * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
3552 a call-saved register.
3553
f5dd47c4
AJ
35542001-08-31 Andreas Jaeger <aj@suse.de>
3555
3556 * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
3557 code was correct.
3558
ed09481d
GK
35592001-08-30 Geoffrey Keating <geoffk@redhat.com>
3560
3561 * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
3562 not DIV/MOD, of course.
3563
b8ec5764
VM
35642001-08-30 Vladimir Makarov <vmakarov@redhat.com>
3565
3566 * rtl.def: Undo my patch commited 2001-08-27.
3567
3568 * genattrtab.c: Ditto.
3569
3570 * rtl.h: Ditto.
3571
3572 * sched-int.h: Ditto.
3573
3574 * target-def.h: Ditto.
3575
3576 * target.h: Ditto.
3577
3578 * haifa-sched.c: Ditto.
3579
3580 * sched-rgn.c: Ditto.
3581
3582 * sched-vis.c: Ditto.
3583
3584 * Makefile.in: Ditto.
3585
3586 * doc/md.texi: Ditto.
3587
3588 * doc/tm.texi: Ditto.
3589
3590 * doc/contrib.texi: Ditto.
3591
3592 * doc/gcc.texi: Ditto.
3593
3594 * genattrtab.h: Remove it.
3595
3596 * genautomata.c: Remove it.
3597
3598 * genattr.c: Undo my patch and Richard Henderson's patch commited
3599 2001-08-27.
3600
9f5b774b 3601Thu Aug 30 19:22:15 2001 J"orn Rennecke <amylaar@redhat.com>
f4926e19
R
3602
3603 * config.gcc (h8300-*-elf*): New case.
3604 * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
3605 (SUBTARGET_CPP_SPEC): Define.
3606 (EXTRA_SPECS): Define.
3607 (SUBTARGET_EXTRA_SPECS): Define.
3608 * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
3609 * config/h8300/elf.h, config/h8300/t-elf: Likewise.
3610
8c062645
R
3611Thu Aug 30 18:50:37 2001 J"orn Rennecke <amylaar@redhat.com>
3612
3613 * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
3614 (LIB2FUNCS_EXTRA): Define.
3615 config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
3616 config/h8300/fixunssfsi.c: New file.
3617
6f41623f
KH
36182001-08-30 Kazu Hirata <kazu@hxi.com>
3619
3620 * config/h8300/h8300.md (zero_extendqihi2): Changes to
3621 define_expand to accomodate target-specific attributes.
3622 (anonymous zero_extendqihi2 patterns): New.
3623
ee437932
R
3624Thu Aug 30 18:10:56 2001 J"orn Rennecke <amylaar@redhat.com>
3625
3626 * h8300.md (*andorhi3): New pattern.
3627
63a57e0f
R
3628Thu Aug 30 16:00:31 2001 J"orn Rennecke <amylaar@redhat.com>
3629
3630 * h8300.c (dosize): Fix test for "sub".
3631
95602da1
R
3632Thu Aug 30 10:21:43 2001 J"orn Rennecke <amylaar@redhat.com>
3633
3634 * c-typeck.c (pointer_diff): Try to eliminate common term before
3635 doing conversions.
3636
ef7112de
NC
36372001-08-30 Nick Clifton <nickc@cambridge.redhat.com>
3638
3639 * config/arm/arm.c (arm_compute_initial_elimination_offset):
3640 Account for the saves of the FP registers.
3641
3642 * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
3643 (TEXT_SECTION_ASM_OP): Define.
3644 (INIT_SECTION_ASM_OP): Define.
3645 (FINI_SECTION_ASM_OP): Define.
3646 (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
3647 (RDATA_SECTION_FUNCITON): Provide prototype.
3648
52fdbf26
GK
36492001-08-29 Geoffrey Keating <geoffk@redhat.com>
3650
3651 * reload1.c (move2add_note_store): Correct typo checking for
3652 argument pushes.
3653
c63b1ae8
AM
36542001-08-29 Andrew MacLeod <amacleod@redhat.com>
3655
3656 * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
3657 note should not be considered outside the libcall block.
3658
ec83eb53
KG
36592001-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3660
3661 * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
3662
5965bbf8
KH
36632001-08-29 Kazu Hirata <kazu@hxi.com>
3664
3665 * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
3666
366a7b27
KH
36672001-08-29 Kazu Hirata <kazu@hxi.com>
3668
3669 * config/h8300/h8300-protos.h: Add a prototype for
3670 emit_logical_op.
3671 * config/h8300/h8300.c (emit_logical_op): New.
3672 * config/h8300/h8300.md (andhi3): Use emit_logical_op.
3673 (andsi3): Likewise.
3674 (iorhi3): Likewise.
3675 (iorsi3): Likewise.
3676 (xorhi3): Likewise.
3677 (xorsi3): Likewise.
3678
6e9c53b4
JDA
36792001-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
3680
3681 * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
3682 comparison with rtx INTVAL.
3683 (pa_output_function_prologue): Don't mix signed and unsigned in `?'
3684 expression.
3685 * pa.h (FUNCTION_ARG_SIZE): Likewise.
3686
53251a55
KH
36872001-08-29 Kazu Hirata <kazu@hxi.com>
3688
3689 * config/h8300/lib1funcs.asm: Update the copyright. Fix
3690 comment typos.
3691
0cb3708d
KH
36922001-08-29 Kazu Hirata <kazu@hxi.com>
3693
07322342
KH
3694 * config/h8300/h8300.md (anonymous movhi pattern): Don't move
3695 (reg n) to (mem (pre_dec (reg n))
0cb3708d
KH
3696 (anonymous movsi pattern): Likewise.
3697
39fc3cc7
KH
36982001-08-29 Kazu Hirata <kazu@hxi.com>
3699
07322342 3700 * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
39fc3cc7 3701
b3a68dba
KH
37022001-08-29 Kazu Hirata <kazu@hxi.com>
3703
07322342
KH
3704 * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
3705 several special constants.
b3a68dba 3706
45a4bc1d
KH
37072001-08-29 Kazu Hirata <kazu@hxi.com>
3708
3709 * config/h8300/lib1funcs.asm: Fix comment typos.
3710
c3d03e3a
KG
37112001-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3712
3713 * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
3714 Fix format specifier warnings.
f5dd47c4 3715
c3d03e3a
KG
3716 * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
3717 inet_makeaddr, semctl): Prototype.
3718
3719 * mips.c (compute_frame_size): Fix signed/unsigned warnings.
3720 (save_restore_insns): Use base_offset, not gp_offset.
3721
3722 * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
3723 (ASM_OUTPUT_BYTE): Fix format specifier warning.
3724
a7b01a4b
RH
37252001-08-29 Richard Henderson <rth@redhat.com>
3726
3727 * bb-reorder.c (function_tail_eff_head): New.
3728 (record_effective_endpoints): Set it.
3729 (fixup_reorder_chain): Use it.
3730
c43f84d7
KG
37312001-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3732
3733 * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
3734
c0cbc013
DJ
37352001-08-28 Dale Johannesen <dalej@apple.com>
3736
3737 * config/darwin.c (machopic_function_base_name): Add const
3738 qualifier to a string.
3739 (darwin_encode_section_info): Ditto.
3740
252cf812
KG
37412001-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3742
3743 * tree.c (default_valid_attribute_p): Don't use PARAMS on a
3744 function definition.
3745
d59c5346
DB
37462001-08-28 Daniel Berlin <dan@cgsoftware.com>
3747
3748 * df.h (struct df): Add rts_order variable.
3749
3750 * df.c (df_visit_next_rts): New function.
3751 (df_visit_next): Renamed to df_visit_next_rc
3752 (df_analyse_1): Allocate/compute/free rts_order as well.
3753 (df_rd_global_compute): Use df_visit_next_rc instead of
3754 df_visit_next.
3755 (df_ru_global_compute): Use df_visit_next_rts instead of
3756 df_visit_next.
f5dd47c4 3757
d59c5346
DB
3758 * flow.c (flow_reverse_top_sort_order_compute): New function.
3759
3760 * basic-block.h: Add prototype.
3761
e0c39f1b
DB
37622001-08-28 Daniel Berlin <dan@cgsoftware.com>
3763
3764 * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
3765 blocks, the BB_REACHABLE is now set, rather than aux being
3766 non-NULL. Update the test to reflect this.
f5dd47c4 3767
a098df27
EC
37682001-08-28 Eric Christopher <echristo@redhat.com>
3769
3770 * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
3771 config/mips/crti.asm: Ditto.
3772
46f9491e
EC
37732001-08-28 Eric Christopher <echristo@redhat.com>
3774 Richard Henderson <rth@redhat.com>
3775
3776 * c-pragma.h (add_weak): Move prototype from here...
3777 * output.h (add_weak): ... to here.
3778 * varasm.c (add_weak): Fix typo.
3779 * config/mips/crti.asm: New file.
3780 * config/mips/crtn.asm: Ditto.
3781 * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
3782 (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
3783 (INVOKE__main): Ditto.
3784 (INIT_SECTION_ASM_OP): New.
3785 (FINI_SECTION_ASM_OP): Ditto.
3786 (STARTFILE_SPEC): Add crti.
3787 (ENDFILE_SPEC): Add crtn.
3788 * config/mips/elf64.h: Same.
3789 * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
3790 Remove.
3791 * config/mips/vxworks.h: Ditto.
3792 * config/mips/t-elf: Support crti and crtn.
3793
5dde0143
AO
37942001-08-28 Alexandre Oliva <aoliva@redhat.com>
3795
3796 * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
3797 INSN_LIST.
3798
967603ef
RH
37992001-08-28 Richard Henderson <rth@redhat.com>
3800
3801 * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
3802 (one_cmplbi2 splitter): Remove redundant test.
3803
4f400cf6
DJ
38042001-08-28 Dale Johannesen <dalej@apple.com>
3805
3806 * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
3807
c976fa88
DS
38082001-08-28 Danny Smith <dannysmith@users.sourceforge.net>
3809
3810 * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
3811
1aef44a7
SS
38122001-08-28 Stan Shebs <shebs@apple.com>
3813
3814 * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
3815 (UNALIGNED_SHORT_ASM_OP): Define.
3816 (UNALIGNED_INT_ASM_OP): Define.
3817
68350f4f
WC
38182001-08-28 Will Cohen <wcohen@redhat.com>
3819
3820 * config/rs6000/rs6000.md (store_multiple): Correct RTL
3821 generation for first set.
3822
b5a696fb 38232001-08-27 Roman Zippel <zippel@linux-m68k.org>
c23bb84b
RH
3824
3825 * flow.c (redirect_edge_succ_nodup): Return new edge.
3826 (try_simplify_condjump): Use new edge.
3827 * basic-block.h (redirect_edge_succ_nodup): Update prototype.
3828
b5a696fb
RZ
3829 * cse.c (cse_basic_block): Skip note instructions.
3830
c05148e8
RH
38312001-08-27 Richard Henderson <rth@redhat.com>
3832
fa4e13e0
RH
3833 * combine.c (combine_simplify_rtx): Don't reverse condition
3834 if there is no reverse for the condition.
3835 (simplify_comparison): Don't simplify subregs from INT to FP.
3836
c05148e8
RH
3837 * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
3838 suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
3839 sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
3840 bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
3841 bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
3842 bunle_rev, bunlt_rev, bltgt_rev): New patterns.
46f9491e 3843
f21bdd05
RZ
38442001-08-27 Roman Zippel <zippel@linux-m68k.org>
3845
b7b59ff4
RZ
3846 * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
3847 bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
3848 (pushqi1): New.
3849 (adddi_dilshr32, adddi_dishl32): Only data register can be
3850 source for mem destination.
3851
f21bdd05
RZ
3852 * expmed.c (store_bit_field): Ignore adjustment to bitpos
3853 and use bitnum to decide about register move.
3854
a224278b
RH
38552001-08-27 Richard Henderson <rth@redhat.com>
3856
3857 * genattr.c (main): Emit state_t even when not doing scheduling.
3858
80c29cc4
RZ
38592001-08-27 Roman Zippel <zippel@linux-m68k.org>
3860 Richard Henderson <rth@redhat.com>
3861
3862 * gcse.c (reg_first_set, reg_last_set): Replace with ...
3863 (reg_avail_info, current_bb): ... these.
3864 (oprs_unchanged_p, record_last_reg_set_info): Use them.
3865 (compute_hash_table): Likewise.
3866
bce7bfe8
RZ
38672001-08-27 Roman Zippel <zippel@linux-m68k.org>
3868
3869 * flow.c (verify_flow_info): Use checksums to verify edges.
3870
ce4a5723
RH
38712001-08-27 Richard Henderson <rth@redhat.com>
3872
3873 * genautomata.c (expand_automata): Always create a description.
3874
859cb4d8
GK
38752001-08-27 Geoffrey Keating <geoffk@redhat.com>
3876
3877 * optabs.c (expand_binop): Correctly handle the carry in multiword
3878 add/subtract operations.
3879
b7a0c86f
FF
38802001-08-27 Fred Fish <fnf@be.com>
3881
3882 * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
3883 __SIZE_TYPE__.
3884
67a44b16
GK
38852001-08-27 Geoffrey Keating <geoffk@redhat.com>
3886
3887 * reload.c (find_reloads_toplev): Back out this change:
3888
3889 Wed Jul 26 19:44:05 2000 Hans-Peter Nilsson <hp@axis.com>
3890
3891 * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
3892 mem if the address is a mode_dependent_address_p.
3893
acd7baf7
VM
38942001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
3895
c23bb84b 3896 * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
acd7baf7
VM
3897 PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
3898 AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
3899 RTL constructions.
46f9491e 3900
acd7baf7
VM
3901 * genattr.c (main): New variable num_insn_reservations. Increase
3902 it if there is DEFINE_INSN_RESERVATION. Output automaton based
3903 pipeline hazard recognizer interface.
3904
3905 * genattrtab.h: New file.
46f9491e 3906
acd7baf7
VM
3907 * genattrtab.c: Include genattrtab.h.
3908 (attr_printf, check_attr_test, make_internal_attr,
3909 make_numeric_value): Move protypes into genattrtab.h. Define them
3910 as external.
3911 (num_dfa_decls): New global variable.
3912 (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
3913 DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
3914 DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
3915 DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
3916
3917 * genautomata.c: New file.
3918
3919 * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
46f9491e 3920
c23bb84b 3921 * sched-int.h: (curr_state): Add the external definition for
acd7baf7
VM
3922 automaton pipeline interface.
3923 (haifa_insn_data): Add comments for members blockage and units.
46f9491e 3924
acd7baf7
VM
3925 * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
3926 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
3927 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
3928 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
3929 TARGET_SCHED_DFA_POST_CYCLE_INSN,
3930 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
3931 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
3932 macros.
3933 (TARGET_SCHED): Use the new macros.
3934
3935 * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
3936 dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
3937 first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
3938 dfa_bubble): New members in gcc_target.sched.
46f9491e 3939
c23bb84b 3940 * haifa-sched.c (insert_schedule_bubbles_p): New variable.
acd7baf7
VM
3941 (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
3942 (insn_queue): Redefine it as pointer to array.
3943 (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
3944 INSN_QUEUE_SIZE.
3945 (max_insn_queue_index_macro_value): New variable.
3946 (curr_state, dfa_state_size, ready_try): New varaibles for
3947 automaton interface.
3948 (ready_element, ready_remove, max_issue): New function prototypes
3949 for automaton interface.
3950 (choose_ready): New function prototype.
3951 (insn_unit, blockage_range): Add comments.
3952 (unit_last_insn, unit_tick, unit_n_insns): Define them for case
3953 FUNCTION_UNITS_SIZE == 0.
3954 (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
3955 actual_hazard, potential_hazard): Add comments.
3956 (insn_cost): Use cost -1 as undefined value. Remove
3957 LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
3958 pipeline interface.
3959 (ready_element, ready_remove): New functions for automaton
3960 interface.
3961 (schedule_insn): Add new code for automaton pipeline interface.
3962 (queue_to_ready): Add new code for automaton pipeline interface.
3963 Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
3964 (debug_ready_list): Print newline when the queue is empty.
3965 (max_issue): New function for automaton pipeline interface.
3966 (choose_ready): New function.
3967 (schedule_block): Add new code for automaton pipeline interface.
3968 Print ready list before scheduling each insn.
3969 (sched_init): Add new code for automaton pipeline interface.
3970 Initiate insn cost by -1.
3971 (sched_finish): Free the current automaton state and finalize
3972 automaton pipeline interface.
46f9491e 3973
acd7baf7
VM
3974 * sched-rgn.c: Include target.h.
3975 (init_ready_list, new_ready, debug_dependencies): Add new code for
3976 automaton pipeline interface.
3977
3978 * sched-vis.c: Include target.h.
3979 (get_visual_tbl_length): Add code for automaton interface.
3980 (target_units, print_block_visualization): Add comments.
46f9491e 3981
c23bb84b 3982 * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
acd7baf7
VM
3983 USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
3984 (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
3985 (getruntime.o, genautomata.o): New entries.
3986 (genattrtab.o): Add new dependency file genattrtab.h.
3987 (genattrtab): Add new dependencies. Link it with `libm.a'.
3988 (getruntime.o, hashtab.o): New entries for canadian cross.
3989
3990 * doc/md.texi: Description of automaton based model.
46f9491e 3991
acd7baf7
VM
3992 * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
3993 Add comments.
3994 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
3995 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
3996 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
3997 TARGET_SCHED_DFA_POST_CYCLE_INSN,
3998 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
3999 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
4000 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
4001 hook descriptions.
4002 (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
4003 MAX_DFA_ISSUE_RATE): New macro descriptions.
46f9491e 4004
acd7baf7
VM
4005 * doc/contrib.texi: Add dfa based scheduler contribution.
4006
4007 * doc/gcc.texi: Add more information about genattrtab.
4008
95005c21
DN
40092001-08-27 Diego Novillo <dnovillo@redhat.com>
4010
4011 * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
4012 an RTL basic block.
4013
278ed218
RH
40142001-08-27 Richard Henderson <rth@redhat.com>
4015
4016 * function.c (expand_function_end): Don't init arg_pointer_save_area.
4017 (get_arg_pointer_save_area): New. Create an init it here.
4018 (fix_lexical_addr): Use it.
4019 * function.h: Declare it.
4020 * builtins.c (expand_builtin_setjmp_receiver): Use it.
4021 * stmt.c (expand_nl_goto_receiver): Use it.
4022
9f5cd0c5
RH
40232001-08-27 Richard Henderson <rth@redhat.com>
4024
36d7136e
RH
4025 * final.c (final_scan_insn): Don't enter APP_ON mode for
4026 empty asm strings.
4027
9f5cd0c5
RH
4028 * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
4029 alignment for assemble_integer for DW_EH_PE_aligned.
225b9cb9 4030 * except.c (output_function_exception_table): Likewise.
9f5cd0c5 4031
4a56401d
AJ
40322001-08-26 Andreas Jaeger <aj@suse.de>
4033
4034 * c-tree.h: Add prototyp for c_sizeof_nowarn.
4035
c96bd05e 40362001-08-25 Dan Nicolaescu <dann@ics.uci.edu>
46f9491e 4037
278ed218 4038 * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
c96bd05e 4039
c5059423
AM
40402001-08-27 Alan Modra <amodra@bigpond.net.au>
4041
4042 * config/rs6000/rs6000.c (mask_operand): Rewrite without
4043 bit-shifting loop.
4044 (mask64_operand): Likewise.
4045 (rldic_operand): Delete.
4046 (includes_lshift64_p): Delete.
4047 (includes_rldic_lshift_p): New function.
4048 (includes_rldicr_lshift_p): New function.
4049 (print_operand): Don't call rldic_operand in case 'W'.
4050 * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
4051 (includes_lshift64_p): Remove.
4052 (includes_rldic_lshift_p): Declare.
4053 (includes_rldicr_lshift_p): Declare.
4054 * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
4055 * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
4056 Replace match_operand rldic_operand predicate with
4057 const_int_operand. Replace includes_lshift64_p condition with
4058 includes_rldic_lshift_p.
4059 <ashldi3_internal 64 bit rldicr patterns>: New.
4060
7a75edb7
AJ
40612001-08-27 Andreas Jaeger <aj@suse.de>
4062
4063 * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
4064 * errors.c: Likewise.
4065 * final.c: Likewise.
4066 * dwarf2asm.c: Likewise.
4067 * doprint.c (checkit): Likewise.
4068 * diagnostic.c: Likewise.
4069 * collect2.c: Likewise.
4070 * calls.c: Likewise.
4071 * c-semantics.c (build_stmt): Likewise.
4072 * c-format.c (status_warning): Likewise.
4073 * c-errors.c (pedwarn_c99): Likewise.
4074 * builtins.c (validate_arglist): Likewise.
4075 * config/pj/pj.c (pj_printf): Likewise.
4076 * fix-header.c: Likewise.
4077 * gcc.c: Likewise.
4078 * gcov.c (fnotice): Likewise.
4079 * gensupport.c (message_with_line): Likewise.
4080 * mips-tfile.c: Likewise.
4081 * protoize.c (notice): Likewise.
4082 * read-rtl.c (fatal_with_file_and_line): Likewise.
4083 * rtl-error.c: Likewise.
4084 * tradcpp.c: Likewise.
4085 * tree.c: Likewise.
4086 * cp/tree.c (build_min_nt): Likewise.
4087 (build_min): Likewise.
4088 * cp/lex.c: Likewise.
4089 * cp/errfn.c: Likewise.
4090 * cp/rtti.c (create_pseudo_type_info): Likewise.
4091
6baff4c1
DC
4092Sun Aug 26 20:25:44 2001 Denis Chertykov <denisc@overta.ru>
4093
4094 * df.c (df_uses_record): Return after recording all uses
4095 in ASM_OPERANDS.
4096
772b1404
DB
40972001-08-26 Daniel Berlin <dan@cgsoftware.com>
4098
4099 * df.c (df_insn_modify): Realloc the INSN table here, if
4100 necessary, here, too.
4101
f9ad2367
AH
41022001-08-26 Aldy Hernandez <aldyh@redhat.com>
4103
278ed218
RH
4104 * config/mips/mips.c (mips_function_value): Handle complex return
4105 values.
f9ad2367 4106
cf728d61
HPN
41072001-08-25 Hans-Peter Nilsson <hp@bitrange.com>
4108
4109 * reload1.c (reload): Make all entries in reg_equiv_memory_loc
4110 unshared.
4111 * reload.c (make_memloc): Copy result if it is still
4112 reg_equiv_memory_loc[regno] on return.
4113 (subst_reloads) [ENABLE_CHECKING]: Check that none of
4114 reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
4115 reg_equiv_mem are modified by the substitutions.
4116
6ab16dd9
JH
4117Sat Aug 25 23:07:35 CEST 2001 Jan Hubicka <jh@suse.cz>
4118
4119 * predict.c (expensive_function_p): New.
4120 * rtl.h (expensive_function_p): Declare.
4121 * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
4122 (use_fast_prologue_epilogue): New static variable.
4123 (expand_prologue): Set it; emit short prologues if unset.
4124 (expand_epilogue): Likewise.
4125
4b58290f
GK
41262001-08-22 Geoffrey Keating <geoffk@redhat.com>
4127
4128 * config.gcc: Add stormy16-*-elf case.
4129 * config/stormy16/stormy-abi: New file.
4130 * config/stormy16/stormy16-lib2.c: New file.
4131 * config/stormy16/stormy16-protos.h: New file.
4132 * config/stormy16/stormy16.c: New file.
4133 * config/stormy16/stormy16.h: New file.
4134 * config/stormy16/stormy16.md: New file.
4135 * config/stormy16/t-stormy16: New file.
4136
d3fe11e6
JH
4137Sat Aug 25 15:46:51 CEST 2001 Jan Hubicka <jh@suse.cz>
4138
4139 * i386.h (no-accumulate-outgoing-args): Use proper mask.
4140
1cb18e3c
DE
41412001-08-24 David Edelsohn <edelsohn@gnu.org>
4142
4143 * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
4144 descriptor members are pointer size, not constant 4.
4145 * config/rs6000/rs6000.md (define_splits): Remove more unused
4146 constraints.
4147
c3bef1a9
KG
41482001-08-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4149
4150 * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
4151
20787c01
AJ
41522001-08-24 Andreas Jaeger <aj@suse.de>, rkl@connect.org.uk
4153
4154 * cp/rtti.c (VPARAMS): Fix parameter.
4155
a242b083
ZW
41562001-08-24 Zack Weinberg <zackw@panix.com>
4157
4158 * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
4159 to zero.
4160 (mode_for_extraction): No need for #ifdefs. Add default-case abort
4161 to switch.
4162 (store_bit_field): Eliminate insv_bitsize variable. Put HAVE_insv
4163 in if controlling use of insv.
4164 (extract_bit_field): Likewise, for extv and extzv.
4165
653753c5
JH
4166Fri Aug 24 17:27:46 CEST 2001 Jan Hubicka <jh@suse.cz>
4167
4168 * i386.md (movcc peep2): Fix load of 0.
4169
ada11335
KG
41702001-08-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4171
4172 * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
4173 *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
4174
0213a355
JM
41752001-08-23 Jason Merrill <jason_merrill@redhat.com>
4176
4ae08f95
JM
4177 * c-pragma.h: Move weak_syms and weak_decls...
4178 * varasm.c: ...here. Now static.
4179 (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
4180 depend on HANDLE_PRAGMA_WEAK.
4181
0213a355
JM
4182 * c-common.c (c_alignof, c_alignof_expr): Move here...
4183 * c-typeck.c: ...from here.
4184 * c-tree.h, c-common.h: Adjust.
4185
3e7c7805
BS
41862001-08-23 Bernd Schmidt <bernds@redhat.com>
4187
4188 * config/ia64/ia64.c (rws_update): If !pred, set write_count
4189 instead of incrementing it.
4190
3b63eac4
BS
4191 * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
4192 asm ready, don't try to move them all into the same array element.
4193
ab75d1f1
JH
4194Thu Aug 23 17:21:43 CEST 2001 Jan Hubicka <jh@suse.cz>
4195
4196 * function.c (thread_prologue_and_epilogue_insns): Avoid
4197 fallthru flag on edge to exit.
4198
4199 * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
4200
4201 * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
4202 dead edges.
4203
038c2f50
LB
42042001-08-23 Lars Brinkhoff <lars@nocrew.org>
4205
4206 * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
4207 * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
4208 * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
4209 Remove prototype.
4210
40803cd5
LB
42112001-08-23 Lars Brinkhoff <lars@nocrew.org>
4212
4213 * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
4214 replace "GNU CC" with "GCC".
4215
7109d286
RH
42162001-08-23 Richard Henderson <rth@redhat.com>
4217
4218 * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
4219 Reorganize. Handle ADDL like GR, add GR_AND_BR. Handle TFmode.
4220 (ia64_secondary_reload_class): Need GR between AR/BR and anything.
4221 Need GR between FR and not GR_AND_FR.
4222 * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
4223 * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
4224 AR regs before GR regs.
4225 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
4226 (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
4227 (REGISTER_MOVE_COST): Update.
4228 (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
4229
26a952a8
RH
42302001-08-23 Richard Henderson <rth@redhat.com>
4231
4232 * regclass.c (init_reg_sets_1): Don't assume cost 2 within
4233 a register class.
4234
1558b970
GK
42352001-08-22 Geoffrey Keating <geoffk@redhat.com>
4236
4237 * reload1.c (emit_reload_insns): Don't look for notes
4238 on a NULL store_insn.
4239
0d587737
KG
42402001-08-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4241
4242 * sparc.c (uns_small_int): Don't reference a constant >32-bit.
4243 (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
4244 (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
4245 format specifier warnings.
4246 (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
4247
429e2a45
DB
42482001-08-22 David Billinghurst <David.Billinghurst@riotinto.com>
4249
4250 * config/i386/i386-protos.h: Correct declaration of
4251 i386_pe_asm_named_section.
4252
85f3e748
JDA
42532001-08-22 John David Anglin <dave@hiauly1.hia.nrc.ca>
4254
4255 * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
4256 variable i.
4257 * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
20787c01 4258
29401c30
NB
42592001-08-22 Neil Booth <neil@daikokuya.demon.co.uk>
4260
4261 * cpperror.c (print_location): Don't show _Pragma.
4262 * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
4263 and file change callback generation here.
4264 (stack_include_file): Update use of cpp_push_buffer.
4265 * cpphash.h (_cpp_pop_file_buffer): Update prototype.
4266 (struct cpp_buffer): Remove type, pfile members.
4267 * cppinit.c (cpp_handle_option): Use free_chain.
4268 * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
4269 (skip_escaped_newlines, get_effective_char, lex_percent): Take
4270 a cpp_reader rather than a cpp_buffer.
4271 (skip_escaped_newlines, get_effective_char, skip_block_comment,
4272 skip_line_comment, parse_string, lex_percent, lex_dot,
4273 _cpp_lex_token): Update accordingly.
4274 * cpplib.c (_cpp_pop_buffer): Don't do file change callback
4275 generation here.
4276 (cpp_push_buffer): Update prototype.
4277 (run_directive): Update use of cpp_push_buffer.
4278 (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
4279 handle_assertion): Update use of run_directive.
4280 * cpplib.h (enum cpp_buffer_type): Remove.
4281 (cpp_push_buffer): Update prototype.
4282 * fix-header.c (read_scan_file): Update.
4283
8060c8ee
MK
42842001-08-22 Matt Kraai <kraai@alumni.carnegiemellon.edu>
4285
4286 * gcc.c (struct prefix_list): Change prefix to const char *.
4287
3e4eece3
MK
42882001-08-22 Matt Kraai <kraai@alumni.carnegiemellon.edu>
4289
4290 * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
4291
2270623a
JM
42922001-08-22 Jason Merrill <jason_merrill@redhat.com>
4293
23ac7d7e
JM
4294 * explow.c (set_mem_attributes): Avoid returning a bogus alias set
4295 from a new MEM.
4296
2270623a
JM
4297 * jump.c (squeeze_notes): Take parms by reference. Handle END being
4298 a squeezable note.
4299 * rtl.h: Adjust.
4300 * ifcvt.c (dead_or_predicable): Adjust.
4301 * loop.c (find_and_verify_loops): Adjust.
4302 * stmt.c (expand_end_case): Adjust.
4303 * flow.c (merge_blocks_move_successor_nojumps): Adjust. Modify the
4304 head and end insn pointers in the basic block, not just local copies.
4305 (merge_blocks_move_predecessor_nojumps): Likewise.
4306
1322177d
LB
43072001-08-22 Lars Brinkhoff <lars@nocrew.org>
4308
4309 * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
4310 bitmap.h, builtin-types.def, builtins.c, builtins.def,
4311 c-aux-info.c, c-common.c, c-common.def, c-common.h,
4312 c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
4313 c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
4314 c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
4315 caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
4316 conditions.h, config.gcc, configure.frag, configure.in,
4317 conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
4318 cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
4319 dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
4320 doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
4321 dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
4322 emit-rtl.c, errors.c, errors.h, except.c, except.h,
4323 exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
4324 fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
4325 function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
4326 gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
4327 gencheck.c, gencodes.c, genconfig.c, genemit.c,
4328 genextract.c, genflags.c, gengenrtl.c, genmultilib,
4329 genopinit.c, genoutput.c, genpeep.c, genrecog.c,
4330 gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
4331 ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
4332 graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
4333 gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
4334 gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
4335 hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
4336 integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
4337 libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
4338 machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
4339 mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
4340 mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
4341 params.h, predict.c, predict.def, predict.h, prefix.c,
4342 prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
4343 read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
4344 regclass.c, regmove.c, regrename.c, regs.h, reload.c,
4345 reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
4346 rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
4347 sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
4348 sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
4349 ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
4350 stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
4351 tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
4352 tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
4353 unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
4354 unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
4355 xcoffout.h: replace "GNU CC" with "GCC".
4356
340f7e7c
RH
43572001-08-21 Richard Henderson <rth@redhat.com>
4358
4359 * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
4360 (final_scan_insn): Consider jump tables data even if we have no
4361 independant text section if !JUMP_TABLES_IN_TEXT_SECTION. Use
4362 ADDR_VEC_ALIGN.
4363 * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
4364 (ASM_OUTPUT_CASE_END): Remove.
4365 (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
4366 * config/ia64/ia64.md (tablejump): Decode pc-relative references.
4367 * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
4368
d523b40e
RH
43692001-08-21 Richard Henderson <rth@redhat.com>
4370
bd7b9a0f
RH
4371 * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
4372 at barrier insns. Emit stop bits before barriers.
4373
687eccc0
RH
4374 * flow.c (flow_find_cross_jump): Don't consider unconditional
4375 return insns for commoning.
4376
ba712955
RH
4377 * final.c (compute_alignments): Fix typo.
4378
d523b40e
RH
4379 * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
4380 (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
4381 (store_bit_field): Use mode_for_extraction more places.
4382 (extract_bit_field): Likewise.
4383
e1b86c9e
ZW
43842001-08-21 Zack Weinberg <zackw@panix.com>
4385
4386 * caller-save.c: Don't include insn-codes.h.
4387 (reg_save_code, reg_restore_code): Make arrays of int.
4388 All uses updated to match.
4389 (insert_save, insert_restore): No need to initialize "code"
4390 variable upon declaration.
4391 * Makefile.in: update dependencies; fix typo in clean rule.
4392
b64d061e
RH
43932001-08-21 Richard Henderson <rth@redhat.com>
4394
4395 * ifcvt.c (find_if_block): Allow join_bb as EXIT.
4396 (merge_if_block): Handle fallout from same.
4397
91db4a92
KG
43982001-08-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4399
4400 * builtins.c (type_to_class): Fix typo in last change.
4401
45d29407
RH
44022001-08-21 Richard Henderson <rth@redhat.com>
4403
20787c01 4404 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
45d29407
RH
4405 ia64_asm_output_label.
4406
209218a6
RH
4407 * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
4408 copy of gp while the real gp register contains garbage.
4409
da920570
ZW
44102001-08-21 Zack Weinberg <zackw@panix.com>
4411
4412 * expmed.c (mode_for_extraction): New function.
4413 (store_bit_field, extract_bit_field): Use it.
4414 * expr.h: Prototype it and provide an enum for its first argument.
4415
4416 * combine.c, function.c, recog.c: Don't include insn-codes.h.
4417 Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
4418 and digging through the insn_data tables.
4419 * Makefile.in: Update dependencies.
4420
d8693c6f
NB
44212001-08-22 Neil Booth <neil@daikokuya.demon.co.uk>
4422
4423 * cppfiles.c (stack_include_file): line-map.c now handles include
4424 depth.
4425 (handle_missing_handler): Similarly.
4426 (_cpp_execute_include): Similarly.
4427 (_cpp_pop_file_buffer): Similarly.
4428 * cpphash.h (struct cpp_reader): Remove system_include_depth,
4429 buffer_stack_depth and include_depth.
4430 * cpplib.c (do_include_common): line-map.c now handles include depth.
4431 (cpp_push_buffer): Similarly.
4432 (_cpp_pop_buffer): Similarly.
4433 * cppmacro.c (builtin_macro): Update.
4434 * line-map.c (init_line_maps): Set depth.
4435 (add_line_map): Increment "used" earlier. Update and use the
4436 include depth.
4437 (trace_include): Use the include depth.
4438 * line-map.h (struct line_maps): New member depth.
4439
5993019d
NB
44402001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
4441
4442 * cppfiles.c (stack_include_file): Don't handle -H here.
4443 * cppinit.c (cpp_start_read): Set include tracing after
4444 cpp_post_options and after stacking the main file.
4445 * line-map.c (trace_include): New.
4446 (init_line_maps, add_line_map): Update.
4447 * line-map.h (struct line_maps): New member trace_includes.
4448
e5eba70a
NB
44492001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
4450
4451 * cppfiles.c (stack_include_file): Harmonize system headerness tests.
4452 * cppfiles.c (stack_include_file): Only stack a file if there
4453 is something to do. Return a boolean indicating whether a
4454 buffer was stacked or not.
4455 (_cpp_execute_include): Similarly.
4456 (_cpp_read_file): Similarly.
4457 * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
4458
c1a6a8dc
SS
44592001-08-21 Sam Steingold <sds@gnu.org>
4460
4461 * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
4462 (RECACHE): keep obufp_before_macroname up to date
4463
ad82abb8
ZW
44642001-08-21 Zack Weinberg <zackw@panix.com>
4465
4466 * stmt.c: Don't include insn-codes.h.
4467 (expand_end_case): Machine specific logic moved to expr.c.
4468 No need to worry about __builtin_classify_type.
4469 (check_for_full_enumeration_handling, emit_case_nodes):
4470 Kill #if 0 blocks.
4471
4472 * builtins.o (expand_builtin_classify_type): Split up so code
4473 can be shared with fold_builtin_classify_type.
4474 (type_to_class, fold_builtin_classify_type): New functions.
4475 (fold_builtins): Handle __builtin_classify_type.
4476
4477 * expr.c (do_tablejump): Now static.
4478 (case_values_threshold, try_casesi, try_tablejump): New;
4479 code mostly from stmt.c (expand_end_case).
4480 (expr.h): Update prototypes.
4481
4482 * Makefile.in (stmt.o): Update dependencies.
4483
e9e4208a
WC
44842001-08-21 Will Cohen <wcohen@redhat.com>
4485
ad82abb8
ZW
4486 * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
4487 declaration of variable i.
4488 * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
4489 declaration of variable i.
e9e4208a 4490
29d2c7a5
RH
44912001-08-21 Richard Henderson <rth@redhat.com>
4492
4493 * crtstuff.c: Fix thinko last change. Move list tails to start
4494 of CRT_END section. Tidy ifdefs.
4495 (__EH_FRAME_BEGIN__): Always static for ELF.
4496 (__do_global_ctors_1): Rename from __frame_dummy.
4497 * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
4498 name change; don't hide __EH_FRAME_BEGIN__.
4499
487b97e0
RH
45002001-08-21 Richard Henderson <rth@redhat.com>
4501
3aed1981
RH
4502 * gdbinit.in: Move break on exit after break on fancy_abort.
4503
487b97e0
RH
4504 * config/ia64/ia64.c (ia64_return_in_memory): True for variable
4505 sized types.
4506
d7bc7a98
NB
45072001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
4508
4509 * cpphash.h (_cpp_push_next_buffer): New.
4510 * cppinit.c (do_includes): Remove.
4511 (push_include, free_chain, _cpp_push_next_buffer): New.
4512 (cpp_start_read): Use them to rework command line option handling.
4513 (cpp_handle_option): Combine handling of -include and -imacros.
4514 * cpplex.c (_cpp_lex_token): Push a new -include buffer if
4515 appropriate. Always insert missing \n at EOF.
4516 * cpplib.c (start_directive): Get the directive position right.
4517 * cppmain.c (cb_file_change): Always print the first line, unless
4518 preprocessed.
4519
bb1a503c
AJ
45202001-08-20 Andreas Jaeger <aj@suse.de>
4521
4522 * profile.c (compute_branch_probabilities): Remove extra new-line
4523 in error message.
4524 * flow.c (verify_flow_info): Likewise.
4525
006844a3
DN
45262001-08-20 Diego Novillo <dnovillo@redhat.com>
4527
4528 * basic-block.h (basic_block): Add new field 'flags'.
4529 (BB_REACHABLE): Define.
4530 (expunge_block): Declare.
4531 * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
4532 (EXIT_BLOCK_PTR): Ditto.
4533 (expunge_block): Remove static declaration.
4534 (cleanup_cfg): Clear bb->aux on every basic block.
4535 (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
4536 computing reachability.
4537 (delete_unreachable_blocks): Delete block b if b->flags has
4538 BB_REACHABLE unset.
4539
0760faf9
DN
45402001-08-20 Diego Novillo <dnovillo@redhat.com>
4541
4542 * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
4543
96bd19a7
KG
45442001-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4545
4546 * sparc.c (sparc_variable_issue): Fix typo in last change.
4547
a7b0c484
RH
45482001-08-20 Richard Henderson <rth@redhat.com>
4549
4550 * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
4551
010dc908
JDA
45522001-08-20 John David Anglin <dave@hiauly1.hia.nrc.ca>
4553
4554 * pa.h (RETURN_IN_MEMORY): Improve comment.
4555
3de87bf2
JJ
45562001-08-20 Janis Johnson <janis187@us.ibm.com>
4557
4558 * doc/invoke.texi (Profiling options): Clarify the interactions
4559 between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
4560
c8a6b916
JO
45612001-08-20 Jeffrey Oldham <oldham@codesourcery.com>
4562
4563 * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
4564 command.
4565
27a14487
MK
45662001-08-20 Matt Kraai <kraai@alumni.carnegiemellon.edu>
4567
4568 * gcc.c (make_relative_prefix): Allocate a sufficiently large
4569 buffer.
4570
ca8264b4
RH
45712001-08-20 Richard Henderson <rth@redhat.com>
4572
4573 * final.c (end_final): Fix typo last change.
4574
51c04256
NB
45752001-08-20 Neil Booth <neil@daikokuya.demon.co.uk>
4576
4577 * cppinit.c (init_standard_includes): The returned buffer
4578 is already malloc-ed.
4579 * gcc.c (add_prefix): Similarly.
4580 * prefix.c (translate_name): Update to support clear buffer
4581 ownership rules.
4582 (update_path): Similarly. Be sure to free any newly allocated
4583 key. UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
4584 (tr): New function.
4585 * prefix.h (update_path): Update prototype and document.
4586 * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
4587 up and update to new buffer ownership rules.
4588 * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
4589
247a370b
JH
4590Mon Aug 20 01:44:50 CEST 2001 Jan Hubicka <jh@suse.cz>
4591
4592 * final.c (compute_alignments): New function.
4593 (init_insn_lengths): Do not care label_align.
4594 (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
4595 (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
4596 (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
4597 (shorted_branches): Realloc label_align array; do
4598 not call init_insn_lengths; Do not care about loop alignments.
4599 * output.h (compute_alignments): Declare.
4600 * toplev.c (rest_of_compilation): Call compute_alignments.
4601 * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
4602
4603 * predict.c (block_info_def): Add npredecesors, remove nvisited;
4604 change visited to tovisit.
4605 (propagate_freq): Use faster traversing algorithm.
4606 (estimate_loops_at_level, estimate_bb_frequencies): Change visited
4607 to tovisit; reverse meaning.
4608
4609 * predict.c (struct block_info_def): Remove nvisited.
4610 (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
4611 (estimate_bb_frequencies): Call mark_dfs_back_edges.
4612
13fac94a
GK
46132001-08-19 Geoffrey Keating <geoffk@redhat.com>
4614
4615 * doc/invoke.texi (MIPS Options): Document -mfused-madd.
4616 * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
4617 (TARGET_FUSED_MADD): New.
4618 (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
4619 * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
4620 the multiply-add instructions.
4621
2919600a
RH
46222001-08-19 Richard Henderson <rth@redhat.com>
4623
bb1a503c 4624 * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
2919600a
RH
4625 is aligned to pointer size.
4626
fd1a3f73
RH
46272001-08-19 Richard Henderson <rth@redhat.com>
4628
4629 * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
4630 display markers during final schedule.
4631
c49f511c
RH
46322001-08-19 Richard Henderson <rth@redhat.com>
4633
4634 * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
4635
c45632b7
RH
46362001-08-19 Richard Henderson <rth@redhat.com>
4637
4638 * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
4639 in the same string.
4640 (ASM_NAME_TO_STRING): Remove.
4641 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
4642 in the same string. Remove support for expressions.
4643
90675921
RH
46442001-08-19 Richard Henderson <rth@redhat.com>
4645
4646 * config/i386/i386.md (tablejump): Make an expander; handle
4647 pic relative addressing here.
4648 (tablejump_1): Rename from tablejump_pic.
4649 (casesi): Remove.
4650
ec523c2f
RH
46512001-08-19 Richard Henderson <rth@redhat.com>
4652
4653 * regclass.c (fix_register): Fix typo.
4654
443621af
RH
46552001-08-18 Richard Henderson <rth@redhat.com>
4656
4657 * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
4658 (struct _Unwind_Context): Expand br_loc to hold it.
4659 (uw_frame_state_for): Handle leaf functions better.
4660 (uw_update_reg_address): Update for br_loc change.
4661
213f974a
RH
46622001-08-18 Richard Henderson <rth@redhat.com>
4663
4664 * crtstuff.c: Move list heads before code that uses them.
4665 (__JCR_LIST__): Remove initial null.
4666 (frame_dummy, __frame_dummy): Do java registration here ...
4667 (__do_global_ctors_aux): ... not here.
4668
3dff7ed0
RH
4669 * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
4670 (__do_global_dtors_aux): Update to match.
4671 (__JCR_LIST__, __do_jv_register_classes): New.
4672 (.init): Call it.
4673 * config/ia64/crtend.asm (__JCR_END__): New.
4674 (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
4675 instead of an indirect LTOFF22 reloc.
4676
6ca3c22f
RH
46772001-08-18 Richard Henderson <rth@redhat.com>
4678
4679 * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
4680 * regclass.c (init_reg_sets_1): Fix typo.
4681 * config/ia64/ia64.c (ar_pfs_reg_operand): New.
4682 (ia64_expand_call): Pass ar.pfs to sibcall expanders.
4683 (ia64_compute_frame_size): Make ar.unat live when in use.
4684 (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
4685 for ar.pfs; remove ar.unat handling.
bb1a503c 4686 * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
6ca3c22f
RH
4687 call-saved.
4688 (PREDICATE_CODES): Add ar_pfs_reg_operand.
4689 * config/ia64/ia64-protos.h: Update decls.
4690 * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
4691 (sibcall_pic): Likewise.
4692
f83594c4
RH
46932001-08-18 Richard Henderson <rth@redhat.com>
4694
b395ddbe
RH
4695 * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
4696 pred_rel_mutex when searching for insn_group_barrier.
8e8de254
RH
4697 * config/ia64/ia64.md (cycle_display): Combine the expander
4698 and insn patterns.
b395ddbe 4699
f83594c4
RH
4700 * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
4701 bit before asm as needed.
4702
eced69b5
RH
47032001-08-18 Richard Henderson <rth@redhat.com>
4704
4705 * timevar.def (TV_MACH_DEP): New.
4706 * toplev.c (rest_of_compilation): Use it.
4707 * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
4708
5ed3149c
ZW
47092001-08-18 Zack Weinberg <zackw@panix.com>
4710
4711 * unwind-dw2.c (execute_stack_op): Add default aborts to
4712 the inner switches to prevent warnings.
4713
20cc76d5
RH
47142001-08-18 Richard Henderson <rth@redhat.com>
4715
4716 * timevar.h (struct timevar_time_def): Change element type to float.
4717 (ticks_to_msec, clocks_to_msec): Likewise.
4718 (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
4719 (get_time): Likewise.
4720 (timevar_print): Adjust zero check and printing to match.
4721
b649398a
ZW
47222001-08-18 Zack Weinberg <zackw@panix.com>
4723
9c34dbbf
ZW
4724 * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
4725 doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
4726 Eliminate overfull or underfull hboxes.
4727
47282001-08-18 Zack Weinberg <zackw@panix.com>
4729
4730 * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
b649398a 4731
76f4925a
ZW
47322001-08-18 Zack Weinberg <zackw@panix.com>
4733
4734 * haifa-sched.c: Convert to target hooks. Macros replaced
4735 are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
4736 MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
4737 MD_SCHED_FINISH, and HAVE_cycle_display.
4738 * target-def.h (TARGET_SCHED_ADJUST_COST,
4739 TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
4740 TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
4741 TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
9c34dbbf 4742 TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
76f4925a
ZW
4743 New hook #defines to be overridden.
4744 (TARGET_SCHED): Bring them all together.
4745 (TARGET_INITIALIZER): Update.
4746 * target.h: Don't forward declare struct rtx_def. Use 'rtx'
9c34dbbf 4747 instead of 'struct rtx_def *' throughout.
76f4925a
ZW
4748 (struct sched): New set of hooks for the scheduler.
4749 * Makefile.in (haifa-sched.o): Depend on target.h.
4750 * doc/tm.texi: Document the new scheduler hooks, together in
4751 their own section, instead of scattered around.
4752 Fix a bunch of underfull/overfull hboxes.
4753
4754 * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
4755 ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
4756 sparc.h: Don't define any of the old scheduler macros.
4757
4758 * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
4759 ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
4760 sparc.c: Create hook functions from code extracted from
4761 corresponding target header, or make existing hooks static, as
4762 appropriate. Set the appropriate entries in targetm.
4763
4764 * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
4765 i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
4766 rs6000-protos.h, s390-protos.h, sparc-protos.h:
4767 Remove prototypes for functions which are now static.
4768
4769 * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
4770 related gunk; the Haifa scheduler is now the only choice.
4771
ef89d648
ZW
47722001-08-18 Zack Weinberg <zackw@panix.com>
4773
4774 * optabs.h (OTI_flodiv, flodiv_optab): Kill.
4775 * genopinit.c: Put floating point divide insns in sdiv_optab.
4776 * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
4777 * config/gofast.h, config/c4x/c4x.h,
4778 config/ia64/hpux_longdouble.h, config/mips/mips.h,
4779 config/pa/long_double.h, config/rs6000/sysv4.h,
4780 config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
4781 * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
4782 (init_optabs): Use init_optabv for overflow-trapping optabs.
4783 Don't init flodiv_optab. Give mov_optab, movstrict_optab, and
4784 cmp_optab RTX codes so have_insn_for can find them.
4785
4786 * optabs.c (expand_simple_binop, expand_simple_unop,
4787 have_insn_for, gen_sub3_insn): New interfaces.
4788 * expr.h: Prototype new functions.
4789 (enum optab_methods): Move here from optabs.h.
4790
4791 * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
4792 loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
4793 Use new functions instead of working directly with optabs.
4794 * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
4795 unroll.c: Don't include optabs.h.
4796 * caller-save.c, combine.c, function.c, stmt.c: Just include
4797 insn-codes.h, not optabs.h.
4798 * Makefile.in: Update dependencies.
4799
4800 * combine.c (make_compound_operation, simplify_comparison):
4801 Fix typos testing for this or that instruction.
4802
9e23c02d
HB
48032001-08-18 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4804
4805 * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
4806 generating libgcc.a.
4807
1c0cc57e
KG
48082001-08-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4809
4810 * except.c (TYPE_HASH): Delete.
9c34dbbf 4811
1c0cc57e
KG
4812 * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
4813 HOST_WIDE_INT.
4814
4815 * tree.c (TYPE_HASH): Delete.
4816
4817 * tree.h (TYPE_HASH): Define.
4818
13c508d9
GS
48192001-08-18 Graham Stott <grahams@redhat.com>
4820
4821 * config/mips/mips.md (adddi3_internal_2+1): Remove contraints from
4822 define_split.
4823 (adddi3_internal_2+2): Likewise.
4824 (eh_set_lr_di+1): Likewise.
4825
c8af3574
RH
48262001-08-17 Richard Henderson <rth@redhat.com>
4827
4828 * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
4829 UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
4830 * dwarf2asm.c: ... here.
4831 * dwarfout.c: Remove them.
4832
4833 * varasm.c (assemble_integer): Add align parameter.
4834 (assemble_real, output_constant, output_constructor): Likewise.
4835 * output.h: Update decls.
4836 * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
4837 config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
4838 config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
4839 config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
4840 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
4841 Update all callers.
4842
4843 * final.c (end_final): Abort profile block generation if we
4844 havn't layed it out properly.
4845 * output.h (assemble_eh_integer): Remove stale decl.
4846 * varasm.c (assemble_zeros): Tidy; use assemble_integer.
4847 (min_align): New.
4848 (assemble_integer): Handle unaligned data.
4849 (assemble_real): Abort on unaligned data.
4850 (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
4851 anything useful.
4852 (default_dtor_section_asm_out_destructor): Use assemble_align.
4853 (default_named_section_asm_out_constructor): Likewise.
4854 (default_ctor_section_asm_out_constructor): Likewise.
4855 * config/darwin.c (machopic_asm_out_constructor): Likewise.
4856 (machopic_asm_out_destructor): Likewise.
4857 * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
4858 (nextstep_asm_out_destructor): Likewise.
4859 * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
4860 (vms_asm_out_destructor): Likewise.
4861
920ae24b
RH
48622001-08-17 Richard Henderson <rth@redhat.com>
4863
4864 * config/mips/iris6.h (TARGET_IRIX6): New.
4865 (current_section_name, current_section_flags): New.
4866 (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
4867 (MAX_OFILE_ALIGNMENT): New.
4868 (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
4869 * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
9c34dbbf 4870 (copy_file_data): Split out from
920ae24b
RH
4871 (mips_asm_file_end): ... here.
4872 (mips_asm_file_start): Remove extra .section directive. Use
4873 tmpfile instead of mips_make_temp_file.
4874 (mips_unique_section): Use const char * as needed for warnings.
4875 (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
4876 re-add align parameter.
4877 (iris6_asm_named_section): New.
4878 (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
4879 (iris6_asm_output_align, iris6_section_align_1): New.
4880 (iris6_asm_file_start, iris6_asm_file_end): New.
4881 * config/mips/mips-protos.h: Update decls.
4882
5cc3b0c7
JJ
48832001-08-17 Janis Johnson <janis187@us.ibm.com>
4884
4885 * doc/install.texi (Install GCC): Add links to build status pages.
4886 (Specific): Ditto.
4887 (Final install): Ditto; request updates for specific info
4888
bb74c963
NB
48892001-08-17 Neil Booth <neil@daikokuya.demon.co.uk>
4890
4891 * cpperror.c (print_location): Don't take a file name; use the
4892 line map instead.
4893 (_cpp_begin_message): Similarly.
4894 (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
4895 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
4896 (cpp_pedwarn_with_file_and_line): Remove.
4897 * cppfiles.c (stack_include_file): Update; set filename to stdin
4898 here when appropriate.
4899 * cpphash.h (struct cpp_buffer): Remove nominal_fname.
4900 (_cpp_begin_message): Don't take a file name.
4901 * cppinit.c: Add comment.
4902 * cpplex.c: Fix end-of-directive indicator.
4903 * cpplib.c: Don't include intl.h.
4904 (run_directive, do_diagnostic): Update.
4905 (do_line): Update to not use nominal_fname.
4906 (cpp_push_buffer): Don't take a filename.
4907 * cpplib.h (struct ht): Remove.
4908 (cpp_push_buffer): Don't take a filename.
4909 (cpp_pedwarn_with_file_and_line): Remove.
4910 * cppmacro.c (struct cpp_macro): Remove file.
4911 (builtin_macro): Update.
4912 (_cpp_create_definition): Update.
4913 * cppmain.c: Correct comment.
4914 * fix-header.c (read_scan_file): Update.
4915
2d76cb1a
KH
49162001-08-17 Kazu Hirata <kazu@hxi.com>
4917
4918 * sbitmap.c: Fix comment formatting.
4919 * sched-deps.c: Likewise.
4920 * sibcall.c: Likewise.
4921 * simplify-rtx.c: Likewise.
4922 * ssa.c: Likewise.
4923 * ssa-ccp.c: Likewise.
4924 * stor-layout.c: Likewise.
4925 * timevar.c: Likewise.
4926 * toplev.c: Likewise.
4927 * unwind-dw2.c: Likewise.
4928 * unwind-dw2-fde.c: Likewise.
4929 * varasm.c: Likewise.
4930
0779eeb2
JDA
49312001-08-17 John David Anglin <dave@hiauly1.hia.nrc.ca>
4932
4933 * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
4934 or larger than an integer in memory.
4935
2f78c311
ZW
49362001-08-17 Zack Weinberg <zackw@panix.com>
4937
4938 * system.h: Forward-declare struct rtx_def, struct rtvec_def,
4939 and union tree_node. Typedef rtx, rtvec, and tree. Fix comment.
4940 * rtl.h: Don't forward-declare union tree_node here. Don't
4941 typedef rtx or rtvec here. Change all uses of struct rtx_def *,
4942 struct rtvec_def *, or union tree_node * to use rtx, rtvec,
4943 and tree respectively.
4944 * tree.h: Don't forward-declare struct rtx_def here. Don't
4945 typedef tree here. Change all uses of struct rtx_def *,
4946 struct rtvec_def *, or union tree_node * to use rtx, rtvec,
4947 and tree respectively.
4948
32fa4d4a
RH
49492001-08-17 Richard Henderson <rth@redhat.com>
4950
4951 * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
4952 config/mips/openbsd.h: Fix typos last change.
4953
93ee12c4
GP
49542001-08-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4955
2f78c311 4956 * doc/invoke.texi (Optimize Options): The default for
93ee12c4
GP
4957 -finline-limit is 600.
4958
f99ffb60
RH
49592001-08-17 Richard Henderson <rth@redhat.com>
4960
4961 * varasm.c (text_section): Allow TEXT_SECTION to override the
4962 printing of TEXT_SECTION_ASM_OP.
4963 * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
4964 (DATA_SECTION, BSS_SECTION): Remove.
4965 * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
4966 RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
4967 Rename from s/_NAME//.
4968 * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
4969 (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
4970 (TEXT_SECTION): ... here. New.
4971 * config/mips/elf.h (TEXT_SECTION): New; no file switching.
4972 * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
4973 * config/mips/openbsd.h: Likewise.
4974 * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
4975 (mips_asm_file_end): Likewise test.
4976 (mips_output_function_epilogue): Likewise. Switch back to data
4977 section after emitting the function.
4978
33c09f2f
RH
4979 * doc/tm.texi (Sections): Document TEXT_SECTION.
4980
b38a75e5
RH
49812001-08-17 Richard Henderson <rth@redhat.com>
4982
4983 * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
4984 (dwarf2out_finish): Do it here. Emit .debug_loc before .debug_info.
4985
51084e13
RH
49862001-08-17 Richard Henderson <rth@redhat.com>
4987
4988 * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
4989 * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
4990 __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
4991 Add aligned attribute.
4992
49932001-08-17 Andrew Haley <aph@cambridge.redhat.com>
ff0a63e8
AH
4994
4995 * config/sh/sh.md: Add modes to unspecs in first insn to match
4996 those in the second.
4997
4998 * Makefile.in: Fix collect2 copy for Cygwin.
4999
abde42f7
JH
5000Fri Aug 17 15:48:57 CEST 2001 Jan Hubicka <jh@suse.cz>
5001
5002 Install the proper patch.
5003 * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
5004 (assign_params): Avoid setting DECL_RTL to unfinished RTX.
5005 (expand_function_start): Likewise.
5006 * stmt.c (expand_decl): Likewise.
5007 * varasm.c (make_decl_rtx): Likewise.
5008
3446405d
JH
5009Fri Aug 17 15:41:35 CEST 2001 Jan Hubicka <jh@suse.cz>
5010
5011 * final.c: Undo my previous accidental checkin.
5012 * output.h: Likewise.
5013 * tm.texi: Likewise.
5014
715bdd29
RH
50152001-08-16 Richard Henderson <rth@redhat.com>
5016
5017 * varasm.c (named_section_flags): Remove align parameter.
5018 * varasm.c, dwarf2out.c: Update all callers.
5019 * output.h: Update prototypes.
5020
5021 * target.h (target.asm_out.named_section): Remove align parameter.
2f78c311 5022 * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
715bdd29
RH
5023 config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
5024 config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
5025 config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
5026 config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
5027
5028 * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
5029 (get_named_section_flags, set_named_section_flags): New.
5030 (named_section_flags): Use them.
5031 (named_section): Do decl vs section flags check here...
5032 (default_section_type_flags): ... not here.
5033 (init_varasm_once): Create in_named_htab.
5034 (resolve_unique_section): Mark reloc unused.
5035
09e07be6
RH
50362001-08-16 Richard Henderson <rth@redhat.com>
5037
5038 * varasm.c (force_const_mem): Keep pool alignment in bits.
5039 (output_constant_pool): Use assemble_align.
5040
8daaf93c
ZW
50412001-08-16 Zack Weinberg <zackw@panix.com>
5042
5043 * doc/tm.texi: Remove extra @table command.
2f78c311 5044
d9b6874b
ZW
50452001-08-16 Zack Weinberg <zackw@panix.com>
5046
5047 * final.c (shorten_branches): Clear the end of the label_align
5048 array only if we made it larger. Break up messy expressions
5049 for clarity.
5050
5051 * diagnostic.c (internal_error): Check for error recursion
5052 before doing ICE suppression.
5053
5054 * timevar.c: Timing variables now count in milliseconds.
5055 (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
5056 (get_time): Not here.
5057 (timevar_print): Don't print any timer whose user, cpu, and
5058 wall times are all zero as displayed.
5059 * timevar.h: Update comment aboout units. Make timevar
5060 counters unsigned.
5061
25e22dc0
JH
5062Thu Aug 16 17:39:45 CEST 2001 Jan Hubicka <jh@suse.cz>
5063
5064 * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
5065 (assign_params): Avoid setting DECL_RTL to unfinished RTX.
5066 (expand_function_start): Likewise.
5067 * stmt.c (expand_decl): Likewise.
5068 * varasm.c (make_decl_rtx): Likewise.
5069
7256efa6
JM
50702001-08-16 Jason Merrill <jason_merrill@redhat.com>
5071
5072 * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
5073 (finalize_record_size): Don't set TYPE_USER_ALIGN.
5074
5972a110
MK
50752001-08-16 Matt Kraai <kraai@alumni.carnegiemellon.edu>
5076
5077 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
5078 variables.
5079
0d3c08b6
AJ
50802001-08-16 Andreas Jaeger <aj@suse.de>
5081
5082 * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
5083 prototype.
5084
44ce0063
JW
5085Wed Aug 15 15:22:52 EDT 2001 John Wehle (john@feith.com)
5086
5087 * rtl.h (only_sets_cc0_p): New prototype.
5088 * jump.c (sets_cc0_p): Handle INSN.
5089 (only_sets_cc0_p): New function.
5090 * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
5091 (tidy_fallthru_edge): Likewise.
5092 * integrate.c (copy_insn_list): Likewise.
5093 * unroll.c (unroll_loop): Likewise.
5094 (copy_loop_body): Likewise.
5095
cff27f1d
JE
50962001-08-15 Jason Eckhardt <jle@redhat.com>
5097
5098 * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
5099
6ad48e84
JH
5100Wed Aug 15 14:24:22 CEST 2001 Jan Hubicka <jh@suse.cz>
5101
5102 * predict.c (struct block_info_def): Remove nvisited.
5103 (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
5104 (estimate_bb_frequencies): Call mark_dfs_back_edges.
5105
5106 * i386.c (ix86_agi_depdendant): Lea causes AGI only on the Pentium
5107 (ix86_adjust_cost): Teach scheduler that latency to load operand can
5108 be masked.
5109
cc10816d
JH
5110Wed Aug 15 12:41:32 CEST 2001 Jan Hubicka <jh@suse.cz>
5111
5112 * predict.def: Update hitrates.
5113
fd7e958f
RH
51142001-08-15 Richard Henderson <rth@redhat.com>
5115
5116 * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
5117
abb788ba
JL
5118Tue Aug 14 17:30:59 2001 Jeffrey A Law (law@cygnus.com)
5119
5120 * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
5121 note from its associated jump.
5122
d9b761a9 51232001-08-14 Ulrich Weigand <uweigand@de.ibm.com>
d9b6874b 5124
d9b761a9
UW
5125 * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
5126 also on 64-bit s390x targets.
5127
095bb276
NC
51282001-08-14 Nick Clifton <nickc@cambridge.redhat.com>
5129
5130 * config/arm/arm.c (arm_compute_initial_elimination_offset): New
5131 function.
5132 (arm_expand_prologue): Handled nested functions which take a
5133 variable argument list.
5134 * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
5135 macro with an invocation of
5136 arm_compute_initial_elimination_offset.
5137 * config/arm/arm-protos.h: Prototype
d9b6874b 5138 arm_compute_initial_elimination_offset.
095bb276 5139
98999d8b
GP
51402001-08-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5141
5142 * doc/install.texi (Specific, avr): Fix markup.
5143 (Specific, c4x): Ditto.
5144
b213a5ca
MK
51452001-08-14 Matt Kraai <kraai@alumni.carnegiemellon.edu>
5146
5147 * predict.c (dump_prediction): Change `bool' parameter to `int'.
5148
c895acf2
GDR
51492001-08-14 Gabriel Dos Reis <gdr@codesourcery.com>
5150
5151 * Makefile.in (OBJS): Add rtl-error.o
5152 (rtl-error.o): New rule.
5153 (diagnostic.o): Adjust dependency.
5154 diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
5155 error_for_asm, _fatal_insn, _fatal_insn_not_found,
5156 warning_for_asm): Move to...
5157 rtl-error.c: ...here. New file.
5158
ddee9e8d
RH
51592001-08-14 Richard Henderson <rth@redhat.com>
5160
5161 * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
5162 if USING_SJLJ_EXCEPTIONS.
5163
eb20f668
SE
51642001-08-14 Steve Ellcey <sje@cup.hp.com>
5165
5166 * tlink.c (scan_linker_output): Check string for unsatisfied in
5167 addition to undefined and unresolved.
5168
540ceb67
GS
51692001-08-14 Graham Stott <grahams@redhat.com>
5170
5171 * libgcc2.c (*): Replace EH_FRAME_SECTION with
5172 EH_FRAME_SECTION_NAME.
5173
2d515d60
JH
5174Tue Aug 14 14:57:07 CEST 2001 Jan Hubicka <jh@suse.cz>
5175
d9b6874b
ZW
5176 * genattrtab.c (simplify_test_exp_in_temp): New function.
5177 (simplify_test_exp): Avoid explicit use of temporary obstack.
5178 (simplify_cond, insert_right_side, evaluate_eq_attr,
5179 simplify_and_tree, simplify_or_tree, eliminate_known_true):
5180 Use simplify_test_exp_in_temp.
5181 (optimize_attrs): Iterate until expression stabilizes.
2d515d60 5182
881e8e29 51832001-08-13 Ulrich Weigand <uweigand@de.ibm.com>:
d9b6874b 5184
881e8e29
UW
5185 * glimits.h: Remove the __LONG_MAX__ special case for s390x.
5186 * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
5187
f22db2ef
RH
51882001-08-13 Richard Henderson <rth@redhat.com>
5189
5190 * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
5191 (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
5192 * config/arm/conix-elf.h: Likewise.
5193
eb296bd9
GK
51942001-08-13 Geoffrey Keating <geoffk@redhat.com>
5195
51610b0a
GK
5196 * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
5197 in gcc.c.
5198 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
5199
eb296bd9
GK
5200 * gcse.c (hash_scan_set): Expressions that are set as part of
5201 jump instructions are not available.
5202
7ee20eba
UW
52032001-08-13 Ulrich Weigand <uweigand@de.ibm.com>
5204
5205 * config/s390/s390.c (print_operand, s390_function_prologue,
5206 s390_va_start): Fixed HOST_WIDE_INT type mismatch.
5207
02c9b1ca
RH
52082001-08-13 Richard Henderson <rth@redhat.com>
5209
5210 * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
5211 * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
5212 * doc/tm.texi (Exception Region Output): Document it.
5213
99e2a354
GK
52142001-08-13 Geoffrey Keating <geoffk@redhat.com>
5215
5216 * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
5217 DWARF2 instead of stabs by default.
5218
2fc1c679
DE
52192001-08-13 David Edelsohn <edelsohn@gnu.org>
5220
5221 * config/rs6000/rs6000.c: Include optabs.h.
5222
710fdaad
DE
52232001-08-13 David Edelsohn <edelsohn@gnu.org>
5224
5225 * config/rs6000/eabi.asm: Define 64-bit versions of FPR
5226 save/restore routines.
5227 * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
5228
16757495
AJ
52292001-08-13 Andreas Jaeger <aj@suse.de>
5230
5231 * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
5232 the english is correct.
5233
e78d8e51
ZW
52342001-08-13 Zack Weinberg <zackw@panix.com>
5235
5236 * expr.h: Split out optab- and libfunc-related code to...
5237 * optabs.h, libfuncs.h: ... these new headers.
5238
5239 * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
5240 (OPTABS_H): New.
5241 (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
5242 dependencies.
5243 * mkconfig.sh: Don't include insn-codes.h from config.h.
5244
5245 * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
5246 enum insn_code is available. Move reload_in_optab and
5247 reload_out_optab array declarations to optabs.h.
5248 * regmove.c (gen_add3_insn): Move to optabs.c, export from
5249 there, prototype in expr.h.
5250 * gencodes.c: Cleanup: zap global variables, don't use
5251 printf where puts will do, don't bother defining MAX_INSN_CODE
5252 which nothing uses, let CODE_FOR_nothing get its value implicitly.
5253
5254 * genemit.c, genopinit.c: Include optabs.h in generated file.
5255 * genoutput.c: Include insn-codes.h in generated file.
5256 * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
16757495
AJ
5257 expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
5258 reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
e78d8e51
ZW
5259 config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
5260 config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
5261 config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
5262 Include optabs.h.
16757495 5263 * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
e78d8e51
ZW
5264 optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
5265 config/m88k/m88k.c, config/sparc/sparc.c:
5266 Include libfuncs.h.
5267 * reload.c: Include expr.h and optabs.h before reload.h.
5268 * config/alpha/alpha.c: Include tree.h before reload.h.
5269 * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
5270 and reload.h in that order.
5271 * config/sparc/sparc.c: Include debug.h.
5272 * recog.c: Include insn-codes.h.
5273
050e4ca2
AJ
52742001-08-13 Andreas Jaeger <aj@suse.de>
5275
5276 * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
5277 s390*linux.
5278
dd49a9ec
TP
52792000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
5280
5281 * dwarf2out.c (output_cfa_loc): Fix typo in comment.
5282 * gcc.c (init_spec): Fix typo in comment.
5283 * varasm.c (data_section): Fix typo in comment.
5284
d195b46f
JH
5285Mon Aug 13 02:27:39 CEST 2001 Jan Hubicka <jh@suse.cz>
5286
5287 * predict.c (dump_prediction): New argument "USED".
5288 (combine_predictions_for_insn): Determine the used heuristics,
5289 output the case no heuristic applied.
5290 * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
5291
afea8580
AJ
52922001-08-13 Andreas Jaeger <aj@suse.de>
5293
5294 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
5295 register %rip.
5296
5d0cab94
KH
52972001-08-13 Kazu Hirata <kazu@hxi.com>
5298
5299 * jump.c: Fix formatting.
5300
7ba7767b
KH
53012001-08-13 Kazu Hirata <kazu@hxi.com>
5302
5303 * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
5304 length.
5305
5fe2e41b
GK
53062001-08-12 Geoffrey Keating <geoffk@redhat.com>
5307
353df065
GK
5308 * loop.c (check_dbra_loop): Use condjump_label to compute
5309 jump_label.
5310
5fe2e41b
GK
5311 * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
5312 to better document the files they're in.
5313
a2b498cb
ZW
53142001-08-12 Zack Weinberg <zackw@panix.com>
5315
5316 * recog.h (struct insn_operand_data): Shrink 'mode' field
5317 to 16 bits.
5318
dc297297
KH
53192001-08-12 Kazu Hirata <kazu@hxi.com>
5320
5321 * gcc.c: Fix comment formatting.
5322 * gccspec.c: Likewise.
5323 * gcov.c: Likewise.
5324 * gcse.c: Likewise.
5325 * genemit.c: Likewise.
5326 * gengenrtl.c: Likewise.
5327 * genrecog.c: Likewise.
5328 * gensupport.c: Likewise.
5329 * ggc-page.c: Likewise.
5330 * global.c: Likewise.
5331 * graph.c: Likewise.
5332 * ifcvt.c: Likewise.
5333 * integrate.c: Likewise.
5334 * lcm.c: Likewise.
5335 * libgcc2.c: Likewise.
5336 * loop.c: Likewise.
5337 * mbchar.c: Likewise.
5338 * optabs.c: Likewise.
5339 * predict.c: Likewise.
5340 * prefix.c: Likewise.
5341 * profile.c: Likewise.
5342 * protoize.c: Likewise.
5343 * real.c: Likewise.
5344 * recog.c: Likewise.
5345 * regclass.c: Likewise.
5346 * regmove.c: Likewise.
5347 * reg-stack.c: Likewise.
5348 * reload1.c: Likewise.
5349 * resource.c: Likewise.
5350 * rtlanal.c: Likewise.
5351 * rtl.c: Likewise.
5352
f0d1c3bd
KH
53532001-08-12 Kazu Hirata <kazu@hxi.com>
5354
5355 * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
5356 a tree representing a constant is passed to the macro.
5357
d9f6800d
RH
53582001-08-12 Richard Henderson <rth@redhat.com>
5359
5360 * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
5361 (rs6000_elf_asm_out_destructor): New.
5362 * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
5363 (DTORS_SECTION_ASM_OP): Remove.
5364 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
5365 (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
5366
6ba57472
DE
53672001-08-12 David Edelsohn <edelsohn@gnu.org>
5368
5369 Revert:
5370 2001-08-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5371 * gcc.c (set_collect_gcc_options): New function, split out from
5372 main.
5373 Ignore elided switches.
5374 (do_spec_1): Invoke before executing command.
5375 (set_input): Export.
5376 Move declaration ...
5377 * gcc.h (set_input): ... here.
5378 * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
5379 file.
5380
270fc29b
RH
53812001-08-12 Richard Henderson <rth@redhat.com>
5382
5383 * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
5384 thinko wrt TARGET_RELOCATABLE.
5385
21c38ecb
NB
53862001-08-12 Neil Booth <neil@daikokuya.demon.co.uk>
5387
5388 * fix-header.c (cb_file_change): Update prototype.
5389
94aca342
ZW
53902001-08-11 Zack Weinberg <zackw@panix.com>
5391
5392 * toplev.c (set_float_handler): Make static.
5393 * toplev.h: Don't prototype set_float_handler.
5394
5395 * simplify-rtx.c: Don't include setjmp.h.
5396 (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
5397 New functions.
5398 (simplify_unary_operation, simplify_binary_operation): Use them,
5399 via do_float_handler.
5400
5401 * fold-const.c: Don't include setjmp.h.
5402 (exact_real_inverse_1): New function.
5403 (exact_real_inverse): Use it, via do_float_handler.
5404
5405 * varasm.c: Don't include setjmp.h.
5406 (assemble_real_1): New function.
5407 (assemble_real): Use it, via do_float_handler.
5408 Call internal_error if we get a trap here.
5409
5410 * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
5411 config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
5412
31cdd499
ZW
54132001-08-11 Zack Weinberg <zackw@panix.com>
5414
5415 * defaults.h: Define PREFERRED_STACK_BOUNDARY to
5416 STACK_BOUNDARY if not already defined.
5417
5418 * calls.c, function.c, reload1.c, explow.c: Don't default
5419 PREFERRED_STACK_BOUNDARY. Remove all #if/#ifdef on
5420 PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
5421
5422 * explow.c (allocate_dynamic_stack_space): Change unsafe #if
5423 to run-time test.
5424
5425 * doc/tm.texi: Document that STACK_BOUNDARY is required;
5426 clarify difference between it and PREFERRED_STACK_BOUNDARY.
5427
2b220265
NB
54282001-08-11 Neil Booth <neil@daikokuya.demon.co.uk>
5429
5430 * cppmacro.c (enter_macro_context): Push macro expansions even
5431 if empty.
5432
d0101753
FS
54332001-08-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
5434
5435 * config/rs6000/rs6000.c: Include integrate.h to silence warning.
5436 (rs6000_elf_section_type_flags): Actually return a value.
5437
994fe660 54382001-08-11 Ulrich Weigand <uweigand@de.ibm.com>
afea8580
AJ
5439
5440 * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
994fe660 5441 Clean up code: add missing comments and prototypes, fix warnings,
02c9b1ca 5442 remove obsolete code, fix spacing to conform to coding style.
994fe660 5443
f314b9b1 54442001-08-11 Ulrich Weigand <uweigand@de.ibm.com>
afea8580
AJ
5445
5446 * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
f314b9b1
UW
5447 and TARGET_ASM_CLOSE_PAREN.
5448 (regclass_map): CC register belongs to class NO_REGS.
afea8580 5449 (legitimize_pic_address): Don't generate unnecessary moves
f314b9b1 5450 (to avoid confusing loop optimization).
afea8580
AJ
5451 (check_and_change_labels): Replace jump_long by indirect_jump.
5452 (s390_final_chunkify): Don't start a new literal pool on section
f314b9b1
UW
5453 switch in 64-bit code.
5454 (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
afea8580 5455
f314b9b1
UW
5456 * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
5457 (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
afea8580 5458 (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
f314b9b1
UW
5459 modes correctly.
5460 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
5461 (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
5462 (CONST_COSTS): Fixed incorrect costs.
5463
5464 * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
5465 Use emit_jump instead of emit_jump_insn (gen_jump).
afea8580 5466 (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
f314b9b1
UW
5467 (to avoid confusing flow analysis).
5468 (tablejump, tablejump1, tablejump2): Removed. Replaced by casesi.
5469 (casesi, casesi_jump): New.
5470 (jump_long): Removed. Functionality merged into indirect_jump.
5471 (indirect_jump): Accept address_operand, not just register_operand.
5472 (cjump_long, icjump_long): Use same logic as indirect_jump.
5473 (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
5474 Fixed broken setjmp/longjmp handling.
5475 (do_builtin_setjmp_setup): Removed.
5476
5477 * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
5478 broken GNU as versions that don't accept .quad with large
5479 negative values. Use hexadecimal output instead.
5480 (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
5481 (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
5482 FUNCTION_EPILOGUE): Removed. Now in targetm.
5483
5484 * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
5485
5486 * config/s390/fixdfdi.h: Add missing copyright statement.
5487 Fix type conflicts on 64-bit. Add missing SFmode routines.
5488
5489 * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
5490 email address.
5491
dddba205
RH
54922001-08-11 Richard Henderson <rth@redhat.com>
5493
5494 * rtl.h (REG_EH_RETHROW): Remove.
5495 * rtl.c (reg_note_name): Update.
5496 * combine.c (distribute_notes): Don't check for it.
5497
ab61c93f
RH
54982001-08-11 Richard Henderson <rth@redhat.com>
5499
5500 * combine.c (distribute_notes): Place REG_SETJMP.
5501
58f4de4f
RH
55022001-08-11 Richard Henderson <rth@redhat.com>
5503
5504 * doc/extend.texi (Arrays and pointers implementation): Discourage
5505 relying on sign-extension of pointers.
5506
f841565e
L
55072001-08-11 H.J. Lu <hjl@gnu.org>
5508
5509 * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
5510 in_dtors.
5511 (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
5512 RDATA_SECTION_ASM_OP.
5513
d8393f64
GP
55142001-08-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5515
5516 * doc/install.texi (Specific, c4x): Fix cross-reference to the
5517 main manual to work both for info and HTML versions.
afea8580 5518
bef985f3 55192001-08-11 Neil Booth <neil@daikokuya.demon.co.uk>
760a4879 5520 Matt Kraai <kraai@alumni.carnegiemellon.edu>
afea8580 5521
bef985f3
NB
5522 * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
5523 * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
5524 (struct cpp_pool): New member first.
5525 * cppinit.c (append_include_chain): Plug memory leaks.
5526 * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
5527 Allocate pragma structures from the (aligned) macro pool to
5528 avoid leaking memory.
5529 * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
5530 so we don't leak memory.
5531 * hashtable.c (ht_destroy): New.
5532 * hashtable.h (ht_destroy): New.
5533
f80f7e8c
NB
55342001-08-11 Neil Booth <neil@daikokuya.demon.co.uk>
5535 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
5536
5537 * c-lex.c (map): Make const.
5538 (cb_file_change): Update for callback passing a line map.
5539 Don't assume we have a previous map. Remove sanity check
5540 about popping too many files.
5541 * cpperror.c (print_location): Make map const.
5542 * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
5543 (cpp_make_system_header): Similarly.
5544 (search_from): Similarly.
5545 (_cpp_execute_include): Don't remember where we came from.
5546 * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
5547 (struct cpp_reader): Make map const.
5548 (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
5549 * cpplib.c (do_line): Update; line maps now hold sysp.
5550 (cpp_push_buffer): Similarly.
5551 (_cpp_do_file_change): Similarly; callback with map instead.
5552 (cpp_get_line_maps): Constify return value.
5553 (_cpp_pop_buffer): Update.
5554 * cpplib.h (struct cpp_file_change): Remove.
5555 (struct cpp_callbacks): Update.
5556 (cpp_get_line_maps): Constify return value.
5557 * cppmacro.c (_cpp_create_definition): Update.
5558 * cppmain.c (struct printer): Constify map.
5559 (maybe_print_line): Similarly.
5560 (print_line): Similarly. Deduce flags 1 and 2 here.
5561 (cb_file_change): Update.
5562 * line-map.c (free_line_maps): Warn regardless.
5563 (add_line_map): Return pointer to const. When passed NULL to_file
5564 with LC_LEAVE, use the obvious values for the return point so the
5565 caller doesn't have to figure them out.
5566 (lookup_line): Return pointer to const.
5567 (print_containing_files): Take pointer to const.
5568 * line-map.h (struct line_map): New members reason, sysp.
5569 (add_line_map): Return pointer to const.
5570 (lookup_line): Similarly.
5571 (print_containing_files): Take pointer to const.
5572
bb948ad3
RZ
55732001-08-10 Roman Zippel <zippel@linux-m68k.org>
5574 Richard Henderson <rth@redhat.com>
5575
5576 * regmove.c (regmove_optimize): Avoid setting a register twice in
5577 a parallel set.
5578
cbf4c36f
RH
55792001-08-10 Richard Henderson <rth@redhat.com>
5580
5581 * doc/extend.texi (Arrays and pointers implementation): Document
5582 behavior of pointer/integer conversion.
5583
db80cc1f 55842001-08-10 Ulrich Weigand <uweigand@de.ibm.com>
afea8580
AJ
5585
5586 * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
db80cc1f 5587
fe203faf
RH
55882001-08-10 Richard Henderson <rth@redhat.com>
5589
5590 * doc/extend.texi (C Implementation): New chapter.
5591 * doc/gcc.texi (Top): Link it in.
5592
894aeeb0
AC
55932001-08-10 Andrew Cagney <ac131313@redhat.com>
5594
5595 * doc/install.texi (Specific): Fix CVS merge botch.
5596
d67c7dd8
RH
55972001-08-10 Richard Henderson <rth@redhat.com>
5598
5599 * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
5600 ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
5601
19652adf
ZW
56022001-08-10 Zack Weinberg <zackw@stanford.edu>
5603
5604 * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
5605 if not already defined. Remove all #ifdefs on STACK_BOUNDARY;
5606 this macro is now required.
5607
5608 * cselib.c (cselib_process_insn), flow.c (propagate_block),
5609 loop.c (find_and_verify_loops), reload.c (reload): Check
5610 for rtx code of CALL_INSN, not CALL, when deciding if we
5611 need to check for REG_SETJMP note.
5612
5613 * gcse.c (compute_hash_table, compute_store_table): Update
5614 the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
5615 logic.
5616
5617 * config/avr/avr.c: Fix typo.
5618 * config/convex/convex.c (expand_movstr): Use adjust_address.
5619 * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
5620 variable.
5621 * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
5622 * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
5623 Fix typo.
5624 * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
5625 Do define STACK_BOUNDARY.
5626 * config/i370/i370.c: Include expr.h.
5627 * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
5628 config/pa/som.h, config/v850/v850.h: Take in_ctors and
5629 in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
5630 and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
5631 * config/m88k/m88k.c: Include c-tree.h after expr.h.
5632 * config/pdp11/pdp11.c: Include expr.h and toplev.h.
5633 * config/romp/romp.c: Include expr.h after tree.h.
5634 Include toplev.h.
5635 (output_fpop): Use xmalloc, not oballoc.
5636 * config/we32k/we32k.c: Include expr.h.
5637
cf35eebc
KH
56382001-08-10 Kazu Hirata <kazu@hxi.com>
5639
5640 * config/h8300/h8300.h: Fix formatting.
5641
07b2f2fd
JM
56422001-08-08 Jason Merrill <jason_merrill@redhat.com>
5643
5644 * c-common.h (RETURN_NULLIFIED_P): Lose.
5645 * c-semantics.c (genrtl_return_stmt): Don't check it.
5646
67070ffe
RS
56472001-08-10 Richard Sandiford <rsandifo@redhat.com>
5648
5649 * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
5650 (mips_annotate_frame_insn): New function.
5651 (mips_emit_frame_related_store): New function.
5652 (save_restore_insns): Don't mark instructions that set up the base
5653 registers as frame-related. Add REG_FRAME_RELATED_EXPR notes to
5654 the store instructions instead.
5655 (mips_expand_prologue): If the stack size is moved into a temporary
5656 register, do not mark that move as frame-related. Add a
5657 REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
5658
a8205f03
RS
56592001-08-10 Richard Sandiford <rsandifo@redhat.com>
5660
5661 * config/mips/mips.c (save_restore_insns): Don't mark the RA's
5662 stack slot as unchanging if current_function_calls_eh_return.
5663
2359d013
RS
56642001-08-10 Richard Sandiford <rsandifo@redhat.com>
5665
2a895e44 5666 * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
2359d013
RS
5667 access the second half of the TFmode scratch operand.
5668
ca11a2e9
AG
56692001-08-10 Anthony Green <green@redhat.com>
5670
5671 * java/class.c (emit_register_classes): Conditionalize code on
5672 JCR_SECTION_NAME.
5673
ca52d046
GP
56742001-08-10 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5675
5676 * doc/install.texi (Specific, avr): Fix cross-reference to the
5677 main manual to work both for info and HTML versions.
5678
396ad517
JDA
56792001-08-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
5680
19652adf 5681 * stmt.c (expand_null_return_1): Remove code to generate simple returns
396ad517
JDA
5682 and "use_goto" argument.
5683 (expand_null_return, expand_value_return): Update all callers.
5684 * function.c (expand_function_end): Remove code to generate simple
5685 return.
5686 * config/vax/vax.md (epilogue): New expander for function return.
5687 * doc/md.texi (epilogue): Remove "if defined".
5688
e361dcd3
ZW
56892001-08-09 Zack Weinberg <zackw@stanford.edu>
5690
5691 * Makefile.in: Partially revert my previous change:
5692 put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
5693 of the hashtab.o and safe-ctype.o rules.
5694
2cc07db4
RH
56952001-08-09 Richard Henderson <rth@redhat.com>
5696
5697 * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
5698 (USE_COLLECT2): Remove duplicate definition.
5699 * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
5700 (use_collect2): Remove dead code.
5701 * configure.in (use_collect2): Remove will_use_collect2 and
5702 maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
5703 * configure: Rebuild.
5704
5705 * target.h (targetm.asm_out.constructor): New.
5706 (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
5707 * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
5708 (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
5709 * varasm.c (in_ctors, in_dtors): New.
5710 (assemble_constructor, assemble_destructor): Remove.
5711 (default_stabs_asm_out_destructor): New.
5712 (default_named_section_asm_out_destructor): New.
5713 (dtors_section, default_dtor_section_asm_out_destructor): New.
5714 (default_stabs_asm_out_constructor): New.
5715 (default_named_section_asm_out_constructor): New.
5716 (ctors_section, default_ctor_section_asm_out_constructor): New.
5717 * output.h: Update declarations.
5718 * c-decl.c (c_expand_body): Use target hooks instead of
5719 assemble_constructor and assemble_destructor.
5720 * profile.c (output_func_start_profiler): Likewise.
5721 * objc/objc-act.c (finish_objc): Likewise.
5722 (build_module_descriptor): Tidy. Set TREE_PUBLIC properly
5723 for the constructor.
5724 * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
5725
5726 * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
5727 (DTORS_SECTION_ASM_OP): Likewise.
5728 (__CTOR_LIST__): Use attribute section when possible.
5729 (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
5730
5731 * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
5732 ASM_OUTPUT_CONSTRUCTOR.
5733
5734 * config/darwin.c (machopic_asm_out_constructor): New.
5735 (machopic_asm_out_destructor): New.
5736 * config/darwin-protos.h: Update declarations.
5737 * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
5738 (ASM_OUTPUT_DESTRUCTOR): Remove.
5739 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
5740 * config/nextstep.c (nextstep_asm_out_constructor): New.
5741 (nextstep_asm_out_destructor): New.
5742 * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
5743 (ASM_OUTPUT_DESTRUCTOR): Remove.
5744 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
5745 * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
5746 ASM_OUTPUT_*STRUCTOR.
5747 * config/i386/aix386ng.h: Likewise.
5748
5749 * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
5750 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
5751 (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
5752 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
5753 * config/lynx.h: Likewise.
5754 * config/netware.h: Likewise.
5755 * config/psos.h: Likewise.
5756 * config/alpha/alpha-interix.h: Likewise.
5757 * config/alpha/elf.h: Likewise.
5758 * config/arc/arc.h: Likewise.
5759 * config/arm/aof.h: Likewise.
5760 * config/arm/coff.h: Likewise.
5761 * config/arm/elf.h: Likewise.
5762 * config/c4x/c4x.h: Likewise.
5763 * config/h8300/h8300.h: Likewise.
5764 * config/i386/cygwin.h: Likewise.
5765 * config/i386/djgpp.h: Likewise.
5766 * config/i386/i386-coff.h: Likewise.
5767 * config/i386/i386-interix.h: Likewise.
5768 * config/i386/sco5.h: Likewise.
5769 * config/i386/vsta.h: Likewise.
5770 * config/i386/win32.h: Likewise.
5771 * config/i960/i960-coff.h: Likewise.
5772 * config/ia64/sysv4.h: Likewise.
5773 * config/m68hc11/m68hc11.h: Likewise.
5774 * config/m68k/coff.h: Likewise.
5775 * config/m68k/mot3300.h: Likewise.
5776 * config/m88k/m88k.h: Likewise.
5777 * config/mcore/mcore-pe.h: Likewise.
5778 * config/mcore/mcore.h: Likewise.
5779 * config/mips/elf.h: Likewise.
5780 * config/mips/elf64.h: Likewise.
5781 * config/mips/iris6.h: Likewise.
5782 * config/pa/pa64-hpux.h: Likewise.
5783 * config/rs6000/sysv4.h: Likewise.
5784 * config/sh/sh.h: Likewise.
5785 * config/sparc/litecoff.h: Likewise.
5786
5787 * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
5788 (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
5789 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
5790 * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
5791 (ASM_OUTPUT_DESTRUCTOR): Remove.
5792 * config/a29k/a29k.c: Move include of tree.h.
5793 * config/a29k/udi.h: Delete file.
5794 * config/alpha/alpha.c (vms_asm_out_constructor): New.
5795 (vms_asm_out_destructor): New.
5796 * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
5797 (EXTRA_SECTION_FUNCTIONS): Likewise.
5798 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
5799 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
5800 * config/c4x/c4x.c: Move include of tree.h.
19652adf 5801 * config/clipper/clipper.c (clix_asm_out_constructor): New.
2cc07db4
RH
5802 (clix_asm_out_destructor): New.
5803 * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
5804 (ASM_OUTPUT_DESTRUCTOR): Remove.
5805 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
5806 * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
5807 (TARGET_ASM_CONSTRUCTOR): New.
5808 * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
5809 (sco_asm_out_constructor): New.
5810 * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
5811 * config/i386/svr3gas.h: Remove stack grows up code.
5812 Remove code duplicated from i386/sysv3.h.
5813 (TARGET_ASM_CONSTRUCTOR): New.
5814 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
5815 (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
5816 * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
5817 (TARGET_ASM_CONSTRUCTOR): New.
5818 * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
5819 (m68hc11_asm_out_destructor): New.
5820 * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
5821 (TARGET_ASM_DESTRUCTOR): New.
5822 * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
5823 * config/m68k/dpx2.h: Properly undef all the bits inherited from
5824 config/svr3.h pertaining to section manipulation.
5825 * config/m68k/dpx2g.h: Remove #if 0 code.
5826 * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
5827 * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
5828 (ASM_OUTPUT_CONSTRUCTOR): Remove.
5829 (TARGET_ASM_CONSTRUCTOR): New.
5830 * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
5831 (m88k_svr3_asm_out_constructor): New.
5832 (m88k_svr3_asm_out_destructor): New.
5833 * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
5834 (ASM_OUTPUT_DESTRUCTOR): Remove.
5835 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
5836 * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
5837 * config/rs6000/aix.h: Likewise.
5838 * config/mips/rtems64.h: Don't undef removed constructor related bits.
5839 * config/mips/vxworks.h: Likewise.
5840 * config/rs6000/lynx.h: Likewise.
5841 * config/sh/elf.h: Likewise.
5842 * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
5843 (DTORS_SECTION_ASM_OP): New.
5844 * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
5845 (ASM_OUTPUT_DESTRUCTOR): Remove.
5846 * config/sparc/sol2-sld-64.h: Likewise.
5847 * config/vax/vax.c (vms_asm_out_constructor): New.
5848 (vms_asm_out_destructor): New.
5849 * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
5850 (ASM_OUTPUT_DESTRUCTOR): Remove.
5851 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
5852
5853 * doc/tm.texi (@node Initialization): Update.
5854
ef8d8b89
RH
58552001-08-09 Richard Henderson <rth@redhat.com>
5856
5857 * config/alpha/crtbegin.asm (__JCR_LIST__): New.
5858 (__do_global_dtors_aux): Use gp-relative static data to avoid
5859 one dynamic relocation.
5860 (__do_frame_setup): Register Java classes.
5861 * config/alpha/crtend.asm (__JCR_END__): New.
5862
1b0c37d7
ZW
58632001-08-09 Zack Weinberg <zackw@stanford.edu>
5864
ef8d8b89
RH
5865 * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
5866 (CONFIG_H, TCONFIG_H, TM_P_H): Update.
5867 (GEN, STAGESTUFF): Add new files.
5868 (insn-constants.h, s-constants, tm-preds.h, s-preds,
5869 genconstants, genpreds, genconstants.o, genpreds.o): New rules.
5870 (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
5871 * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
5872 as well as insn-codes.h and insn-flags.h in config.h; and no
5873 extra headers in tconfig.h and hconfig.h.
5874
5875 * gencodes.c: Eliminate code to generate predicate declarations
5876 or #defines for md-file constants.
5877 * genconstants.c, genpreds.c: New files.
5878
5879 * i386.md: Re-order guard expressions such that TARGET_64BIT
5880 comes first, when this permits better optimization. Add
5881 TARGET_64BIT to more x86-64 patterns. Add comment explaining
5882 why this is desirable.
1b0c37d7 5883
a734f2a3
JJ
58842001-08-09 Jakub Jelinek <jakub@redhat.com>
5885
5886 * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
5887 (find_fde_for_dso): Remove.
5888 (_Unwind_IteratePhdrCallback): New.
5889 (_Unwind_FindTableEntry): Use dl_iterate_phdr.
5890 * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
5891
21d93687
RK
5892Thu Aug 9 11:30:20 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5893
5894 * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
5895 (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
5896
b1b6b0cb
GS
58972001-08-09 Graham Stott <grahams@redhat.com>
5898
5899 * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
5900 (vis_no_unit): Use it.
5901 (visualize_no_unit): Add the insn only if room exists.
5902
a0e4ce74
GS
59032001-08-09 Graham Stott <grahams@redhat.com>
5904
1b0c37d7
ZW
5905 * predict.c (estimate_probability): Replace magic numbers with
5906 appropriate enumeration.
a4e11a5c
GS
5907
59082001-08-09 Graham Stott <grahams@redhat.com>
5909
5910 * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
a0e4ce74
GS
5911 parameter.
5912 (EXTRACT_FLAGS): Likewise.
5913
77416b3d
AH
59142001-08-09 Aldy Hernandez <aldyh@redhat.com>
5915
1b0c37d7
ZW
5916 * config/mips/mips.c (mips_legitimate_address_p): Check for
5917 CONST_INT in last patch.
77416b3d 5918
6351543d
AG
59192001-08-08 Anthony Green <green@redhat.com>
5920
5921 * java/class.c (emit_register_classes): Use assemble_jcr if
5922 possible. Keep the original mechanism as a fallback.
5923 * defaults.h (JCR_SECTION_NAME): Define if we have named section
5924 and weak symbol support.
5925 * crtstuff.c (__JCR_LIST__): Define.
5926 (__JCR_END__): Define.
5927 (_Jv_RegiserClasses): Define weak symbol if possible.
5928 (__do_global_ctors_aux): Register classes for ELF targets with
5929 weak symbol support.
5930
30f7a378
KH
59312001-08-08 Kazu Hirata <kazu@hxi.com>
5932
5933 * dbxout.c: Fix comment formatting.
5934 * dependence.c: Likewise.
5935 * df.c: Likewise.
5936 * diagnostic.c: Likewise.
5937 * dominance.c: Likewise.
5938 * doprint.c: Likewise.
5939 * dwarf2out.c: Likewise.
5940 * dwarfout.c: Likewise.
5941 * emit-rtl.c: Likewise.
5942 * except.c: Likewise.
5943 * explow.c: Likewise.
5944 * expmed.c: Likewise.
5945 * expr.c: Likewise.
5946 * flow.c: Likewise.
5947 * fold-const.c: Likewise.
5948 * function.c: Likewise.
5949
35e17f7e
FS
59502001-08-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
5951
5952 * global.c (retry_global_alloc): Avoid shadowing allocno.
5953
2b1e2382
MM
59542001-08-08 Mark Mitchell <mark@codesourcery.com>
5955
5956 * except.c (remove_fixup_regions): Fix typo.
5957
b9f22704
JM
59582001-08-08 Jan van Male <jan.vanmale@fenk.wau.nl>
5959
1b0c37d7 5960 * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
b9f22704 5961 unsigned HOST_WIDE_INT to avoid warning.
1b0c37d7
ZW
5962 * final.c (final): Cast INSN_UID to unsigned to avoid warning.
5963 * flow.c (set_block_for_new_insns): Likewise.
b9f22704 5964
a4b07e7f
JH
5965Wed Aug 8 21:08:14 CEST 2001 Jan Hubicka <jh@suse.cz>
5966
5967 * sibcall.c (return_value_pseudo): New static variable.
5968 (skip_copy_to_return_value): Handle return_value_pseudo.
5969 (call_ends_block_p): Ensure that return_value_pseudo is set.
5970 (optimize_sibling_and_tail_recursive_call): Discover the
5971 load of pseudo return value in alternate exit block.
5972
9d98f8f9
JH
5973Wed Aug 8 21:06:43 CEST 2001 Jan Hubicka <jh@suse.cz>
5974
5975 * calls.c (ECF_ALWAYS_RETURN): New constant.
5976 (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
5977 (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
5978 (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
5979 * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
5980 * rtl.c (reg_note_name): New name.
5981 * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
5982
82423cba
AH
59832001-08-07 Aldy Hernandez <aldyh@redhat.com>
5984
5985 * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
5986
5755cd38
JM
59872001-08-08 Jason Merrill <jason_merrill@redhat.com>
5988
5989 * alias.c (get_alias_set): Return a previously calculated
5990 alias set for a VAR_DECL.
5991 * function.c (gen_mem_addressof): Calculate the alias set before
5992 touching the RTL.
5993
0f0138b6
JH
5994Wed Aug 8 18:44:37 CEST 2001 Jan Hubicka <jh@suse.cz>
5995
5996 * predict.def: Set hitrates according our experimental run.
5997
5998Wed Aug 8 18:01:58 CEST 2001 Jan Hubicka <jh@suse.cz>
5999
6000 * i386.h (HARD_REGNO_RENAME_OK): New macro.
6001
b2bcb32d
L
60022001-08-08 H.J. Lu <hjl@gnu.org>
6003
6004 * config/mips/mips.c (mips_unique_section): New. Copied from
6005 config/mips/elf.h.
6006
6007 * config/mips/mips-protos.h (mips_unique_section): New
6008 prototype.
6009
6010 * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
6011
6012 * config/mips/little.h: New. Generic little endian mips
6013 targets. Only mips*-*-linux* is converted to use it so far.
6014
6015 * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
6016 (WCHAR_TYPE): Defined
6017 (WCHAR_TYPE_SIZE): Likewise.
6018 (INIT_SUBTARGET_OPTABS): Likewise.
6019 (BSS_SECTION_ASM_OP): Likewise.
6020 (SBSS_SECTION_ASM_OP): Likewise.
6021 (ASM_OUTPUT_ALIGNED_BSS): Likewise.
6022 (ASM_DECLARE_OBJECT_NAME): Likewise.
6023 (UNIQUE_SECTION): Likewise.
6024 (EXTRA_SECTIONS): Likewise.
6025 (ASM_OUTPUT_CONSTRUCTOR): Likewise.
6026 (ASM_OUTPUT_DESTRUCTOR): Likewise.
6027 (ASM_OUTPUT_DEF): Likewise.
6028 (HANDLE_SYSV_PRAGMA): Removed.
6029 (NO_IMPLICIT_EXTERN_C): Likewise.
6030 (TARGET_MEM_FUNCTIONS): Likewise.
6031 (STARTFILE_SPEC): Likewise.
6032 (ENDFILE_SPEC): Likewise.
6033 (LIB_SPEC): Likewise.
6034 (INVOKE__main): Likewise.
6035 (CTOR_LIST_BEGIN): Likewise.
6036 (CTOR_LIST_END): Likewise.
6037 (DTOR_LIST_BEGIN): Likewise.
6038 (DTOR_LIST_END): Likewise.
6039 (SET_ASM_OP): Likewise.
6040 (ASM_OUTPUT_SOURCE_LINE): Likewise.
6041 (ASM_OUTPUT_DEF): Likewise.
6042 (ASM_OUTPUT_IDENT): Likewise.
6043
6044 * config/mips/mips.h (ASM_SPEC): Undefine before define.
6045 (CPLUSPLUS_CPP_SPEC): Likewise.
6046 (ASM_APP_ON) Redefine only if not defined.
6047 (ASM_APP_OFF): Likewise.
6048 (ASM_OUTPUT_SOURCE_LINE): Likewise.
6049 (ASM_OUTPUT_IDENT): Likewise.
6050
6051 * config.gcc: Update tm_file for Linux/mips.
6052
b7933c21
BS
60532001-08-08 Bernd Schmidt <bernds@redhat.com>
6054
6055 * cselib.c (cselib_record_sets): If insn is predicated, turn
6056 sources into IF_THEN_ELSEs.
7dcc803e
BS
6057
6058 * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
6059 Turn into define_insn_and_split.
b9f22704 6060
4b6c5340
BS
6061 * sched-deps.c: Include "cselib.h".
6062 (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
6063 Use cselib to turn memory addresses into VALUEs.
6064 (sched_analyze): Call cselib_init/cselib_finish if necessary.
6065 * sched-int.h (struct sched_info): New member USE_CSELIB.
6066 * sched-ebb.c (ebb_sched_info): Initialize it.
6067 * sched-rgn.c (rgn_sched_info): Likewise.
6068 * Makefile.in (sched-deps.o): Update dependencies.
7dcc803e 6069
91700444
BS
6070 * cselib.h (cselib_subst_to_values): Declare.
6071 * cselib.c (cselib_subst_to_values): No longer static. Allow MEMs
6072 that have no value and autoincs to be handled by generating a new
6073 dummy value.
b9f22704 6074
674fc07d
GS
60752001-08-08 Graham Stott <grahams@redhat.com>
6076
6077 * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
6078 within fixed length SEQUENCE.
6079
5f9689e5
GS
60802001-08-08 Graham Stott <grahams@redhat.com>
6081
6082 * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
6083 (diagnostic_prefixing_rule): Likewise.
6084 (diagnostic_line_cutoff): Likewise.
6085 (diagnostic_kind_count): Likewise.
6086
6d8c73f7
GS
60872001-08-08 Graham Stott <grahams@redhat.com>
6088
6089 * alias.c (find_base_decl): Delete redundent assignment.
6090
8e0d15d4
GS
60912001-08-08 Graham Stott <grahams@redhat.com>
6092
6093 * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
6094 (abs): Uppercase and paranthesize macro parameter.
6095 (MEM_DEPENDENCY): Add whitespace.
6096
e5503743
GS
60972001-08-08 Graham Stott <grahams@redhat.com>
6098
6099 * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
6100 failure check for CONST_INT
6101
5b57e28b
GS
61022001-08-08 Graham Stott <grahams@redhat.com>
6103
6104 * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
6105 (libcall_dead_p): Likewise.
6106
6107 (mark_used_regs): Constify fmt.
6108 (find_use_as_address): Likewise.
6109
0f1e8126
GS
61102001-08-08 Graham Stott <grahams@redhat.com>
6111
6112 * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
6113 parameter.
6114
e61465ed
GS
61152001-08-08 Graham Stott <grahams@redhat.com>
6116
6117 * combine.c (combine_simplify_rtx): Update comment and
6118 remove erroneous test.
6119
7364fdd8
NB
61202001-08-07 Neil Booth <neil@daikokuya.demon.co.uk>
6121
6122 * cppinit.c (cpp_finish): Pop the final buffer without comment.
6123 * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
6124 take care to avoid multiple no-newline at EOF warnings in that
6125 case.
6126
570a98eb
JH
6127Tue Aug 7 22:18:06 CEST 2001 Jan Hubicka <jh@suse.cz>
6128
6129 * calls.c (expand_call): Do not emit INSN_SETJMP note.
6130 (emit_library_call_value_1): Likewise.
6131 (emit_call_1): Emit REG_SETJMP note.
6132 * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
6133 of INSN_SETJMP
6134 * cselib.c (cselib_process_insn): Likewise.
6135 * flow.c (propagate_block): Likewise.
6136 * loop.c (find_and_verify_loops): Likewise.
6137 * reload.c (find_equiv_regs): Likewise.
6138 * reload1.c (reload): Likewise.
6139 * resource.c (mark_referenced_resources,
6140 mark_set_resources): Likewise.
6141 * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
6142 * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
6143 * haifa-sched.c (unlink_other_notes): Likewise.
6144 (reemit_notes): Likewise.
6145 * sched-ebb.c (sched_ebb): Likewise.
6146 * sched-rgc.c (sched_region): Likewise.
6147 * rtl.c (note_insn_name): Likewise.
6148 (reg_note_name): Add REG_SETJMP
6149 * rtl.h (reg_note): Add REG_SETJMP.
6150 (insn_note): Remove NOTE_INSN_SETJMP.
6151
6152 * profile.c (branch_prob): Add fake edges for setjmp.
6153
ff25793c
DJ
61542001-08-07 Daniel Jacobowitz <drow@mvista.com>
6155
1b0c37d7
ZW
6156 * config.gcc: Quote target_cpu_default2 correctly for
6157 powerpc*-*-* targets.
ff25793c 6158
42dcba34
NB
61592001-08-07 Neil Booth <neil@daikokuya.demon.co.uk>
6160
6161 * cpplib.h, line-map.h: Update comments.
6162 * cppmain.c (printer_init): Move inline.
6163 (maybe_print_line, print_line): Take a map pointer.
6164 (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
6165 (cb_file_change): Don't use prior value of print.map.
6166
e8515283
DE
61672001-08-07 David Edelsohn <edelsohn@gnu.org>
6168
6169 * doc/install.texi: Document fine-grained multilib configuration.
6170
0d025d43
JH
6171Tue Aug 7 16:52:54 CEST 2001 Jan Hubicka <jh@suse.cz>
6172
6173 * rtlanal.c (find_first_parameter_load): Call note_stores
6174 only on the instructions.
6175
24a28584
JH
6176Tue Aug 7 14:56:16 CEST 2001 Jan Hubicka <jh@suse.cz>
6177
6178 * alias.c (nonlocal_mentioned_p):
6179 Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
6180 * calls.c (emit_call_1): Likewise.
6181 * cse.c (cse_insn, invalidate_skipped_block): Likewise.
6182 * cselib.c (cselib_process_insn): Likewise.
6183 * df.c (df_insns_modify): Likewise.
6184 * flow.c (need_fake_edge_p): Likewise.
6185 (propagate_one_insn): Likewise.
6186 * haifa-sched.c (reemit_notes): Likewise.
6187 * integrate.c (copy_insn_list): Likewise.
6188 * jump.c (delete_prior_computation): Likewise.
6189 * local-alloc.c (validate_equiv_mem): Likewise.
6190 * loop.c (scan_loop): Likewise.
6191 * predict.c (estimate_probability): Likewise.
6192 * reload.c (reload): Likewise.
6193 * sched-deps (sched_analyze): Likewise.
6194 * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
6195 * gcse.c (compute_hash_table): Likewise.
6196 (mark_call): Likewise.
6197 (store_killed_in_insn): Likewise.
6198
1b81b789
JM
61992001-08-07 Jason Merrill <jason_merrill@redhat.com>
6200
45dcf572
JM
6201 * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
6202
2d2e44d2
RH
62032001-08-06 Richard Henderson <rth@redhat.com>
6204
6205 * varasm.c (assemble_gc_entry): Remove.
6206 * output.h: Likewise.
6207
47907859
RH
62082001-08-06 Richard Henderson <rth@redhat.com>
6209
6210 * varasm.c (assemble_constructor): Take a symbol_ref and a
6211 priority instead of a bare string. Move priority handling
6212 here from cp/decl2.c.
6213 * output.h: Update decls.
6214
6215 * c-decl.c (c_expand_body): Update calls to assemble_constructor
6216 and assemble_destructor.
6217 * profile.c (output_func_start_profiler): Likewise.
6218 * objc/objc-act.c (finish_objc): Likewise.
6219 (build_module_descriptor): Return the symbol not the symbol name.
6220
362b68a8
DE
62212001-08-06 David Edelsohn <edelsohn@gnu.org>
6222
6223 * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
6224 * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
6225 ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
6226 * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
6227 * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
6228 * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
6229
fde84349
NB
62302001-08-06 Neil Booth <neil@daikokuya.demon.co.uk>
6231
6232 * cpperror.c (print_containing_files): Moved to line-map.c.
6233 (print_location): line-map.c handles re-listing or otherwise.
6234 * cpphash.h (struct lexer_state): Remove next_bol.
6235 (struct cpp_buffer): Remove include_stack_listed.
6236 * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
6237 Remove faked buffer handling.
6238 (_cpp_do_file_change): Tweak.
6239 * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
6240 * cppmain.c (struct printer): Remove filename.
6241 (print_line, cb_file_change): Update accordingly.
6242 * line-map.c: Include intl.h.
6243 (init_line_maps): Initialize last_listed.
6244 (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
6245 (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
6246 (print_containing_files): New.
6247 * line-map.h (struct line_maps): New member last_listed.
6248 (print_containing_files, INCLUDED_FROM): New.
6249 * Makefile.in: Update.
6250 * po/POTFILES.in: Add line-map.c.
6251
df4556a3
RH
62522001-08-06 Richard Henderson <rth@redhat.com>
6253
6254 * except.c (convert_from_eh_region_ranges_1): Never mark
6255 USE or CLOBBER insns as throwing.
6256
6257 * expr.c (store_constructor): Don't clobber memory targets.
6258
a4d3961a
AJ
62592001-08-06 Andreas Jaeger <aj@suse.de>
6260
6261 * profile.c (branch_prob): Remove unused variable insn.
6262
6263 * Makefile.in (local-alloc.o): Add dependency on except.h.
6264
6265 * local-alloc.c: Include except.h for can_throw_internal prototype.
6266
1d482056
RH
62672001-08-06 Richard Henderson <rth@redhat.com>
6268
6269 * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
6270 * function.c (expand_main_function): Implement it.
6271 * doc/tm.texi: Document it.
6272
4f2b1139
SS
62732001-08-06 Stan Shebs <shebs@apple.com>
6274
6275 * doc/install.texi: Document powerpc-*-darwin* details.
6276
f984d8df
DB
62772001-08-06 Daniel Berlin <dan@cgsoftware.com>
6278
6279 * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
6280 (ASM_CPU_SPEC): Move back to rs6000.h
6281 #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
6282
6283 * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
6284
6285 * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
a4d3961a 6286 readded.
f984d8df
DB
6287
6288 * config/rs6000/linux64.h: Ditto.
6289
6290 * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
6291 to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
6292 nothing.
6293
6294 Remove accidently readded definitions of FUNCTION_PROLOGUE,
6295 FUNCTION_EPILOGUE, ASM_OPEN_PAREN, ASM_CLOSE_PAREN
6296
6297 * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
6298 to rs6000.h
a4d3961a 6299
78d56e8b
RH
63002001-08-05 Richard Henderson <rth@redhat.com>
6301
6302 * local-alloc.c (update_equiv_regs): Do not move insns that
6303 can throw.
6304
39f95a2c
JH
63052001-08-05 Jan Hubicka <jh@suse.cz>
6306
6307 * Makefile.in (reload1.o): Add dedendancy on except.h
6308 * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
6309 prototypes.
6310 * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
6311 indicating wehther edges has been cleaned up.
6312 * reload1.c: Inlucde except.h
6313 (fixup_abnormal_edges): Accept deleted insns.
6314 * toplev.c (rest_of_compilation): Purge dead edges unconditionally
6315 after combine.
6316
9765f972
NB
63172001-08-06 Neil Booth <neil@daikokuya.demon.co.uk>
6318
6319 * cpplib.c (do_line): Correct line number after pop_buffer.
6320
6604e6f3
NB
63212001-08-05 Neil Booth <neil@daikokuya.demon.co.uk>
6322
6323 PR preprocessor/3824
6324 * line-map.c: Update comments.
6325 * line-map.h: Update comments.
6326 * tradcif.y: Don't consider large numbers unsigned.
6327
67821e3a
NB
63282001-08-05 Neil Booth <neil@daikokuya.demon.co.uk>
6329
6330 PR preprocessor/3081
6331 * c-lex.c (map): New.
6332 (cb_file_change): Update map and use it.
6333 (cb_def_pragma, cb_define, cb_undef): Use map and line.
6334 (c_lex): Update to use map.
6335 * cpperror.c (print_location): Move to using logical line numbers.
6336 * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
6337 (cpp_make_system_header): Similarly.
6338 (_cpp_execute_include): Stop line numbering hacks. Store the
6339 line we will return to.
6340 * cpphash.h (CPP_BUF_LINE): Remove.
6341 (struct cpp_buffer): Remove lineno and pseudo_newlines.
6342 Add map and return_to_line.
6343 (_cpp_do_file_change): Update.
6344 * cppinit.c (cpp_start_read): Update line kludge.
6345 * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
6346 (trigraph_ok): Use logical line numbers for diagnostics.
6347 (skip_block_comment): Likewise.
6348 (skip_whitespace): Likewise.
6349 (skip_line_comment): Use pfile->line instead.
6350 (_cpp_lex_token): Update to use logical line numbering exclusively.
6351 Handle BOL locally. Accept new lines in directives, but keep
6352 pfile->line decremented. Diagnostics use logical lines. Update
6353 directive handling.
6354 * cpplib.c (SEEN_EOL): New.
6355 (skip_rest_of_line, check_eol): Use it.
6356 (end_directive): Increase line number when accepting the newline
6357 at the end of a directive.
6358 (run_directive): Simplify.
6359 (do_line): Bad LC_LEAVEs become LC_RENAMEs. Update.
6360 (_cpp_do_file_change): Update to take buffer line number as an
6361 argument, and store the current map in the cpp_reader. Remove
6362 line number kludges.
6363 (_cpp_do__Pragma): Restore output position after a _Pragma.
6364 (cpp_push_buffer): Don't set output line or lineno.
6365 (_cpp_pop_buffer): Transfer more info from a faked buffer.
6366 Remove line kludge. Set output_line.
6367 * cppmacro.c (builtin_macro): Update handling of __LINE__.
6368 (parse_arg): Use logical lines.
6369 (save_lookahead_token): Save EOFs too now.
6370 * cppmain.c (struct printer): Fix comments.
6371 (printer_init): Simplify, let caller do errors.
6372 (scan_translation_unit, check_multiline_token, dump_macro): Update.
6373 (maybe_print_line): Simplify.
6374 (print_line): Don't print a linemarker if -P.
6375 (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
6376 (cb_file_change): Simplify.
6377 * line-map.h (LAST_SOURCE_LINE): Fix.
6378 (CURRENT_LINE_MAP): New.
6379
b05ecb16
BS
63802001-08-05 Bernd Schmidt <bernds@redhat.com>
6381
ab59db3c 6382 * doloop.c (doloop_modify_runtime): Properly compute number of
b05ecb16
BS
6383 iterations if loop was unrolled.
6384
ab59db3c
BS
6385 * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
6386 if their CSELIB_VAL_PTRs are.
6387
703cf211
BS
6388 * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
6389 (setup_spill_pointers): Initialize it.
6390 (spill_restore_mem): Set it.
6391 (do_spill, do_restore): Use it to add REG_INC note.
6392 * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
6393
1ad72cef
BS
6394 * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
6395 asms if other insns are available.
6396
acb0638d
BS
6397 * config/ia64/ia64.c (condop_operator): New predicate.
6398 * config/ia64/ia64.h (PREDICATE_CODES): Add it.
6399 * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
6400 patterns.
6401
8125d7e9
BS
6402 * expr.c (expand_expr, case COND_EXPR): Prefer working with a
6403 temporary register than directly using a MEM.
6404
12355aec
HPN
64052001-08-04 Hans-Peter Nilsson <hp@bitrange.com>
6406
6407 * config/sh/sh.c (sh_asm_named_section): Fix typo in align
6408 parameter in last change.
6409
98c0c681
ZW
64102001-08-04 Zack Weinberg <zackw@panix.com>
6411
6412 * sparc.md: Don't use #if inside C test expression.
6413
68c5782d
RH
64142001-08-04 Richard Henderson <rth@redhat.com>
6415
6416 * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
6417
8bbbef34
NB
64182001-08-04 Neil Booth <neil@daikokuya.demon.co.uk>
6419
6420 * cpphash.h (struct cpp_reader): New member directive_line.
6421 * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
6422 * cpplib.c (do_define, do_undef, do_ident, do_include_common,
6423 do_pragma): Pass line to callbacks.
6424 (start_directive): Record line of directive.
6425 * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
6426 cb_include): Similarly.
6427 * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
6428 Similarly.
6429
95146dd6
HPN
64302001-08-04 Hans-Peter Nilsson <hp@bitrange.com>
6431
6432 * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
6433 comment.
6434
f1330226
JH
6435Sat Aug 4 13:51:36 CEST 2001 Jan Hubicka <jh@suse.cz>
6436
6437 * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
6438
6439 * reload1.c (fixup_abnormal_edges): New static function.
6440 (reload): Use it.
6441
6442 * flow.c (need_fake_edge_p): New function.
6443 (flow_call_edges_add): Fix handling of noreturn and sibbling calls;
6444 avoid call insn to be very last insn in the insn stream.
6445
6446 * profile.c (branch_prob): Call flow_call_edges_add instead of
6447 doing that by hand; cleanup cfg to re-merge basic blocks once
6448 we are done.
6449
ef6e958a
NB
64502001-08-04 Neil Booth <neil@cat.daikokuya.demon.co.uk>
6451
6452 * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
6453 are also on line-map.h.
6454 * cppfiles.c (stack_include_file): Update.
6455 * cpphash.h (struct cpp_buffer): New member return_at_eof.
6456 (_cpp_pop_buffer): New.
6457 * cppinit.c (cpp_destroy, cpp_finish): Update.
6458 (do_includes): Mark each buffer to return at EOF.
6459 * cpplex.c (_cpp_lex_token): Pop buffers at EOF. Continue or
6460 return as requested.
6461 * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
6462 (cpp_pop_buffer): Rename _cpp_pop_buffer. Stop skipping.
6463 * cpplib.h (cpp_pop_buffer): Remove.
6464 (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
6465 * cppmacro.c (cpp_scan_buffer_nooutput): Similarly. No need to pop
6466 buffers.
6467 * cppmain.c (scan_buffer): Rename scan_translation_unit. No need
6468 to pop buffers.
6469 (do_preprocessing): Update.
6470 * fix-header.c (read_scan_file): Update. No need to pop buffers.
6471 * c-parse.in (_yylex): Similarly.
6472 * scan-decls.c (scan_decls): Similarly.
6473 * line-map.h: Update comments.
6474
6475 * objc/Make-lang.in (objc-act.o): Update dependencies.
6476
03997728
SC
64772001-08-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6478
a4d3961a 6479 * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
03997728
SC
6480 and soft register for operand 0.
6481 ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
6482
d8de89e8
SC
64832001-08-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6484
6485 * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
6486 register for operand 0.
6487 ("bitcmpqi_z_used"): Allow memory for operand 0.
6488 (split "bitcmpqi"): New split to handle address reg as operand 1.
6489
aaa4ca30
AJ
64902001-08-04 Andreas Jaeger <aj@suse.de>
6491
6492 * gcse.c: Revert Daniel's last patch.
6493
da9314d5
ZW
64942001-08-03 Zack Weinberg <zackw@stanford.edu>
6495
a4d3961a 6496 * sparc-protos.h: Add prototypes for fp_zero_operand and
da9314d5
ZW
6497 reg_or_0_operand.
6498 * sh-protos.h: Add prototype for fpul_operand.
6499
79323c50
HPN
65002001-08-04 Hans-Peter Nilsson <hp@bitrange.com>
6501
6502 * doc/extend.texi (Other Builtins): Fix typo in last change.
6503
7c262518
RH
65042001-08-03 Richard Henderson <rth@redhat.com>
6505
a4d3961a 6506 * target.h (gcc_target): Add asm_out.named_section,
7c262518
RH
6507 section_type_flags, have_named_sections.
6508 * target-def.h (TARGET_ASM_NAMED_SECTION): New.
6509 (TARGET_HAVE_NAMED_SECTIONS): New.
6510 (TARGET_SECTION_TYPE_FLAGS): New.
6511
6512 * Makefile.in (toplev.o): Depend on TARGET_H.
6513 (varasm.o, dbxout.o): Likewise.
6514 * c-common.c (decl_attributes): Check targetm.have_named_sections
6515 instead of ifdef ASM_OUTPUT_SECTION_NAME.
6516 * dbxout.c (dbxout_function_decl): Likewise.
6517 (dbxout_function_end): Likewise.
6518 * toplev.c (compile_file): Likewise.
6519 * varasm.c (exception_section): Likewise.
6520 * cp/decl2.c (finish_objects): Likewise.
6521
6522 * defaults.h (EH_FRAME_SECTION): Remove.
6523 (EH_FRAME_SECTION_ASM_OP): Remove.
6524 (EH_FRAME_SECTION_NAME): New.
6525 (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
6526 (UNIQUE_SECTION_P): Remove.
6527 * dwarf2out.c (SECTION_FORMAT): Remove.
6528 (ASM_OUTPUT_SECTION): Remove.
6529 (output_call_frame_info): Use named_section_flags.
6530 (output_comp_unit, dwarf2out_start_source_file): Likewise.
6531 (dwarf2out_end_source_file, dwarf2out_define): Likewise.
6532 (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
6533 * varasm.c (in_eh_frame, eh_frame_section): Remove.
6534 (named_section_flags): New.
6535 (named_section): Use it and targetm.section_type_flags.
6536 (resolve_unique_section): New.
6537 (assemble_start_function): Use it.
6538 (asm_emit_uninitialised, assemble_variable): Likewise.
6539 (default_section_type_flags): New.
6540 (default_no_named_section, default_elf_asm_named_section): New.
6541 (default_coff_asm_named_section, default_pe_asm_named_section): New.
6542 * output.h: Update varasm.c decls.
6543 (SECTION_*): New flags.
6544
6545 * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
6546 (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
6547
6548 * config/elfos.h (UNIQUE_SECTION_P): Remove.
6549 * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
6550 * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
6551 * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
6552 * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
6553 * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
6554 * config/mips/elf.h, config/mips/elf64.h: Likewise.
6555 * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
a4d3961a 6556 * config/pa/pa64-hpux.h,
7c262518
RH
6557
6558 * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
6559 (TARGET_ASM_NAMED_SECTION): New.
6560 * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
6561 * config/alpha/vms.h, config/arm/coff.h: Likewise.
6562 * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
6563 * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
6564 * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
6565 * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
6566 * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
6567 * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
6568 * config/i386/sco5.h, config/i386/win32.h: Likewise.
6569 * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
6570 * config/mcore/mcore.h, config/mips/elf.h: Likewise.
6571 * config/mips/elf64.h, config/mips/iris6.h: Likewise.
6572 * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
6573 * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
6574 * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
6575 * config/sparc/sysv4.h: Likewise.
6576
6577 * config/nextstep.h: Error until named sections implemented.
6578
6579 * config/a29k/a29k.c (a29k_asm_named_section): New.
6580 * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
6581 (vms_section_type_flags, vms_asm_named_section): New.
6582 * config/arm/arm.c (arm_elf_asm_named_section): New.
6583 * config/avr/avr.c (asm_output_section_name): Remove.
6584 * config/avr/avr-protos.h: Update.
6585 * config/c4x/c4x.c (c4x_asm_named_section): New.
6586 * config/h8300/h8300.c (h8300_asm_named_section): New.
6587 * config/i386/i386.c (sco_asm_named_section): New.
6588 * config/i386/winnt.c (SECTION_PE_SHARED): New.
6589 (i386_pe_section_type_flags): New.
6590 (i386_pe_asm_named_section): New.
6591 * config/i386/i386-protos.h: Update.
6592 * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
6593 * config/mcore/mcore.c (mcore_asm_named_section): New.
6594 * config/mips/mips.c (iris6_asm_named_section): New.
6595 * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
6596 instead of UNIQUE_SECTION_P.
6597 * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
6598 (xcoff_asm_named_section): New.
6599 * config/sh/sh.c (sh_asm_named_section): New.
6600 * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
6601
6602 * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
6603 * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
6604 (EH_FRAME_SECTION_NAME): New.
6605 (EXCEPTION_SECTION): New.
6606 * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
6607 (DEBUG_*_SECTION): Remove.
6608 * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
6609 * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
6610 (EH_FRAME_SECTION_ASM_OP): Remove.
6611
6612 * doc/tm.texi (UNIQUE_SECTION_P): Remove.
6613 (ASM_OUTPUT_SECTION_NAME): Remove.
6614 (TARGET_ASM_NAMED_SECTION): New.
6615 (TARGET_HAVE_NAMED_SECTIONS): New.
6616 (TARGET_SECTION_TYPE_FLAGS): New.
6617 (EH_FRAME_SECTION_ASM_OP): Remove.
6618 (EH_FRAME_SECTION_NAME): New.
6619
13104975
ZW
66202001-08-03 Zack Weinberg <zackw@stanford.edu>
6621
6622 * builtins.c (fold_builtin_constant_p): Return integer_zero_node
6623 for complex expressions when cfun == 0.
6624 * doc/extend.texi: Document that __builtin_constant_p can be
6625 used in data initializers as well as functions.
6626
7335a349
AO
66272001-08-03 Alexandre Oliva <aoliva@redhat.com>
6628
6629 * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
6630 variable I locally, instead of expecting a declaration in the
6631 calling context.
6632
949f197f
RH
66332001-08-03 Richard Henderson <rth@redhat.com>
6634
6635 * except.c (collect_one_action_chain): Add an explicit cleanup
6636 action if regions surrounding a catch were encoded entirely
6637 within the call-site entry.
6638
c99fa40f
RH
66392001-08-03 Richard Henderson <rth@redhat.com>
6640
6641 * dbxout.c (dbxout_symbol_location): Flatten subregs first;
6642 don't take REGNO of a non-register.
6643
5241c227
JDA
66442001-08-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
6645
6646 * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
6647 __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
6648 (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
6649 (__gthread_mutex_init_function): New function for mutex initialization.
6650
cbec6573 66512001-08-03 Daniel Berlin <dan@cgsoftware.com>
a4d3961a 6652
cbec6573
DB
6653 * Makefile.in: Revert screwed up commit.
6654
70a5787e
SC
66552001-08-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6656
6657 * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
6658 * config/m68hc11/larith.asm (_exit): Split in several sub-sections
6659 merged by linker script to get a final _exit().
6660 (__do_global_dtors): New for destructor handling in specific exit
6661 section.
6662 (__do_global_ctors): New for constructors in specific install section.
6663 (__map_data_section): Map data sections before running constructors.
6664 * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
6665 (CTORS_SECTION_ASM_OP): Define to put in readonly section.
6666 (DTORS_SECTION_ASM_OP): Likewise.
6667 (CTORS_SECTION_FUNCTION): Define to force a reference to
6668 __do_global_ctors.
6669 (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
6670
9ebeebda 66712001-08-03 Daniel Berlin <dan@cgsoftware.com>
a4d3961a 6672
9ebeebda 6673 * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
a4d3961a 6674
9ebeebda
DB
6675 * Makefile.in: Add df.h to gcse.c dependencies.
6676
c6b74046
JDA
66772001-08-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
6678
6679 * varasm.c (output_constant_def_contents): Use for the length of a
6680 string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
6681 depending on which is larger.
6682
9ebeebda 66832001-08-03 Daniel Berlin <dan@cgsoftware.com>
adfcce61 6684
39f95a2c
JH
6685 * gcse.c: Include df.h for use as a dataflow analyzer.
6686 Remove regvec.
6687 Declaration of reg_set_info: gone.
6688 New df_analyzer variable used by store motion.
6689 (reg_set_info): Deleted.
6690 (mark_mem_regs): New function, analyze regs used by a mem.
6691 (store_ops_ok): Use dataflow analyzer results to determine if
6692 necessary regs are changed in the block.
6693 (find_moveable_store): Remove check for symbol ref, we can handle
6694 much more complex expressions now.
6695 (compute_store_table): Remove most of the code, it's unnecessary
6696 now that the dataflow analyzer records the info for us.
6697 (store_killed_after): Add parameter to say whether to do the
6698 store_ops_okay test, used to speed up testing when we already know
6699 the answer, and just want to know if the store itself was killed.
6700 (build_store_vector): Largely rewritten to calculate the various
6701 vectors properly, and somewhat optimized.
a4d3961a 6702 (store_motion): Init the df_analyzer, get REG_DEF chains.
39f95a2c
JH
6703 Also handle trapping expressions (since mems almost always trap)
6704 (simple_mem): Redefine what a simple mem is.
adfcce61 6705
667ccf73
DD
67062001-08-03 DJ Delorie <dj@redhat.com>
6707
6708 * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
6709 set from a constant part of the condition.
6710
0821bff7
AC
67112001-08-01 Andrew Cagney <ac131313@redhat.com>
6712
6713 * mkdeps.c (deps_add_default_target): Make local variable
6714 ``start'' a const char pointer.
6715 * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
6716
b953cc4b
RO
67172001-08-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6718
6719 * doc/install.texi (Configuration): Fix markup.
6720 (Specific, i?86-*-udk): Likewise.
6721 (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
a4d3961a 6722 --with-gnu-ld.
b953cc4b
RO
6723 Document --enable-threads and --enable-libgcj status.
6724 (Specific, mips-sgi-irix*): Canonicalize triples.
6725 (Specific, mips-sgi-irix5): Warn about problems with this config.
6726 Mention required GNU as patch.
6727 Native assembler problems are fixed.
6728 (Specific, mips-sgi-irix6): Update O32 ABI support status.
6729 Document --enable-threads and --enable-libgcj status.
6730
ef1f96f0
NC
67312001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
6732
6733 * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
6734 of mkinstalldirs.
6735
6e5a6a6b
RH
67362001-08-03 Richard Henderson <rth@redhat.com>
6737
6738 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
6739 constant data.
6740
dbc1a163
RH
67412001-08-03 Richard Henderson <rth@redhat.com>
6742
6743 * rtlanal.c (find_first_parameter_load): Stop if we
6744 reach a CODE_LABEL at BOUNDARY.
6745
54aaa4ea
RH
67462001-08-03 Richard Henderson <rth@redhat.com>
6747
6748 * config/alpha/alpha.md (force_movdi): New insn.
6749 * config/alpha/alpha.c (alpha_expand_prologue): Use it.
6750 Tweek FRP marking of VMS prologue insns.
6751 * config/alpha/vms.h (EPILOGUE_USES): New.
6752
0360b30d
RH
67532001-08-02 Richard Henderson <rth@redhat.com>
6754
6755 * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
6756
8aeea6e6
LB
67572001-08-02 Lars Brinkhoff <lars@nocrew.org>
6758
6759 * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
6760 simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
6761 config/convex/convex.h, config/d30v/d30v.c,
6762 config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
6763 config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
6764 config/mips/mips.h, config/mn10200/mn10200.h,
6765 config/mn10300/mn10300.h, config/pdp11/pdp11.md,
6766 config/v850/v850.h, config/vax/openbsd.h,
6767 config/vax/openbsd1.h, config/vax/ultrix.h,
6768 config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
6769 config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
6770 cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
6771 doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
6772 doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
39f95a2c 6773 in comments and documentation.
8aeea6e6 6774
d82fc108
NB
67752001-08-03 Neil Booth <neil@cat.daikokuya.demon.co.uk>
6776
6777 * line-map.c: New.
6778 * line-map.h: New.
6779 * Makefile.in (line-map.o): New.
6780 (LIBCPP_OBJS, LIBCPP_DEPS): Update.
6781 * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
6782 * cpperror.c (print_containing_files): Similarly.
6783 (print_location): Update. Don't output a space before _Pragma.
6784 * cppfiles.c (stack_include_file): Set to line 1 immediately.
6785 (stack_include_filee, cpp_make_system_header): Update.
6786 (_cpp_execute_include): Get logical line number right for calling
6787 as-yet-unterminated #include.
6788 * cpphash.h (struct cpp_reader): Add line_maps.
6789 (_cpp_do_file_change): Update.
6790 * cppinit.c (cpp_create_reader): Initialize line maps.
6791 (cpp_destroy): Destroy line maps.
6792 (cpp_start_read): Get logical line number right.
6793 * cpplex.c (parse_string): Only warn once for multi-line strings.
6794 Use boolean variable for null warning.
6795 * cpplib.c (_cpp_handle_directive): End the directive if it isn't
6796 already.
6797 (do_include_common): End the directive early.
6798 (do_line): Don't warn about out-of-range lines in preprocessed
6799 source. Update. Remove unused variables.
6800 (_cpp_do_file_change): Update for new line mapping.
6801 (pragma_cb): New typedef.
6802 (cpp_register_pragma): Stop looking ahead before calling the
6803 handler. Clean up.
6804 (do_pragma_system_header): End directive early.
6805 (cpp_get_line_maps): New.
6806 (cpp_pop_buffer): Fudge logical line. Update.
6807 * cpplib.h: Include line-map.h
6808 (enum cpp_fc_reason): Remove.
6809 (struct cpp_file_change): Update.
6810 (cpp_get_line_maps): New.
6811 * cppmain.c (struct_printer): New member map.
6812 (cb_file_change): Update for new mappings.
6813 * fix-header.c (cb_file_change): Similarly.
6814
6dda00f0
NC
68152001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
6816
6817 * Makefile.in (libgcc.mk): Define mkinstalldirs.
6818 * mklibgcc.in: Use mkinstalldirs instead of mkdir.
6819
215b48a7
LB
68202001-08-02 Lars Brinkhoff <lars@nocrew.org>
6821
6822 * config/vax/vax.c: include expr.h.
6823
e7f62dcf
NC
68242001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
6825
6826 * Makefile.in ($(srcdir)/configure): Only rebuild in
6827 maintainer mode.
6828 ($(srcdir)/config.in): Only define in maintainer mode.
6829 ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
6830
4b5eb038
DE
68312001-08-02 David Edelsohn <edelsohn@gnu.org>
6832
6833 * doc/install.texi (Install GCC: Binaries): Update Bull info.
6834
578672a2
RO
68352001-08-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6836
6837 * gcc.c (set_collect_gcc_options): New function, split out from
6838 main.
6839 Ignore elided switches.
6840 (do_spec_1): Invoke before executing command.
6841 (set_input): Export.
6842 Move declaration ...
6843 * gcc.h (set_input): ... here.
6844 * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
6845 file.
6846
1dbb6023
NS
68472001-08-02 Nathan Sidwell <nathan@codesourcery.com>
6848
6849 Kill -fhonor-std.
6850 * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
6851 interaction.
6852 * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
6853
d6b6ba29
RS
68542001-08-02 Richard Sandiford <rsandifo@redhat.com>
6855
6856 * mips.md (movdicc): Make conditional on TARGET_64BIT. Likewise
6857 for the unnamed instructions it expands to.
6858
d3259baa
RH
68592001-08-02 Richard Henderson <rth@redhat.com>
6860
6861 * regclass.c (call_really_used_regs): Conditionally define.
6862 (init_reg_sets_1): Don't use it if not defined.
6863 (fix_register): Similarly, don't set it.
6864
eb77eeb3
GP
68652001-08-01 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6866
6867 * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
6868 Correct comment that had been missed in the previous change.
6869
4e08ba6c
SS
68702001-08-01 Stan Shebs <shebs@apple.com>
6871
6872 * config/darwin.c (machopic_stub_name): Try matching by name.
6873 (update_stubs): New function.
6874 (darwin_encode_section_info): Call it and update_non_lazy_ptrs
6875 unconditionally.
6876
7a900ebc
RH
68772001-08-01 Richard Henderson <rth@redhat.com>
6878
6879 * except.c (output_function_exception_table): Use assemble_align.
6880 * varasm.c (assemble_eh_label): Remove.
6881 (assemble_eh_align, assemble_eh_integer): Remove.
6882
551e8a74
RL
68832001-08-01 Robert Lipe <robertl@caldera.com>
6884
39f95a2c 6885 * dwarfout.c: Remove reference to README.DWARF.
551e8a74 6886
fc1296b7
AM
68872001-08-01 Andrew MacLeod <amacleod@redhat.com>
6888
6889 * regclass.c (call_really_used_regs): New array for registers which
6890 are actually used by a call.
6891 (init_reg_sets_1): Initialize regs_invalidated_by_call with the
6892 new array.
6893 (fix_register): Set call_really_used too.
6894 * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
6895 * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
6896
b38b083a
RH
68972001-08-01 Richard Henderson <rth@redhat.com>
6898
6899 * read-rtl.c (read_name): Consider \r whitespace.
6900
edf1b3f3
AC
69012001-07-11 Andrew Cagney <ac131313@redhat.com>
6902
6903 * config.gcc: Recognize powerpc-*-netbsd*.
a4d3961a 6904
edf1b3f3
AC
6905 * doc/install.texi (Host/target specific installation notes for
6906 GCC): Mention powerpc-*-netbsd*.
6907
6908 * config/rs6000/netbsd.h: New file.
6909 (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
6910 (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
6911 (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
6912 (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
6913 (TARGET_VERSION): Redefine.
6914
6915 * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
6916 mcall-netbsd as a match for mcall-sysv.
6917 (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
6918 (ncrti.S, ncrtn.S): New targets.
6919 ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
a4d3961a 6920
edf1b3f3
AC
6921 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
6922 "netbsd' as a V4 ABI.
6923 (ASM_SPEC): Check for -mcall-netbsd.
6924 (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
6925 (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
6926 (LIB_SPEC, ENDFILE_SPEC): Ditto.
6927 (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
6928 (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
6929 (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
6930 (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
6931
6932 * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
6933 (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
6934
bda33a6e
MK
69352001-08-01 Mark Kettenis <kettenis@gnu.org>
6936
6937 * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
6938 only if NO_BASE_OF_ENCODED_VALUE isn't defined.
6939 * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
6940 including "unwind-pe.h".
6941
75540af0
JH
6942Wed Aug 1 20:01:42 CEST 2001 Jan Hubicka <jh@suse.cz>
6943
6944 * rs6000.md (define_splits): Kill unused constraints.
6945
6946Wed Aug 1 20:02:12 CEST 2001 Graham Stott <grahams@redhat.com>
6947 Jan Hubicka <jh@suse.cz>
6948
6949 * function.c (thread_prologue_and_epilogue_insns): Kill code
6950 dealing with non-existent CFG.
6951
ec5c56db
KH
69522001-08-01 Kazu Hirata <kazu@hxi.com>
6953
6954 * alias.c: Fix comment formatting.
6955 * bitmap.c: Likewise.
6956 * builtins.c: Likewise.
6957 * calls.c: Likewise.
6958 * c-common.c: Likewise.
6959 * c-decl.c: Likewise.
6960 * c-dump.c: Likewise.
6961 * c-lex.c: Likewise.
6962 * collect2.c: Likewise.
6963 * combine.c: Likewise.
6964 * conflict.c: Likewise.
6965 * cppfiles.c: Likewise.
6966 * cppinit.c: Likewise.
6967 * cpplex.c: Likewise.
6968 * cpplib.c: Likewise.
6969 * cppmacro.c: Likewise.
6970 * cppspec.c: Likewise.
6971 * c-pragma.c: Likewise.
6972 * crtstuff.c: Likewise.
6973 * cse.c: Likewise.
6974 * cselib.c: Likewise.
6975 * c-semantics.c: Likewise.
6976 * c-typeck.c: Likewise.
6977
2a25b23f
L
69782001-08-01 H.J. Lu <hjl@gnu.org>
6979
6980 * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
6981
a8329479
L
69822001-08-01 H.J. Lu <hjl@gnu.org>
6983
6984 * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
6985
f2e6e530
ZL
69862001-08-01 Ziemowit Laski <zlaski@apple.com>
6987
39f95a2c 6988 * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
f2e6e530
ZL
6989 contextualizing Objective-C class name lookup by the lexer.
6990 (typespec_reserved_nonattr): Disable ObjC class name lookup after
6991 seeing a TYPESPEC.
6992 (protocoldef): Add support for forward @protocol declarations.
6993 (yylexname): Suppress ObjC class name lookup in certain contexts;
6994 re-enable after lookup is complete.
6995 (_yylex): Re-enable ObjC class name lookup when certain
6996 punctuation marks are seen.
6997
6998 * objc/objc-act.c (check_protocol_recursively): New function used
6999 for finding circular dependencies in protocols.
7000 (objc_declare_protocols): New function for handling forward
7001 @protocol declarations.
7002 (receiver_is_class_object): Detect the case when 'self' is used
7003 inside of a class method.
7004 (build_message_expr): Issue a warning if class method is desired
7005 but instance method is found instead.
7006 (conforms_to_protocol): Streamline.
7007 (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
7008 protocol Foo, even if 'Bar foo' does not.
7009 (check_protocols): Streamline.
7010 (start_protocol): Add checks for circular and duplicate protocol
7011 definitions.
7012 (encode_aggregate_within): For typedefs of structs, encode the
7013 underlying struct.
7014 * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
7015 (objc_declare_protocols): New prototype.
7016
1444f2ed
NB
70172001-08-01 Neil Booth <neil@cat.daikokuya.demon.co.uk>
7018
7019 * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
7020 * cpplex.c (handle_newline): Update prototype. Maintain logical
7021 line number.
7022 (skip_escaped_newlines, skip_block_comment, parse_string):
7023 Update accordingly.
7024 (_cpp_lex_token): Update, and store token position within the token.
7025 * cpplib.h (struct cpp_token): Add line and column entries.
7026 * cppmacro.c (replace_args): Position stringified tokens correctly.
7027
7f8a2125
AJ
70282001-08-01 Andreas Jaeger <aj@suse.de>
7029
7030 * basic-block.h: Add prototype for last_loop_beg_note.
7031
6ad7895a
APB
70322001-07-31 Alexandre Petit-Bianco <apbianco@redhat.com>
7033
7034 * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
7035 RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
7036 comment.
7037 (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
7038 while handling WITH_CLEANUP_EXPR node. Use second operand calling
7039 expand_decl_cleanup.
7040 * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
7041 the first RTX.
7042 (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
7043 operand while calling simple_cst_equal.
7044 * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
7045 operand is the cleanup expression, the third is the RTL_EXPR.
7f8a2125 7046 * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
6ad7895a 7047
b24a9e88
JS
70482001-07-31 Jeff Sturm <jsturm@one-point.com>
7049
39f95a2c 7050 * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
b24a9e88 7051
6ea0279f
MG
70522001-07-31 matthew green <mrg@eterna.com.au>
7053
7054 * config.gcc (i386-*-netbsdelf): New description.
7055 * config/i386/netbsd-elf.h: New file.
7056
ae16bf15
GK
70572001-07-30 Geoffrey Keating <geoffk@redhat.com>
7058
7059 * loop.c (check_dbra_loop): Use single_set to compute
7060 jump_label.
7061
2bfcf297
DB
70622001-07-31 Daniel Berlin <dan@cgsoftware.com>
7063
7064 PowerPC reorg and support for powerpc64-*-linux*.
7065
7066 Also fixes emitting of constants on 32 bit and 64 bit
7067 platforms.
7f8a2125 7068
2bfcf297 7069 * config.gcc: powerpc64-*-linux* is a new target.
7f8a2125 7070 Things that needed aix.h now also include xcoff.h
2bfcf297
DB
7071
7072 * config/rs6000/rs6000.h: Split XCOFF specific stuff into
7f8a2125 7073 xcoff.h.
2bfcf297 7074 Move AIX specific stuff into aix.h.
2bfcf297
DB
7075 (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
7076 with more than just XCOFF now.
7077 (SET_ASM_OP): Remove, now defined where needed.
7078 (FUNCTION_PROLOGUE): New macro definition.
7079 (FUNCTION_EPILOGUE): New macro definition.
2bfcf297 7080 (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
f96850af 7081
2bfcf297
DB
7082 * config/rs6000/xcoff.h: New file.
7083
7084 * config/rs6000/linux64.h: New file.
7085
7086 * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
f96850af
DE
7087
70882001-07-31 Alan Modra <amodra@bigpond.net.au>
7089
7090 * rs6000.c (print_operand_address): Handle ELF syntax.
7091 (output_toc): Simplify. Use DOUBLE_INT_ASM_OP.
7092 * rs6000.md (load_toc_aix_di): Handle ELF syntax.
7093 * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
7094
70952001-07-31 David Edelsohn <edelsohn@gnu.org>
7096
7097 * rs6000.c (rs6000_override_options): Only disable
7098 flag_function_sections for XCOFF.
7099 (exact_log2_cint_operand): New predicate.
7100 (reg_or_{add,sub}_cint64_operand): New predicates.
7101 (add_operand): Compare CONST_INT with fewer function calls.
7102 (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
7103 (print_operand, case 'p'): Ensure positive operand.
7104 (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
7105 * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
7106 (PREDICATE_CODES): Add new predicates.
7107 * rs6000.md (addsi3): Split 32-bit constants more correctly.
7108 (divsi3, modsi3): Ensure positive power-of-2.
7109 (adddi3): Use new predicate. Split 32-bit constants more
7110 correctly. Re-arrange splitter to handle any constant.
7111 (subdi3): Use new predicate.
7112 (divdi3, moddi3): Ensure positive power-of-2.
7113 (movdi): Use rs6000_emit_set_const.
7114 (load_toc_v4_pic_di): Delete.
2bfcf297 7115
dc56ceb7
GS
71162001-07-31 Graham Stott <grahams@redhat.com>
7117
7118 * function.c (pad_below): Revert 2001-07-26 patch.
7119
3e42ccd2
JH
7120Tue Jul 31 15:37:35 CEST 2001 Jan Hubicka <jh@suse.cz>
7121
7122 * reg-stack (convert_regs_1): Fix best edge condition.
7123
940b29aa
JH
7124Tue Jul 31 15:33:27 CEST 2001 Jan Hubicka <jh@suse.cz>
7125
7126 * jump.c (duplicate_loop_exit_test): Better test for jumps
7127 entering the loop; create loop pre_header.
7128
91abf72d
HP
71292001-07-31 Hartmut Penner <hpenner@de.ibm.com>
7130
39f95a2c
JH
7131 * doc/install.texi: Add s390 and s390x as new targets.
7132 * doc/invoke.texi: Add documantation of S/390 and zSeries
7133 target options.
7134 * doc/md.texi: Add documantation of S/390 and zSeries constraints.
91abf72d 7135
8406d023
RZ
71362001-07-30 Roman Zippel <zippel@linux-m68k.org>
7137
7138 * config/m68k/m68k.md: Replace all general_operand with
7139 nonimmediate_operand for all destinations.
7140 * config/m68k/m68k.c (not_sp_operand): Likewise.
7141
4d494dfe
JW
7142Mon Jul 30 23:20:34 EDT 2001 John Wehle (john@feith.com)
7143
39f95a2c 7144 * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
4d494dfe 7145
88828291
RH
71462001-07-30 Richard Henderson <rth@redhat.com>
7147
7148 * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
7149 * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
7150
f18bff15
RZ
71512001-07-30 Roman Zippel <zippel@linux-m68k.org>
7152
7153 * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
7154 Add missing doc strings
7155 * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
7156 * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
7157
0ecf09f9
JH
7158Mon Jul 30 22:16:08 CEST 2001 Jan Hubicka <jh@suse.cz>
7159
7160 * i386.c (ix86_output_main_function_alignment_hack): New function.
7161 (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
7162
7163 * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
7164 edges by EDGE_DFS_BACK flag.
7165 (dump_edge_info): Add dfs_back flag.
7166 * basic-block.h (EDGE_DFS_BACK): New constant.
7167 (mark_dfs_back_edges): Declare.
7168 * alias.c (loop_p): Remove.
7169 (mark_constant_function): Use mark_dfs_back_edges.
7170
7171 * reg-stack.c (block_info_def): Add predecesors counter and stack_out.
7172 (reg_to_stack): Call mark_dfs_back_edges; count the predecesors.
7173 (compensate_edge): Break out from ...
7174 (convert_regs_1): ... here; do smart choosing of stack_out to copy.
7175 (convert_regs_2): Set block_done once block is really done;
7176 Do updating of the predecesors counts.
7177
7178 * toplev.c (rest_of_compilation): Recompute block_for_insn
7179 before post-reload cfg_cleanup.
7180 * function.c (thread_prologue_epilogue_insns):
7181 Call set_block_for_new_insns when emitting prologue directly.
7182
1490f392
AJ
71832001-07-30 Andreas Jaeger <aj@suse.de>
7184
39f95a2c 7185 * jump.c: Add prototype for mark_modified_reg.
1490f392 7186
39f95a2c 7187 * cse.c (set_live_p): Add unused attribute.
1490f392 7188
39f95a2c
JH
7189 * gcov.c (calculate_branch_probs): Use gcov_type to avoid
7190 overflow.
7191 (scan_for_source_files): Use long for count to avoid overflow.
7192 (output_data): Likewise.
7193 (output_data): Don't use string concatatenation to silence gcc
7194 -traditional.
1490f392 7195
39f95a2c 7196 * predict.c: Fix typos and grammar.
1490f392
AJ
7197
7198 * gcse.c (insert_insn_end_bb): Remove unused variables.
7199
a08b2604
JH
7200Mon Jul 30 21:54:53 CEST 2001 Jan Hubicka <jh@suse.cz>
7201
7202 * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
7203 (attempt_auto_inc): LIkewise.
7204 (mark_used_reg): Likewise.
7205 (try_pre_increment_1): Likewise.
7206 * regclass.c (regclass): Likewise.
7207 * global.c (allocno_compare): Update comment; change scaling factor.
7208 * local-alloc.c (QTY_CMP_PRI): Likewise.
7209 * regs.h (REG_FREQ_FROM_BB): New.
7210 (REG_FREQ_MAX): Likewise.
7211
c2c0294a
L
72122001-07-30 H.J. Lu <hjl@gnu.org>
7213
7214 * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
7215 -D_GNU_SOURCE.
7216
8597f3dd
L
72172001-07-30 H.J. Lu (hjl@gnu.org)
7218
7219 * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
7220 (ASM_DECLARE_FUNCTION_SIZE): Likewise.
7221 (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
7222
b3026a92
NC
72232001-07-30 Nick Clifton <nickc@cambridge.redhat.com>
7224
7225 * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
7226 as -mthumb-interwork when -mcpu=arm7 is specified.
7227
8b7e92f9
JH
7228Mon Jul 30 17:44:43 CEST 2001 Jan Hubicka <jh@suse.cz>
7229
7230 * predict.def (noreturn, loop branch, loop exit): Mark as first
7231 match heuristics.
7232
592a6d1d
JH
7233Mon Jul 30 12:52:11 CEST 2001 Jan Hubicka <jh@suse.cz>
7234
7235 * combine.c (try_combine): Avoid barrier after noop jumps.
7236
09b82253
NB
72372001-07-29 Neil Booth <neil@cat.daikokuya.demon.co.uk>
7238
7239 * cpphash.h (struct cpp_reader): Remove import_warning.
7240 * cpplib.c (skip_rest_of_line): Don't bother turning off
7241 macro expansion.
7242 (parse_include): Move include handling to...
7243 (do_include_common): ... here. Move import warning from...
7244 (do_import): ... here.
7245 (do_pragma_poison): Don't do a callback for poison identifiers.
7246 * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
7247 * cppmain.c (setup_callbacks): Similarly.
7248
833366d6
JH
7249Sun Jul 29 23:26:50 CEST 2001 Jan Hubicka <jh@suse.cz>
7250
7251 * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
7252 handle multiple sets.
7253 * except.c (sjlj_mark_call_sites): .... here.
7254 * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
7255
b5832b43
JH
7256Sun Jul 29 21:38:45 CEST 2001 Jan Hubicka <jh@suse.cz>
7257
7258 Suggested by Richard Henderson and Richard Kenner:
7259 * combine.c (recog_for_combine): Use the fake recog
7260 only if instruction does not match.
7261 * rtl.h (NOOP_MOVE_INSN_CODE): New.
7262 * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
7263
7264 * combine.c (try_combine): Discover noop jump as direct jump.
7265
12285d9d
DB
72662001-07-29 Daniel Berlin <dan@cgsoftware.com>
7267
7268 * df.c (df_rd_global_compute): Add successors to worklist, not
7269 current item.
7270 (df_ru_global_compute): Ditto.
7271
b2d57793
DB
72722001-07-27 Daniel Berlin <dan@cgsoftware.com>
7273
7274 * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
7275 increment REG_N_SETS.
7276
72772001-07-26 Daniel Berlin <dan@cgsoftware.com>
7278
7279 * sbitmap.h: New prototype for sbitmap_a_xor_b.
7280
7281 * sbitmap.c (sbitmap_a_xor_b): New function.
7282 ifdef the basic block stuff on IN_GCC.
7283
6d18adbc
NB
72842001-07-29 Neil Booth <neil@cat.daikokuya.demon.co.uk>
7285
7286 * cppexp.c (parse_defined): Always record the macro name.
7287 (lex): Don't worry about identifiers, or special-case
7288 CPP_NOT here.
7289 (_cpp_parse_expr): Figure out at the end of the routine
7290 whether we saw a valid !defined() expression.
7291 * cppfiles.c (stack_include_file): Update for mi_valid.
7292 (_cpp_pop_file_buffer): Similarly.
7293 * cpplex.c (_cpp_lex_token): Similarly.
7294 * cpphash.h (enum mi_state, enum mi_ind, mi_state,
7295 mi_if_not_defined, mi_lexed): Remove.
7296 (mi_valid): New.
7297 * cpplib.c (do_if): Simplify.
7298 (do_endif, push_conditional, _cpp_handle_directive): Update
7299 for renaming of mi_state to mi_valid.
7300doc:
7301 * cpp.texi: Add index entries for digraphs, and add comment
7302 that C++ refers to them as alternative tokens.
7303
0068fd96
JH
7304Sun Jul 29 18:59:13 CEST 2001 Jan Hubicka <jh@suse.cz>
7305
7306 * basic-block.h (CLEANUP_PRE_LOOP): New.
7307 * except.c (finish_eh_generation): Update call of cleanup_cfg.
7308 * sibcall.c (optimize_sibling_calls): Likewise.
7309 * toplev.c (rest_of_compilation): Likewise.
7310 * flow.c (try_forward_edges): Take argument MODE;
7311 do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
7312 (try_optimize_cfg): Update call of try_forward_edges.
7313
7314Sun Jul 29 18:59:56 CEST 2001 Roman Zippel <zippel@linux-m68k.org>
7315 Jan Hubicka <jh@suse.cz>
7316
7317 * (validate_replace_rtx_1): Fix simplification of MINUS.
7318
df07e07d
NB
73192001-07-29 Neil Booth <neil@daikokuya.demon.co.uk>
7320
7321 PR preprocessor/3669
7322 * cppinit.c (init_dependency_output): Turn off dump requests
7323 if sending dependencies to stdout.
7324
587f922a
RH
73252001-07-28 Richard Henderson <rth@redhat.com>
7326
7327 * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
7328 not optimizing.
7329
89f355bd
G
73302001-07-28 Golubev I. N. <gin@mo.msk.ru>
7331
7332 * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
7333
391522e3
KH
73342001-07-28 Kazu Hirata <kazu@hxi.com>
7335
7336 * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
7337 is VAR_DECL first to prevent an ICE.
7338
6681bc1f
RH
73392001-07-28 Richard Henderson <rth@redhat.com>
7340
7341 * varasm.c (immed_real_const_1): Don't elide special cases for
7342 nested functions.
7343 (clear_const_double_mem): Clear const_tiny_rtx too.
7344
a20612aa
RH
73452001-07-28 Richard Henderson <rth@redhat.com>
7346
7347 * dwarf2out.c (dw_val_class_offset): New.
7348 (struct dw_ranges_struct, dw_ranges_ref): New.
7349 (ranges_table, ranges_table_allocated): New.
7350 (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
7351 (add_AT_offset, add_ranges, output_ranges): New.
7352 (print_die, output_die): Handle dw_val_class_offset.
7353 (attr_checksum, size_of_die, value_format): Likewise.
7354 (gen_lexical_block_die): Handle non-contiguous blocks.
7355 (gen_block_die): Likewise.
7356 (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
7357 if needed. Dump the ranges table.
7358 * final.c (final_start_function): Remove unnecessary notes and
7359 rebuild the block tree before numbering the blocks.
7360 * function.c (reorder_blocks_0): Walk the existing block tree
7361 to unmark all blocks.
7362 (reorder_blocks_1): Create block fragments when duplicate block
7363 notes are seen.
7364 (reorder_fix_fragments): New.
7365 (reorder_blocks): Call it.
7366 * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
7367
c2f7bcc3
RH
73682001-07-28 Richard Henderson <rth@redhat.com>
7369
7370 * emit-rtl.c (adjust_address): Make a copy of the memory address.
7371
91d84fad
RH
73722001-07-28 Richard Henderson <rth@redhat.com>
7373
7374 * flow.c (add_to_mem_set_list): New function.
7375 (init_propagate_block_info): Use it.
7376 (mark_set_1): Likewise.
7377 (insn_dead_p): Canonicalize memory address for dead store
7378 comparison. Allow wider mode stores to kill narrower mode stores.
7379 (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
7380 (invalidate_mems_from_set): Don't handle MEMs.
7381
0a02170f
KH
73822001-07-28 Kazu Hirata <kazu@hxi.com>
7383
7384 * config/h8300/h8300.h: Fix formatting.
7385
134d3a2e
JH
7386Sat Jul 28 23:35:22 CEST 2001 Jan Hubicka <jh@suse.cz>
7387
7388 * basic-block.h (EDGE_FREQUENCY): New macro.
7389 * bb-reorder (fixup_reorder_chain): Set counts and frequencies
7390 for new BB/edges.
7391 * flow.c (find_sub_basic_blocks): Likewise.
7392 (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
7393 (redirect_edge_and_branch): Use EDGE_FREQUENCY.
7394
7395 * predict.c (DEF_PREDICTOR): New argument FLAGS.
7396 (HITRATE): New macro.
7397 (PRED_FLAG_FIRST_MATCH): New constant.
7398 (predictor_info): New field flgags.
7399 (combine_predictions_for_insn): Use DS theory to combine
7400 probabilities; set the edge probabilities when finished.
7401 (estimate_probability): Avoid duplicated matches
7402 of LOOP_BRANCH heuristics for nested loops; update comment.
7403 * predict.def: Add flags for each prediction, set probabilities
7404 according to B&L paper.
7405 * predict.h (DEF_PREDICTOR): New argument FLAGS.
7406
7407 * profile.c (compute_branch_probabilities): Cleanup way the edge
7408 probabilities are computed and REG_BR_PROB notes are dropped; if
7409 values does not match, emit error.
7410 (init_branch_prob): Do error instead of warning when profile driven
7411 feedback is missing or corrupt.
7412
7f646877
DD
74132001-07-27 DJ Delorie <dj@redhat.com>
7414
7415 * ifcvt.c (noce_get_alt_condition): If the condition is a compare
7416 against a constant, try to adjust the compare to have the desired
7417 constant in it so that min/max optimizations happen more often.
7418
d69d0316
JH
7419Fri Jul 27 17:53:00 CEST 2001 Jan Hubicka <jh@suse.cz>
7420
7421 * flow.c (last_loop_beg_note): New function.
7422 (redirect_edge_and_branch): Use it.
7423 (split_edge): Likewise.
7424
7425 * alias.c (loop_p): Avoid uninitialized memory access.
7426
7427 * flow.c (try_forward_edges): Avoid accessing freed memory.
7428
7429 * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
7430 variable access.
7431
0dd99795
AH
74322001-07-26 Andrew Haley <aph@redhat.com>
7433 Joern Rennecke <amylaar@redhat.com>
7434
7435 * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
7436 (SUBTARGET_CPP_ENDIAN_SPEC): New.
7437 (SUBTARGET_CPP_SPEC): New.
7438 (CPP_SPEC): Remove.
7439 * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
7440 (SUBTARGET_CPP_PTR_SPEC): New.
7441 (CPP_DEFAULT_CPU_SPEC): New.
7442 (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
7443 SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
7444 (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
7445 SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
7446 (SUBTARGET_CPP_SPEC): Define as an empty string.
7447
e69aa433
GP
74482001-07-27 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7449
7450 * doc/install.texi (Configuration): Properly link the host
7451 specific instructions also when generating HTML.
7452
a727094f
JW
7453Fri Jul 27 00:33:35 EDT 2001 John Wehle (john@feith.com)
7454
39f95a2c 7455 * flow.c (redirect_edge_and_branch_force): Test
a727094f
JW
7456 target->global_live_at_start.
7457
732910b9
RH
74582001-07-26 Richard Henderson <rth@redhat.com>
7459
7460 * simplify-rtx.c (avoid_constant_pool_reference): Export.
7461 * rtl.h (avoid_constant_pool_reference): Declare it.
7462 * dwarf2out.c (add_location_or_const_value_attribute): Use it.
7463 (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
7464
01f62f01
JH
7465Thu Jul 26 22:30:22 CEST 2001 Jan Hubicka <jh@suse.cz>
7466
7467 * rtl.h (cleanup_barriers): Declare.
7468 * jump.c (cleanup_barriers): New function.
7469 * toplev.c (rest_of_compilation): Call cleanup_barriers
7470 before loop optimizer and after bb_reorder.
7471
7472 * flow.c (back_edge_of_syntactic_loop_p): New.
7473 (split_edge): Use it.
7474
aa069f77
RO
74752001-07-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7476
7477 * glimits.h (_MACH_MACHLIMITS_H_): Delete.
7478
c96208fa
DC
7479Thu Jul 26 22:22:21 2001 Denis Chertykov <denisc@overta.ru>
7480
7481 * cse.c (cse_process_notes): Replace any registers if the address
7482 remains valid.
7483
11f68165
JW
7484Thu Jul 26 14:04:03 EDT 2001 John Wehle (john@feith.com)
7485
7486 * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
7487 (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
7488 (propagate_block): Update prototype.
7489 * flow.c (update_life_info): Simplify the CFG and
7490 recalculate the global regs which are alive when
7491 removing dead code during a global update.
7492 (propagate_block): Return non-zero if an INSN is
7493 deleted.
7494
62c62a4f
RO
74952001-07-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7496
7497 * Makefile.in (LIBICONV): Define.
7498
06e937ed
CM
74992001-07-26 Catherine Moore <clm@redhat.com>
7500
39f95a2c
JH
7501 * config/v850/v850.h (ENCODE_SECTION_INFO): Change order
7502 of conditional to avoid tree checking errors.
06e937ed 7503
f3029065
KH
75042001-07-26 Kazu Hirata <kazu@hxi.com>
7505
7506 * regmove.c (regmove_optimize): Don't replace a reg with
7507 another reg of a different mode.
7508
4a121cc3
AM
75092001-07-26 Andrew MacLeod <amacleod@redhat.com>
7510
1490f392 7511 * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
4a121cc3
AM
7512 limit length of dependancy flush list.
7513 * params.h (MAX_PENDING_LIST_LENGTH): Define.
7514 * sched-int.h (struct deps): Add pending_flush_length field.
7515 * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
7516 has 1 element in it.
7517 (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
7518 (sched_analyze): After a jump, if the pending memory flush list is too
7519 large, flush the pending lists.
7520 (init_deps): Initialize pending_flush_length to 0.
7521 * doc/invoke.texi (max_pending_list_length): Document parameter.
7522
440aabf8
NB
75232001-07-26 Neil Booth <neil@daikokuya.demon.co.uk>
7524
7525 * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
7526 * dbxout.c (dbxout_global_decl): Move outside #ifdef.
7527 * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
7528
cef0d199
NB
75292001-07-26 Neil Booth <neil@cat.daikokuya.demon.co.uk>
7530
7531 * cpphash.h (struct_lexer_state): Delete was_skipping.
7532 Move skipping here from struct cpp_reader.
7533 * cpplex.c (parse_identifier): Update.
7534 (_cpp_lex_token): Don't skip tokens in a directive.
7535 * cpplib.c (struct if_stack): Update.
7536 (start_directive, end_directive): Don't change skipping state.
7537 (_cpp_handle_directive): Update.
7538 (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
7539 (do_else, do_endif): Update; only check for excess tokens if not
7540 in a skipped conditional block.
7541 (push_conditional): Update for new struct if_stack.
7542
5b16f556
GS
75432001-07-26 Graham Stott <grahams@redhat.com>
7544
7545 * function.c (locate_and_pad_parm): Also pad initial offset
7546 so that the total argument size also includes the padding.
7547
75482001-07-26 Graham Stott <grahams@redhat.com>
7549
7550 * gensupport.c (alter_output_for_insn): Correct enable checking failure
7551 change XSTR to XTMPL.
7552
7553 (process_one_cond_exec): Likewise
7554
17eee61c
RH
75552001-07-25 Richard Henderson <rth@redhat.com>
7556
7557 * varasm.c (assemble_variable): Create DECL_RTL before setting
7558 TREE_ASM_WRITTEN.
7559
c4f81e4a
JH
7560Thu Jul 26 00:19:30 CEST 2001 Jan Hubicka <jh@suse.cz>
7561
7562 * predict.c (estimate_probability): Avoid duplicated predictions.
7563
7564 * loop.c (find_and_verify_loops): Grok multiple barriers.
7565
02e3f1a8
RK
7566Wed Jul 25 18:00:05 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7567
472385a2
RK
7568 * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
7569
02e3f1a8 7570 * dbxout.c: Consistently use putc instead of fputc.
1490f392 7571 (print_wide_int): New function; call instead of direct fprintf.
02e3f1a8
RK
7572 (dbxout_type_index): Adjust calls of CHARS to be more accurate.
7573 (dbxout_type_fields, dbxout_type_method_1): Likewise.
7574 (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
7575 (print_int_cst_octal): Likewise.
7576 (print_octal): Show we wrote characters.
7577 (dbxout_type): Set have_used_extensions in more places.
7578
f2d28b14
CM
75792001-07-25 Catherine Moore <clm@redhat.com>
7580
39f95a2c
JH
7581 * config/v850/v850.c (v850_va_arg): Use addr
7582 instead of valist to build incr.
f2d28b14 7583
6e64a52a
JH
7584Wed Jul 25 22:48:59 CEST 2001 Jan Hubicka <jh@suse.cz>
7585
7586 * flow.c (delete_dead_jumptables): New function.
7587 (life_analyzis): Call it.
02e3f1a8
RK
7588 * bb-reorder.c (skip_insns_after_block): Handle contradictory
7589 sequences.
6e64a52a 7590
7f206d8f
RH
75912001-07-25 Richard Henderson <rth@redhat.com>
7592
7593 * except.c (reachable_handlers): Handle a region being removed
7594 out from under a RESX.
7595
56f19d92
RH
75962001-07-25 Richard Henderson <rth@redhat.com>
7597
7598 * config/alpha/alpha.c (alpha_emit_conditional_move): Always
02e3f1a8 7599 swap GE/GT if it is an fp comparison.
56f19d92
RH
7600
76012001-07-25 Andrew Haley <aph@cambridge.redhat.com>
3237ac18
AH
7602
7603 * alias.c (rtx_equal_for_memref_p): Allow strings as types in
7604 operands.
7605
42f28de9
JL
7606Wed Jul 25 08:25:01 2001 Jeffrey A Law (law@cygnus.com)
7607
1490f392 7608 * ssa.c (rename_insn_1): Do not wrap an assignment to a
ea0eceb1
JL
7609 paradoxical SUBREG inside a SEQUENCE. Fix minor formatting
7610 glitch.
7611
42f28de9
JL
7612 * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
7613 throw an exception.
7614 (visit_expression): When attempting to simplify an expression,
7615 retrieve any modes for arguments before they are simplified
7616 to constants.
7617
7c2b017c
AM
76182001-07-25 Andrew MacLeod <amacleod@redhat.com>
7619 Janis Johnson <janis@us.ibm.com>
7620
7621 * stmt.c (expand_goto): A nonlocal goto can be a call too.
7622 * builtins.c (expand_builtin_longjmp): Reverse label and static chain
7623 pointer parameters to match documented usage of nonlocal_goto.
7624 * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
7625 parameters to their correct order.
7626 * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
7627 parameters to their correct order.
7628
ff3daa88
AM
76292001-07-25 Andrew MacLeod <amacleod@redhat.com>
7630
7631 * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
7632
a368a2fa
JH
76332001-07-25 Jan Hubicka <jh@suse.cz>
7634 Richard Henderson <rth@redhat.com>
7635
7636 * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
7637 the sequence.
7638 (make_edges): New argument update_p; populate the edge cache if set.
7639 (find_basic_blocks): Update make_edges invocation.
7640
303e979a
JS
76412001-07-24 Joel Sherrill <joel@OARcorp.com>
7642
7643 * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
7644
7adb4be8
JS
76452001-07-24 Joel Sherrill <joel@OARcorp.com>
7646
39f95a2c 7647 * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
7adb4be8 7648 -Acpu and -Amachine.h.
39f95a2c
JH
7649 * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
7650 Corrected header to say ELF not a.out.
7651 * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
7adb4be8
JS
7652 when given -msoft-float.
7653
76542001-07-24 Joel Sherrill <joel@OARcorp.com>
bb8602be
JS
7655
7656 * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
7657 extra multilib parts like arm-elf.
7658 (i960-*-coff*, i960-*-rtems): Should not use collect2.
7659 (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
7660 crtfini.o as extra multilib parts.
7661
e08f13ee
JS
76622001-07-24 Joel Sherrill <joel@OARcorp.com>
7663
7664 * configure.in: Add rtems as a supported thread model.
7665 * gthr-rtems.h: Add missing entry point __gthread_active_p.
7666 * configure: Rebuilt.
7667
0c237688
LB
76682001-07-24 Lars Brinkhoff <lars@nocrew.org>
7669
7670 * stor-layout.c (get_mode_alignment): make it work when
7671 BITS_PER_UNIT is not a power of two.
7672 * builtins.c (get_pointer_alignment): Likewise.
7673
5a2aa3bd
RH
76742001-07-24 Richard Henderson <rth@redhat.com>
7675
7676 * simplify-rtx.c (avoid_constant_pool_reference): Coerce
7677 the retrieved constant into the expected mode.
7678
ca9fef16
JH
7679Wed Jul 25 01:41:27 CEST 2001 Jan Hubicka <jh@suse.cz>
7680
7681 * flow.c (try_simplify_condjump): Avoid duplicated edges.
7682 (verify_flow_info): Check for duplicated edges; clarify
7683 error reporting.
7684
7685 * flow.c (block_label): Update basic_block_for_insn.
7686 (commit_edge_insertions): Call compute_bb_for_insn.
7687
7688 * flow.c (purge_dead_edges): Handle conditional jumps and conditional
7689 returns too.
7690
7691 * flow.c (redirect_edge_and_branch,
7692 try_optimize_cfg): Use redirect_edge_succ_nodup
7693 (redirect_edge_succ_nodup): New.
7694 * basic_block.h (redirect_edge_succ_nodup): Declare.
7695
7696 * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
7697 after gcse.
7698
40fc4e6a
JH
7699Wed Jul 25 00:32:49 CEST 2001 Jan Hubicka <jh@suse.cz>
7700
7701 * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
7702 (try_crossjump_to_edge): Update commetns.
7703 (try_crossjump_bb): Likewise.
7704
e7139885
RH
77052001-07-24 Richard Henderson <rth@redhat.com>
7706
7707 * combine.c (distribute_notes): Move set of need_refresh
7708 for noop_move_p down to catch all cases.
7709
6f862f2f
JH
7710Tue Jul 24 20:32:44 CEST 2001 Jan Hubicka <jh@suse.cz>
7711
7712 * recog.c (split_all_insns_noflow): New.
7713 * rtl.h (split_all_insns_noflow): Declare.
7714 * ia64.c (ia64_reorg): Use split_all_insns_noflow.
7715 * m68hc11.c (m68hc11_reorg): Likewise.
7716 * sh.c (machine_dependent_reorg): Likewise.
7717 * toplev.c (rest_of_compilation): Likewise for last split_all_insns
7718 call.
7719
615cd49b
AH
77202001-07-18 Andrew Haley <aph@cambridge.redhat.com>
7721
bb8602be
JS
7722 * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
7723 (ashlsi3_n splitter): Likewise.
7724 (lshrsi3_n splitter): Likewise.
615cd49b 7725
bb8602be
JS
7726 (GOTaddr2picreg): Make const SImode.
7727 (sym_label2reg): Likewise.
7728 (symGOT2reg): Likewise.
7729 (symGOTOFF2reg) Likewise.
615cd49b 7730
bb8602be 7731 (casesi_worker_0): Make unspec SImode.
615cd49b 7732
2b9d17c7
AH
77332001-07-18 Andrew Haley <aph@cambridge.redhat.com>
7734
bb8602be
JS
7735 * config/sh/sh.c (barrier_align): Check that an operand really is
7736 an insn before extracting its INSN_CODE.
2b9d17c7 7737
cfe1cd40
AH
77382001-07-24 Andrew Haley <aph@cambridge.redhat.com>
7739
7740 * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
7741 dangling else.
7742
7743 * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
7744 for SImode to prevent overflow.
7745
46d2e8d7
RO
77462001-07-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7747
7748 * config/mips/irix6-libc-compat.c: New file.
7749 * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
7750 * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
7751 passing workaround.
7752
cd6e5291
LB
77532001-07-24 lars brinkhoff <lars@nocrew.org>
7754
7755 * rtl.texi (REG_POINTER): Document.
7756 (Machine Modes): Document BImode, OImode, PQImode, PHImode,
7757 QFmode, HFmode, TQFmode, QCmode, and HCmode.
7758
8f54d2ff
JH
7759Tue Jul 24 10:49:40 CEST 2001 Jan Hubicka <jh@suse.cz>
7760
7761 * flow.c (delete_noop_moves): Do not confuse libcall regions.
7762
6a7ca996
RH
77632001-07-23 Richard Henderson <rth@redhat.com>
7764
7765 * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
7766
ba412630
KH
77672001-07-23 Kazu Hirata <kazu@hxi.com>
7768
7769 * config/h8300/h8300-protos.h: Add a prototype for
7770 general_operand_dst_push.
1490f392 7771 * config/h8300/h8300.c (general_operand_dst_push): New.
ba412630
KH
7772 * config/h8300/h8300.h (OK_FOR_T): New.
7773 (EXTRA_CONSTRAINT): Use it.
7774 * config/h8300/h8300.md (movqi_push): Remove and integrate into
7775 the existing movqi pattern.
7776 (movhi_push): Likewise.
7777
82efa2e5
KH
7778 * reload.c: Fix comment typos.
7779
21715220
JH
7780Mon Jul 23 23:34:07 CEST 2001 Jan Hubicka <jh@suse.cz>
7781
7782 * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
7783
dd96fbc5
L
77842001-07-23 H.J. Lu (hjl@gnu.org)
7785
7786 * doc/extend.texi: Update __builtin_return_address and
7787 __builtin_frame_address.
7788
c50e5bc0
RH
77892001-07-23 Richard Henderson <rth@redhat.com>
7790
7791 * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
7792 before CSE.
7793 * config/i386/i386.md: New setcc+movzbl peephole2.
7794
9099cc4f
NB
77952001-07-23 Neil Booth <neil@cat.daikokuya.demon.co.uk>
7796
7797 * objc/Make-lang.in (objc-act.o): Depend on debug.h.
7798 * objc/objc-act.c: Include debug.h.
7799 (synth_module_prologue): Save and restore debug hooks too.
7800
68eb4fb9
LB
78012001-07-23 lars brinkhoff <lars@nocrew.org>
7802
7803 * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
7804 and C4X_FLOAT_FORMAT.
7805 (BOOL_TYPE_SIZE): Document.
7806
57de7530
CP
7807Mon Jul 23 11:54:23 2001 Clinton Popetz <cpopetz@cpopetz.com>
7808
7809 * unroll.c (loop_iterations): Fix miscalculation of initial
7810 giv offset.
7811
6e7b03e1
AH
78122001-07-13 Andrew Haley <aph@redhat.com>
7813
bb8602be
JS
7814 * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
7815 * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
7816 * config/sh/sh.c (sh_can_redirect_branch): New function.
7817 * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
7818 * reorg.c (steal_delay_list_from_target): Use
7819 MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
6e7b03e1 7820
0dd94abd
JH
7821Mon Jul 23 17:20:18 CEST 2001 Jan Hubicka <jh@suse.cz>
7822
7823 * flow.c (try_simplify_condjump): Unlink insn chain on
7824 fallthru edge; use can_fallthru.
7825
0005550b
JH
7826Mon Jul 23 16:03:19 CEST 2001 Jan Hubicka <jh@suse.cz>
7827
7828 * basic-block.h (find_sub_basic_block): Declare.
7829 * flow.c (make_edges): New arguments MIN and MAX;
7830 (find_sub_basic_blocks): Revamp to use make_edges
7831 and purge_dead_edges.
7832 (find_basic_blocks): Update call of find_sub_basic_block.
7833
7834 * recog.c (split_all_insns): Always expect CFG to be consistent;
7835 call find_sub_basic_blocks in case something has changed.
7836 * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
7837 has been built.
7838
7839 * basic-block.h (delete_noop_moves): Declare.
7840 * combine.c (combine_instructions): Call it.
7841 (recog_for_combine): Tolerate noop moves
7842 (distribute_notes): Force refresh when register dies at noop move.
7843 * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
7844 too.
7845 (life_analysis): Update delete_noop_moves call.
7846 (set_noop_p): Move too ...
7847 * rtlanal.c (noop_move_p): ... here.
7848 * rtl.h (noop_move_p): Declare.
7849
7850 * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
7851 * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
7852 after combine.
7853 * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
7854 (cprop_jump): Likewise; call purge_dead_edges if substitution suceeded.
7855
e0120d6e
HPN
78562001-07-23 Hans-Peter Nilsson <hp@bitrange.com>
7857
7858 * reload.c (push_reload): Fix typo in comment.
7859 (find_reloads_address): Ditto.
7860 (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
7861
b02eea61
RH
78622001-07-22 Richard Henderson <rth@redhat.com>
7863
7864 * flow.c: Grammar check and clarify a lot of comments.
7865 (try_simplify_condjump): Rename variables to be clearer.
7866 (try_forward_edges): Skip complex and fallthru edges.
7867 Rearrange tests to avoid duplicate checks.
7868 (flow_find_cross_jump): Likewise.
7869 (outgoing_edges_match): Allow match if neither branch has
7870 probability data. Loosen probability match to 5%.
1490f392 7871 (try_crossjump_to_edge): Hoist repeated indirection into
b02eea61
RH
7872 local variables.
7873 (try_crossjump_bb): Don't check complex edges. Eliminate
7874 redundant crossjump tests.
7875 (try_optimize_cfg): Fix use of bool. Reorganize cheaper
7876 checks before more expensive checks.
7877
1f2f8b29
RH
78782001-07-22 Richard Henderson <rth@redhat.com>
7879
7880 * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
7881 INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
7882 arguments.
7883
97660e20
RH
78842001-07-22 Richard Henderson <rth@redhat.com>
7885
7886 * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
7887 (const_sint32_operand): Likewise.
7888 * m68k.md (anon mulsi pattern): Use const_int_operand not
7889 const_sint32_operand.
7890 (umulsi3_highpart): Zero extend a constant input.
7891 (smulsi3_highpart): Don't bother checking SImode constant.
7892 (const_umulsi3_highpart): Give op3 DImode.
7893 (const_smulsi3_highpart): Likewise.
7894
0b6301ae
RH
78952001-07-22 Richard Henderson <rth@redhat.com>
7896
7897 * flow.c (split_block): Make sure bb_note is included in the
7898 new block when splitting before a label.
7899
6b24c259
JH
7900Sun Jul 22 23:28:56 CEST 2001 Jan Hubicka <jh@suse.cz>
7901
7902 * basic-block.h (redirect_edge_and_branch_force,
7903 redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
7904 * flow.c (redirect_edge_and_branch_force,
7905 redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
7906 (redirect_edge_and_branch_force): Fix copying of lifeness information.
7907 (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
7908 * ifcvt.c (dead_or_predictable): Take BB as an new destionation
7909 instead of label; update CFG after transformation.
7910 (find_if_case_1): Update call, use redirect_edge_and_branch_force
7911 for finishing the transformation; handle even case where ELSE
7912 does not follow THEN.
7913 (find_if_case_2): Update call of dead_or_predictable; simplify
7914 CFG update.
7915
7916 * emit-rtl.c (split_branch_probability): New global variable.
7917 (try_split): Take care to set split_branch_probability and
7918 create REG_BR_PROB note for new jump insns.
7919 * md.texi (define_split): Document new feature.
7920
7921 * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
7922
544f03b4
NB
79232001-07-22 Neil Booth <neil@daikokuya.demon.co.uk>
7924
7925 * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
7926 (asm_out_file): Remove redundant declaration.
7927 (assemble_asm): Remove old #if 0 block.
7928 (assemble_variable): Remove end of function; debug output is
7929 now handled with global_decl. Remove old #if 0 block. Update.
7930 Remove saved_in_section and associated no-op code.
7931 * Makefile.in (varasm.o): Correct dependencies.
7932
bad1f214
AO
7933Sun Jul 22 17:55:11 2001 Alexandre Oliva <aoliva@redhat.com>
7934
7935 * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
7936 the definition in defaults.h.
7937
0045d504
JH
7938Sun Jul 22 21:31:04 CEST 2001 Jan Hubicka <jh@suse.cz>
7939
7940 * jump.c: Update comments.
7941 (delete_barrier_successors, delete_unreferenced_labels,
7942 delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
7943 delete_labelref_insn, redirect_tablejump, jump_optimize_1,
7944 jump_optimize, jump_optimize_minimal): Kill.
7945 (rebuild_jump_labels): Move code from jump_optimize_1.
7946 (purge_line_number_notes): Likewise.
7947 (copy_loop_headers): Likewise.
7948 * reg-stack.c: Update comment.
7949 * stmt.c: Likewise.
7950 * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
7951 JUMP_AFTER_REGSCAN): Kill.
7952 * toplev.c (rest_of_compilation): Use cleanup_cfg, call
7953 purge_line_number_notes and copy_loop_headers.
7954
3914abb4
NB
79552001-07-22 Neil Booth <neil@daikokuya.demon.co.uk>
7956 Richard Henderson <rth@redhat.com>
7957
7958 * dbxout.c (dbxout_global_decl): New.
7959 (xcoff_debug_hooks, dbx_debug_hooks): Use it.
7960 * sdbout.c (sdbout_finish): New.
7961 (sdbout_debug_hooks): Use it, add comments.
7962 (sdbout_global_decl): Defer initialised public vars to
7963 sdbout_finish.
7964 * varasm.c (assemble_variable): Don't output debug information
7965 for file-scope variables.
7966
be7560ea
RH
79672001-07-22 Richard Henderson <rth@redhat.com>
7968
7969 * config/alpha/alpha.c (get_trap_mode_suffix): New.
7970 (get_round_mode_suffix): New.
7971 (print_operand): Use them for [/]. Remove support for [&'`()+].
7972 * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
7973 * config/alpha/alpha.md (attr round_suffix): New.
7974 (attr trap_suffix): New.
7975 (all insns): Set them appropriately. Use %/ instead of the
7976 myriad punctuators.
7977
65ecca65
NB
79782001-07-22 Neil Booth <neil@cat.daikokuya.demon.co.uk>
7979
7980 * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
7981
4e812700
RH
79822001-07-22 Richard Henderson <rth@redhat.com>
7983
7984 * regrename.c (regrename_optimize): Compute nregs for each
7985 potential target register.
7986
f7e10587
NB
79872001-07-21 Neil Booth <neil@daikokuya.demon.co.uk>
7988 Richard Henderson <rth@redhat.com>
7989
7990 * dbxout.c (dbxout_global_decl): New.
7991 (xcoff_debug_hooks, dbx_debug_hooks): Use it.
7992 * sdbout.c (sdbout_finish): New.
7993 (sdbout_debug_hooks): Use it, add comments.
7994 (sdbout_global_decl): Defer initialised public vars to
7995 sdbout_finish.
7996 * varasm.c (assemble_variable): Don't output debug information
7997 for file-scope variables.
7998
919b1aec
L
79992001-07-21 H.J. Lu (hjl@gnu.org)
8000
8001 * config/mips/mips.c (mips_cpu): Moved into ...
8002 (override_options): Here.
8003
8004 * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
8005 mips_tune.
8006 (mips_cpu): Removed.
8007
0477256c
SC
80082001-07-21 Stephane Carrez <Stephane.Carrez@worldnet.fr>
8009
8010 * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
8011 ("iorqi3"): Likewise.
8012 ("xorqi3"): Likewise.
8013 ("*addhi3"): Fix constraint to avoid reloading in a soft register.
8014 ("*subhi3_sp): Likewise.
8015 ("*subhi3"): Likewise.
1490f392 8016 ("extendhisi2"): Accept D, X and Y as source operand to avoid
0477256c
SC
8017 reload problems.
8018
c4372ef4
NS
80192001-07-21 Nathan Sidwell <nathan@codesourcery.com>
8020
8021 * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
8022 * config/freebsd.h: Likewise.
8023 * config/linux.h: Likewise.
8024 * config/openbsd.h: Likewise.
8025 * config/alpha/linux-elf.h: Likewise.
8026 * config/arm/linux-elf.h: Likewise.
8027 * config/d30v/d30v.h: Likewise.
8028 * config/fr30/fr30.h: Likewise.
8029 * config/ia64/aix.h: Likewise.
8030 * config/ia64/ia64.h: Likewise.
8031 * config/mips/linux.h: Likewise.
8032 * config/pj/pj.h: Likewise.
8033 * config/rs6000/linux.h: Likewise.
8034 * config/sparc/linux.h: Likewise.
8035 * config/sparc/linux64.h: Likewise.
8036
90376ae2
BK
80372001-07-20 Bruce Korb <bkorb@gnu.org>
8038
8039 * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
8040 because getc() and char* may disagree on signedness.
8041
50b996bf
RH
80422001-07-20 Richard Henderson <rth@redhat.com>
8043
8044 * doc/rtl.texi (REG_DEAD): Update for current semantics.
8045
e9644cfe
RH
8046 * flow.c (try_redirect_by_replacing_jump): Correctly compute which
8047 insns to delete in the presence of cc0 in a jump insn.
8048
ed6ba1a5
RZ
8049Fri Jul 20 22:14:49 CEST 2001 Roman Zippel <zippel@linux-m68k.org>
8050 Jan Hubicka <jh@suse.cz>
8051
8052 * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
8053 of doing the change by hand.
8054
371b8fc0
JH
8055Fri Jul 20 21:59:42 CEST 2001 Jan Hubicka <jh@suse.cz>
8056
8057 * rtlanal.c (set_noop_p): Return true for noop jumps.
8058
8059 * expr.c (emit_single_push_insn): Add call to push expander.
8060 * expr.h (optab_index): Add OTI_push
8061 (push_optab): New constant.
8062 * genopinit.c (optabs): Add push_optab.
8063 * optabs.c (init_optab): Init push optab.
8064 * md.texi (push??1): Document
8065
00d0458c
SC
80662001-07-20 Stephane Carrez <Stephane.Carrez@worldnet.fr>
8067
8068 * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
1490f392 8069 expand to emit the pattern; put a REG_INC note for push/pop
00d0458c
SC
8070 instructions.
8071 ("movdf", "movdf_internal"): Likewise.
8072 ("movsi", "movsi_internal"): Likewise.
8073 ("movsf", "movsf_internal"): Likewise.
8074 ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
8075
d74e9142
SC
80762001-07-20 Stephane Carrez <Stephane.Carrez@worldnet.fr>
8077
8078 * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
8079 gen_highpart.
8080
1c432a87
DB
80812001-07-20 Daniel Berlin <dan@cgsoftware.com>
8082
8083 * params.def: Change default max inline insns to 100.
8084
9def18da
DN
80852001-07-20 Diego Novillo <dnovillo@redhat.com>
8086
8087 * combine.c (combine_simplify_rtx): Generate a new shift operation
8088 when simplifying the first operand of a (neg (ashift)) expression.
8089
d4845339
RH
80902001-07-20 Roman Lechtchinsky <rl@cs.tu-berlin.de>
8091
8092 * regclass.c (N_REG_INTS): Use only 32 bits per element.
8093
80942001-07-20 Kelley Cook <kelley.cook@home.com>
dbd210ef
KC
8095
8096 * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
8097 information. Move rest into ...
8098 (*-*-solaris): ... here. Eliminate redundant information and
8099 reword necessary packages section. Delete 4.x assembler bug info.
8100 (sparc-sun-*): Merge into ...
8101 (sparc-sun-sunos*): here.
8102
3a97685a
CM
81032001-07-20 Catherine Moore <clm@redhat.com>
8104
97660e20
RH
8105 * config/v850/v850.md (casesi): Generate LABEL_REF
8106 with Pmode.
3a97685a 8107
d24b3457
JH
8108Fri Jul 20 14:12:57 CEST 2001 Jan Hubicka <jh@suse.cz>
8109
8110 * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
8111 * i386.c (ix86_zero_extend_to_Pmode): Make global.
8112 * i386.md (strclrsi expander): Use it.
8113
bc8d3f91
JH
8114Fri Jul 20 13:24:16 CEST 2001 Jan Hubicka <jh@suse.cz>
8115
8116 * integrate.c (copy_insn_list): handle
8117 NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
8118 (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
8119 identically as to CODE_LABEL.
8120
8121 * fold-const (fold): Convert A/B/C to A/(B*C) and
8122 A/(B/C) to (A/B)*C
8123
8124 * except.c (connect_post_landing_pads): Delete the RESX insns.
8125
1f28c666
AH
81262001-07-20 Aldy Hernandez <aldyh@redhat.com>
8127
97660e20 8128 * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
1f28c666
AH
8129
8130 * config/mips/mips.md (nmadd/nmsub): Use macro.
8131
002ee64f
NS
81322001-07-20 Nathan Sidwell <nathan@codesourcery.com>
8133
8134 * cppinit.c (remove_dup_dir): Make static.
8135 (remove_dup_dirs): Make static. Only warn about preempting a
8136 system directory with a non-system directory.
8137
038fb2bc
GK
81382001-07-19 Geoffrey Keating <geoffk@redhat.com>
8139
8140 * ifcvt.c (noce_try_store_flag_constants): Correct order
8141 of parameters to trunc_int_for_mode.
8142
be672de8
MM
81432001-07-19 Mark Mitchell <mark@codesourcery.com>
8144
8145 * reorg.c (fill_simple_delay_slots): If an instruction might throw
8146 an exception that will be caught within this function, do not fill
8147 its delay slot with any subsequent instruction.
8148
6dd12198
SE
81492001-07-19 Steve Ellcey <sje@cup.hp.com>
8150
8151 * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
8152 * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
8153 pointer extension instruction.
8154 * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
8155 * simplify-rtx.c (simplify_unary_operation) Likewise.
1490f392 8156 * explow.c (convert_memory_address) Check value of
6dd12198
SE
8157 POINTERS_EXTEND_UNSIGNED to avoid some conversions when
8158 less than zero.
8159 * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
8160 MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
8161 * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
8162 Add Multilib Support.
8163 (POINTERS_EXTEND_UNSIGNED) Define for ILP32 support.
8164 * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
8165 Add Multilib Support.
8166 (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
8167 support.
8168 * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
8169 * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
8170 a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
8171
0248ce05
AO
81722001-07-19 Alexandre Oliva <aoliva@redhat.com>
8173
8174 * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
8175 old and new operands in `<', `3' and `b'.
8176
e1772ac0
NB
81772001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
8178
8179 * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
8180 (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
8181 (toplev.o): Don't depend on xcoffout.h.
8182 * c-decl.c: Include debug.h
8183 (duplicate_decls): Use debug hook.
8184 * dbxout.c (dbxout_source_file, dbxout_args): Make static.
8185 (dbx_debug_hooks, xcoff_debug_hooks): Update.
8186 (dbxout_types): Remove.
8187 * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
8188 * debug.c (do_nothing_debug_hooks): Update.
8189 (debug_true_tree, debug_nothing_rtx): New.
8190 * debug.h (struct rtx_def): New.
8191 (struct gcc_debug_hooks): New hooks ignore_block,
8192 outlining_inline_function and label.
8193 (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
8194 dwarf2out_frame_finish): New.
8195 * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
8196 Make static, update prototype.
8197 (dwarf2_debug_hooks): Update.
8198 * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
8199 dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
8200 * dwarfout.c (dwarf_debug_hooks): Update.
8201 * emit-rtl.c: Include debug.h.
8202 (remove_unnecessary_notes): Use debug hook.
8203 * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
8204 (final_scan_insn): Use debug hook.
8205 * integrate.c (output_inline_function): Use debug hook.
8206 * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
8207 (sdb_debug_hooks): Update.
8208 * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
8209 * toplev.c: Don't include xcoffout.h.
8210 (note_outlining_of_inline_function, debug_ignore_block): Remove.
8211 * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
8212 Remove.
8213 * tree.h (dwarf2out_do_frame): Remove.
8214
77f43519
CM
82152001-07-19 Catherine Moore <clm@cygnus.com>
8216
1490f392 8217 * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
77f43519 8218
d54ef62c
GK
82192001-07-19 Geoffrey Keating <geoffk@redhat.com>
8220
c77fbfbe
GK
8221 * reload1.c (eliminate_regs_in_insn): When updating a set
8222 to the frame pointer to the hardware frame pointer, perform
8223 the update always not just when REPLACE is set.
8224
eb4d554e
GK
8225 * reload1.c (choose_reload_regs): Don't inherit a reload
8226 that crosses multiple registers if registers past the first
8227 don't fit in the desired class.
8228
d54ef62c
GK
8229 * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
8230 when negating constants.
8231
7d46d516
TM
82322001-07-19 Toon Moene <toon@moene.indiv.nluug.nl>
8233
8234 * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
8235 * doc/tree.texi: Ditto.
8236
5442cf15
MK
82372001-07-19 Mark Kettenis <kettenis@wins.uva.nl>
8238 Jakub Jelinek <jakub@redhat.com>
8239
8240 * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
8241 (extract_cie_info): Handle "eh" augmentation properly,
8242 remember eh_ptr.
8243 (struct frame_state, __frame_state_for): New.
8244
432fa9f2
RO
82452001-07-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8246
8247 * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
8248 HANDLE_SYSV_PRAGMA): Define.
8249 * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
8250 previous args.
8251 (copy_object): Caller changed.
8252
bfabbc3c
AS
82532001-07-19 Andreas Schwab <schwab@suse.de>
8254
8255 * configure.in (assembler dwarf2 debug_line support): Define nop
8256 insn for m68k.
8257 * configure: Regenerated.
8258
2b85879e
NB
82592001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
8260
8261 * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
8262 dwarfout.h.
8263 * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
8264 to conditionally compiled block.
8265 (dbx_debug_hooks, xcoff_debug_hooks): Update.
8266 * dbxout.h (dbxout_function): Remove.
8267 * debug.c (do_nothing_debug_hooks): Update.
8268 * debug.h (struct gcc_debug_hooks): New hooks function_decl,
8269 global_decl, deferred_inline_function.
8270 * dwarf2out.c (dwarf2_debug_hooks): Update.
8271 (dwarf2out_global_decl): New.
8272 * dwarfout.c: Don't include dwarfout.h.
8273 (dwarfout_global_decl, dwarfout_function_decl,
8274 dwarfout_deferred_inline_function): New.
8275 (dwarf_debug_hooks): Update.
8276 * dwarfout.h: Remove.
8277 * final.c: Don't include dwarfout.h.
8278 * sdbout.c (sdbout_global_decl): New.
8279 (sdbout_debug_hooks): Update.
8280 * toplev.c: Don't include dwarfout.h.
8281 (check_global_declarations, rest_of_compilation): Use new debug hooks.
8282 (note_deferral_of_defined_inline_function): Remove.
8283 * toplev.h (note_deferral_of_defined_inline_function): Remove.
8284 * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
8285 * ch/lex.c: Don't include dwarfout.h.
8286 * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
8287 (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
8288 * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
8289 * cp/optimize.c: Include debug.h.
8290 (maybe_clone_body): Use debug hook.
8291 * cp/semantics.c: Include debug.h.
8292 (expand_body): Use debug hook.
8293 * po/POTFILES.in: Remove dwarfout.h.
8294
c60e94a7
NB
82952001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
8296
8297 * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
8298 * c-parse.in (yyerror, _yylex): Similarly.
8299 * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
8300 Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
8301 Update comments.
8302 * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
8303 * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
8304
8458e954
JS
83052001-07-18 Jeff Sturm <jsturm@one-point.com>
8306
8307 * dwarf2out.c (dwarf2out_abstract_function): Don't emit
8308 in-class declaration at -g1. Fixes c++/2814.
8309
d989f648
RH
83102001-07-18 Richard Henderson <rth@redhat.com>
8311
8312 * doc/md.texi (reload_in/out): Document restrictions in predicates
8313 and constraints for these patterns. Document empty string matching
8314 ALL_REGS.
8315
20c93f7c
RO
83162001-07-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8317
8318 * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
8319
dc42616f
JH
8320Wed Jul 18 20:47:36 CEST 2001 Jan Hubicka <jh@suse.cz>
8321
8322 * cse.c: Undo my previous patch.
8323
f91abfce
TT
83242001-07-18 Tom Tromey <tromey@redhat.com>
8325
8326 For PR java/2812:
8327 * configure: Rebuilt.
8328 * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
8329 instead.
8330 * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
8331
0728902f
RH
8332Wed Jul 18 18:46:30 CEST 2001 Richard Henderson <rth@cygnus.com>
8333 Jan Hubicka <jh@suse.cz>
8334
8335 * flow.c (redirect_edge_and_branch): Bail out on complex edges.
8336 (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
8337 * jump.c (mark_jump_label): Do not forward branches.
8338
f06fbeea
JH
8339Wed Jul 18 18:35:01 CEST 2001 Jan Hubicka <jh@suse.cz>
8340
8341 * cse.c (delete_trivially_dead_insns): Delete the libcall block
8342 when return value is unused.
8343
222f7ba9
JH
8344Wed Jul 18 18:28:16 CEST 2001 Jan Hubicka <jh@suse.cz>
8345
8346 * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
8347
8b52df45
NP
8348Wed Jul 18 12:05:29 2001 Nicola Pero <n.pero@mi.flashnet.it>
8349
8350 * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
8351 on error. We can't blindly return the result of
8352 pthread_mutex_trylock because it returns a positive number on
8353 error, while we must return -1 on error.
8354 (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
1490f392 8355 fixes.
8b52df45
NP
8356 Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
8357
895b2cfe
AJ
83582001-07-18 Andreas Jaeger <aj@suse.de>
8359
8360 * integrate.c (output_inline_function): Correct type of debug_hooks.
8361
493efd37
TM
83622001-07-18 Toon Moene <toon@moene.indiv.nluug.nl>
8363
8364 * combine.c (combine_simplify_rtx): DIV can be treated
8365 associatively for floats if unsafe math optimisations are enabled.
8366
a7c07f1e
RH
83672001-07-17 Richard Henderson <rth@redhat.com>
8368
8369 * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
8370
3affaf29
RH
83712001-07-17 Richard Henderson <rth@redhat.com>
8372
8373 * calls.c (prepare_call_address): New parameter SIBCALLP. If true,
8374 don't force the function address into a register.
8375 (expand_call, emit_library_call_value_1): Update callers.
8376 * builtins.c (expand_builtin_apply): Likewise.
8377 * expr.h (prepare_call_address): Update decl.
8378
001da62a
CC
83792001-07-17 Chandrakala Chavva <cchavva@redhat.com>
8380
3affaf29
RH
8381 * config.gcc: For *-*-chorusos triplet, get chorus.h file from
8382 config directory.
8383 * config/i386/chorus.h: Move up.
8384 * config/sparc/chorus.h: Likewise.
8385 * config/rs6000/chorus.h: Likewise.
8386 * config/chorus.h: Moved here.
001da62a 8387
01efb963 83882001-07-17 Andreas Schwab <schwab@suse.de>
895b2cfe 8389
2bd2bdd9
CC
8390 * configure.in (assembler eh_frame optimization): Handle big
8391 endian.
8392 * configure: Regenerated.
01efb963 8393
b7e9703c
JH
8394Tue Jul 17 23:43:31 CEST 2001 Jan Hubicka <jh@suse.cz>
8395
8396 * expr.c (epxand_expr): Convert divisions into multiplications by
8397 reciprocals if -ffast-math.
8398
653e276c
NB
83992001-07-17 Neil Booth <neil@daikokuya.demon.co.uk>
8400
8401 * dbxout.c (dbxout_really_begin_function): Rename to
8402 dbxout_begin_function.
8403 (dbx_debug_hooks, xcoff_debug_hooks): Update.
8404 (dbxout_begin_function): Remove.
8405 (dbxout_function): Update.
8406 (dbxout_source_line): Update prototype.
8407 * dbxout.h (dbxout_begin_function): Remove.
8408 * debug.c (do_nothing_debug_hooks): Update.
8409 (debug_nothing_tree): Update.
8410 (debug_nothing_charstar_rtx): Remove.
8411 * debug.h (union tree_node): Declare.
8412 (struct rtx_def): Remove.
8413 (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
8414 begin_function. Change source_line prototype.
8415 (debug_nothing_tree): New.
8416 (debug_nothing_charstar_rtx): Delete.
8417 (dwarf2out_begin_prologue): Moved from ...
8418 * tree.h: ... here.
8419 * dwarf2out.c (dwarf2_debug_hooks): Update.
8420 (dwarf2out_begin_prologue): Update prototype. If genuine dwarf2
8421 debug info, call dwarf2out_source_line.
8422 (dwarf2out_souce_line): Update prototype.
8423 * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
8424 Change prototype, make static.
8425 (dwarfout_source_line): Update prototype.
8426 (dwarf_debug_hooks): Update.
8427 * dwarfout.h (dwarfout_begin_function): Remove.
8428 * final.c (final_start_function, final_scan_insn): Use appropriate
8429 debug hooks, update to use notice_source_line.
8430 (output_source_line): Rename notice_source_line. Don't call the
8431 source_line debug hook.
8432 * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
8433 make static, update prototype.
8434 (sdbout_mark_begin_function): Rename sdbout_begin_function, update
8435 prototype.
8436 (sdbout_end_prologue): New.
8437 (sdbout_source_line): Update prototype.
8438 (sdbout_debug_hooks): Update.
8439 (sdbout_symbol): Remove unused var.
8440 * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
8441 Delete.
8442 * varasm.c: Include debug.h.
8443 (assemble_start_function): Use begin_function debug_hook.
8444 * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
8445 update with prototype.
8446 (xcoffout_source_line): Update prototype.
8447 * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
8448 update prototype.
8449 (xcoffout_source_line): Update prototype.
8450
91a18fe0
RH
84512001-07-17 Richard Henderson <rth@redhat.com>
8452
8453 * c-typeck.c (build_binary_op): Do not shorten unsigned
8454 right shift after sign extension.
8455
4ba5f925
JH
8456Tue Jul 17 16:56:05 CEST 2001 Jan Hubicka <jh@suse.cz>
8457
8458 * combine.c (combine_simplify_rtx): Attempt to simplify
8459 a*(b/c) as (a*b)/c for floats in unsafe_math mode.
8460
8461 * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
8462 (simplify_binary_operation, simplify_unary_operation,
8463 simplify_relational_operation): Use it.
8464
8465 * combine.c (combine_simplify_rtx): Don't do associative law
8466 on divisions; allow associative law on floats.
8467
3aa8ab7b
L
84682001-07-17 H.J. Lu <hjl@gnu.org>
8469 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8470
8471 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
8472 ASM_OUTPUT_WEAK_ALIAS are defined.
8473 * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
8474 * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
8475 Moved ...
8476 * config/mips/iris5.h: ... here.
8477 (HANDLE_SYSV_PRAGMA): Defined as 1.
8478 * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
8479 * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
8480 symbol.
8481
4b01f8d8
JM
84822001-07-17 Joseph S. Myers <jsm28@cam.ac.uk>
8483
8484 * c-parse.in (all_prefix_attributes): New variable.
8485 (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
8486 (maybe_resetattrs): New production.
8487 (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
8488 maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
8489 notype_initdcl, nested_function, notype_nested_function,
8490 component_decl, components, components_notype,
8491 component_declarator, component_notype_declarator,
8492 absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
8493 ivars, mydecl, myparm): Update. Avoid prefix attributes just
8494 after a comma being applied to more than one declarator.
8495 * doc/extend.texi (Attribute Syntax): Update. Remove
8496 documentation of bugs that are no longer present.
8497
7a38df19
EC
84982001-07-13 Eric Christopher <echristo@redhat.com>
8499
8500 * config/mips/mips.h: Change TUNE_MIPS* options to use
8501 mips_tune.
8502 (EXTRA_SPECS): Add cc1_cpu_spec.
8503 * config/mips/mips.md (muldf3): Fix typo.
8504
6d5f49b2
RH
85052001-07-16 Richard Henderson <rth@redhat.com>
8506
8507 * config/m68k/m68k.c: Include expr.h and reload.h.
8508 (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
8509 [general int]: Use HOST_WIDE_INT_PRINT_DEC.
8510
0021de69
DB
85112001-07-16 Daniel Berlin <dan@cgsoftware.com>
8512 Richard Henderson <rth@redhat.com>
8513
8514 * cse.c (set_live_p): Take INSN argument for cc0; update callers.
8515 (insn_live_p): Fix fall off end of function.
8516 (dead_libcall_p): Remove COUNTS argument; update callers.
8517 (delete_trivially_dead_insns): Remove unused variables.
8518
b3bb6456
AJ
85192001-07-17 Andreas Jaeger <aj@suse.de>
8520
8521 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
8522 x86-64 pic support.
8523
8524 * lcm.c (optimize_mode_switching): Avoid warning for unused
51589632 8525 variable if !NORMAL_MODE.
b3bb6456
AJ
8526
8527 * flow.c (try_crossjump_to_edge): Remove unused variable.
8528
55105156
BK
85292001-07-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
8530
8531 * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
8532 atexit declaration in stdlib.h.
8533
85342001-07-16 Richard Begg <Richard.Begg@colesmyer.com.au>
8535
8536 * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
8537
4793dca1
JH
8538Mon Jul 16 22:48:00 CEST 2001 Jan Hubicka <jh@suse.cz>
8539
8540 * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
8541 * except.c (finish_eh_generation): Update call of cleanup_cfg;
8542 do rebuild_jump_labels instead of jump_optimize
8543 * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
8544 * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
8545 * flow.c (try_optimize_cfg): Remove unneeded code_labels.
8546
8547 * flow.c: Include timevar.h
8548 (find_basic_block): Push/pop timevar;
8549 (cleanup_cfg): Likewise.
8550 * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
8551 * Makefile: Add dependencies on timevar.h
8552
8553 * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
8554 (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
8555
8556 * rtl.h (delete_trivially_dead_insns): Add new parameter.
8557 * toplev.c (rest_of_compilation): Update calls.
8558 * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
8559 (delete_trivially_dead_insns): ... here; accept new argument
8560 preserve_basic_blocks; preserve basic blocks if set.
8561
8562 * reg-stack.c (stack_regs_mentioned): Return 0 if
8563 stack_regs_mentioned_data is not initialized.
8564 (reg_to_stack): Make stack_regs_mentioned survive after the
8565 reg-stack is completted; do not call cleanup_cfg.
8566 * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
8567 make cleanup_cfg after bb-reorder to output to debug file.
8568
b85946fc
RH
85692001-07-16 Richard Henderson <rth@redhat.com>
8570
8571 * regclass.c (init_reg_sets): Use only 32 bits per initializer
8572 from int_reg_class_contents.
8573
4e2db584
RH
85742001-07-16 Richard Henderson <rth@redhat.com>
8575
8576 * hard-reg-set.h (regs_invalidated_by_call): Declare.
8577 * regclass.c (regs_invalidated_by_call): Move from cse.c.
8578 (init_reg_sets_1): Move initialization from cse_main.
8579 * cse.c (regs_invalidated_by_call): Move to regclass.c.
8580 (cse_main): Move its initialization also.
8581 * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
8582 * flow.c (propagate_one_insn): Likewise.
8583 * gcse.c (compute_hash_table): Likewise.
8584 (compute_kill_rd, compute_store_table): Likewise.
8585 * sched-deps.c (sched_analyze_1): Likewise.
8586
cccf0ae8
R
8587Mon Jul 16 18:07:07 2001 J"orn Rennecke <amylaar@redhat.com>
8588
8589 * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
8590 gen_rtx_SET.
8591
94fc7dea
SE
85922001-07-16 Steve Ellcey <sje@cup.hp.com>
8593
8594 * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
8595 in if statement so we don't access undefined memory.
8596
978cf2fc
DB
85972001-07-16 Daniel Berlin <dan@cgsoftware.com>
8598
b3bb6456 8599 * gcse.c: Update comment at top.
ccef9ef5
DB
8600 Update comment on mem handling.
8601 mem_last_set, mem_first_set, mem_set_in_block: gone.
8602 Declaration of reg_set_info: gone.
8603 (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
8604 pointless with load_killed_in_block_p (they are *more*
8605 conservative then it, not less, and less accurate).
b3bb6456 8606 (oprs_not_set_p): Ditto.
ccef9ef5
DB
8607 (alloc_gcse_mem): Don't allocate mem_set_in_block
8608 (free_gcse_mem): Don't free it, either.
8609 (record_last_mem_set_info): Update comment in front, remove
8610 mem_*set_* stuff. Note the reason we don't handle stores directly
8611 here.
8612 (compute_hash_table): Update comments to reflect reality. Remove
8613 mem_*set_* references.
8614 (reset_opr_set_tables): Remove mem_*set_* references.
8615 (mark_call): Ditto.
b3bb6456 8616 (mark_set): Ditto. Also remove double sets of bitmaps for REG's.
ccef9ef5
DB
8617 (mark_clobber): Ditto (on both parts, we double set here too).
8618 (expr_killed_p): Remove mem_set_in_block test.
8619 (compute_transp): Remove mem_set_in_block test.
8620
978cf2fc 8621 * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
b3bb6456 8622 of edge, and removal of phi alternative to dump file.
978cf2fc
DB
8623 (ssa_ccp_substitute_constants): Add note about register now being
8624 constant, and which uses were replaced in what insns to dump file.
8625
23190837
AJ
86262001-07-16 Andreas Jaeger <aj@suse.de>
8627
8628 * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
8629 variables of type HOST_WIDEST_INT.
8630
8631 * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
8632 (__bb_exit_func): Correct type of count_max to avoid overflow.
8633 (num_digits): Handle long long argument.
8634
8635 * combine.c (gen_lowpart_for_combine): Remove unused variable.
8636
f4dc8d96
NB
86372001-07-16 Neil Booth <neil@cat.daikokuya.demon.co.uk>
8638
8639 * output.h (sdb_begin_function_line): Restore as an extern
8640 variable.
8641 * sdbout.c (sdb_begin_function_line): Make extern.
8642
9e9f3ede
RH
86432001-07-15 Richard Henderson <rth@redhat.com>
8644
8645 * machmode.def (Pmode): Redefine if GENERATOR_FILE.
8646 * genrecog.c (maybe_both_true_mode): New.
8647 (maybe_both_true_2): Use it.
8648 (write_switch): Don't put Pmode in a switch.
8649 * rtl.c (mode arrays): Don't explicitly size them.
8650
22fb740d
JH
8651Sun Jul 15 14:07:36 CEST 2001 Jan Hubicka <jh@suse.cz>
8652
8653 * toplev.c (rest_of_compilation): Fix register_life_up_to_date
8654 handling; move unconditional splitting before mode switching.
8655
8656 * i386.md (type): Add fistp type.
8657 (i387, length_attr, scheduling definitions): Handle this type.
8658 (fix_trunc?f?i2): Revamp to use mode switching.
8659 (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
8660 * i386.h (fp_cw_mode): New enum
8661 (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
8662 MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
8663
135d50f1
RK
8664Sun Jul 15 12:53:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8665
8666 * Makefile.in (integrate.o): Add debug.h.
8667 * integrate.c (debug.h): Add.
8668 (output_inline_function): Save, reset, and restore debug_hooks.
8669
b762a0ef
RH
86702001-07-15 Richard Henderson <rth@redhat.com>
8671
8672 * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
8673 instead of COMPARE for the EQUIV expression.
8674
c319629b
RH
86752001-07-15 Richard Henderson <rth@redhat.com>
8676
8677 * flow.c (redirect_edge_and_branch_force): Initialize
8678 global_live_at_start and global_live_at_end.
8679 (allocate_bb_life_data): Export.
8680 * basic-block.h (allocate_bb_life_data): Declare.
8681 * toplev.c (rest_of_compilation): Call it.
8682
25e21aed
RH
86832001-07-15 Richard Henderson <rth@redhat.com>
8684
8685 * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
8686 (alpha_tablejump_best_label): New.
8687 * config/alpha/alpha-protos.h: Declare them.
8688 * config/alpha/alpha.md: Use braced strings for code blocks.
8689 (tablejump_osf): Break out add with r29.
8690 (tablejump_osf_internal): Remove.
8691 (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
8692 use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
8693
03598dea
JH
8694Sun Jul 15 00:53:35 CEST 2001 Jan Hubicka <jh@suse.cz>
8695
8696 * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
8697 of the movable.
8698
8699 * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
8700
8701 * i386-protos.h (ix86_split_fp_branch): Update prototype.
8702 (ix86_fp_jump_nontrivial_p): New.
8703 * i386.md (fp_jcc_?): Update call of split_fp_branch;
8704 use ix86_fp_jump_nontrivial_p.
8705 * i386.c (ix86_fp_jump_nontrivial_p): New.
8706 (ix86_split_fp_branch): Accept code instead of rtx.
8707 (ix86_expand_compare): Expand comparison early in case
8708 doing so is resonably cheap.
8709
b8313db6
NC
87102001-07-15 Nick Clifton <nickc@cambridge.redhat.com>
8711
8712 * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
8713 not 'machine'.
8714 (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
8715 (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
8716
e2a12aca
NB
87172001-07-15 Neil Booth <neil@daikokuya.demon.co.uk>
8718
8719 * dbxout.c (dbxout_source_line): Make static, update prototype.
8720 (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
8721 (dbxout_init, dbxout_finish, dbxout_source_line,
8722 dbxout_begin_block, dbxout_end_block): Update for new prototypes.
8723 * dbxout.h (dbxout_source_line): Delete.
8724 * debug.c (debug_nothing_file, debug_nothing_file_int,
8725 debug_nothing_file_charstar_rtx): New.
8726 (do_nothing_debug_hooks): Update.
8727 (debug_nothing_void, debug_nothing_charstar_rtx,
8728 dwarf2out_end_epilogue): New.
8729 (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
8730 * debug.h (struct rtx_def): Declare.
8731 (gcc_debug_hooks): New hooks source_line, end_epilogue
8732 and end_function.
8733 (debug_nothing_void, debug_nothing_charstar_rtx,
8734 dwarf2out_end_epilogue): New.
8735 (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
8736 * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
8737 (dwarf2_debug_hooks): Update.
8738 (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
8739 dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
8740 * dwarf2out.h (dwarf2out_source_line): Remove.
8741 * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
8742 Make static, update prototype.
8743 (dwarfout_init, dwarfout_finish, dwarfout_source_line,
8744 dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
8745 (dwarf_debug_hooks): Update.
8746 * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
8747 dwarfout_end_function): Remove.
8748 * final.c (profile_function): Use debug hooks for ending functions
8749 and epilogues.
8750 (output_source_line, final_end_function): Update prototype,
8751 use debug hooks.
8752 (final_start_function, final_scan_insn): Update.
8753 * output.h (sdb_begin_function_line): Remove.
8754 (final_end_function): Update prototype.
8755 * sdbout.c (sdb_begin_function_line): Make static.
8756 (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
8757 (sdbout_source_line): New.
8758 (sdbout_end_epilogue, sdbout_end_function): Make static, update
8759 prototypes.
8760 (sdb_debug_hooks): Update.
8761 (sdbout_init, sdbout_source_line,
8762 sdbout_begin_block, sdbout_end_block): Update for new prototypes.
8763 * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
8764 * toplev.c (compile_file, rest_of_compilation): Update.
8765 * tree.h (dwarf2out_end_epilogue): Move to debug.h.
8766 * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
8767 xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
8768 Update for prototype changes.
8769 * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
8770 xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
8771
be7b80f4
RH
87722001-07-15 Richard Henderson <rth@redhat.com>
8773
8774 * config/alpha/alpha.h (TARGET_ABI_OSF): New.
8775 (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
8776 * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
8777 * config/alpha/alpha.c: Likewise.
8778 * config/alpha/alpha.md: Likewise.
8779 * config/alpha/alpha32.h: Likewise.
8780 * config/alpha/vms.h: Likewise.
8781 (OPEN_VMS): Remove.
8782
736f566a
RH
87832001-07-14 Richard Henderson <rth@redhat.com>
8784
8785 * config/alpha/alpha.md: Use define_constants for unspec values.
8786 Substitute throughout.
8787
e6290e74
TJ
87882001-07-14 Tim Josling <tej@melbpc.org.au>
8789
8790 * tree.def (EXPON_EXPR) remove. Never supported anyway.
8791
3794967f
JDA
87922001-07-14 John David Anglin <dave@hiauly1.hia.nrc.ca>
8793
8794 * pa.md: Remove unused constraints from define_split's.
8795
35cbdf6f
RH
87962001-04-14 Richard Henderson <rth@redhat.com>
8797
8798 * ifcvt.c (find_cond_trap): Test for exit block.
8799
1e5fd094
JH
8800Sun Jul 15 00:50:20 CEST 2001 Jan Hubicka <jh@suse.cz>
8801
8802 Re-install recently reverted patch.
8803 * emit-rtl.c (try_split): Update mark_jump_label call.
8804 * flow.c (find_sub_basic_blocks): Likewise.
8805 * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
8806 jump_back_p): Kill.
8807 (mark_all_labels): Kill second parameter.
8808 (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
8809 (rebuild_jump_labels, jump_optimize_minimal): Update call
8810 of jump_optimize_1.
8811 (jump_optimize_1): Kill crossjumping code.
8812 (mark_jump_label): Kill cross_jump parameter.
8813 * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
8814 (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
8815 * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
8816 splitting.
8817 * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
8818 DFI_bpro.
8819 (dump_file_info): Likewise.
8820 (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
8821 reorganize passes to do reg-stack first, bb-reorder second.
8822 * invoke.texi (-d letters doc): Remove the jump2 pass.
8823
999c0669
RH
88242001-07-14 Richard Henderson <rth@redhat.com>
8825
8826 * ifcvt.c (find_cond_trap): New.
8827 (find_if_header): Call it.
8828 (merge_if_block): Relax existing jump sanity check.
8829 * jump.c (jump_optimize_1): Remove conditional trap handling.
8830
7d8b1412
AM
88312001-07-14 Alan Modra <amodra@bigpond.net.au>
8832
8833 * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
8834 millicode.
8835 (insn_refs_are_delayed): Correct comment.
8836 * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
8837 * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
8838 instead of r31. Make associated insn !TARGET_64BIT, and
8839 provide an additional 64-bit insn that clobbers r2.
8840 (divsi3): Likewise.
8841 (udivsi3): Likewise.
8842 (modsi3): Likewise.
8843 (umodsi3): Likewise.
8844
1ed672dd
JH
8845Sat Jul 14 02:58:38 CEST 2001 Jan Hubicka <jh@suse.cz>
8846
8847 * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
8848
8849 * flow.c (redirect_edge_and_branch_force, split_edge,
8850 try_crossjump_to_edge): Use set_block_for_new_insns.
8851 * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
8852
c51f3aa1
L
88532001-07-13 H.J. Lu (hjl@gnu.org)
8854
8855 * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
8856 the correct patch.
8857
ca18be57
GK
88582001-07-13 Geoffrey Keating <geoffk@redhat.com>
8859
8860 Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
8861
59387d2e
JM
88622001-07-13 Joseph S. Myers <jsm28@cam.ac.uk>
8863
8864 * c-common.c (decl_attributes): Take a pointer to the node to
8865 which attributes are to be attached, and a flags argument.
8866 * c-common.h (enum attribute_flags): New.
8867 (decl_attributes): Update prototype.
8868 * c-decl.c (start_decl, push_parm_decl, finish_struct,
8869 finish_enum, start_function): Update calls to decl_attributes.
8870 * c-parse.in (component_declarator, component_notype_declarator,
8871 label): Update calls to decl_attributes.
8872
48ccfb40
DC
8873Fri Jul 13 23:04:00 2001 Denis Chertykov <denisc@overta.ru>
8874
8875 * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
8876 * config/avr/avr.c (legitimate_address_p): Return value changed
8877 from letter to register classes. For better debugging.
8878
5a4aeb03
KH
88792001-07-13 Kazu Hirata <kazu@hxi.com>
8880
8881 * jump.c (reversed_comparison_code_parts): Fix comment typos.
8882
92e78e59
L
88832001-07-13 H.J. Lu (hjl@gnu.org)
8884
8885 * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
8886
f1cf4606
ME
88872001-07-13 Marc Espie <espie@cvs.openbsd.org>
8888
8889 * config.gcc (*-*-openbsd*): Add fragment to compile libgcc
8890 correctly for shared configurations.
8891 * config/t-libgcc-pic: New.
8892 * config/{i386,m68k,sparc}/t-openbsd: New.
8893 * config/openbsd.h: Include cpu_spec in cpp_spec where needed.
8894 Support -shared. Support debugging libraries with -g.
8895 * config/i386/openbsd.h: Correct ASM_COMMENT_START. Ensure dwarf2
8896 frame information does not emit pointer diffs.
8897 * config/sparc/openbsd.h: Ensure dwarf2 frame information does not
8898 emit pointer diffs.
8899
998d20d2
GK
89002001-07-13 Geoffrey Keating <geoffk@redhat.com>
8901
8902 Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
8903
1568d79b
DE
89042001-07-13 David Edelsohn <edelsohn@gnu.org>
8905
8906 * combine.c (try_combine): Ensure const_int pow2 is positive.
8907
9628a767
HP
89082001-07-13 Hartmut Penner <hpenner@de.ibm.com>
8909
23190837
AJ
8910 * config.gcc: Add configuration for s/390.
8911 * config/s390/s390.c: New. Subroutines for code generation.
9628a767
HP
8912 * config/s390/s390.h: New. Definitions for s/390.
8913 * config/s390/s390-protos.h: New. Prototypes.
8914 * config/s390/linux.h: New. Definitions for linux for s/390.
8915 * config/s390/linux64.h: New. Definitions for linux for zSeries.
23190837
AJ
8916 * config/s390/t-linux: New. Makefile fragment.
8917 * config/s390/s390.md: New. Machine description for s/390 and zSeries.
9628a767 8918 * config/s390/fixdfdi.h: New. Fix L_fix*di.
23190837 8919
f3ba35e4
JH
8920Fri Jul 13 14:46:21 CEST 2001 Jan Hubicka <jh@suse.cz>
8921
8922 * emit-rtl.c (try_split): Update mark_jump_label call.
8923 * flow.c (find_sub_basic_blocks): Likewise.
8924 * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
8925 jump_back_p): Kill.
8926 (mark_all_labels): Kill second parameter.
8927 (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
8928 (rebuild_jump_labels, jump_optimize_minimal): Update call
8929 of jump_optimize_1.
8930 (jump_optimize_1): Kill crossjumping code.
8931 (mark_jump_label): Kill cross_jump parameter.
8932 * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
8933 (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
8934 * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
8935 splitting.
8936 * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
8937 DFI_bpro.
8938 (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
8939 reorganize passes to do reg-stack first, bb-reorder second.
8940 * invoke.texi (-d letters doc): Remove the jump2 pass.
8941
448d17f9
SE
89422001-07-12 Steve Ellcey <sje@cup.hp.com>
8943
8944 * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
8945
6691db8e
JH
8946Thu Jul 12 17:57:16 CEST 2001 Jan Hubicka <jh@suse.cz>
8947
8948 * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
8949 basic blocks.
8950 (verify_flow_info): Make diagnostics prettier.
8951
c35e85f9
JH
8952Thu Jul 12 16:48:54 CEST 2001 Jan Hubicka <jh@suse.cz>
8953
8954 * flow.c (find_basic_blocks_1): Do not emit NOP after call.
8955
8956 * flow.c (outgoing_edges_match): Return early if condition reversal
8957 failed.
8958
51c6b247
RS
89592001-07-06 Richard Sandiford <rsandifo@redhat.com>
8960
8961 * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
8962 (mips_move_2words): When splitting a move into two instructions,
8963 prefix the second address operand with '%D'.
8964
a5a42b92
NB
89652001-07-12 Neil Booth <neil@daikokuya.demon.co.uk>
8966
8967 * Makefile.in (final.o): Depend on debug.h.
8968 * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
8969 (dbx_debug_hooks): Add new hooks.
8970 (xcoff_debug_hooks): New.
8971 * debug.c (debug_nothing_file_int_int): New.
8972 (do_nothing_debug_hooks): Update.
8973 * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
8974 (debug_nothing_file_int_int): New.
8975 * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
8976 static, update prototype.
8977 (dwarf2_debug_hooks): Update.
8978 * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
8979 * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
8980 static, update prototype.
8981 (dwarf_debug_hooks): Update.
8982 * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
8983 * final.c: Include debug.h.
8984 (final_scan_insn): Use debug hooks when beginning and ending blocks.
8985 * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
8986 static, update prototype.
8987 (sdb_debug_hooks): Update.
8988 * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
8989 * toplev.c: Distinguish between xcoff and dbx.
8990
8991 * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
8992 Call all debug hooks, not just dwarf ones.
8993
c177db4b
TW
89942001-07-11 Timothy Wall <twall@redhat.com>
8995
4e2db584
RH
8996 * config.gcc: Add configuration for AIX5/IA64.
8997 * config/ia64/aix.h: New. AIX5/IA64-specific configuration.
8998 * config/ia64/crt[in].asm: New. Generic static ctor/dtor
c177db4b 8999 support prefix/suffix code.
4e2db584
RH
9000 * config/ia64/t-aix: New. Makefile fragment.
9001 * config/ia64/unwind-aix.c: New. Unwind table entry lookup.
c177db4b 9002
4d893612
KH
90032001-07-11 Kazu Hirata <kazu@hxi.com>
9004
9005 * recog.c (validate_change): Fix a comment typo.
9006
7f905405
NB
90072001-07-11 Neil Booth <neil@daikokuya.demon.co.uk>
9008
9009 * Makefile.in (c-lex.o): Wrap long lines. Depend on debug.h.
9010 * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
9011 hooks directly.
9012 * dbxout.c (dbx_debug_hooks): Add new hooks.
9013 (dbxout_start_new_source_file): Rename dbxout_start_source_file,
9014 make static.
9015 (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
9016 make static.
9017 * dbxout.h (dbxout_start_new_source_file,
9018 dbxout_resume_previous_source_file): Delete.
9019 * debug.c (do_nothing_debug_hooks): Add new hooks.
9020 (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
9021 (debug_nothing_int_charstar, debug_nothing_int): New.
9022 * debug.h (gcc_debug_hooks): New hooks define, undef,
9023 start_source_file and end_source_file.
9024 (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
9025 (debug_nothing_int_charstar, debug_nothing_int): New.
9026 * dwarf2out.c (dwarf2_debug_hooks): Add new hooks. Move into
9027 the conditionally compiled section.
9028 (dwarf2out_start_source_file, dwarf2out_end_source_file,
9029 dwarf2out_define, dwarf2out_undef): Make static.
9030 * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
9031 dwarf2out_define, dwarf2out_undef): Remove.
9032 * dwarfout.c (dwarf_debug_hooks): Add new hooks.
9033 (dwarfout_start_source_file, dwarfout_end_source_file,
9034 dwarfout_define, dwarfout_undef): Make static.
9035 (dwarfout_start_source_file_check,
9036 dwarfout_end_source_file_check): New.
9037 (dwarfout_define, dwarfout_finish): Update.
9038 * dwarfout.h (dwarfout_start_new_source_file,
9039 dwarfout_resume_previous_source_file, dwarfout_define,
9040 dwarfout_undef): Remove.
9041 * sdbout.c (sdb_debug_hooks): Add new hooks.
9042 (sdbout_start_new_source_file): Rename sdbout_start_source_file,
9043 make static.
9044 (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
9045 make static, take an arg.
9046 * sdbout.h (sdbout_start_new_source_file,
9047 sdbout_resume_previous_source_file): Delete.
9048 * toplev.c (debug_start_source_file, debug_end_source_file,
9049 debug_define, debug_undef): Delete.
9050 * toplev.h (debug_start_source_file, debug_end_source_file,
9051 debug_define, debug_undef): Delete.
9052
9053 * java/jcf-parse.c: Include debug.h.
9054 (parse_class_file): Update to use debug hooks directly.
9055 * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
9056
ba4828e0
RK
9057Wed Jul 11 10:07:18 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9058
9059 * alias.c (set_mem_alias_set): New function.
9060 * rtl.h (set_mem_alias_set): Declare it.
9061 * builtins.c (expand_builtin_return_addr): Call it instead of
9062 using MEM_ALIAS_SET accessor.
9063 (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
9064 (get_memory_rtx, expand_builtin_va_arg): Likewise.
9065 (expand_builtin_va_copy):Likewise.
9066 * caller-save.c (setup_save_areas): Likewise.
9067 * calls.c (compute_argument_addresses): Likewise.
9068 * explow.c (set_mem_attributes): Likewise.
9069 * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
9070 (expand_assignment, store_constructor_field, store_field): Likewise.
9071 (expand_expr_unaligned): Likewise.
9072 * function.c (assign_stack_temp_for_type): Likewise.
9073 (put_reg_into_stack, gen_mem_addressof): Likewise.
9074 * ifcvt.c (noce_try_cmove_arith): Likewise.
9075 * reload1.c (reload, alter_reg): Likewise.
9076 * config/alpha/alpha.c (get_aligned_mem): Likewise.
9077 (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
9078 (alpha_expand_unaligned_store): Likewise
9079 (alpha_expand_unaligned_load_words): Likewise.
9080 (alpha_expand_unaligned_store_words): Likewise.
9081 (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
9082 (alpha_expand_epilogue): Likewise.
9083 * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
9084 * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
9085 * config/i386/i386.c (legitimize_pic_address): Likewise.
9086 * config/i960/i960.c (setup_incoming_varargs): Likewise.
9087 * config/ia64/ia64.c (spill_restore_mem): Likewise.
9088 * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
9089 * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
9090 * config/mips/mips.c (mips_va_arg): Likewise.
9091 * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
9092 * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
9093 * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
9094 (setup_incoming_varargs, rs6000_va_arg): Likewise.
9095 (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
9096 (rs6000_emit_epilogue): Likewise.
9097 * config/sh/sh.c (sh_builtin_saveregs): Likewise.
9098 * config/sparc/sparc.c (sparc_va_arg): Likewise.
9099 * config/v850/v850.c (v850_va_arg): Likewise.
9100
46fac664
JH
9101Wed Jul 11 21:27:25 CEST 2001 Jan Hubicka <jh@suse.cz>
9102
9103 * flow.c (merge_blocks_move_successor_nojumps): Do not crash
9104 when fallthru edge is present.
9105 (mege_blocks): Handle case where creation of jump insn
9106 is required.
9107
9108 * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
9109 CLEANUP_POST_REGSTACK): New constants.
9110 * except.c (finish_eh_generation): Update call of cleanup_cfg,
9111 * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
9112 * output.h (cleanup_cfg): Update prototype.
9113 * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
23190837 9114 * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
46fac664
JH
9115 cleanup_cfg call; kill missleading comment.
9116 * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
9117 * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
9118 parameter; control optimizations performed using it.
9119 (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
9120 try_crossjump_bb): New functions.
9121
9acc24a5
JDA
91222001-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
9123
9124 * pa.c (pa_output_function_prologue): Delete prototype. Make function
9125 extern.
9126 * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
9127 pa_output_function_prologue.
9128 * pa-protos.h (pa_output_function_prologue): New prototype.
9129
9312aecc
JDA
91302001-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
9131
9132 * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
9133 and low to get correct sign extension in low+high test.
9134
dec2b703
JJ
91352001-07-11 Janis Johnson <janis@us.ibm.com>
9136
4b9664e2
JJ
9137 * gcov.c (arcdata): Use gcov_type to fix branch percentage
9138 for large hit count.
9139
dec2b703
JJ
9140 * profile.c (branch_prob): Fix .bbg info for computed gotos
9141 and C++ EH code.
9142
40b18c0a
MM
91432001-07-11 Mark Mitchell <mark@codesourcery.com>
9144
23190837 9145 * stmt.c (parse_output_constraint): New function, split out
40b18c0a
MM
9146 from ...
9147 (expand_asm_operands): ... here. Use parse_output_constraint.
9148 * tree.h (parse_output_constraint): Declare it.
9149
a615c28a
RH
91502001-07-11 Richard Henderson <rth@redhat.com>
9151
9152 * bitmap.c: Comment some functions; fiddle whitespace.
9153 (bitmap_free): Don't export.
9154 (bitmap_element_allocate): Use memset.
9155 * bitmap.h (bitmap_free): Don't declare.
9156
5a660bff
DB
91572001-07-11 Daniel Berlin <dan@cgsoftware.com>
9158
9159 * gcse.c, lcm.c, sched-deps.c:
9160 s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
9161
9162 * flow.c (flow_loops_find): Free dom if we found no loops, since
9163 we aren't going to save it.
9164
9165 * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
9166 done.
9167
1a9485cf
JL
9168Wed Jul 11 09:00:48 2001 Jeffrey A Law (law@cygnus.com)
9169
9170 * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
9171
c8383050
RK
9172Wed Jul 11 10:07:18 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9173
9174 * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
9175 #ifndef DWARF2_DEBUGGING_INFO.
9176
bd77ba51
RS
91772001-07-11 Richard Sandiford <rsandifo@redhat.com>
9178
9179 * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
9180
b5265b32
RS
91812001-07-11 Richard Sandiford <rsandifo@redhat.com>
9182
9183 * config/mips/mips.c (gen_int_relational): Tell the caller not to
9184 reverse a branch if a NE comparison is implemented with GTU.
9185
b87c8c8c
RS
91862001-07-11 Richard Sandiford <rsandifo@redhat.com>
9187 H.J. Lu <hjl@gnu.org>
9188
9189 * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
9190 constant addresses.
9191 (call_internal2): Likewise.
9192 (call_value_internal1): Likewise.
9193 (call_value_internal2): Likewise.
9194 (call_value_multiple_internal1): Likewise.
9195 (call_value_multiple_internal2): Likewise.
9196
0407c02b
KH
91972001-07-10 Kazu Hirata <kazu@hxi.com>
9198
9199 * calls.c (emit_library_call_value_1): Fix a comment typo.
9200 * dwarf2out.c (mem_loc_descriptor): Likewise.
9201 * config/i386/i386.c (ix86_expand_aligntest): Likewise.
9202
a1b2ebc0
DB
92032001-07-11 David Billinghurst <David.Billinghurst@riotinto.com>
9204
608fe35b 9205 * simplify-rtx.c (simplify_subreg): Fix typo in comment
a1b2ebc0 9206
07217645
RK
9207Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9208
9209 * recog.c (offsettable_address_p): Handle LO_SUM case.
9210 * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
9211 instead of plus_constant.
23190837 9212
91667711
SC
92132001-07-10 Stephane Carrez <Stephane.Carrez@worldnet.fr>
9214
9215 * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
9216 fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
9217
d7624dc0
RK
9218Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9219
9220 * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
9221 adjust_address_nv instead of plus_constant.
9222
a51d908e
NB
92232001-07-10 Neil Booth <neil@daikokuya.demon.co.uk>
9224
9225 * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
9226 dwarf2out.o): Depend on debug.h, wrap long lines.
9227 * dbxout.c: Include debug.h.
9228 (dbx_debug_hooks): New.
9229 (dbxout_init): Make static, take just 2 args.
9230 (dbxout_finish): Make static.
9231 * dbxout.h (dbxout_init, dbxout_finish): Delete.
9232 * debug.c: New file.
9233 * debug.h: New file.
9234 * dwarf2out.c: Include debug.h.
9235 (dwarf2_debug_hooks): New.
9236 (dwarf2out_init): Make static.
9237 (dwarf2out_finish): Make static, take 2 args.
9238 * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
9239 * dwarfout.c: Include debug.h.
9240 (dwarf_debug_hooks): New.
9241 (dwarfout_init): Make static.
9242 (dwarfout_finish): Make static, take 2 args.
9243 * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
9244 * sdbout.c: Include debug.h.
9245 (sdb_debug_hooks): New.
9246 (sdbout_init): Make static, take 2 args.
9247 * sdbout.h (sdbout_init): Delete.
9248 * toplev.c: Include debug.h.
9249 (debug_hooks): New.
9250 (compile_file): Set deubg_hooks based on command line options.
9251 Use the hooks unconditionally rather than conditional compilation.
9252
af5c573a
JL
9253Tue Jul 10 09:04:45 2001 Jeffrey A Law (law@cygnus.com)
9254
9255 * ssa-ccp.c (first_phi_node): Remove. Replace uses with calls to
9256 first_insn_after_basic_block_note instead.
9257
9258 * df.c (df_bb_refs_unlink): #if 0 out for now.
9259
92602001-07-10 David Billinghurst <David.Billinghurst@riotinto.com
9261
9262 * ssa.h: Add prototype for ssa_const_prop
9263 * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
9264 (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
9265 (ssa_fast_dce): Remove unused variable
9266
64dfaa76
GDR
92672001-07-10 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
9268
9269 * diagnostic.c (finish_diagnostic): Rename to
9270 diagnostic_finish. Make it take an 'output_buffer *'. Adjust
9271 calls thourghout.
9272
84db136d
JM
92732001-07-10 Jason Merrill <jason_merrill@redhat.com>
9274
8aaf55ac
JM
9275 * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
9276 .loc support.
9277
84db136d 9278 * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
23190837 9279 (dump_file): Only pad the demangled name with spaces if the
84db136d
JM
9280 mangled name was padded with spaces.
9281
fd052ec3
BS
92822001-07-10 Bernd Schmidt <bernds@redhat.com>
9283
9284 * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
9285 edge detection.
9286
62926f0b
RK
9287Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9288
10c2a453
RK
9289 * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
9290 extraction if no direct load if either EXPAND_CONST_ADDRESS or
9291 EXPAND_INITIALIZER.
9292
62926f0b
RK
9293 * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
9294 whether can put offset inside LO_SUM to check mode alignment, not size.
9295
acdcefcc
GDR
92962001-07-10 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
9297
9298 * doc/tm.texi (Misc): Fix thinko.
9299
07167a18
JM
93002001-07-10 Jan van Male <jan.vanmale@fenk.wau.nl>
9301
9302 * regmove.c (replace_in_call_usage): Fix warnings.
9303 * sched-deps.c (add_dependence): Fix warnings.
9304 * simplify-rtx.c (simplify_subreg): Likewise.
9305 Return NULL_RTX instead of NULL.
9306
9307 * reg-stack.c (emit_swap_insn): Eliminate warnings.
9308 (subst_asm_stack_regs): Likewise.
9309
9310 * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
9311 warnings.
9312
9313 * dwarf2out.c (output_call_frame_info): Declare i as int.
9314 (build_abbrev_table): Declare n_alloc as int.
9315 (dwarf2out_finish): Initialize die.
9316 * except.c: Declare sjlj_funcdef_number as unsigned.
9317 (connect_post_landing_pads): Declare j as unsigned.
9318 (convert_to_eh_region_ranges): Initialize call_site.
9319 (output_function_exception_table): Initialize tt_format_size.
9320 * expr.c (move_by_pieces_1): Initialize to1.
9321 (store_constructor): Initialize minelt and maxelt.
9322 * flow.c (mark_regs_live_at_end): Declare i as unsigned.
9323 * function.c (instantiate_decls): Avoid signed/unsigned warning.
9324
9325 * c-decl.c (combine_parm_decls): Unused, remove.
9326 * c-tree.h: Remove prototype for combine_parm_decls.
9327
9328 * reload.c (push_reload): Fix warning.
9329 (regno_clobbered_p): Likewise.
9330 * reload1.c (replace_pseudos_in_call_usage): Likewise.
9331 (reload_combine): Likewise.
9332
9333 * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
9334 * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
9335 warnings.
9336 * bitmap.c (bitmap_operation): Change user.
9337 * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
9338
4608d36c
EC
93392001-07-10 Eric Christopher <echristo@redhat.com>
9340
9341 * config/mips/mips.c (override_options): Fix typo.
9342
f6155fda
SS
93432001-07-09 Stan Shebs <shebs@apple.com>
9344
9345 * target.h (struct gcc_target): New fields init_builtins and
9346 expand_builtin.
9347 * target-def.h (TARGET_INIT_BUILTINS): New macro.
9348 (TARGET_EXPAND_BUILTIN): New macro.
9349 (TARGET_INITIALIZER): Add them.
9350 * builtins.c: Include target.h.
9351 (expand_builtin): Use targetm.expand_builtin.
9352 (default_init_builtins): New function.
9353 (default_expand_builtin): New function.
9354 * expr.h (default_init_builtins): Declare.
9355 (default_expand_builtin): Declare.
9356 * c-common.c (c_common_nodes_and_builtins): Use
9357 targetm.init_builtins.
9358 * defaults.h (MD_INIT_BUILTINS): Remove.
9359 * Makefile.in (builtins.o): Depend on target.h.
9360
9361 * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
9362 (TARGET_EXPAND_BUILTIN): Define.
9363 * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
9364 (MD_EXPAND_BUILTIN): Remove.
9365
9366 * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
9367 (TARGET_EXPAND_BUILTIN): Define.
9368 (c4x_init_builtins): Make endlink arg a local.
9369 (c4x_print_operand): Fix typos in adjust_address usages.
9370 * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
9371 * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
9372 (MD_EXPAND_BUILTIN): Remove.
9373
9374 * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
9375 (TARGET_EXPAND_BUILTIN): Define.
9376 (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
9377 (ix86_init_builtins): Call new function only if TARGET_MMX.
9378 * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
9379 * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
9380 (MD_EXPAND_BUILTIN): Remove.
9381
9382 * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
9383 (TARGET_EXPAND_BUILTIN): Define.
9384 * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
9385 (MD_EXPAND_BUILTIN): Remove.
9386
9387 * doc/tm.texi: Document these changes.
9388
2b1d9dc0
DN
93892001-07-09 Diego Novillo <dnovillo@redhat.com>
9390
9391 * basic-block.h (tree_node): Forward declare if needed.
9392 (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
9393 (BLOCK_HEAD_TREE): Define.
9394 (BLOCK_END_TREE): Define.
9395 (struct loops): Rename field 'tree' to 'tree_root'.
4608d36c 9396 * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
2b1d9dc0
DN
9397 'end_tree'.
9398 (flow_loops_tree_build): Rename reference to field 'tree' to
9399 'tree_root'.
9400 (flow_loops_level_compute): Ditto.
9401 * predict.c (estimate_bb_frequencies): Ditto.
9402 * tree.h (struct tree_common): Add field 'aux'.
9403
70bdc2ff
SS
94042001-07-09 Stan Shebs <shebs@apple.com>
9405
9406 * config/darwin.c (darwin_encode_section_info): Don't mark any
9407 DECL_EXTERNAL node as defined.
9408
d777856d
JDA
94092001-07-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
9410
9411 * pa.c (pa_init_machine_status, pa_mark_machine_status,
9412 pa_free_machine_status, hppa_init_pic_save): Delete.
9413 (hppa_pic_save_rtx): New. Use get_hard_reg_initial_val.
9414 (hppa_profile_hook): Use hppa_pic_save_rtx.
9415 * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
9416 hppa_init_pic_save): Delete.
9417 (hppa_pic_save_rtx): Declare.
9418 * pa.md (call, call_value, sibcall, sibcall_value,
9419 builtin_setjmp_receiver): Use hppa_pic_save_rtx.
9420
aa3c0d59
KH
94212001-07-09 Kazu Hirata <kazu@hxi.com>
9422
9423 * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
9424 * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
9425
af076e58
AJ
94262001-07-09 Andreas Jaeger <aj@suse.de>
9427
9428 * output.h: Add declaration of final_forward_branch_p.
9429
9430 * config/i386/i386.c (output_fix_trunc): Remove unused variable.
9431
9432 * varray.c: Include errors.h for internal_error and trim_filename
9433 declarations.
9434
9435 * Makefile.in (varray.o): Add errors.h.
9436
fb7e77d7
TM
94372001-07-09 Toon Moene <toon@moene.indiv.nluug.nl>
9438
9439 * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
9440 * optabs.c (have_add2_insn): Check whether the add insn chosen
9441 really accepts the operands. (have_sub2_insn): Ditto for sub insn.
9442 * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
9443
0b47e4c1
JL
9444Mon Jul 9 13:26:40 2001 Jeffrey A Law (law@cygnus.com)
9445
9446 * Makefile.in (OBJS): Add ssa-ccp.o
9447 (ssa-ccp.o): Add dependencies.
9448 * toplev.c (DFI_ssa_ccp): New dump file enum.
9449 (dump_file): Add entry for dumping after SSA CCP.
9450 (flag_ssa_ccp): New flag variable.
9451 (f_options): Add -fssa-ccp.
9452 (rest_of_compilation): Run SSA CCP if requested.
9453 * timevar.def (TV_SSA_CCP): New timevar.
9454 * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
9455 * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
9456 Fix minor typo in SSA DCE documentation.
9457 * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
9458 Add documentation for new dump option. Renumber dump files
9459 appropriately.
9460
5222e470
JH
9461Mon Jul 9 21:36:00 CEST 2001 Jan Hubicka <jh@suse.cz>
9462
9463 * emit-rtl.c (gen_highpart_mode): New.
9464 * rtl.h (gen_highpart_mode): Declare.
9465 * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
9466 operand can be VOIDmode constant.
9467
2b2c8b3e
JH
9468Mon Jul 9 17:23:10 CEST 2001 Jan Hubicka <jh@suse.cz>
9469
9470 * flow.c (redirect_edge_and_branch_force): New.
9471 (can_fallthru): Ensure that basic blocks are succeeding.
9472 (try_optimize_cfg): Do not delete basic block if it is the last one.
9473
9474 * flow.c (try_redirect_by_replacing_jump): Do not remove
9475 jumps with side effects, unlink chain on fallthru edge;
9476 set block for new jump instruction; avoid basic block to
9477 over by line number note.
9478
9479 * flow.c (try_simplify_condjump): Verify that the condjump
9480 is not always falling trought.
9481
9482 Re-install patch:
9483 * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
9484
9485 * flow.c (forwarder_block_p): Fix for fallthru blocks.
9486 (try_redirect_by_replacing_jump): Update properly the count
9487 and frequency information.
9488
60a97cd4
RK
9489Mon Jul 9 06:41:07 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9490
823e3574
RK
9491 * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
9492 address that is a LO_SUM specially.
9493 * explow.c (plus_constant_wide, case LO_SUM): Deleted.
9494
60a97cd4
RK
9495 * c-lang.c (start_cdtor): Remove extra parameter from start_function.
9496
9497 * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
9498 (operand_subword): Use them.
9499 (change_address_1): Renamed from change_address; new arg VALIDATE.
9500 * expr.h: Reflect above changes; change_address now macro.
9501 * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
9502 making MEM.
9503 * cselib.c (add_mem_for_addr): Likewise.
9504 * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
9505 * regmove.c (try_apply_stack_adjustment): Likewise.
9506 * reload.c (push_reload, make_memloc): Likewise.
9507 * reload1.c (eliminate_regs): Likewise.
9508 * simplify-rtx.c (simplify_replace_rtx): Likewise.
9509 * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
9510 adjust_addess.
9511 * combine.c (make_extraction, simplify_shift_const): Likewise.
9512 (gen_lowpart_for_combine): Likewise.
9513 * cse.c (gen_lowpart_if_possible): Likewise.
9514 * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
9515 * expr.c (expand_expr, case COMPONENT_REF): Likewise.
9516 * optabs.c (gen_move_insn): Likewise.
9517 * reload1.c (alter_reg): Likewise.
9518 * simplify-rtx.c (simplify_subreg): Likewise.
9519 * stmt.c (expand_anon_union_decl): Likewise.
9520 * recog.c (validate_replace_rtx_1): Likewise.
9521 (expr.h): Include.
9522 * Makefile.in (recog.o): Add $(EXPR_H).
9523 * explow.c (stabilize): Call replace_equiv_address.
9524 * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
9525 * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
9526
053a35af
AH
95272001-07-03 Andrew Haley <aph@redhat.com>
9528
9529 * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
9530 the mode of the memory location.
9531
db42058b
BT
95322001-07-09 Bo Thorsen <bo@suse.co.uk>
9533
9534 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
9535
17b53c33
NB
95362001-07-09 Neil Booth <neil@daikokuya.demon.co.uk>
9537
9538 * final.c (output_addr_const): Use target opening and
9539 closing parentheses.
9540 * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
9541 defaults, add to TARGET_ASM_OUT.
9542 * target.h (struct gcc_target): Add open_paren and close_paren.
9543 * doc/md.texi: Update.
9544 * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
9545 TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
9546 TARGET_ASM_CLOSE_PAREN.
60a97cd4 9547 * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
17b53c33 9548 Override.
60a97cd4 9549 * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
17b53c33 9550 Override.
60a97cd4
RK
9551 * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
9552 * config/a29k/a29k.h: Similarly.
9553 * config/alpha/alpha.h: Similarly.
9554 * config/arc/arc.h: Similarly.
9555 * config/arm/aof.h: Similarly.
9556 * config/arm/aout.h: Similarly.
9557 * config/avr/avr.h: Similarly.
9558 * config/c4x/c4x.h: Similarly.
9559 * config/clipper/clipper.h: Similarly.
9560 * config/convex/convex.h: Similarly.
9561 * config/d30v/d30v.h: Similarly.
9562 * config/dsp16xx/dsp16xx.h: Similarly.
9563 * config/elxsi/elxsi.h: Similarly.
9564 * config/fr30/fr30.h: Similarly.
9565 * config/h8300/h8300.h: Similarly.
9566 * config/i370/i370.h: Similarly.
9567 * config/i386/i386.h: Similarly.
9568 * config/i860/i860.h: Similarly.
9569 * config/i960/i960.h: Similarly.
9570 * config/ia64/ia64.h: Similarly.
9571 * config/m32r/m32r.h: Similarly.
9572 * config/m68hc11/m68hc11.h: Similarly.
9573 * config/m68k/m68k.h: Similarly.
9574 * config/m88k/m88k.h: Similarly.
9575 * config/mcore/mcore.h: Similarly.
9576 * config/mips/mips.h: Similarly.
9577 * config/mn10200/mn10200.h: Similarly.
9578 * config/mn10300/mn10300.h: Similarly.
9579 * config/ns32k/ns32k.h: Similarly.
9580 * config/pa/pa.h: Similarly.
9581 * config/pdp11/pdp11.h: Similarly.
9582 * config/pj/pj.h: Similarly.
9583 * config/romp/romp.h: Similarly.
9584 * config/rs6000/rs6000.h: Similarly.
9585 * config/sh/sh.h: Similarly.
9586 * config/sparc/sparc.h: Similarly.
9587 * config/v850/v850.h: Similarly.
9588 * config/vax/vax.h: Similarly.
9589 * config/we32k/we32k.h: Similarly.
17b53c33 9590
b41df7f6
JM
95912001-07-09 Joseph S. Myers <jsm28@cam.ac.uk>
9592
9593 * doc/c-tree.texi: Document representation of attributes.
9594
648c546a
JM
95952001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
9596
9597 * doc/tm.texi: Update some places for the rename of target to
9598 targetm. Fix typo.
9599
12a68f1f
JM
96002001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
9601
9602 * target.h (struct gcc_target): Add insert_attributes.
9603 * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
9604 (TARGET_INITIALIZER): Update.
9605 * tree.c, tree.h (default_insert_attributes): New function.
9606 Update comments on other default functions to refer to targetm,
9607 not target.
9608 * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
9609 TARGET_INSERT_ATTRIBUTES.
9610 (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
9611 * c-common.c (decl_attributes): Use targetm.insert_attributes.
9612 Don't use PRAGMA_INSERT_ATTRIBUTES.
9613 * Makefile.in (c-common.o): Depend on $(TARGET_H).
9614 * c-decl.c (start_decl, start_function): Don't call
9615 SET_DEFAULT_DECL_ATTRIBUTES.
9616 * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
9617 * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
9618 declare.
9619 * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
9620 (c4x_check_attribute): Avoid modifying attribute list itself.
9621 (c4x_set_default_attributes): Rename to c4x_insert_attributes.
9622 Make static.
9623 * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
9624 * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
9625 declare.
9626 * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
9627 (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
9628 Make static.
9629 * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
9630 * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
9631 declare.
9632 * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
9633 (v850_set_default_decl_attr): Rename to v850_insert_attributes.
9634 Adjust parameters. Make static.
9635
f7a4cec0
JM
96362001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
9637
9638 * c-common.c (decl_attributes): Only take a single attributes
9639 parameter.
9640 * c-common.h (decl_attributes): Update prototype.
9641 * c-decl.c (start_decl, start_function): Only take a single
9642 attributes parameter. Update calls to decl_attributes.
9643 (finish_struct, finish_enum): Update calls to decl_attributes.
9644 (push_parm_decl): Expect unified list of attributes. Update call
9645 to decl_attributes.
9646 * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
9647 notype_nested_function, component_declarator,
9648 component_notype_declarator, label): Update calls to
9649 decl_attributes.
9650 (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
9651 lists that are passed to push_parm_decl.
9652 * c-tree.h (start_function, start_decl): Update prototypes.
9653 * config/sh/sh-protos.h, config/sh/sh.c
9654 (sh_pragma_insert_attributes): Only take a single attributes
9655 parameter.
9656 * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
9657 * doc/tm.texi (INSERT_ATTRIBUTES): Update.
9658 * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
9659 build_module_descriptor, generate_static_references,
9660 generate_strings, build_selector_translation_table,
9661 generate_descriptor_table, generate_protocols,
9662 generate_ivars_list, generate_dispatch_table,
9663 generate_protocol_list, generate_category,
9664 generate_shared_structures, really_start_method, add_objc_decls,
9665 generate_classref_translation_entry): Update calls to start_decl
9666 and start_function.
9667 (build_tmp_function_decl, start_method_def): Unify attribute lists
9668 that are passed to push_parm_decl.
9669
b4c25db2
NB
96702001-07-08 Neil Booth <neil@daikokuya.demon.co.uk>
9671
9672 * final.c (no_asm_to_stream): New.
9673 (final_scan_insn): Use target structures for prologue ends
9674 and epilogue starts.
9675 * output.h (no_asm_to_stream): New.
9676 * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
9677 TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
9678 (TARGET_ASM_OUT): Update.
9679 * target.h (struct gcc_target): New members function_end_prologue
9680 and function_begin_epilogue.
60a97cd4
RK
9681 * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
9682 * config/alpha/alpha-protos.h (output_end_prologue): Delete.
9683 * config/alpha/alpha.c (output_end_prologue): Rename to
b4c25db2
NB
9684 alpha_output_function_end_prologue. Use in target struct
9685 and make static.
60a97cd4
RK
9686 * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
9687 * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
9688 * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
b4c25db2
NB
9689 ia64_output_function_end_prologue. Use in target struct
9690 and make static.
9691 (ia64_function_prologue, ia64_funciton_epilogue): Rename
9692 mistyped prototypes.
60a97cd4
RK
9693 * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
9694 * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
9695 Delete.
9696 * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
b4c25db2 9697 an use in target struct, make static.
60a97cd4
RK
9698 * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
9699 Delete.
b4c25db2 9700
45c8268d
RH
97012001-07-08 Richard Henderson <rth@redhat.com>
9702
9703 * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
9704
d5d6a58b
RH
97052001-07-08 Richard Henderson <rth@redhat.com>
9706
9707 * config/i386/i386.md: Remove constraints strings from define_split
9708 and define_peephole2 patterns.
9709 (eh_return_si, eh_return_di): Split eh_return_1 for modes.
9710 (eh_return): Use them.
9711
7c16328b
RH
97122001-07-08 Richard Henderson <rth@redhat.com>
9713
9714 * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
9715 Document MD_FALLBACK_FRAME_STATE_FOR.
9716
8dd5d49d
SC
97172001-07-07 Stephane Carrez <Stephane.Carrez@worldnet.fr>
9718
9719 * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
9720 Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
9721 elimination.
9722 * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
9723
13daf3c1
NC
97242001-07-07 Nick Clifton <nickc@cambridge.redhat.com>
9725
9726 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
9727 of the label inside NAME as opposed to just the end of NAME.
9728
8289c43b
NB
97292001-07-07 Neil Booth <neil@daikokuya.demon.co.uk>
9730
9731 * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
9732 * config/alpha/alpha.c (alpha_init_machine_status,
9733 alpha_mark_machine_status, alpha_free_machine_status): Delete.
9734 (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
9735 (vms_valid_decl_attribute_p): Make static, conditionally compile.
9736 * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
9737
f6897b10
SS
97382001-07-06 Stan Shebs <shebs@apple.com>
9739
9740 * target.h (targetm): Rename global from "target", so as not to
9741 conflict with local variables.
9742 * c-decl.c: Ditto.
9743 * c-typeck.c: Ditto.
9744 * final.c: Ditto.
9745 * tree.c: Ditto.
9746 * cp/decl.c: Ditto.
9747 * cp/decl2.c: Ditto.
9748 * cp/typeck.c: Ditto.
9749 * 1750a/1750a.c: Ditto.
9750 * a29k/a29k.c: Ditto.
9751 * arc/arc.c: Ditto.
9752 * arm/arm.c: Ditto.
9753 * avr/avr.c: Ditto.
9754 * clipper/clipper.c: Ditto.
9755 * convex/convex.c: Ditto.
9756 * d30v/d30v.c: Ditto.
9757 * dsp16xx/dsp16xx.c: Ditto.
9758 * elxsi/elxsi.c: Ditto.
9759 * fr30/fr30.c: Ditto.
9760 * h8300/h8300.c: Ditto.
9761 * i370/i370.c: Ditto.
9762 * i386/i386.c: Ditto.
9763 * i860/i860.c: Ditto.
9764 * i960/i960.c: Ditto.
9765 * ia64/ia64.c: Ditto.
9766 * m32r/m32r.c: Ditto.
9767 * m68hc11/m68hc11.c: Ditto.
9768 * m68k/m68k.c: Ditto.
9769 * m88k/m88k.c: Ditto.
9770 * mips/mips.c: Ditto.
9771 * ns32k/ns32k.c: Ditto.
9772 * pa/pa.c: Ditto.
9773 * pdp11/pdp11.c: Ditto.
9774 * romp/romp.c: Ditto.
9775 * rs6000/rs6000.c: Ditto.
9776 * sh/sh.c: Ditto.
9777 * sparc/sparc.c: Ditto.
9778 * vax/vax.c: Ditto.
9779 * we32k/we32k.c: Ditto.
9780 * doc/tm.texi: Update the manual to match.
9781
84fc8b47
RH
97822001-07-06 Richard Henderson <rth@redhat.com>
9783
9784 * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
9785 DWARF2_UNWIND_INFO not just whether it is defined.
9786
4531c1c7
DN
97872001-07-06 Diego Novillo <dnovillo@redhat.com>
9788
9789 * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
9790 call to simplify_binary_operation returns a new pattern.
9791
39bd2948
RL
97922001-07-06 Roman Lechtchinsky <rl@cs.tu-berlin.de>
9793
9794 * glimits.h (__SHRT_MAX__): New.
9795 (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
9796 (SHRT_MAX): Define in terms of __SHRT_MAX__.
9797
8fa2140d
JM
97982001-07-06 Jan van Male <jan.vanmale@fenk.wau.nl>
9799
9800 * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
9801 avoid warnings.
9802
87e08c69
RH
98032001-07-06 Richard Henderson <rth@redhat.com>
9804
9805 * bitmap.c (bitmap_release_memory): Move adjacent to the
9806 allocation functions.
9807 (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
9808 the implementation. Binary search for the set bit.
9809 (bitmap_union_of_diff): Allocate the temporary on the stack
9810 instead of using xmalloc.
9811
0dab343a
RH
98122001-07-06 Richard Henderson <rth@redhat.com>
9813
9814 * genrecog.c (validate_pattern): Warn for constraints in
9815 define_{expand,split,peephole2}. Remove strict_low_part
9816 before looking up match_dup.
9817
15c0d35d
DD
98182001-07-06 DJ Delorie <dj@redhat.com>
9819
9820 * doc/gcc.texi (Makefile): Rename to be a more general purpose
9821 chapter about various build hints and history. Add section
9822 talking about the various types of native and cross builds.
9823
00478a05
NB
98242001-07-06 Neil Booth <neil@daikokuya.demon.co.uk>
9825
9826 * Makefile.in (final.o): Depend on target.h.
9827 * final.c: Include target.h.
9828 (default_function_pro_epilogue): New.
9829 (final_start_function): Use target structure for function prologues.
9830 (final_end_function): Use target structure for function epilogues.
9831 * fold-const.c (real_hex_to_f): Constify s and p.
9832 * output.h (default_function_pro_epilogue): New.
9833 * real.h (real_hex_to_f): Update prototype.
9834 * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
9835 TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
9836 (TARGET_INITIALIZER): Update.
9837 * target.h (gcc_target): Add struct asm_out.
9838 * doc/tm.texi: Update.
9839
9840config:
9841 Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
9842 TARGET_ASM_FUNCTION_EPILOGUE. Move macro code to functions
9843 in cpu/cpu.c, or rename old functions consistently. Take
9844 a HOST_WIDE INT not an int as the SIZE parameter. Remove now
9845 redundant macros and prototypes. Make new functions static.
9846
9847 * 1750a/1750a.c: Similarly.
9848 * 1750a/1750a.h: Similarly.
9849 * a29k/a29k-protos.h: Similarly.
9850 * a29k/a29k.c: Similarly.
9851 * a29k/a29k.h: Similarly.
9852 * arc/arc-protos.h: Similarly.
9853 * arc/arc.c: Similarly.
9854 * arc/arc.h: Similarly.
9855 * arm/arm-protos.h: Similarly.
9856 * arm/arm.c: Similarly.
9857 * arm/arm.h: Similarly.
9858 * avr/avr-protos.h: Similarly.
9859 * avr/avr.c: Similarly.
9860 * avr/avr.h: Similarly.
9861 * clipper/clipper-protos.h: Similarly.
9862 * clipper/clipper.c: Similarly.
9863 * clipper/clipper.h: Similarly.
9864 * convex/convex.c: Similarly.
9865 * convex/convex.h: Similarly.
9866 * d30v/d30v-protos.h: Similarly.
9867 * d30v/d30v.c: Similarly.
9868 * d30v/d30v.h: Similarly.
9869 * d30v/d30v.md: Similarly.
9870 * dsp16xx/dsp16xx-protos.h: Similarly.
9871 * dsp16xx/dsp16xx.c: Similarly.
9872 * dsp16xx/dsp16xx.h: Similarly.
9873 * elxsi/elxsi.c: Similarly.
9874 * elxsi/elxsi.h: Similarly.
9875 * fr30/fr30.c: Similarly.
9876 * fr30/fr30.md: Similarly.
9877 * h8300/h8300-protos.h: Similarly.
9878 * h8300/h8300.c: Similarly.
9879 * h8300/h8300.h: Similarly.
9880 * i370/i370-protos.h: Similarly.
9881 * i370/i370.c: Similarly.
9882 * i370/i370.h: Similarly.
9883 * i386/i386.c: Similarly.
9884 * i386/osf1elf.h: Similarly.
9885 * i386/osfrose.h: Similarly.
9886 * i860/i860-protos.h: Similarly.
9887 * i860/i860.c: Similarly.
9888 * i860/i860.h: Similarly.
9889 * i960/i960-protos.h: Similarly.
9890 * i960/i960.c: Similarly.
9891 * i960/i960.h: Similarly.
9892 * ia64/ia64-protos.h: Similarly.
9893 * ia64/ia64.c: Similarly.
9894 * ia64/ia64.h: Similarly.
9895 * m32r/m32r-protos.h: Similarly.
9896 * m32r/m32r.c: Similarly.
9897 * m32r/m32r.h: Similarly.
9898 * m68hc11/m68hc11-protos.h: Similarly.
9899 * m68hc11/m68hc11.c: Similarly.
9900 * m68hc11/m68hc11.h: Similarly.
9901 * m68k/crds.h: Similarly.
9902 * m68k/dpx2.h: Similarly.
9903 * m68k/m68k-protos.h: Similarly.
9904 * m68k/m68k.c: Similarly.
9905 * m68k/m68k.h: Similarly.
9906 * m68k/news.h: Similarly.
9907 * m88k/m88k-protos.h: Similarly.
9908 * m88k/m88k.c: Similarly.
9909 * m88k/m88k.h: Similarly.
9910 * mips/mips-protos.h: Similarly.
9911 * mips/mips.c: Similarly.
9912 * mips/mips.h: Similarly.
9913 * ns32k/merlin.h: Similarly.
9914 * ns32k/ns32k.c: Similarly.
9915 * ns32k/ns32k.h: Similarly.
9916 * ns32k/tek6000.h: Similarly.
9917 * pa/pa-protos.h: Similarly.
9918 * pa/pa.c: Similarly.
9919 * pa/pa.h: Similarly.
9920 * pdp11/2bsd.h: Similarly.
9921 * pdp11/pdp11-protos.h: Similarly.
9922 * pdp11/pdp11.c: Similarly.
9923 * pdp11/pdp11.h: Similarly.
9924 * romp/romp-protos.h: Similarly.
9925 * romp/romp.c: Similarly.
9926 * romp/romp.h: Similarly.
9927 * rs6000/rs6000-protos.h: Similarly.
9928 * rs6000/rs6000.c: Similarly.
9929 * rs6000/rs6000.h: Similarly.
9930 * rs6000/sysv4.h: Similarly.
9931 * sh/sh-protos.h: Similarly.
9932 * sh/sh.c: Similarly.
9933 * sh/sh.h: Similarly.
9934 * sparc/sparc-protos.h: Similarly.
9935 * sparc/sparc.c: Similarly.
9936 * sparc/sparc.h: Similarly.
9937 * vax/vax.c: Similarly.
9938 * vax/vax.h: Similarly.
9939 * vax/vms.h: Similarly.
9940 * we32k/we32k.c: Similarly.
9941 * we32k/we32k.h: Similarly.
9942
b62c8881
JL
9943Fri Jul 6 11:47:59 2001 Jeffrey A Law (law@cygnus.com)
9944
9945 * basic-block.h (first_insn_after_basic_block_note): Declare.
9946 * flow.c (first_insn_after_basic_block_note): Define. Moved
9947 from...
9948 * ssa.c (first_insn_after_basic_block_note): Remove.
9949 * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
9950 necessary.
9951 (ssa_eliminate_dead_code): Properly update the CFG and PHI
9952 nodes when we find a dead conditional branch. Insert BARRIERs
9953 after any blocks with no successors, but which do not have
9954 any BARRIERs.
9955
9d99ca5b
ZW
99562001-07-06 Zack Weinberg <zackw@stanford.edu>
9957
9958 * varray.c (varray_check_failed): Use internal_error.
9959
fc6aa0a9
AH
99602001-07-05 Andrew Haley <aph@redhat.com>
9961
9962 * Makefile.in (LIB2_DIVMOD_FUNCS): New.
9963 (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
9964 * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
9965
6331d1c1
JM
99662001-07-02 Jason Merrill <jason_merrill@redhat.com>
9967
9968 * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
9969 reference if the target constant is also a SYMBOL_REF.
9970
7dac2f89
EC
99712001-07-05 Eric Christopher <echristo@redhat.com>
9972
6331d1c1
JM
9973 * config/mips/mips.h (MASK_MIPS3900): Remove.
9974 (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
9975 MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
9976 (TARGET_MIPS3900): Change to use mips_arch.
9977 (TARGET_MIPS4000): New.
9978 (TARGET_MIPS4100): New.
9979 (TARGET_MIPS4300): New.
9980 (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
9981 (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
9982 for -mipsX.
9983 (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
9984 (ISA_HAS_BRANCHLIKELY): To here.
9985 (CC1_CPU_SPEC): New.
9986 (CC1_SPEC): Use here. Remove 4650 and 3900 options.
9987 (mips_arch_string): Declare.
9988 (mips_arch): Declare.
9989 (TARGET_OPTIONS): Add -march and -mtune.
9990
9991 * config/mips/mips.c (mips_arch_string): New.
9992 (mips_arch): New.
9993 (override_options): Handle -march for codegen and -mtune
9994 for scheduling. Use mips_arch. Move tx39 target default here.
9995 (mips_parse_cpu): Move error message to override_options.
9996
9997 * config/mips/r3900.h (TARGET_DEFAULT): Remove.
9998
9999 * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
10000
10001 * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
10002 (MIPS Options): Ditto. Change mcpu entry to historical text.
7dac2f89
EC
10003
100042001-07-05 H.J. Lu (hjl@gnu.org)
10005
4e2db584
RH
10006 * config/mips/mips.c (mips_parse_cpu): New function to parse
10007 -march=*/-mcpu=*.
7dac2f89 10008
a2497896
JW
100092001-07-05 Jim Wilson <wilson@redhat.com>
10010
10011 * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
10012 * config/ia64/t-ia64: Likewise.
10013 (LIB1ASMFUNCS): Update comment.
10014
9da6e781
DE
100152001-07-05 David Edelsohn <edelsohn@gnu.org>
10016
10017 * doc/install.texi (Install GCC: Binaries): Fix typo.
10018
43a72755
SC
100192001-07-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
10020
7dac2f89
EC
10021 * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
10022 reference using the stack pointer, adjust it since we push Y
43a72755
SC
10023 temporarily.
10024 ("*ashrsi3"): Likewise.
10025 ("*lshrsi3"): Likewise.
10026
35f0a736
SC
100272001-07-05 Stephane Carrez <Stephane.Carrez@worldnet.fr>
10028
10029 * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
10030 when -fomit-frame-pointer is used.
10031
35428bb9
JO
100322001-07-05 Jeffrey Oldham <oldham@codesourcery.com>
10033
10034 * flow.c: Reverse Jan Hubicka's patch of 02July2001.
10035 (try_redirect_by_replacing_jump): Reverse updating properly the
10036 count and frequency information. Reverse removing cc0 setter.
10037 (forwarder_block_p): Reverse fixing for fallthru blocks.
10038
0259b07a
DD
100392001-07-05 DJ Delorie <dj@redhat.com>
10040
10041 * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
10042 (translate_options): If the above is defined, use it to map
10043 given options to new options.
10044 * doc/tm.texi: Document it.
10045
081ca317
BL
100462001-07-05 Brad Lucier <lucier@math.purdue.edu>
10047 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10048
10049 * doc/invoke.texi (Optimize Options): Document that -fgcse may
10050 cause programs using computed gotos to run more slowly.
10051
021c4bfd
RO
100522001-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10053
10054 * doc/install.texi (Specific): Markup, spelling and typo fixes.
10055 Fixed sorting.
10056 Consistently require binutils 2.11.2, not prereleases.
10057 (Specific, decstation-*): Canonicalize as mips-dec-*.
10058 (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
10059 always necessary.
10060 (Specific, m68k-altos): Removed reference to README.altos, deleted.
10061 (Specific, mips-*): Reword MIPS C compiler requirements.
10062 (Specific, powerpc*-*-*): New, mention --with-cpu once.
10063 (Specific, sunv5): Removed, obsolete.
10064
aafdcfcd
NS
100652001-07-05 Nathan Sidwell <nathan@codesourcery.com>
10066
10067 * dwarf2out.c (output_loc_list): Use an all ones mask for
10068 .text asm output and don't rely on long long
10069 literals. Reformat some long lines.
10070
6c7f693e
AJ
100712001-07-05 Andreas Jaeger <aj@suse.de>
10072
10073 * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
10074 section.
10075
cc260610
DB
100762001-07-04 Daniel Berlin <dan@cgsoftware.com>
10077
10078 * dwarf2out.c (dwarf2out_define): Update comment.
10079 (dwarf2out_undef): Ditto.
10080 (dwarf2out_start_source_file): Ditto.
10081 (dwarf2out_end_source_file): Ditto.
10082 (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
10083 since we never call the start/end debug hook for the primary file.
10084
cc32b876
KH
100852001-07-04 Kazu Hirata <kazu@hxi.com>
10086
10087 * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
10088 from shll.
10089
dbead49c
NS
100902001-07-04 Nathan Sidwell <nathan@codesourcery.com>
10091
10092 * cppinit.c (remove_dup_dirs): Inform if a system include
4e2db584 10093 directory is being reordered.
dbead49c
NS
10094 * doc/invoke.texi (Directory Options): GCC warns if you hide a
10095 system include.
10096 * doc/cpp.texi (Search Paths): Likewise.
10097 * doc/gcc.texi (Interoperation): Remove information about
10098 -I/usr/include.
10099
0cf97c8b
NS
101002001-07-04 Nathan Sidwell <nathan@codesourcery.com>
10101
10102 * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
10103 (VARRAY_TOP_CHAR_PTR): Likewise.
10104
bbed13b1
KG
101052001-07-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10106
10107 * gcc.c (process_command): Don't assign elements of a const char*.
10108
2b1b6bf9
RK
10109Wed Jul 4 13:40:02 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10110
10111 * emit-rtl.c (change_address): Don't abort if invalid address while
10112 reload is in progress.
10113
84a5b4f8
DB
101142001-07-04 Daniel Berlin <dan@cgsoftware.com>
10115
10116 * c-lex.c (cb_file_change): Pass line number to
6c7f693e 10117 debug_start_source_file.
84a5b4f8
DB
10118 (cb_undefine): Pass correct line number to debug_undef.
10119
10120 * toplev.c (debug_start_source_file): Add line number to
10121 parameters. Pass it along to dwarf2out_start_source_file.
10122 (decode_g_option): Stop resetting debug level back to normal when
10123 we change debug formats, unless the current level is
10124 none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
10125 3).
6c7f693e 10126
84a5b4f8
DB
10127 * toplev.h (debug_start_source_file): Add line number to
10128 parameters.
6c7f693e 10129
2b1b6bf9
RK
10130 * dwarf2out.h (dwarf2out_start_source_file): Add line number to
10131 parameters.
84a5b4f8
DB
10132
10133 * dwarf2out.c (dwarf2out_start_source_file): Add line number to
10134 parameters.
6c7f693e 10135 Output debug_macinfo data for starting file if requested.
84a5b4f8
DB
10136 (dwarf2out_end_source_file): Output debug_macinfo data for ending
10137 file if requested.
2b1b6bf9
RK
10138 (dwarf2out_define): Output debug_macinfo data for defining a macro
10139 if requested.
84a5b4f8
DB
10140 (dwarf2out_undef): Output debug_macinfo data for undefining a
10141 macro if requested.
10142 (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
10143 (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
10144 (macinfo_section_label): New. DWARF2 macro info section label.
10145 (dwarf2out_init): If we want macro info, output the start label
10146 for the section.
10147 (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
10148 attribute to the compilation unit die pointing to the macro info.
10149
101502001-07-04 Daniel Berlin <dan@cgsoftware.com>
10151
10152 * dwarf2out.c (new_loc_list): Move to inside #ifdef
10153 DWARF2_DEBUGGING_INFO.
10154 (add_loc_descr_to_loc_list): Ditto.
10155 (output_loc_list): Ditto.
10156 Also, fix thinko in curr not being initialized.
10157 (gen_internal_sym): Ditto.
6c7f693e 10158
792760b9
RK
10159Wed Jul 4 13:40:02 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10160
10161 * emit-rtl.c (replace_equiv_address): New function.
10162 * expr.h (replace_equiv_address): New declaration.
10163 * explow.c (validize_mem): Call it instead of change_address and
10164 also call if -fforce-addr and address is constant.
10165 * expr.c: Replace more calls to change_address with adjust_address
10166 and/or replace_equiv_address or to validize_mem.
10167 * function.c, regmove.c, config/alpha/alpha.c: Likewise.
10168 * config/arm/arm.md, config/clipper/clipper.md: Likewise.
10169 * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
10170 * config/i370/i370.md, config/i860/i860.md: Likewise.
10171 * config/i960/i960.md, config/mips/mips.c: Likewise.
10172 * config/mips/mips.md, config/pa/pa.md: Likewise.
10173 * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
10174 * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
10175
266aae9b
KG
101762001-07-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10177
10178 * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
10179
10180 * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
10181 function.
10182
0671eaf6
JM
101832001-07-04 Joseph S. Myers <jsm28@cam.ac.uk>
10184
10185 * doc/include: New directory.
10186 * doc/fdl.texi: Move to doc/include/fdl.texi.
10187 * doc/texinfo.tex: Move to doc/include/texinfo.tex.
10188 * doc/include/funding.texi, doc/include/gpl.texi: New files.
10189 * doc/gcc.texi: Use funding.texi and gpl.texi.
10190 * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
10191 $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
10192 Update dependencies and use -I $(docdir)/include.
10193
77b6797a
AG
101942001-07-04 Anthony Green <green@redhat.com>
10195
10196 * config/v850/t-v850 (v850-c.o): Add missing dependencies.
10197
e9d21442
GP
101982001-07-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10199
10200 * doc/install.texi (sparc64-*-*): Remove garbage.
10201
d2037d01
JM
10202Wed Jul 4 09:07:44 2001 Jan van Male <jan.vanmale@fenk.wau.nl>
10203
10204 * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
10205 Fix typo in last change to use adjust_address.
10206
37324a54
GP
102072001-07-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10208
10209 * doc/install.texi (Specific): Update information for *-*-solaris*.
10210
17ab7c59
RK
10211Tue Jul 3 22:33:15 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10212
10213 * explow.c (plus_constant_wide): Reinitialize Y for restart.
10214
70fb5453
SS
102152001-07-03 Stan Shebs <shebs@apple.com>
10216
0cf97c8b 10217 * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
70fb5453
SS
10218 case for flag_no_mach_text_sections.
10219 (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
0cf97c8b
NS
10220 * config/darwin.c (flag_no_mach_text_sections): Remove.
10221 * config/darwin-protos.h (darwin_init_pragma): Remove decl.
70fb5453 10222
b72f00af
RK
10223Tue Jul 3 15:35:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10224
10225 * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
10226 and avoid checking for constant as first operand.
10227 * recog.c (find_constant_term_loc): No longer static.
10228 (adj_offettable_operand): Delete.
10229 * rtl.h (adj_offsettable_operand): Delete declaration.
10230 (find_constant_term): Add declaration.
10231 * caller-save.c: Replace calls to adj_offsettable_operand with calls
10232 to adjust_address.
10233 * config/arm/arm.c, config/c4x/c4x.c: Likewise.
10234 * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
10235 * config/i386/i386.c, config/i386/i386.md: Likewise.
10236 * config/i860/i860.c, config/i960/i960.c: Likewise.
10237 * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
10238 * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
10239 * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
10240 * config/mips/mips.c, config/mips/mips.md: Likewise.
10241 * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
10242 * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
10243 * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
10244 * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
10245 * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
10246 * config/ns32k/ns32k.md: Likewise.
10247
3b324340
ZW
102482001-07-03 Zack Weinberg <zackw@stanford.edu>
10249
10250 * rtl.c (copy_rtx): Handle 'T' format letter.
10251 * gensupport.c (collect_insn_data): Likewise.
10252 * print-rtl.c (print_rtx): Print 'T' slots like 's'.
10253
bf4eebe0
NC
102542001-07-03 Nick Clifton <nickc@cambridge.redhat.com>
10255
10256 * doc/invoke.texi (Directory Options): Specifiy range for <N> in
10257 -B option. Use 'dir' not 'foo' as example directory name.
10258
c1911346
RO
102592001-07-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10260
10261 * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
10262 Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
10263
f89dec57
JM
102642001-07-03 Joseph S. Myers <jsm28@cam.ac.uk>
10265
10266 * doc/cppinternals.texi: Improve formatting and logical markup.
10267
5b7c7046
AJ
102682001-07-03 Andreas Jaeger <aj@suse.de>
10269
10270 * Makefile.in (insn-recog.o): Add dependency on reload.h.
10271
10272 * genrecog.c (write_header): Include reload.h for prototypes in
10273 insn-recog.c.
10274
f5f4be42
NB
102752001-07-03 Neil Booth <neil@daikokuya.demon.co.uk>
10276
10277config:
10278 * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
10279 VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
10280 * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
10281 i386_pe_valid_type_attribute_p): Add.
10282 * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
10283 * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
10284
ed8908e7
RK
10285Mon Jul 2 21:52:19 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10286
10287 * explow.c (plus_constant_wide, case LO_SUM): New case.
10288 (plus_constant_for_output_wide): Delete.
10289 * rtl.h (plus_constant_for_output): Delete.
10290 * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
10291 instead of plus_constant_for_output.
10292 * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
10293 * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
10294 * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
10295 * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
10296 * config/sparc/sparc.md: Likewise.
10297 Convert some change_address calls to adjust_address.
10298
aee96fe9
JM
102992001-07-03 Joseph S. Myers <jsm28@cam.ac.uk>
10300
10301 * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
10302 doc/rtl.texi, doc/tm.texi: Improve formatting. Improve
10303 documentation of -std and -Wwrite-strings.
10304
8bf4dfc2
GK
103052001-07-02 Geoffrey Keating <geoffk@redhat.com>
10306
10307 * cse.c (canon_hash): Don't register registers in very small
10308 register classes, as extending their lifetime might cause
10309 reload to fail.
10310
f8d1529b
JH
10311Mon Jul 2 23:14:00 CEST 2001 Jan Hubicka <jh@suse.cz>
10312
10313 * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
10314
10315 * flow.c (forwarder_block_p): Fix for fallthru blocks.
10316 (try_redirect_by_replacing_jump): Update properly the count
10317 and frequency information.
10318
0826f1d8
JL
10319Mon Jul 2 14:20:13 2001 Jeffrey A Law (law@cygnus.com)
10320
10321 * toplev.c (dump_file_index): Move SSA dumps just after first
10322 jump dump.
10323 (dump_file): Corresponding changes.
10324 (rest_of_compilation): Move SSA path to just after the first
10325 jump pass.
10326 * doc/gcc.texi (Passes): Update due to movement of SSA path.
10327 * doc/invoke.texi: Update dump file #s as they were completely
10328 out of date with reality.
10329
918a6124
GK
103302001-07-02 Geoffrey Keating <geoffk@redhat.com>
10331
10332 * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
10333
10334 * expr.c (emit_move_insn_1): Deal with non-default
10335 STACK_PUSH_CODE.
10336
10337 * expr.c (emit_single_push_insn): Fix warning.
10338
103392001-07-02 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
10340
10341 * expr.c (emit_move_insn_1): Avoid modifying
10342 cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
10343
f4ef873c
RK
10344Mon Jul 2 15:33:31 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10345
10346 * emit-rtl.c (adjust_address): New function.
10347 * expr.h (adjust_address): Add declaration.
10348 * builtins.c: Replace some calls to change_address with calls to it
10349 or to validize_mem.
10350 * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
10351 * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
10352 * config/arm/arm.c, config/convex/convex.c: Likewise.
10353 * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
10354 * config/i386/i386.c, config/i386/i386.md: Likewise.
10355 * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
10356 * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
10357 * config/m88k/m88k.c, config/mips/mips.md: Likewise.
10358 * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
10359 * config/sh/sh.c, config/sparc/sparc.md: Likewise.
10360
becbcf96
JW
103612001-07-02 Jim Wilson <wilson@redhat.com>
10362
10363 * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
10364
103652001-07-02 Steve Ellcey <sje@cup.hp.com>
10366
4e2db584
RH
10367 * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
10368 * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
becbcf96 10369
a01eb545
ZW
103702001-07-02 Zack Weinberg <zackw@stanford.edu>
10371
10372 * cppinit.c (lang_defaults): New table.
10373 (set_lang): Just read from lang_defaults into the live options
10374 structure.
10375
51817b10
ZW
103762001-07-02 Zack Weinberg <zackw@stanford.edu>
10377
10378 * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
10379 * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
10380 * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
10381
eea81d3e
RO
103822001-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10383
10384 * doc/install.texi: Various spelling and markup fixes.
10385 (Installing GCC): Component specific installation instructions are
10386 gone.
10387 Fix reference.
10388 Warn about removing old install dir in the presence of shared libs.
10389 (Configuration): Invoke with options target to match configure
10390 --help.
10391 Consistently refer to gas, gld pathnames.
10392 Invert --enable-multilib documentation.
10393 Remove references to old compiler versions.
10394
faf041ed
RK
10395Mon Jul 2 12:50:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10396
10397 * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
10398
213ba345
RO
103992001-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10400
10401 * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
10402 section.
10403 (Specific, mips*-sgi-irix5): Note IDO download.
10404 Reworded MIPS C hints.
10405 Use GNU as instead of GAS.
10406 Markup fixes.
10407 Removed SGI Freeware reference, IRIX 6 only.
10408 (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
10409 Note N64 library requirement/workaround.
10410 Update O32 hints.
10411 Complete list of structure passing bug victims.
10412
b9063b3d
GP
104132001-07-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10414
10415 * doc/install.texi: Remove CVS Id.
10416
766890e1
AJ
104172001-07-02 Andreas Jaeger <aj@suse.de>
10418
10419 * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
10420 (find_inherently_necessary): Remove unused variable.
10421
6be77748
NS
104222001-07-02 Nathan Sidwell <nathan@codesourcery.com>
10423
10424 * c-common.h (TDI_inlined): New ast dump phase.
10425 (dump_flag_name): New function.
10426 * c-dump.c (dump_files): Add inlined phase.
10427 (dump_flag_name): Define.
10428 * doc/invoke.texi (-fdump-ast-inlined): Document.
10429
3aa12a58
RK
10430Mon Jul 2 06:29:36 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10431
10432 * stor-layout.c (layout_decl): Revert change to handling of alignment
10433 in packed types.
10434
21266f81
RK
10435Sun Jul 1 11:53:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10436
10437 * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
10438 for FIELD_DECL.
10439
1cc5e432
GK
104402001-07-01 Geoffrey Keating <geoffk@redhat.com>
10441
10442 * doc/tm.texi (FUNCTION_ARG): Document that the last call
10443 is special.
10444
3746c4a2
NS
104452001-07-01 Nathan Sidwell <nathan@codesourcery.com>
10446
10447 * tlink.c (recompile_files): Remove COMPILER_PATH and
10448 LIBRARY_PATH from the environment.
10449
b8363a24
ZW
104502001-07-01 Zack Weinberg <zackw@stanford.edu>
10451
10452 * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
10453 RID_LAST_PQ. Move RID_FIRST_PQ down with the other FIRST/LAST
10454 enumerators.
10455 (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
10456
10457 * c-parse.in (OBJC_STRING): Kill.
10458 (objc_string): Decompose to [objc_string] '@' STRING.
10459 (reswords): Take the leading '@' off all the Objective C keywords.
10460 (objc_rid_sans_at): Kill.
10461 (init_reswords): Don't initialize it.
10462 (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
10463 (_yylex): Kill reconsider label. Look ahead one token after
10464 an '@'; if we get an identifier, check whether it's an
10465 Objective C @-keyword. If so, return the keyword. Otherwise,
10466 put back the token and return the '@' as a terminal.
10467
10468 * cpplib.c (lex_macro_node): Remove unnecessary check for
10469 leading '@' on identifier. Clarify control flow and commentary.
10470
be8ac49a
RK
10471Sun Jul 1 11:53:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10472
10473 * cse.c (new_label_ref): Variable deleted.
10474 (insert): Remove set of new_label_ref.
10475 (check_for_label_ref): New function.
10476 (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
10477
528aeb48 10478See ChangeLog.5 for earlier changes.