]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
Add missing semicolon
[gcc.git] / gcc / ChangeLog
CommitLineData
be393ecf
NC
12001-09-14 Nick Clifton <nickc@cambridge.redhat.com>
2
5de7e417
NC
3 * rtlanal.c (subreg_regno_offset): Add semicolon to end of
4 invocation of SUBREG_REGNO_OFFSET.
5
bc591fb4
NC
6 * haifa-sched.c: Fix typo in FSF copyright statement.
7 * sched-deps.c: Fix typo in FSF copyright statement.
8 * sched-ebb.c: Fix typo in FSF copyright statement.
9 * sched-rgn.c: Fix typo in FSF copyright statement.
10 * sched-vis.c: Fix typo in FSF copyright statement.
11
be393ecf
NC
12 * config.gcc: Move inclusion of arm elf specific header files
13 from the files themselves into the tm_file variable. Make
14 sure that elfos.h is included before target specific elf
15 headers.
16 * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
17 already defined.
18 (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
19 * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
20 ASM_OUTPUT_CASE_LABEL): Protect definition.
21 (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
22 not already defined.
23 * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
24 LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
25 Remove duplicate definition.
26 (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
27 (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
28 (RDATA_SECTION_FUNCTION): Remove redundant definition.
29 (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
30 Remove inclusion of arm/elf.h.
31 * config/arm/unknown-elf.h: as for conix-elf.h.
32 (STARTFILE_SPEC): Include crti.o and crtn.o.
33 * config/arm/linux-elf.h: as for conix-elf.h.
34 * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
35 * config/arm/strongarm-elf.h: Remove inclusion of
36 unknown-elf.h.
37 * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
38 * config/arm/unknown-elf-oabi.h: Remove inclusion of
39 unknown-elf.h and elf.h.
40 * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
41 * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
42 ASM_WEAKEN_LABEL): Remove redundant definition.
43 * config/arm/elf.h: Test for inclusion of elfos.h
44 (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
45 ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
46 SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
47 EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
48 redundant definition.
49 (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
50 ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
51 ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
52 * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
53 Add rules to build crti.o and crtn.o
54 * crti.asm: New file.
55 * crtn.asm: New file.
56
bdcbe496
NB
572001-09-13 Neil Booth <neil@daikokuya.demon.co.uk>
58
59 * c-parse.in (_yylex): Use _cpp_backup_tokens.
60 * cpphash.h (struct tokenrun): Add prev.
61 (struct lexer_state): Remove bol.
62 (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
63 (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
64 : Remove.
65 * cppinit.c (cpp_create_reader): Don't set bol.
66 (cpp_destroy): Don't free lookaheads.
67 * cpplex.c (lex_directive): Remove.
68 (next_tokenrun): Update.
69 (_cpp_lex_token): Clean up logic.
70 (lex_token): Update to return a pointer to lexed token, since it
71 can move to the start of the buffer. Simpify newline handling.
72 * cpplib.c (SEEN_EOL): Update.
73 (skip_rest_of_line): Remove lookahead stuff.
74 (end_directive): Line numbers are already incremented. Revert
75 to start of lexed token buffer if we can.
76 (_cpp_handle_directive, do_pragma, do_pragma_dependency,
77 parse_answer): Use _cpp_backup_tokens.
78 (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
79 instead. Don't check for EOL.
80 (do_include_common, do_line, do_pragma_system_header): Use
81 skip_rest_of_line.
82 * cpplib.h (BOL, _cpp_backup_tokens): New.
83 * cppmacro.c (save_lookahead_token, take_lookahead_token,
84 alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
85 cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
86 (builtin_macro): Don't use cpp_get_line.
87 (cpp_get_line): Short term kludge.
88 (parse_arg): Handle directives in arguments here. Back up when
89 appropriate. Store EOF at end of argument list.
90 (funlike_invocation_p): Use _cpp_backup_tokens.
91 (push_arg_context): Account for EOF at end of list.
92 (cpp_get_token): Remove lookahead stuff. Update.
93
83182544
KG
942001-09-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
95
96 * c-parse.in (yyerror): Const-ification and/or static-ization.
97 * c-typeck.c (push_member_name): Likewise.
98 * collect2.c (main): Likewise.
99 * dbxout.c (dbxout_parms): Likewise.
100 * diagnostic.c (format_with_decl): Likewise.
101 * dwarf2out.c (output_ranges): Likewise.
102 * dwarfout.c (fundamental_type_code): Likewise.
103 * except.c (dw2_output_call_site_table): Likewise.
104 * gcc.c (do_spec_1): Likewise.
105 * genopinit.c (optabs): Likewise.
106 * objc/objc-act.c (synth_id_with_class_suffix, start_class,
107 gen_declaration_1, handle_impent): Likewise.
108 * protoize.c (default_include, in_system_include_dir, abspath):
109 Likewise.
110 * sched-vis.c (visualize_stall_cycles): Likewise.
111 * sdbout.c (plain_type_1, sdbout_end_function,
112 sdbout_end_epilogue): Likewise.
113 * varasm.c (decode_reg_name): Likewise.
114
115 * 1750a.c (mod_regno_adjust): Likewise.
116 * alpha.c (alpha_write_one_linkage,
117 unicosmk_output_default_externs): Likewise.
118 * arm.c (arm_condition_codes): Likewise.
119 * arm.h (arm_condition_codes): Likewise.
120 * avr.c (output_movsisf, encode_section_info): Likewise.
121 * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
122 Likewise.
123 * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
124 * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
125 * m88k.c (output_function_profiler): Likewise.
126 * mips.c (mips_output_conditional_branch): Likewise.
127 * ns32k.c (ns32k_out_reg_names): Likewise.
128 * ns32k.h (ns32k_out_reg_names): Likewise.
129 * pj.c (pj_output_rval): Likewise.
130 * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
131 * sparc.c (sparc_flat_function_prologue,
132 sparc_flat_function_epilogue): Likewise.
133
f404402c
MW
1342001-09-13 Markus Werle <numerical.simulation@web.de>
135 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
136
137 * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
138 Aachen University of Technology".
139
08ed72a9
AS
1402001-09-13 Andreas Schwab <schwab@suse.de>
141
142 * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
143 C99.
144
133d3133
RH
1452001-09-13 Richard Henderson <rth@redhat.com>
146
147 * config/alpha/alpha.c (small_symbolic_operand): New.
148 (override_options): Set MASK_SMALL_DATA based on pic/PIC.
149 (some_operand, input_operand): Don't handle HIGH.
150 (alpha_legitimize_address): Use it. Emit HIGH with PLUS gp.
151 (alpha_expand_mov): Likewise.
152 (print_operand) [H]: Just print HIGH symbol.
153 (print_operand_address): Handle small data.
154 * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
155 (TARGET_SWITCHES): Add -msmall-data/large-data.
156 (PIC_OFFSET_TABLE_REGNUM): New.
157 (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
158 (PREDICATE_COES): Update.
159 * config/alpha/alpha.md (adddi_er_high): New.
160 (adddi_er_low): Handle small data.
161 * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
162 prefer .sdata to .rodata.
163 (SELECT_RTX_SECTION): Likewise.
164
34b3b0f6
JM
1652001-09-12 Josh Martin <josh.martin@abq.sc.philips.com>
166
167 * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
168 defining __size_t and leaving size_t undefined.
169
d5c768b8
DN
1702001-09-12 Diego Novillo <dnovillo@redhat.com>
171
172 * basic-block.h (expunge_block): Declare.
173 * cfg.c (expunge_block): Remove static declaration.
174
3bab2571
RH
1752001-09-12 Richard Henderson <rth@redhat.com>
176
177 * integrate.c (copy_insn_list): Copy label name from
178 NOTE_INSN_DELETED_LABEL.
179
27c38fbe
KG
1802001-09-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
181
182 * c-common.c (c_tree_code_name): Const-ification.
183 * c-decl.c (c_decode_option): Likewise.
184 * c-typeck.c (warn_for_assignment): Likewise.
185 * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
186 Likewise.
187 * cppinit.c (output_deps): Likewise.
188 * dependence.c (dependence_string, direction_string): Likewise.
189 * dwarf2out.c (output_ranges): Likewise.
190 * fixinc/fixfixes.c (emit_gnu_type): Likewise.
191 * fixinc/gnu-regex.c (re_error_msgid): Likewise.
192 * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
193 standard_startfile_prefix, standard_startfile_prefix_1,
194 standard_startfile_prefix_2, tooldir_base_prefix,
195 standard_bindir_prefix, find_a_file): Likewise.
196 * genattrtab.c (make_length_attrs): Likewise.
197 * gencheck.c (tree_codes): Likewise.
198 * genemit.c (gen_split): Likewise.
199 * genrecog.c (special_mode_pred_table): Likewise.
200 * graph.c (graph_ext): Likewise.
201 * protoize (default_include): Likewise.
202 * reload.c (reload_when_needed_name): Likewise.
203 * sched-vis.c (visualize_stall_cycles): Likewise.
204 * tlink.c (recompile_files): Likewise.
205 * toplev.c (decode_g_option): Likewise.
206 * tradcpp.c (output_deps): Likewise.
207 * varasm.c (decode_reg_name): Likewise.
208
209 * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
210 Const-ification.
211 * arm.md: Likewise.
212 * avr.c (avr_regnames, encode_section_info): Likewise.
213 * c4x.c (float_reg_names): Likewise.
214 * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
215 * elfos.h (const_section): Likewise.
216 * i386.c (ix86_comp_type_attributes): Likewise.
217 * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
218 * ia64/aix.h (UNIQUE_SECTION): Likewise.
219 * ia64.c (type_names): Likewise.
220 * m68hc11.c (reg_class_names): Likewise.
221 * m88k.c (m_options): Likewise.
222 * mips.c (mips_output_conditional_branch, mips_unique_section):
223 Likewise.
224 * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
225 * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
226 ultra_code_names): Likewise.
227 * sparc.h (OVERRIDE_OPTIONS): Likewise.
228
a8b7afb9
JJ
2292001-09-12 Jakub Jelinek <jakub@redhat.com>
230
231 * configure.in (gcc_cv_as_shf_merge): Fix a typo.
232 Use --fatal-warnings option for gas.
233 * configure: Rebuilt.
234
71b96724
RL
2352001-09-12 Roman Lechtchinsky <rl@cs.tu-berlin.de>
236
237 * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
238
4e1a4144
JW
2392001-09-11 Jim Wilson <wilson@redhat.com>
240
241 * alias.c (clear_reg_alias_info): Only handle pseudo registers.
242
1de3d877
MK
2432001-10-11 Matt Kraai <kraai@alumni.carnegiemellon.edu>
244
245 * builtins.c (c_strlen): Treat an offset too large for a
246 HOST_WIDE_INT as out of range.
247
4262e623
JH
248Tue Sep 11 18:57:47 CEST 2001 Jan Hubicka <jh@suse.cz>
249
250 * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
251 (EDGE_CRITICAL_P): New predicate.
252 * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
253 handling.
254 (insert_insn_on_edge): Use EDGE_CRITICAL_P.
255 (dump_edge_info): Remove "crit".
256 * cfganal.c (mark_critical_edges): Kill.
257 * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
258 * cfgcleanup.c (cleanup_cfg): Likewise.
259 * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
260 (find_spanning_tree): Likewise.
261 * reg-stack.c (convert_regs_1): Likewise.
262 * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
263
264 * basic-block.h (create_basic_block_structure): New.
265 (create_basic_block): Update prototype.
266 (force_nonfallthru): New.
267 * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
268 * cfg.c (create_basic_block_structure): Rename from create_basic_block;
269 handle updating of block_for_insn, creating of empty BBs and BBs at
270 the end of INSN chain.
271 (create_basic_block): New function.
272 (split_block): Use create_basic_block.
273 (force_nonfallthru_and_redirect): Break out from ...; cleanup
274 (redirect_edge_and_branch_force): ... here.
275 (force_nonfallthru): New.
276 (split_edge): Rewrite to use force_nonfallthru and create_block.
277 * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
278 (find_basic_blocks): Free basic_block_for_insn.
279 * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
280
281 * cfg.c: Fix formating.
282 * cfgcleanup.c: Fix formating.
283 (merge_blocks, tail_recursion_label_p): Return bool.
284 (merge_blocks_move_predecessor_nojumps,
285 merge_blocks_move_successor_nojumps): Return void.
286
201556f0
JJ
2872001-09-11 Jakub Jelinek <jakub@redhat.com>
288
289 * configure.in: Check whether assembler supports section merging.
290 * config.in: Rebuilt.
291 * configure: Rebuilt.
292 * varasm.c (variable_section, output_constant_pool): Pass alignment
293 to SELECT_SECTION and SELECT_RTX_SECTION.
294 (mergeable_string_section): New.
295 (mergeable_constant_section): New.
296 (default_elf_asm_named_section): Output SECTION_MERGE and
297 SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
298 * output.h (mergeable_string_section): New.
299 (mergeable_constant_section): New.
300 (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
301 * toplev.c (flag_merge_constants): New.
302 (f_options): Add -fmerge-constants and -fmerge-all-constants
303 options.
304 (toplev_main): Default to -fno-merge-constants if not optimizing.
305 * flags.h (flag_merge_constants): Add extern.
306 * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
307 * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
308 argument.
309 * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
310 Define if assembler has working .subsection -1 support.
311 (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
312 Put constant into special SHF_MERGE sections if the linker should
313 attempt to merge duplicates.
314 * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
315 macro argument.
316 Put constant into special SHF_MERGE sections if the linker should
317 attempt to merge duplicates.
318 * config/alpha/elf.h: Likewise.
319 (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
320 has working .subsection -1 support.
321 * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
322 SELECT_SECTION.
323 * config/svr3.h: Likewise.
324 * config/darwin.h: Likewise.
325 * config/arm/aof.h: Likewise.
326 * config/arm/linux-elf.h: Likewise.
327 * config/avr/avr.h: Likewise.
328 * config/c4x/c4x.h: Likewise.
329 * config/d30v/d30v.h: Likewise.
330 * config/i386/dgux.h: Likewise.
331 * config/i386/osfrose.h: Likewise.
332 * config/i386/sco5.h: Likewise.
333 * config/i386/svr3gas.h: Likewise.
334 * config/ia64/aix.h: Likewise.
335 * config/m32r/m32r.h: Likewise.
336 * config/m68k/m68k.h: Likewise.
337 * config/m88k/dgux.h: Likewise.
338 * config/m88k/m88k.h: Likewise.
339 * config/mcore/mcore-pe.h: Likewise.
340 * config/mips/mips.h: Likewise.
341 * config/pa/pa.h: Likewise.
342 * config/pa/pa-linux.h: Likewise.
343 * config/romp/romp.h: Likewise.
344 * config/rs6000/sysv4.h: Likewise.
345 * config/rs6000/xcoff.h: Likewise.
346 * config/s390/linux.h: Likewise.
347 * config/sparc/sparc.h: Likewise.
348 * config/sparc/sysv4.h: Likewise.
349 * config/stormy16/stormy16.h: Likewise.
350 * config/v850/v850.h: Likewise.
351 * config/vax/vms.h: Likewise.
352 * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
353 and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
354 * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
355 default_elf_asm_named_section for SHF_MERGE sections.
356
0a24446d
JH
357Tue Sep 11 17:55:54 CEST 2001 Jan Hubicka <jh@suse.cz>
358
359 * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
360 is OK.
361
1d30139d
JM
3622001-09-11 Joseph S. Myers <jsm28@cam.ac.uk>
363
364 * c-common.c (split_specs_attrs): Allow for empty attributes with
365 empty TREE_PURPOSE. Fixes PR c/4294.
366
7ded4467
JH
367Tue Sep 11 11:37:52 CEST 2001 Jan Hubicka <jh@suse.cz>
368
369 * basic-block.h (cached_make_edge, make_single_succ): New.
370 (make_edge): Remove first parameter.
371 * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
372 * cfg.c (cached_make_edge): Rename from make_edge; return newly
373 created edge; use obstack allocation.
374 (make_edge, make_single_succ_edge): New.
375 (first_removed_edge): New static variable.
376 (init_flow): Initialize first_removed_edge and n_edges.
377 (clear_edges): Use remove_edge.
378 (flow_delete_block): Likewise.
379 (remove_edge): Add removed edges to the removed edges list.
380 (split_block, redirect_edge_and_branch_force, split_edge):
381 Use make_edge.
382 * cfganal.c (flow_call_edges_add): Updaet make_edge call.
383 (add_noreturn_fake_exit_edges): Likewise.
384 (connect_infinite_loops_to_exit): Liekwise.
385 * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
386 Use cached_make_edge.
387 * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
388 * profile.c (branch_prob): Update make_edge call.
389 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
390
30102605
RH
3912001-09-11 Richard Henderson <rth@redhat.com>
392
393 * config/alpha/alpha.c: Tidy formatting.
394 (local_symbolic_operand): Verify mode.
395 (alpha_sa_mask): Ignore unicos for eh_return.
396 (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
397 * config/alpha/alpha.md (umk divsi patterns): Remove.
398 (extendsfdf2): Remove unicos check.
399 (tablejump): Merge vms and unicos code; always use direct set
400 plus label_ref use.
401
4022001-09-11 Roman Lechtchinsky <rl@cs.tu-berlin.de>
403
404 * config.gcc (alpha*-*-unicosmk*): New target.
405
406 * config/alpha/alpha-protos.h (symbolic_operand,
407 unicosmk_add_call_info_word, unicosmk_add_extern,
408 unicosmk_defer_case_vector, unicosmk_unique_section,
409 unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
410 unicosmk_asm_file_start, unicosmk_asm_file_end,
411 unicosmk_output_common): Declare.
412
413 * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
414 direct_return, function_arg, alpha_va_start, alpha_va_arg,
415 alpha_does_function_need_gp, alpha_end_function): Support Cray
416 Unicos/Mk.
417 (alpha_init_machine_status, alpha_mark_machine_status,
418 alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
419 unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
420 unicosmk_asm_named_section, unicosmk_insert_attributes,
421 unicosmk_section_type_flags, symbolic_operand,
422 unicosmk_output_module_name, unicosmk_output_default_externs,
423 unicosmk_output_dex, unicosmk_output_externs,
424 unicosmk_output_addr_vec, unicosmk_ssib_name,
425 unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
426 unicosmk_asm_file_end, unicosmk_output_common,
427 unicosmk_section_type_flags, unicosmk_unique_section,
428 unicosmk_add_call_info_word, unicosmk_text_section,
429 unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
430 unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
431 unicosmk_dex_count, unicosmk_special_name): New.
432 (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
433 TARGET_ABI_UNICOSMK.
434 (get_aligned_mem, alpha_expand_unaligned_load,
435 alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
436 alpha_expand_unaligned_store_words): Support big-endian mode.
437 (print_operand): Likewise. New format specifier 't'. Use
438 TARGET_AS_SLASH_BEFORE_SUFFIX.
439 (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
440 (alpha_pv_save_size): Update with above change.
441 (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
442 alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
443 Unicos/Mk.
444
445 * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
446 (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
447 (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
448 (EXTRA_CONSTRAINT): New constraint 'U'.
449 (PREDICATE_CODES): Add symbolic_operand.
450
451 * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
452 UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
453 (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
454 (integer division and modulus patterns): Split in default and
455 Unicos/Mk versions.
456 (*divmodsi_internal, *divmoddi_internal): Disable for
457 TARGET_ABI_UNICOSMK.
458 (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
459 little-endian and big-endian versions.
460 (ext, ins, msk): Likewise.
461 (extv, extzv, insv): Support big-endian mode.
462 (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
463 (call_umk, call_value_umk, *call_umk, tablejump_umk,
464 *tablejump_umk_internal, *call_value_umk): New.
465 (*movdi_nofix): Add pattern for loading an address into a register on
466 TARGET_ABI_UNICOSMK.
467 (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
468 (umk_mismatch_args, arg_home_umk): New.
469 (various insns): Don't use mov, fmov, nop, fnop and unop.
470 (realign): Support TARGET_ABI_UNICOSMK.
471
472 * config/alpha/unicosmk.h: New file.
473 * config/alpha/t-unicosmk: New file.
474
475 * fixinc/inclhack.def (unicosmk_restrict): New.
476 * fixinc/fixincl.x: Regenerate.
477
478 * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
479 (wchar_t): Check for and define __WCHAR_T__.
480
b1c4394d
RS
4812001-09-11 Richard Sandiford <rsandifo@redhat.com>
482
483 * combine.c (simplify_shift_const): Treat shifts by the mode
484 size as undefined.
485
5fddcffc
NB
4862001-09-11 Neil Booth <neil@daikokuya.demon.co.uk>
487
488 * cpphash.h (struct tokenrun): New.
489 (struct cpp_context): New member bol.
490 (struct cpp_reader): New members.
491 (_cpp_init_tokenrun): New.
492 * cppinit.c (cpp_create_reader): Set up the token runs.
493 * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
494 (lex_token): New internalised version of _cpp_lex_token. Don't
495 handle directives or the multiple include opimisation here any
496 more. Simply lex a token.
497 * cpplib.c (run_directive): Clear bol.
498 (_cpp_pop_buffer): Set bol.
499 * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
500 arguments.
501
75dcd8fe
MM
5022001-09-11 Michael Meissner <meissner@redhat.com>
503
504 * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
505 give an error if the user uses -mfp32.
506 (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
507 default options.
508 (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
509 floating point register size.
510 (EXTRA_SPECS): Add CPP_FPR_SPEC.
511
512 * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
513 HOST_WIDE_INT_PRINT_DEC to properly print the result of
514 int_size_in_bytes.
515 * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
516 * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
517
fb530c07
HPN
5182001-09-11 Hans-Peter Nilsson <hp@axis.com>
519
520 * dbxout.c (dbxout_parms): Fix typo in comment.
521 * unroll.c (loop_find_equiv_value): Ditto.
522 * toplev.c (rest_of_compilation): Ditto.
523 * loop.c (scan_loop): Ditto.
fb530c07
HPN
524 * dwarf2out.c (struct dw_fde_struct): Ditto.
525
2c3fcba6
ZW
5262001-09-10 Zack Weinberg <zackw@panix.com>
527
528 * cpplex.c (parse_identifier): Fast-path optimize. Avoid
529 copying identifier when we're just going to throw it away.
530 (parse_identifier_slow): New routine to handle abnormal cases.
531 (_cpp_lex_token): Update call site.
532
533 * hashtable.c (ht_lookup): Don't assume that the string we've
534 been given is NUL-terminated.
535 * system.h: #define __builtin_expect(a, b) to (a) if not
536 GCC >=3.0.
537
60acf24e
MM
5382001-09-10 Michael Meissner <meissner@redhat.com>
539
540 * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
541 binutils, gdb.
542
51d3e7d6
DE
5432001-09-10 David Edelsohn <edelsohn@gnu.org>
544
545 * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
546
bf06b5d8
RK
547Mon Sep 10 16:26:44 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
548
549 * builtins.c (c_getstr): Correct thinko in last change and further
550 cleanup.
551
244a4af0
TF
5522001-09-10 Tim Freeman <tim@fungibole.com>
553
554 * dwarf2out.c (incomplete_types, decl_scope_table): Make them
555 into varray's and register them as roots with the garbage
2c3fcba6 556 collector so they are not collected too soon.
244a4af0 557
402209ff
JH
558Mon Sep 10 14:21:26 CEST 2001 Jan Hubicka <jh@suse.cz>
559
560 * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
561 New.
562 * basic-block.h (flow_obstack, label_value_list,
563 tail_recursion_label_list): Declare
564 (tidy_fallthru_edges): Declare.
565 (expunge_block, last_loop_beg_note): Delete.
566 (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
567 * cfg.c: New file
568 (basic_block_for_insn, label_value_list): Move from flow.c; make global.
569 (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
570 init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
2c3fcba6 571 flow_delete_insn, flow_delete_insn_chain, create_basic_block,
402209ff
JH
572 expunge_block, flow_delete_block, compute_bb_for_insn,
573 update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
574 make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
575 redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
576 try_redirect_by_replacing_jump, last_loop_beg_note,
577 redirect_edge_and_branch, redirect_edge_and_branch_force,
578 tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
579 split_edge, insert_insn_on_edge, commit_one_edge_insertion,
2c3fcba6 580 commit_edge_insertions, dump_flow_info, debug_flow_info,
402209ff
JH
581 dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
582 verify_flow_info, purge_dead_edges, purge_all_dead_edges):
583 Move here from flow.c
584 * cfganal.c: New file.
585 (forwarder_block_p, can_fallthru, mark_critical_edges,
586 mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
587 find_unreachable_blocks, create_edge_list, free_edge_list,
588 print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
589 flow_edge_list_print, remove_fake_successors, remove_fake_edges,
590 add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
591 flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
592 flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
593 flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
594 Move here from flow.c
595 * cfgbuild.c: New file
596 (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
597 make_edges, find_basic_blocks_1, find_basic_blocks,
598 find_sub_basic_blocks): Move here from flow.c
599 * cfgcleanup.c: New file.
600 (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
601 merge_blocks_move_predecessor_nojumps,
602 merge_blocks_move_successor_nojumps, merge_blocks,
603 flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
604 try_crossjump_bb, try_optimize_cfg): Move here from flow.c
605 (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
606 if succeeded.
607 * cfgloop.c: New file
608 (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
609 flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
610 flow_loop_exit_edges_find, flow_loop_nodes_find,
611 flow_loop_pre_header_scan, flow_loop_pre_header_find,
612 flow_loop_tree_node_add, flow_loops_tree_build,
613 flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
614 flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
615 Move here from flow.c
616 * flow.c: Remove everything moved elsewhere
617 * output.h (cleanup_cfg): Return bool.
618
619 * bb-reorder.c (reorder_block_def): Remove 'index'.
620 (insert_intra_1): Add argument BB, set block for new note.
621 (make_reorder_chain): Do not depdent on BB indexes.
622 (make_reorder_chain_1): Do not use BB indexes.
623 (label_for_bb): Likewise; set BB for new insn.
624 (emit_jump_to_block_after): Likewise.
625 (fixup_reoder_chain): Sanity check that all basic blocks
626 are chained; verify newly created insn chain; remove
627 undocnitional jump simplifying; Do not use BB indexes;
628 properly initialize count and frequency information;
629 dump reordered sequence.
630 (insert_intra_bb_scope_notes): update call of insert_intra_1.
631 (insert_inter_bb_scope_notes): Set block for new insn.
632 (reorder_basic_blocks): Dump flow info before reoredering.
633
5197bd50
RK
634Mon Sep 10 06:47:35 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
635
636 * alias.c (clear_reg_alias_info): Use K&R format definition.
637 Avoid unsigned warning.
638 * builtins.c: Use "unsigned int", not "unsigned".
639 (target_char_cast): Use host_integerp and tree_low_cst.
640 (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
641 (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
642 (c_getstr): Likewise.
643 (std_expand_builtin_va_arg): Use int_size_in_bytes.
644 (builtin_memcpy_read_str): Avoid unsigned warning.
645 (expand_builtin_memcpy): Alignments are unsigned.
646 (expand_builtin_strncpy, expand_builtin_memset): Likewise.
647 (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
648 * predict.c (expensive_function_p): LIMIT now unsigned.
649 * resource.c (mark_target_live_regs): Make some vars unsigned.
650 * sdbout.c: Use "unsigned int", not "unsigned".
651 (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
652 (sdbout_source_line): Likewise.
653 (sdbout_record_type_name): Remove "const" for NAME declaration.
654 * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
655
2e547b13
RS
6562001-09-10 Richard Sandiford <rsandifo@redhat.com>
657
658 * calls.c (store_one_arg): Expand comment.
659
0df299ae
RL
6602001-09-10 Roman Lechtchinsky <rl@cs.tu-berlin.de>
661
662 * calls.c (store_one_arg): Make sure that the entire argument is
663 pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
664
1650fcad
RH
6652001-09-09 Richard Henderson <rth@redhat.com>
666
667 * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
668
5bb08c84
JH
669Sun Sep 9 10:43:17 CEST 2001 Jan Hubicka <jh@suse.cz>
670
671 * loop.c (combine_givs): Fix computing of benefit once giv is combined.
672
1eb356b9
RH
6732001-09-09 Richard Henderson <rth@redhat.com>
674
675 * config/alpha/alpha.c (alpha_next_sequence_number): New.
676 (alpha_this_literal_sequence_number): New.
677 (alpha_this_gpdisp_sequence_number): New.
678 (some_operand, input_operand): Add HIGH.
679 (local_symbolic_operand): New.
680 (alpha_encode_section_info): New.
681 (alpha_legitimate_address_p): Allow LO_SUM.
682 (alpha_legitimize_address): Generate HIGH+LO_SUM.
683 (alpha_expand_mov): Likewise.
684 (secondary_reload_class): Check memory_operand not general_operand
685 for FP_REGS test.
686 (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
687 (alpha_expand_unaligned_store): Likewise.
688 (alpha_expand_unaligned_load_words): Likewise.
689 (alpha_expand_unaligned_store_words): Likewise.
690 (alpha_expand_block_clear): Likewise.
691 (print_operand): Handle %#, %*, %H.
692 (print_operand_address): Handle LO_SUM.
693 (find_lo_sum): New.
694 (alpha_does_function_need_gp): Use it.
695 (alpha_expand_block_move): Fix signed compare warnings.
696 (alpha_sa_mask, alpha_align_insns): Likewise.
697 * config/alpha/alpha-protos.h: Update.
698 * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
699 (MASK_EXPLICIT_RELOCS): New.
700 (TARGET_SWITCHES): Add -mexplicit-relocs.
701 (EXTRA_CONSTRAINT): Add 'T'.
702 (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
703 (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
704 (ENCODE_SECTION_INFO): Out line.
705 (REDO_SECTION_INFO_P): New.
706 (STRIP_NAME_ENCODING): New.
707 (ASM_OUTPUT_LABELREF): New.
708 (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
709 (PREDICATE_CODES): Update.
710 * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
711 call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
712 movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
713 builtin_setjmp_receiver_er, exception_receiver_1_er,
714 call_value_osf_1_er): New patterns.
715 (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
716 (movqi, movhi, movsi): Add explicit $31 base register to lda.
717 * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
718 (FINAL_PRESCAN_INSN): New.
719
b74cf1ce
JH
720Sat Sep 8 22:00:55 CEST 2001 Jan Hubicka <jh@suse.cz>
721
722 * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
723
2c36d070
AJ
7242001-09-08 Andreas Jaeger <aj@suse.de>
725
726 * i386.h (TARGET_SWITCHES): Fix description.
727
4e2c1c44
DE
7282001-09-07 David Edelsohn <edelsohn@gnu.org>
729
730 * rs6000.c (num_insns_constant): Compute number of instructions
731 more accurately.
732
d5d8d540
DE
733 * doc/install.texi: Explain AIX exception handling work-around.
734 Update URL for AIX fixes.
735
43fe47ca
JW
7362001-09-07 Jim Wilson <wilson@redhat.com>
737
738 * alias.c (clear_reg_alias_info): New.
739 * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
740 * rtl.h (clear_reg_alias_info): Declare.
741
177b41eb
RL
7422001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
743
744 * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
745 available.
746 (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
747 (m16m,edivm,emulm): Change declaration to match definition.
748
b4905cba
RL
7492001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
750
751 * reload.c (push_reload): Check for subreg_lowpart_p instead of
752 SUBREG_BYTE being 0 when determining if the inner part of a subreg
753 can be reloaded.
754
4a063bec
RH
7552001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
756
757 * c-common.c (signed_or_unsigned_type): Handle machine mode types
758 which have no corresponding C type.
759 * fold_const.c (target_isinf,target_isnan,target_negative): Update
760 the representation of 64-bit doubles to work with 64-bit ints.
761
7622001-09-07 Aldy Hernandez <aldyh@redhat.com>
2fd7f0c1 763
4a063bec
RH
764 * config/mips/mips.c (override_options): Do not override ISA when ABI
765 specified if MIPS_CPU_STRING_DEFAULT was specified.
2fd7f0c1 766
9b3bd424
RH
7672001-09-07 Richard Henderson <rth@redhat.com>
768
769 * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
770 (express_from_1): Wrap lines.
771 * rtlanal.c (commutative_operand_precedence): Rename from
772 operand_preference; export.
773 * rtl.h: Declare it.
774 * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
775 (simplify_binary_operation): Invoke simplify_plus_minus on
776 (CONST (PLUS ...)) as well.
777 (struct simplify_plus_minus_op_data): New.
778 (simplify_plus_minus_op_data_cmp): New.
779 (simplify_plus_minus): Use them. Avoid infinite recursion with
780 simplify_binary_operation wrt CONST.
781
5660465a
KH
782Fri Sep 7 11:52:30 2001 Kazu Hirata <kazu@hxi.com>
783
784 * h8300-protos.h (general_operand_dst_push): Remove.
785 * h8300.c (general_operand_dst_push): Likewise.
786 * h8300.h (OK_FOR_T): Likewise.
787 (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
788 * h8300.md (pushqi_h8300): New.
789 (pushqi_h8300hs): Likewise.
790 (pushqi): Likewise.
791 (pushhi_h8300): Likewise.
792 (pushhi_h8300hs): Likewise.
793 (pushhi): Likewise.
794
7b9e1fcf
RK
795Fri Sep 7 12:56:26 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
796
797 * genattrtab.c (attr_printf): First arg is unsigned.
798 Clean up formatting of callers.
799
1dee47c3
AH
8002001-09-06 Aldy Hernandez <aldyh@redhat.com>
801
802 * config/mips/mips.c (override_options): Allow abi32 with 64 bit
803 registers.
804
4cba3b67
AJ
8052001-09-07 Andreas Jaeger <aj@suse.de>
806
807 * i386.h (TARGET_SWITCHES): Fix descriptions.
808
6a9f6727
MK
8092001-09-07 Matt Kraai <kraai@alumni.carnegiemellon.edu>
810
811 * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
812
cffb2601
IR
8132001-09-06 Ira Ruben <ira@apple.com>
814
815 Remove OP_IDENTIFIER.
816 * tree.def (OP_IDENTIFIER): Remove.
817 * tree.c (tree_node_kind enum): Remove op_id_kind.
818 (tree_node_kind_names): Remove "op_identifiers".
819 (make_node): Remove OP_IDENTIFIER test.
820 (build_op_identifier): Removed because it isn't being used.
821 * print-tree.c (print_node): Remove OP_IDENTIFIER case.
822 * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
823
0615ed36
RH
8242001-09-06 Richard Henderson <rth@redhat.com>
825
826 * simplify-rtx.c (simplify_binary_operation): Revert last change.
827
7d8be4da
RH
8282001-09-06 Richard Henderson <rth@redhat.com>
829
830 * simplify-rtx.c (simplify_binary_operation): Simplify contents
831 of CONST.
832
a1dc9455
FS
8332001-09-06 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
834
835 * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
836 number used for CR register.
837
1aae372e
JL
838Thu Sep 6 11:16:35 2001 Jeffrey A Law (law@cygnus.com)
839 Joern Rennecke (amylaar@cygnus.com)
840
841 * h8300-protos.h (h8300_return_addr_rtx): New prototype.
842 * h8300.c (initial_offset): Handle offset between RP and FP.
843 (h8300_return_addr_rtx): New function.
844 * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
845 return register.
846 (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
847 (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
848 (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
849 (CAN_ELIMINATE, REGISTER_NAMES):
850 (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
851
6d0a3f67
NS
8522001-09-06 Nathan Sidwell <nathan@codesourcery.com>
853
854 Remove TYPE_NONCOPIED_PARTS.
855 * tree.h (TYPE_NONCOPIED_PARTS): Remove.
856 (struct tree_type): Remove noncopied_parts.
857 * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
858 * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
859 (fixed_type_p): Remove.
860 (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
861 (expand_expr, MODIFY_EXPR): Likewise.
862 * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
863 * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
864
02071907
AM
8652001-09-06 Alan Modra <amodra@bigpond.net.au>
866
867 * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
868 compiler warnings.
869 (mask64_operand): Likewise.
870 (includes_rldic_lshift_p): Likewise.
871 (includes_rldicr_lshift_p): Likewise.
872
89fc3605
ZL
8732001-09-05 Ziemowit Laski <zlaski@apple.com>
874
4a063bec 875 * objc/objc-act.c (build_message_expr): If a class method cannot
89fc3605
ZL
876 be found, do not issue a warning if a corresponding instance
877 method exists in the root class.
878
666b0481
RH
8792001-09-05 Richard Henderson <rth@redhat.com>
880
881 * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
882
ae6f2a1c
ZW
8832001-09-05 Zack Weinberg <zack@codesourcery.com>
884
885 * function.c (ggc_mark_struct_function): Mark f->outer.
886 * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
887 * integrate.c (output_inline_function): ... not here.
888
2ab0437e
JH
889Wed Sep 5 17:28:49 CEST 2001 Jan Hubicka <jh@suse.cz>
890
04ac5ee9
JH
891 * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
892
2ab0437e
JH
893 * i386.c (size_cost): New static variable.
894 (override_function): Use size_cost when -Os is specified.
895
896 * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
897 properly; Use current_function_calls_eh_return.
898 (ix86_expand_epilogue): Avoid dummy optimize_size tests;
899 use leave to avoid depdendancy chain.
900
901 * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
902 get BB loop_depth instead of computing it from LOOP notes.
903
904 * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
905
76f81d95
JDA
9062001-09-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
907
908 * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
909 * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
910 UNALIGNED_DOUBLE_INT_ASM_OP): Define
911
8db4c867
JL
9122001-09-05 Jeffrey A Law (law@cygnus.com)
913 Jason Merrill (jason@redhat.com)
914
915 * stor-layout.c (layout_type): Complain if an array's size can
916 not be represented in a size_t.
917
918 * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
919
caa297fe
DB
9202001-09-05 David Billinghurst <David.Billinghurst@riotinto.com>
921
4cba3b67 922 * gcc.c: (process_command) Add parentheses around assignment
caa297fe
DB
923 used as truth value.
924
eecd6d9c
RS
9252001-09-05 Richard Sandiford <rsandifo@redhat.com>
926
4cba3b67 927 * config/mips/mips.c (save_restore_insns): Don't mark any register
eecd6d9c
RS
928 save slots as unchanging if current_function_calls_eh_return.
929
a39bdefc
RH
9302001-09-05 Richard Henderson <rth@redhat.com>
931
932 * config/alpha/alpha.c (alpha_legitimate_address_p): New.
933 * config/alpha/alpha-protos.h: Declare it.
934 * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
935 (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
936 (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
937 (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
938 (REG_OK_FOR_BASE_P): Select one of the above.
939
662704e7
RS
9402001-09-05 Richard Sandiford <rsandifo@redhat.com>
941
942 * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
943 (crti.o): Prefix name of object file with $(T).
944 (crtn.o): Likewise.
945
2be1602e
DM
9462001-09-05 David S. Miller <davem@redhat.com>
947
948 * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
949 * config/sparc/linux64.h: Likewise.
950
a7939b1d
AJ
9512001-09-05 Andreas Jaeger <aj@suse.de>
952
953 * doc/invoke.texi (i386 Options): -mwide-multiply is not
954 available anymore, remove the documentation.
955 (i386 Options): Fix typo, cleanup index entries.
956
957 * prefix.c (concat): Remove, we can use the version from liberty.
958
23296a36
RH
9592001-09-05 Richard Henderson <rth@redhat.com>
960
961 * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
962 New functions split out of md file expanders.
963 * config/alpha/alpha-protos.h: Declare them.
964 * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
965
522d73ab
NB
9662001-09-05 Neil Booth <neil@daikokuya.demon.co.uk>
967
968 * cppmacro.c (funlike_invocation_p): No need to restore context.
969
aead1ca3
RH
9702001-09-04 Richard Henderson <rth@redhat.com>
971
972 * reload.c (push_reload): Export.
973 * reload.h (push_reload): Declare it.
974
975 * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
976 (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
977 * config/alpha/alpha.c (alpha_legitimize_address): New.
978 (alpha_legitimize_reload_address): Likewise.
979 * config/alpha/alpha-protos.h: Declare them.
980
93913281
SS
9812001-09-04 Stan Shebs <shebs@apple.com>
982
983 * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
984 * config/darwin.c (machopic_stub_name): Account for internally
985 generated lib calls such as memcpy.
986
4c21ef03
RH
9872001-09-04 Richard Henderson <rth@redhat.com>
988
989 * unwind.h (_UA_END_OF_STACK): New flag.
990 * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
991
9aa5ba97
JL
992Tue Sep 4 11:16:35 2001 Jeffrey A Law (law@cygnus.com)
993
994 * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
995
58771ed1
RS
9962001-09-04 Richard Sandiford <rsandifo@redhat.com>
997
998 * config/mips/mips.c (save_restore_insns): Change base_offset to
999 fp_offset in second call to mips_emit_frame_related_store.
1000
ba72e5a6
HPN
10012001-09-04 Hans-Peter Nilsson <hp@axis.com>
1002
1003 * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
1004 sometimes be represented as a NOTE of type
1005 NOTE_INSN_DELETED_LABEL.
1006 (Insns): Document NOTE_INSN_DELETED_LABEL.
1007
22367161
NS
10082001-09-04 Nathan Sidwell <nathan@codesourcery.com>
1009
1010 * c-common.h (tree_dump_index): Add more comments.
1011 * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
1012 (dump_option_value_info): New struct.
1013 (dump_options): New array.
1014 (dump_switch_p): Parse switch options symbolically.
1015 * doc/invoke.texi (-fdump-ast): Rename to ...
1016 (-fdump-tree): ... here. Document that options are symbolic, and
1017 not all are applicable.
1018
f7df2b9d
DM
10192001-09-04 David S. Miller <davem@redhat.com>
1020
1021 * config/sparc/sparc.md (define_splits): Kill constraints.
1022
7fbb2f84
DM
1023 Cleanup redundant and unused insn attributes.
1024 * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
1025 binary, and move. Mark ialu as default.
1026 (commented out define_function_unit "alu"): Kill.
1027 (define_attr "use_clobbered"): Kill.
1028 (whole file): Kill address insn type references. Replace
1029 all unary/binary/move references with ialu.
1030 * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
1031 references. Replace TYPE_{UNARY,BINARY,MOVE} references with
1032 TYPE_IALU.
a7939b1d 1033
24697ca0
DM
1034 Simplify length insn attribute and make more judicious use
1035 of insn attribute defaulting.
1036 * config/sparc/sparc.md (all insns with length > one): Mark as
1037 insn type multi if real instructions, else use default if
1038 it is a forced splitter.
1039 (all insns with length == one): Use default insn length.
1040 (all insns of type ialu): Use default insn type.
1041
1042 Fix erroneous insn attribute settings.
1043 (addx): Set insn type to misc.
1044 (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
1045 const_umulsidi3_sp64): Set insn type to imul.
a7939b1d 1046
24697ca0
DM
1047 Track SFmode vs DFmode insns according to UltraSPARC
1048 scheduling rules.
1049 * config/sparc/sparc.md ("fptype"): New attribute, default
1050 to "single".
1051 (all DFmode single insns): Mark as fptype "double".
1052
7743fdb9
JJ
10532001-09-03 Jakub Jelinek <jakub@redhat.com>
1054
1055 * loop.c (express_from_1): Fix CONSTANT_P(a) case.
1056
964be02f
RH
10572001-09-03 Richard Henderson <rth@redhat.com>
1058
1059 * function.h (struct function): Add arg_pointer_save_area_init.
1060 * function.c (expand_function_end): Init arg_pointer_save_area.
1061 (get_arg_pointer_save_area): Do not init arg_pointer_save_area
1062 when called from a nested function.
1063
86251d81
AMT
10642001-09-02 Angela Marie Thomas <angela@cygnus.com>
1065
1066 * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
1067 is enabled.
1068
0c4992b0
JH
1069Sun Sep 2 18:37:54 CEST 2001 Jan Hubicka <jh@suse.cz>
1070
1071 * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
1072
e27e731d
GK
10732001-09-01 Geoffrey Keating <geoffk@redhat.com>
1074
9e0e11bf
GK
1075 * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
1076 (emit_push_insn): Use specified padding direction when
1077 STACK_PUSH_CODE is POST_INC.
1078
e27e731d
GK
1079 * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
1080
a6ffcb2a
KG
10812001-09-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1082
1083 * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
1084
53aabfbc
NB
10852001-09-01 Neil Booth <neil@daikokuya.demon.co.uk>
1086
1087 * cppinit.c (cpp_start_read): Free the imacros list as we
1088 traverse it. Don't free the chains before returning.
1089 (_cpp_push_next_buffer): Only try pushing buffers if we've
1090 completed -imacros handling.
1091
4049df42
EC
10922001-08-31 Eric Christopher <echristo@redhat.com>
1093
1094 * gcc.c (handle_braces): Add explaination for abort.
1095
57bfa49a
RZ
10962001-08-30 Roman Zippel <zippel@linux-m68k.org>
1097
1098 * expmed.c (store_bit_field): Update to patch from 2001-08-27:
1099 move adjustment of bitpos instead.
1100
eb3ae3e1
ZW
11012001-08-31 Zack Weinberg <zack@codesourcery.com>
1102
1103 * function.c: Remove all_functions. Make outer_function_chain
1104 static.
1105 (init_function_start): Don't add new function structure to
1106 all_functions.
1107 (find_function_data, push_function_context_to,
1108 pop_function_context_from, put_var_into_stack,
1109 trampoline_address): Update for changed structure element names.
1110 (push_function_context_to): Disentangle.
1111 (free_after_compilation): Also free F.
1112 (expand_dummy_function_end): Don't free cfun here.
1113 (put_var_into_stack): Comment why we can't use find_function_data here.
1114 (fix_lexical_addr, trampoline_address, ): Use find_function_data.
1115 (mark_function_chain): Split into maybe_mark_struct_function and
1116 ggc_mark_struct_function. Export the latter.
1117 (init_function_once): Mark from cfun and outer_function_chain;
1118 not all_functions.
1119
1120 * function.h (struct function): Kill next_global. Rename next
1121 to outer. All users updated to match.
1122 (all_functions, outer_function_chain): Don't declare.
1123
1124 * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
1125 * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
1126 don't touch f->inlinable, after calling rest_of_compilation.
1127
1128 * tree.h: Forward-declare struct function. Prototype
1129 ggc_mark_struct_function.
1130
fb9282f9
KH
11312001-08-31 Kazu Hirata <kazu@hxi.com>
1132
1133 * config/h8300/h8300.md (*andorhi3): Fix typos.
1134
6268b922
KG
11352001-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1136
1137 * calls.c (emit_library_call_value): Don't use a fixed
1138 argument after VA_CLOSE, i.e. out of scope in traditional C.
1139
1140 * emit-rtl.c (gen_rtvec): Likewise.
1141
78b41166
KG
11422001-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1143
1144 * Makefile.in (c-pragma.o): Depend on output.h.
1145 (reorg.o): Depend on except.h.
1146
1147 * c-pragma.c: Include output.h.
1148
1149 * reorg.c: Include except.h.
1150
1151 * unwind-dw2.c: Call __builtin_alloca, not alloca.
1152
fe3e667f
RH
11532001-08-31 Richard Henderson <rth@redhat.com>
1154
1155 * sched-deps.c (add_dependence): Don't elide dependancy if the
1156 conditional used by insn is modified in elem.
1157
75b9045a
NC
11582001-08-31 Nick Clifton <nickc@cambridge.redhat.com>
1159
1160 * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
1161
a8231a01
DN
11622001-08-31 Diego Novillo <dnovillo@redhat.com>
1163
1164 * c-decl.c (c_decode_option): Skip '-f' prefix before calling
1165 dump_switch_p.
1166
43898541
GK
11672001-08-31 Geoffrey Keating <geoffk@redhat.com>
1168
1169 * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
1170 function.
1171 (stormy16_asm_out_constructor): New function.
1172 (TARGET_ASM_CONSTRUCTOR): Define.
1173 (TARGET_ASM_DESTRUCTOR): Define.
1174
6b8c9327
AJ
11752001-08-31 Andreas Jaeger <aj@suse.de>
1176
1177 * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
1178 * loop.c (add_label_notes): Likewise.
1179 * reload.c (find_reloads): Likewise.
1180 * config/sh/sh.c (machine_dependent_reorg): Likewise.
1181
a9985a92
JM
11822001-08-31 Jason Merrill <jason_merrill@redhat.com>
1183
1184 * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
1185 code here. Take _Unwind_{W,Sw}ord*.
1186 (read_encoded_value_with_base): Use them.
1187 * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
1188 words.
1189 (extract_cie_info): Simplify read_?leb128 handling.
1190 (execute_stack_op, execute_cfa_program): Likewise.
1191 * unwind-dw2-fde.c (get_cie_encoding): Likewise.
1192
e2470e1b
GK
11932001-08-31 Geoffrey Keating <geoffk@redhat.com>
1194
1195 * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
1196 the frame pointer to pop the stack if convenient.
1197
1198 * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
1199 Don't use post-increment before combine.
1200 * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
1201 a call-saved register.
1202
f5dd47c4
AJ
12032001-08-31 Andreas Jaeger <aj@suse.de>
1204
1205 * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
1206 code was correct.
1207
ed09481d
GK
12082001-08-30 Geoffrey Keating <geoffk@redhat.com>
1209
1210 * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
1211 not DIV/MOD, of course.
1212
b8ec5764
VM
12132001-08-30 Vladimir Makarov <vmakarov@redhat.com>
1214
1215 * rtl.def: Undo my patch commited 2001-08-27.
1216
1217 * genattrtab.c: Ditto.
1218
1219 * rtl.h: Ditto.
1220
1221 * sched-int.h: Ditto.
1222
1223 * target-def.h: Ditto.
1224
1225 * target.h: Ditto.
1226
1227 * haifa-sched.c: Ditto.
1228
1229 * sched-rgn.c: Ditto.
1230
1231 * sched-vis.c: Ditto.
1232
1233 * Makefile.in: Ditto.
1234
1235 * doc/md.texi: Ditto.
1236
1237 * doc/tm.texi: Ditto.
1238
1239 * doc/contrib.texi: Ditto.
1240
1241 * doc/gcc.texi: Ditto.
1242
1243 * genattrtab.h: Remove it.
1244
1245 * genautomata.c: Remove it.
1246
1247 * genattr.c: Undo my patch and Richard Henderson's patch commited
1248 2001-08-27.
1249
9f5b774b 1250Thu Aug 30 19:22:15 2001 J"orn Rennecke <amylaar@redhat.com>
f4926e19
R
1251
1252 * config.gcc (h8300-*-elf*): New case.
1253 * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
1254 (SUBTARGET_CPP_SPEC): Define.
1255 (EXTRA_SPECS): Define.
1256 (SUBTARGET_EXTRA_SPECS): Define.
1257 * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
1258 * config/h8300/elf.h, config/h8300/t-elf: Likewise.
1259
8c062645
R
1260Thu Aug 30 18:50:37 2001 J"orn Rennecke <amylaar@redhat.com>
1261
1262 * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
1263 (LIB2FUNCS_EXTRA): Define.
1264 config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
1265 config/h8300/fixunssfsi.c: New file.
1266
6f41623f
KH
12672001-08-30 Kazu Hirata <kazu@hxi.com>
1268
1269 * config/h8300/h8300.md (zero_extendqihi2): Changes to
1270 define_expand to accomodate target-specific attributes.
1271 (anonymous zero_extendqihi2 patterns): New.
1272
ee437932
R
1273Thu Aug 30 18:10:56 2001 J"orn Rennecke <amylaar@redhat.com>
1274
1275 * h8300.md (*andorhi3): New pattern.
1276
63a57e0f
R
1277Thu Aug 30 16:00:31 2001 J"orn Rennecke <amylaar@redhat.com>
1278
1279 * h8300.c (dosize): Fix test for "sub".
1280
95602da1
R
1281Thu Aug 30 10:21:43 2001 J"orn Rennecke <amylaar@redhat.com>
1282
1283 * c-typeck.c (pointer_diff): Try to eliminate common term before
1284 doing conversions.
1285
ef7112de
NC
12862001-08-30 Nick Clifton <nickc@cambridge.redhat.com>
1287
1288 * config/arm/arm.c (arm_compute_initial_elimination_offset):
1289 Account for the saves of the FP registers.
1290
1291 * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
1292 (TEXT_SECTION_ASM_OP): Define.
1293 (INIT_SECTION_ASM_OP): Define.
1294 (FINI_SECTION_ASM_OP): Define.
1295 (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
1296 (RDATA_SECTION_FUNCITON): Provide prototype.
1297
52fdbf26
GK
12982001-08-29 Geoffrey Keating <geoffk@redhat.com>
1299
1300 * reload1.c (move2add_note_store): Correct typo checking for
1301 argument pushes.
1302
c63b1ae8
AM
13032001-08-29 Andrew MacLeod <amacleod@redhat.com>
1304
1305 * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
1306 note should not be considered outside the libcall block.
1307
ec83eb53
KG
13082001-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1309
1310 * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
1311
5965bbf8
KH
13122001-08-29 Kazu Hirata <kazu@hxi.com>
1313
1314 * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
1315
366a7b27
KH
13162001-08-29 Kazu Hirata <kazu@hxi.com>
1317
1318 * config/h8300/h8300-protos.h: Add a prototype for
1319 emit_logical_op.
1320 * config/h8300/h8300.c (emit_logical_op): New.
1321 * config/h8300/h8300.md (andhi3): Use emit_logical_op.
1322 (andsi3): Likewise.
1323 (iorhi3): Likewise.
1324 (iorsi3): Likewise.
1325 (xorhi3): Likewise.
1326 (xorsi3): Likewise.
1327
6e9c53b4
JDA
13282001-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
1329
1330 * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
1331 comparison with rtx INTVAL.
1332 (pa_output_function_prologue): Don't mix signed and unsigned in `?'
1333 expression.
1334 * pa.h (FUNCTION_ARG_SIZE): Likewise.
1335
53251a55
KH
13362001-08-29 Kazu Hirata <kazu@hxi.com>
1337
1338 * config/h8300/lib1funcs.asm: Update the copyright. Fix
1339 comment typos.
1340
0cb3708d
KH
13412001-08-29 Kazu Hirata <kazu@hxi.com>
1342
07322342
KH
1343 * config/h8300/h8300.md (anonymous movhi pattern): Don't move
1344 (reg n) to (mem (pre_dec (reg n))
0cb3708d
KH
1345 (anonymous movsi pattern): Likewise.
1346
39fc3cc7
KH
13472001-08-29 Kazu Hirata <kazu@hxi.com>
1348
07322342 1349 * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
39fc3cc7 1350
b3a68dba
KH
13512001-08-29 Kazu Hirata <kazu@hxi.com>
1352
07322342
KH
1353 * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
1354 several special constants.
b3a68dba 1355
45a4bc1d
KH
13562001-08-29 Kazu Hirata <kazu@hxi.com>
1357
1358 * config/h8300/lib1funcs.asm: Fix comment typos.
1359
c3d03e3a
KG
13602001-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1361
1362 * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
1363 Fix format specifier warnings.
f5dd47c4 1364
c3d03e3a
KG
1365 * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
1366 inet_makeaddr, semctl): Prototype.
1367
1368 * mips.c (compute_frame_size): Fix signed/unsigned warnings.
1369 (save_restore_insns): Use base_offset, not gp_offset.
1370
1371 * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
1372 (ASM_OUTPUT_BYTE): Fix format specifier warning.
1373
a7b01a4b
RH
13742001-08-29 Richard Henderson <rth@redhat.com>
1375
1376 * bb-reorder.c (function_tail_eff_head): New.
1377 (record_effective_endpoints): Set it.
1378 (fixup_reorder_chain): Use it.
1379
c43f84d7
KG
13802001-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1381
1382 * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
1383
c0cbc013
DJ
13842001-08-28 Dale Johannesen <dalej@apple.com>
1385
1386 * config/darwin.c (machopic_function_base_name): Add const
1387 qualifier to a string.
1388 (darwin_encode_section_info): Ditto.
1389
252cf812
KG
13902001-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1391
1392 * tree.c (default_valid_attribute_p): Don't use PARAMS on a
1393 function definition.
1394
d59c5346
DB
13952001-08-28 Daniel Berlin <dan@cgsoftware.com>
1396
1397 * df.h (struct df): Add rts_order variable.
1398
1399 * df.c (df_visit_next_rts): New function.
1400 (df_visit_next): Renamed to df_visit_next_rc
1401 (df_analyse_1): Allocate/compute/free rts_order as well.
1402 (df_rd_global_compute): Use df_visit_next_rc instead of
1403 df_visit_next.
1404 (df_ru_global_compute): Use df_visit_next_rts instead of
1405 df_visit_next.
f5dd47c4 1406
d59c5346
DB
1407 * flow.c (flow_reverse_top_sort_order_compute): New function.
1408
1409 * basic-block.h: Add prototype.
1410
e0c39f1b
DB
14112001-08-28 Daniel Berlin <dan@cgsoftware.com>
1412
1413 * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
1414 blocks, the BB_REACHABLE is now set, rather than aux being
1415 non-NULL. Update the test to reflect this.
f5dd47c4 1416
a098df27
EC
14172001-08-28 Eric Christopher <echristo@redhat.com>
1418
1419 * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
1420 config/mips/crti.asm: Ditto.
1421
46f9491e
EC
14222001-08-28 Eric Christopher <echristo@redhat.com>
1423 Richard Henderson <rth@redhat.com>
1424
1425 * c-pragma.h (add_weak): Move prototype from here...
1426 * output.h (add_weak): ... to here.
1427 * varasm.c (add_weak): Fix typo.
1428 * config/mips/crti.asm: New file.
1429 * config/mips/crtn.asm: Ditto.
1430 * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
1431 (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
1432 (INVOKE__main): Ditto.
1433 (INIT_SECTION_ASM_OP): New.
1434 (FINI_SECTION_ASM_OP): Ditto.
1435 (STARTFILE_SPEC): Add crti.
1436 (ENDFILE_SPEC): Add crtn.
1437 * config/mips/elf64.h: Same.
1438 * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
1439 Remove.
1440 * config/mips/vxworks.h: Ditto.
1441 * config/mips/t-elf: Support crti and crtn.
1442
5dde0143
AO
14432001-08-28 Alexandre Oliva <aoliva@redhat.com>
1444
1445 * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
1446 INSN_LIST.
1447
967603ef
RH
14482001-08-28 Richard Henderson <rth@redhat.com>
1449
1450 * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
1451 (one_cmplbi2 splitter): Remove redundant test.
1452
4f400cf6
DJ
14532001-08-28 Dale Johannesen <dalej@apple.com>
1454
1455 * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
1456
c976fa88
DS
14572001-08-28 Danny Smith <dannysmith@users.sourceforge.net>
1458
1459 * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
1460
1aef44a7
SS
14612001-08-28 Stan Shebs <shebs@apple.com>
1462
1463 * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
1464 (UNALIGNED_SHORT_ASM_OP): Define.
1465 (UNALIGNED_INT_ASM_OP): Define.
1466
68350f4f
WC
14672001-08-28 Will Cohen <wcohen@redhat.com>
1468
1469 * config/rs6000/rs6000.md (store_multiple): Correct RTL
1470 generation for first set.
1471
b5a696fb 14722001-08-27 Roman Zippel <zippel@linux-m68k.org>
c23bb84b
RH
1473
1474 * flow.c (redirect_edge_succ_nodup): Return new edge.
1475 (try_simplify_condjump): Use new edge.
1476 * basic-block.h (redirect_edge_succ_nodup): Update prototype.
1477
b5a696fb
RZ
1478 * cse.c (cse_basic_block): Skip note instructions.
1479
c05148e8
RH
14802001-08-27 Richard Henderson <rth@redhat.com>
1481
fa4e13e0
RH
1482 * combine.c (combine_simplify_rtx): Don't reverse condition
1483 if there is no reverse for the condition.
1484 (simplify_comparison): Don't simplify subregs from INT to FP.
1485
c05148e8
RH
1486 * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
1487 suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
1488 sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
1489 bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
1490 bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
1491 bunle_rev, bunlt_rev, bltgt_rev): New patterns.
46f9491e 1492
f21bdd05
RZ
14932001-08-27 Roman Zippel <zippel@linux-m68k.org>
1494
b7b59ff4
RZ
1495 * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
1496 bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
1497 (pushqi1): New.
1498 (adddi_dilshr32, adddi_dishl32): Only data register can be
1499 source for mem destination.
1500
f21bdd05
RZ
1501 * expmed.c (store_bit_field): Ignore adjustment to bitpos
1502 and use bitnum to decide about register move.
1503
a224278b
RH
15042001-08-27 Richard Henderson <rth@redhat.com>
1505
1506 * genattr.c (main): Emit state_t even when not doing scheduling.
1507
80c29cc4
RZ
15082001-08-27 Roman Zippel <zippel@linux-m68k.org>
1509 Richard Henderson <rth@redhat.com>
1510
1511 * gcse.c (reg_first_set, reg_last_set): Replace with ...
1512 (reg_avail_info, current_bb): ... these.
1513 (oprs_unchanged_p, record_last_reg_set_info): Use them.
1514 (compute_hash_table): Likewise.
1515
bce7bfe8
RZ
15162001-08-27 Roman Zippel <zippel@linux-m68k.org>
1517
1518 * flow.c (verify_flow_info): Use checksums to verify edges.
1519
ce4a5723
RH
15202001-08-27 Richard Henderson <rth@redhat.com>
1521
1522 * genautomata.c (expand_automata): Always create a description.
1523
859cb4d8
GK
15242001-08-27 Geoffrey Keating <geoffk@redhat.com>
1525
1526 * optabs.c (expand_binop): Correctly handle the carry in multiword
1527 add/subtract operations.
1528
b7a0c86f
FF
15292001-08-27 Fred Fish <fnf@be.com>
1530
1531 * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
1532 __SIZE_TYPE__.
1533
67a44b16
GK
15342001-08-27 Geoffrey Keating <geoffk@redhat.com>
1535
1536 * reload.c (find_reloads_toplev): Back out this change:
1537
1538 Wed Jul 26 19:44:05 2000 Hans-Peter Nilsson <hp@axis.com>
1539
1540 * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
1541 mem if the address is a mode_dependent_address_p.
1542
acd7baf7
VM
15432001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
1544
c23bb84b 1545 * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
acd7baf7
VM
1546 PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
1547 AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
1548 RTL constructions.
46f9491e 1549
acd7baf7
VM
1550 * genattr.c (main): New variable num_insn_reservations. Increase
1551 it if there is DEFINE_INSN_RESERVATION. Output automaton based
1552 pipeline hazard recognizer interface.
1553
1554 * genattrtab.h: New file.
46f9491e 1555
acd7baf7
VM
1556 * genattrtab.c: Include genattrtab.h.
1557 (attr_printf, check_attr_test, make_internal_attr,
1558 make_numeric_value): Move protypes into genattrtab.h. Define them
1559 as external.
1560 (num_dfa_decls): New global variable.
1561 (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
1562 DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
1563 DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
1564 DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
1565
1566 * genautomata.c: New file.
1567
1568 * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
46f9491e 1569
c23bb84b 1570 * sched-int.h: (curr_state): Add the external definition for
acd7baf7
VM
1571 automaton pipeline interface.
1572 (haifa_insn_data): Add comments for members blockage and units.
46f9491e 1573
acd7baf7
VM
1574 * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
1575 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
1576 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
1577 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
1578 TARGET_SCHED_DFA_POST_CYCLE_INSN,
1579 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
1580 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
1581 macros.
1582 (TARGET_SCHED): Use the new macros.
1583
1584 * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
1585 dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
1586 first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
1587 dfa_bubble): New members in gcc_target.sched.
46f9491e 1588
c23bb84b 1589 * haifa-sched.c (insert_schedule_bubbles_p): New variable.
acd7baf7
VM
1590 (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
1591 (insn_queue): Redefine it as pointer to array.
1592 (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
1593 INSN_QUEUE_SIZE.
1594 (max_insn_queue_index_macro_value): New variable.
1595 (curr_state, dfa_state_size, ready_try): New varaibles for
1596 automaton interface.
1597 (ready_element, ready_remove, max_issue): New function prototypes
1598 for automaton interface.
1599 (choose_ready): New function prototype.
1600 (insn_unit, blockage_range): Add comments.
1601 (unit_last_insn, unit_tick, unit_n_insns): Define them for case
1602 FUNCTION_UNITS_SIZE == 0.
1603 (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
1604 actual_hazard, potential_hazard): Add comments.
1605 (insn_cost): Use cost -1 as undefined value. Remove
1606 LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
1607 pipeline interface.
1608 (ready_element, ready_remove): New functions for automaton
1609 interface.
1610 (schedule_insn): Add new code for automaton pipeline interface.
1611 (queue_to_ready): Add new code for automaton pipeline interface.
1612 Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
1613 (debug_ready_list): Print newline when the queue is empty.
1614 (max_issue): New function for automaton pipeline interface.
1615 (choose_ready): New function.
1616 (schedule_block): Add new code for automaton pipeline interface.
1617 Print ready list before scheduling each insn.
1618 (sched_init): Add new code for automaton pipeline interface.
1619 Initiate insn cost by -1.
1620 (sched_finish): Free the current automaton state and finalize
1621 automaton pipeline interface.
46f9491e 1622
acd7baf7
VM
1623 * sched-rgn.c: Include target.h.
1624 (init_ready_list, new_ready, debug_dependencies): Add new code for
1625 automaton pipeline interface.
1626
1627 * sched-vis.c: Include target.h.
1628 (get_visual_tbl_length): Add code for automaton interface.
1629 (target_units, print_block_visualization): Add comments.
46f9491e 1630
c23bb84b 1631 * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
acd7baf7
VM
1632 USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
1633 (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
1634 (getruntime.o, genautomata.o): New entries.
1635 (genattrtab.o): Add new dependency file genattrtab.h.
1636 (genattrtab): Add new dependencies. Link it with `libm.a'.
1637 (getruntime.o, hashtab.o): New entries for canadian cross.
1638
1639 * doc/md.texi: Description of automaton based model.
46f9491e 1640
acd7baf7
VM
1641 * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
1642 Add comments.
1643 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
1644 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
1645 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
1646 TARGET_SCHED_DFA_POST_CYCLE_INSN,
1647 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
1648 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
1649 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
1650 hook descriptions.
1651 (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
1652 MAX_DFA_ISSUE_RATE): New macro descriptions.
46f9491e 1653
acd7baf7
VM
1654 * doc/contrib.texi: Add dfa based scheduler contribution.
1655
1656 * doc/gcc.texi: Add more information about genattrtab.
1657
95005c21
DN
16582001-08-27 Diego Novillo <dnovillo@redhat.com>
1659
1660 * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
1661 an RTL basic block.
1662
278ed218
RH
16632001-08-27 Richard Henderson <rth@redhat.com>
1664
1665 * function.c (expand_function_end): Don't init arg_pointer_save_area.
1666 (get_arg_pointer_save_area): New. Create an init it here.
1667 (fix_lexical_addr): Use it.
1668 * function.h: Declare it.
1669 * builtins.c (expand_builtin_setjmp_receiver): Use it.
1670 * stmt.c (expand_nl_goto_receiver): Use it.
1671
9f5cd0c5
RH
16722001-08-27 Richard Henderson <rth@redhat.com>
1673
36d7136e
RH
1674 * final.c (final_scan_insn): Don't enter APP_ON mode for
1675 empty asm strings.
1676
9f5cd0c5
RH
1677 * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
1678 alignment for assemble_integer for DW_EH_PE_aligned.
225b9cb9 1679 * except.c (output_function_exception_table): Likewise.
9f5cd0c5 1680
4a56401d
AJ
16812001-08-26 Andreas Jaeger <aj@suse.de>
1682
1683 * c-tree.h: Add prototyp for c_sizeof_nowarn.
1684
c96bd05e 16852001-08-25 Dan Nicolaescu <dann@ics.uci.edu>
46f9491e 1686
278ed218 1687 * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
c96bd05e 1688
c5059423
AM
16892001-08-27 Alan Modra <amodra@bigpond.net.au>
1690
1691 * config/rs6000/rs6000.c (mask_operand): Rewrite without
1692 bit-shifting loop.
1693 (mask64_operand): Likewise.
1694 (rldic_operand): Delete.
1695 (includes_lshift64_p): Delete.
1696 (includes_rldic_lshift_p): New function.
1697 (includes_rldicr_lshift_p): New function.
1698 (print_operand): Don't call rldic_operand in case 'W'.
1699 * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
1700 (includes_lshift64_p): Remove.
1701 (includes_rldic_lshift_p): Declare.
1702 (includes_rldicr_lshift_p): Declare.
1703 * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
1704 * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
1705 Replace match_operand rldic_operand predicate with
1706 const_int_operand. Replace includes_lshift64_p condition with
1707 includes_rldic_lshift_p.
1708 <ashldi3_internal 64 bit rldicr patterns>: New.
1709
7a75edb7
AJ
17102001-08-27 Andreas Jaeger <aj@suse.de>
1711
1712 * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
1713 * errors.c: Likewise.
1714 * final.c: Likewise.
1715 * dwarf2asm.c: Likewise.
1716 * doprint.c (checkit): Likewise.
1717 * diagnostic.c: Likewise.
1718 * collect2.c: Likewise.
1719 * calls.c: Likewise.
1720 * c-semantics.c (build_stmt): Likewise.
1721 * c-format.c (status_warning): Likewise.
1722 * c-errors.c (pedwarn_c99): Likewise.
1723 * builtins.c (validate_arglist): Likewise.
1724 * config/pj/pj.c (pj_printf): Likewise.
1725 * fix-header.c: Likewise.
1726 * gcc.c: Likewise.
1727 * gcov.c (fnotice): Likewise.
1728 * gensupport.c (message_with_line): Likewise.
1729 * mips-tfile.c: Likewise.
1730 * protoize.c (notice): Likewise.
1731 * read-rtl.c (fatal_with_file_and_line): Likewise.
1732 * rtl-error.c: Likewise.
1733 * tradcpp.c: Likewise.
1734 * tree.c: Likewise.
1735 * cp/tree.c (build_min_nt): Likewise.
1736 (build_min): Likewise.
1737 * cp/lex.c: Likewise.
1738 * cp/errfn.c: Likewise.
1739 * cp/rtti.c (create_pseudo_type_info): Likewise.
1740
6baff4c1
DC
1741Sun Aug 26 20:25:44 2001 Denis Chertykov <denisc@overta.ru>
1742
1743 * df.c (df_uses_record): Return after recording all uses
1744 in ASM_OPERANDS.
1745
772b1404
DB
17462001-08-26 Daniel Berlin <dan@cgsoftware.com>
1747
1748 * df.c (df_insn_modify): Realloc the INSN table here, if
1749 necessary, here, too.
1750
f9ad2367
AH
17512001-08-26 Aldy Hernandez <aldyh@redhat.com>
1752
278ed218
RH
1753 * config/mips/mips.c (mips_function_value): Handle complex return
1754 values.
f9ad2367 1755
cf728d61
HPN
17562001-08-25 Hans-Peter Nilsson <hp@bitrange.com>
1757
1758 * reload1.c (reload): Make all entries in reg_equiv_memory_loc
1759 unshared.
1760 * reload.c (make_memloc): Copy result if it is still
1761 reg_equiv_memory_loc[regno] on return.
1762 (subst_reloads) [ENABLE_CHECKING]: Check that none of
1763 reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
1764 reg_equiv_mem are modified by the substitutions.
1765
6ab16dd9
JH
1766Sat Aug 25 23:07:35 CEST 2001 Jan Hubicka <jh@suse.cz>
1767
1768 * predict.c (expensive_function_p): New.
1769 * rtl.h (expensive_function_p): Declare.
1770 * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
1771 (use_fast_prologue_epilogue): New static variable.
1772 (expand_prologue): Set it; emit short prologues if unset.
1773 (expand_epilogue): Likewise.
1774
4b58290f
GK
17752001-08-22 Geoffrey Keating <geoffk@redhat.com>
1776
1777 * config.gcc: Add stormy16-*-elf case.
1778 * config/stormy16/stormy-abi: New file.
1779 * config/stormy16/stormy16-lib2.c: New file.
1780 * config/stormy16/stormy16-protos.h: New file.
1781 * config/stormy16/stormy16.c: New file.
1782 * config/stormy16/stormy16.h: New file.
1783 * config/stormy16/stormy16.md: New file.
1784 * config/stormy16/t-stormy16: New file.
1785
d3fe11e6
JH
1786Sat Aug 25 15:46:51 CEST 2001 Jan Hubicka <jh@suse.cz>
1787
1788 * i386.h (no-accumulate-outgoing-args): Use proper mask.
1789
1cb18e3c
DE
17902001-08-24 David Edelsohn <edelsohn@gnu.org>
1791
1792 * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
1793 descriptor members are pointer size, not constant 4.
1794 * config/rs6000/rs6000.md (define_splits): Remove more unused
1795 constraints.
1796
c3bef1a9
KG
17972001-08-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1798
1799 * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
1800
20787c01
AJ
18012001-08-24 Andreas Jaeger <aj@suse.de>, rkl@connect.org.uk
1802
1803 * cp/rtti.c (VPARAMS): Fix parameter.
1804
a242b083
ZW
18052001-08-24 Zack Weinberg <zackw@panix.com>
1806
1807 * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
1808 to zero.
1809 (mode_for_extraction): No need for #ifdefs. Add default-case abort
1810 to switch.
1811 (store_bit_field): Eliminate insv_bitsize variable. Put HAVE_insv
1812 in if controlling use of insv.
1813 (extract_bit_field): Likewise, for extv and extzv.
1814
653753c5
JH
1815Fri Aug 24 17:27:46 CEST 2001 Jan Hubicka <jh@suse.cz>
1816
1817 * i386.md (movcc peep2): Fix load of 0.
1818
ada11335
KG
18192001-08-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1820
1821 * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
1822 *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
1823
0213a355
JM
18242001-08-23 Jason Merrill <jason_merrill@redhat.com>
1825
4ae08f95
JM
1826 * c-pragma.h: Move weak_syms and weak_decls...
1827 * varasm.c: ...here. Now static.
1828 (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
1829 depend on HANDLE_PRAGMA_WEAK.
1830
0213a355
JM
1831 * c-common.c (c_alignof, c_alignof_expr): Move here...
1832 * c-typeck.c: ...from here.
1833 * c-tree.h, c-common.h: Adjust.
1834
3e7c7805
BS
18352001-08-23 Bernd Schmidt <bernds@redhat.com>
1836
1837 * config/ia64/ia64.c (rws_update): If !pred, set write_count
1838 instead of incrementing it.
1839
3b63eac4
BS
1840 * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
1841 asm ready, don't try to move them all into the same array element.
1842
ab75d1f1
JH
1843Thu Aug 23 17:21:43 CEST 2001 Jan Hubicka <jh@suse.cz>
1844
1845 * function.c (thread_prologue_and_epilogue_insns): Avoid
1846 fallthru flag on edge to exit.
1847
1848 * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
1849
1850 * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
1851 dead edges.
1852
038c2f50
LB
18532001-08-23 Lars Brinkhoff <lars@nocrew.org>
1854
1855 * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
1856 * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
1857 * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
1858 Remove prototype.
1859
40803cd5
LB
18602001-08-23 Lars Brinkhoff <lars@nocrew.org>
1861
1862 * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
1863 replace "GNU CC" with "GCC".
1864
7109d286
RH
18652001-08-23 Richard Henderson <rth@redhat.com>
1866
1867 * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
1868 Reorganize. Handle ADDL like GR, add GR_AND_BR. Handle TFmode.
1869 (ia64_secondary_reload_class): Need GR between AR/BR and anything.
1870 Need GR between FR and not GR_AND_FR.
1871 * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
1872 * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
1873 AR regs before GR regs.
1874 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
1875 (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
1876 (REGISTER_MOVE_COST): Update.
1877 (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
1878
26a952a8
RH
18792001-08-23 Richard Henderson <rth@redhat.com>
1880
1881 * regclass.c (init_reg_sets_1): Don't assume cost 2 within
1882 a register class.
1883
1558b970
GK
18842001-08-22 Geoffrey Keating <geoffk@redhat.com>
1885
1886 * reload1.c (emit_reload_insns): Don't look for notes
1887 on a NULL store_insn.
1888
0d587737
KG
18892001-08-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1890
1891 * sparc.c (uns_small_int): Don't reference a constant >32-bit.
1892 (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
1893 (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
1894 format specifier warnings.
1895 (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
1896
429e2a45
DB
18972001-08-22 David Billinghurst <David.Billinghurst@riotinto.com>
1898
1899 * config/i386/i386-protos.h: Correct declaration of
1900 i386_pe_asm_named_section.
1901
85f3e748
JDA
19022001-08-22 John David Anglin <dave@hiauly1.hia.nrc.ca>
1903
1904 * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
1905 variable i.
1906 * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
20787c01 1907
29401c30
NB
19082001-08-22 Neil Booth <neil@daikokuya.demon.co.uk>
1909
1910 * cpperror.c (print_location): Don't show _Pragma.
1911 * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
1912 and file change callback generation here.
1913 (stack_include_file): Update use of cpp_push_buffer.
1914 * cpphash.h (_cpp_pop_file_buffer): Update prototype.
1915 (struct cpp_buffer): Remove type, pfile members.
1916 * cppinit.c (cpp_handle_option): Use free_chain.
1917 * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
1918 (skip_escaped_newlines, get_effective_char, lex_percent): Take
1919 a cpp_reader rather than a cpp_buffer.
1920 (skip_escaped_newlines, get_effective_char, skip_block_comment,
1921 skip_line_comment, parse_string, lex_percent, lex_dot,
1922 _cpp_lex_token): Update accordingly.
1923 * cpplib.c (_cpp_pop_buffer): Don't do file change callback
1924 generation here.
1925 (cpp_push_buffer): Update prototype.
1926 (run_directive): Update use of cpp_push_buffer.
1927 (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
1928 handle_assertion): Update use of run_directive.
1929 * cpplib.h (enum cpp_buffer_type): Remove.
1930 (cpp_push_buffer): Update prototype.
1931 * fix-header.c (read_scan_file): Update.
1932
8060c8ee
MK
19332001-08-22 Matt Kraai <kraai@alumni.carnegiemellon.edu>
1934
1935 * gcc.c (struct prefix_list): Change prefix to const char *.
1936
3e4eece3
MK
19372001-08-22 Matt Kraai <kraai@alumni.carnegiemellon.edu>
1938
1939 * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
1940
2270623a
JM
19412001-08-22 Jason Merrill <jason_merrill@redhat.com>
1942
23ac7d7e
JM
1943 * explow.c (set_mem_attributes): Avoid returning a bogus alias set
1944 from a new MEM.
1945
2270623a
JM
1946 * jump.c (squeeze_notes): Take parms by reference. Handle END being
1947 a squeezable note.
1948 * rtl.h: Adjust.
1949 * ifcvt.c (dead_or_predicable): Adjust.
1950 * loop.c (find_and_verify_loops): Adjust.
1951 * stmt.c (expand_end_case): Adjust.
1952 * flow.c (merge_blocks_move_successor_nojumps): Adjust. Modify the
1953 head and end insn pointers in the basic block, not just local copies.
1954 (merge_blocks_move_predecessor_nojumps): Likewise.
1955
1322177d
LB
19562001-08-22 Lars Brinkhoff <lars@nocrew.org>
1957
1958 * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
1959 bitmap.h, builtin-types.def, builtins.c, builtins.def,
1960 c-aux-info.c, c-common.c, c-common.def, c-common.h,
1961 c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
1962 c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
1963 c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
1964 caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
1965 conditions.h, config.gcc, configure.frag, configure.in,
1966 conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
1967 cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
1968 dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
1969 doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
1970 dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
1971 emit-rtl.c, errors.c, errors.h, except.c, except.h,
1972 exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
1973 fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
1974 function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
1975 gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
1976 gencheck.c, gencodes.c, genconfig.c, genemit.c,
1977 genextract.c, genflags.c, gengenrtl.c, genmultilib,
1978 genopinit.c, genoutput.c, genpeep.c, genrecog.c,
1979 gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
1980 ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
1981 graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
1982 gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
1983 gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
1984 hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
1985 integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
1986 libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
1987 machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
1988 mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
1989 mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
1990 params.h, predict.c, predict.def, predict.h, prefix.c,
1991 prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
1992 read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
1993 regclass.c, regmove.c, regrename.c, regs.h, reload.c,
1994 reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
1995 rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
1996 sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
1997 sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
1998 ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
1999 stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
2000 tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
2001 tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
2002 unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
2003 unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
2004 xcoffout.h: replace "GNU CC" with "GCC".
2005
340f7e7c
RH
20062001-08-21 Richard Henderson <rth@redhat.com>
2007
2008 * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
2009 (final_scan_insn): Consider jump tables data even if we have no
2010 independant text section if !JUMP_TABLES_IN_TEXT_SECTION. Use
2011 ADDR_VEC_ALIGN.
2012 * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
2013 (ASM_OUTPUT_CASE_END): Remove.
2014 (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
2015 * config/ia64/ia64.md (tablejump): Decode pc-relative references.
2016 * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
2017
d523b40e
RH
20182001-08-21 Richard Henderson <rth@redhat.com>
2019
bd7b9a0f
RH
2020 * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
2021 at barrier insns. Emit stop bits before barriers.
2022
687eccc0
RH
2023 * flow.c (flow_find_cross_jump): Don't consider unconditional
2024 return insns for commoning.
2025
ba712955
RH
2026 * final.c (compute_alignments): Fix typo.
2027
d523b40e
RH
2028 * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
2029 (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
2030 (store_bit_field): Use mode_for_extraction more places.
2031 (extract_bit_field): Likewise.
2032
e1b86c9e
ZW
20332001-08-21 Zack Weinberg <zackw@panix.com>
2034
2035 * caller-save.c: Don't include insn-codes.h.
2036 (reg_save_code, reg_restore_code): Make arrays of int.
2037 All uses updated to match.
2038 (insert_save, insert_restore): No need to initialize "code"
2039 variable upon declaration.
2040 * Makefile.in: update dependencies; fix typo in clean rule.
2041
b64d061e
RH
20422001-08-21 Richard Henderson <rth@redhat.com>
2043
2044 * ifcvt.c (find_if_block): Allow join_bb as EXIT.
2045 (merge_if_block): Handle fallout from same.
2046
91db4a92
KG
20472001-08-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2048
2049 * builtins.c (type_to_class): Fix typo in last change.
2050
45d29407
RH
20512001-08-21 Richard Henderson <rth@redhat.com>
2052
20787c01 2053 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
45d29407
RH
2054 ia64_asm_output_label.
2055
209218a6
RH
2056 * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
2057 copy of gp while the real gp register contains garbage.
2058
da920570
ZW
20592001-08-21 Zack Weinberg <zackw@panix.com>
2060
2061 * expmed.c (mode_for_extraction): New function.
2062 (store_bit_field, extract_bit_field): Use it.
2063 * expr.h: Prototype it and provide an enum for its first argument.
2064
2065 * combine.c, function.c, recog.c: Don't include insn-codes.h.
2066 Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
2067 and digging through the insn_data tables.
2068 * Makefile.in: Update dependencies.
2069
d8693c6f
NB
20702001-08-22 Neil Booth <neil@daikokuya.demon.co.uk>
2071
2072 * cppfiles.c (stack_include_file): line-map.c now handles include
2073 depth.
2074 (handle_missing_handler): Similarly.
2075 (_cpp_execute_include): Similarly.
2076 (_cpp_pop_file_buffer): Similarly.
2077 * cpphash.h (struct cpp_reader): Remove system_include_depth,
2078 buffer_stack_depth and include_depth.
2079 * cpplib.c (do_include_common): line-map.c now handles include depth.
2080 (cpp_push_buffer): Similarly.
2081 (_cpp_pop_buffer): Similarly.
2082 * cppmacro.c (builtin_macro): Update.
2083 * line-map.c (init_line_maps): Set depth.
2084 (add_line_map): Increment "used" earlier. Update and use the
2085 include depth.
2086 (trace_include): Use the include depth.
2087 * line-map.h (struct line_maps): New member depth.
2088
5993019d
NB
20892001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
2090
2091 * cppfiles.c (stack_include_file): Don't handle -H here.
2092 * cppinit.c (cpp_start_read): Set include tracing after
2093 cpp_post_options and after stacking the main file.
2094 * line-map.c (trace_include): New.
2095 (init_line_maps, add_line_map): Update.
2096 * line-map.h (struct line_maps): New member trace_includes.
2097
e5eba70a
NB
20982001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
2099
2100 * cppfiles.c (stack_include_file): Harmonize system headerness tests.
2101 * cppfiles.c (stack_include_file): Only stack a file if there
2102 is something to do. Return a boolean indicating whether a
2103 buffer was stacked or not.
2104 (_cpp_execute_include): Similarly.
2105 (_cpp_read_file): Similarly.
2106 * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
2107
c1a6a8dc
SS
21082001-08-21 Sam Steingold <sds@gnu.org>
2109
2110 * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
2111 (RECACHE): keep obufp_before_macroname up to date
2112
ad82abb8
ZW
21132001-08-21 Zack Weinberg <zackw@panix.com>
2114
2115 * stmt.c: Don't include insn-codes.h.
2116 (expand_end_case): Machine specific logic moved to expr.c.
2117 No need to worry about __builtin_classify_type.
2118 (check_for_full_enumeration_handling, emit_case_nodes):
2119 Kill #if 0 blocks.
2120
2121 * builtins.o (expand_builtin_classify_type): Split up so code
2122 can be shared with fold_builtin_classify_type.
2123 (type_to_class, fold_builtin_classify_type): New functions.
2124 (fold_builtins): Handle __builtin_classify_type.
2125
2126 * expr.c (do_tablejump): Now static.
2127 (case_values_threshold, try_casesi, try_tablejump): New;
2128 code mostly from stmt.c (expand_end_case).
2129 (expr.h): Update prototypes.
2130
2131 * Makefile.in (stmt.o): Update dependencies.
2132
e9e4208a
WC
21332001-08-21 Will Cohen <wcohen@redhat.com>
2134
ad82abb8
ZW
2135 * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
2136 declaration of variable i.
2137 * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
2138 declaration of variable i.
e9e4208a 2139
29d2c7a5
RH
21402001-08-21 Richard Henderson <rth@redhat.com>
2141
2142 * crtstuff.c: Fix thinko last change. Move list tails to start
2143 of CRT_END section. Tidy ifdefs.
2144 (__EH_FRAME_BEGIN__): Always static for ELF.
2145 (__do_global_ctors_1): Rename from __frame_dummy.
2146 * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
2147 name change; don't hide __EH_FRAME_BEGIN__.
2148
487b97e0
RH
21492001-08-21 Richard Henderson <rth@redhat.com>
2150
3aed1981
RH
2151 * gdbinit.in: Move break on exit after break on fancy_abort.
2152
487b97e0
RH
2153 * config/ia64/ia64.c (ia64_return_in_memory): True for variable
2154 sized types.
2155
d7bc7a98
NB
21562001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
2157
2158 * cpphash.h (_cpp_push_next_buffer): New.
2159 * cppinit.c (do_includes): Remove.
2160 (push_include, free_chain, _cpp_push_next_buffer): New.
2161 (cpp_start_read): Use them to rework command line option handling.
2162 (cpp_handle_option): Combine handling of -include and -imacros.
2163 * cpplex.c (_cpp_lex_token): Push a new -include buffer if
2164 appropriate. Always insert missing \n at EOF.
2165 * cpplib.c (start_directive): Get the directive position right.
2166 * cppmain.c (cb_file_change): Always print the first line, unless
2167 preprocessed.
2168
bb1a503c
AJ
21692001-08-20 Andreas Jaeger <aj@suse.de>
2170
2171 * profile.c (compute_branch_probabilities): Remove extra new-line
2172 in error message.
2173 * flow.c (verify_flow_info): Likewise.
2174
006844a3
DN
21752001-08-20 Diego Novillo <dnovillo@redhat.com>
2176
2177 * basic-block.h (basic_block): Add new field 'flags'.
2178 (BB_REACHABLE): Define.
2179 (expunge_block): Declare.
2180 * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
2181 (EXIT_BLOCK_PTR): Ditto.
2182 (expunge_block): Remove static declaration.
2183 (cleanup_cfg): Clear bb->aux on every basic block.
2184 (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
2185 computing reachability.
2186 (delete_unreachable_blocks): Delete block b if b->flags has
2187 BB_REACHABLE unset.
2188
0760faf9
DN
21892001-08-20 Diego Novillo <dnovillo@redhat.com>
2190
2191 * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
2192
96bd19a7
KG
21932001-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2194
2195 * sparc.c (sparc_variable_issue): Fix typo in last change.
2196
a7b0c484
RH
21972001-08-20 Richard Henderson <rth@redhat.com>
2198
2199 * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
2200
010dc908
JDA
22012001-08-20 John David Anglin <dave@hiauly1.hia.nrc.ca>
2202
2203 * pa.h (RETURN_IN_MEMORY): Improve comment.
2204
3de87bf2
JJ
22052001-08-20 Janis Johnson <janis187@us.ibm.com>
2206
2207 * doc/invoke.texi (Profiling options): Clarify the interactions
2208 between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
2209
c8a6b916
JO
22102001-08-20 Jeffrey Oldham <oldham@codesourcery.com>
2211
2212 * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
2213 command.
2214
27a14487
MK
22152001-08-20 Matt Kraai <kraai@alumni.carnegiemellon.edu>
2216
2217 * gcc.c (make_relative_prefix): Allocate a sufficiently large
2218 buffer.
2219
ca8264b4
RH
22202001-08-20 Richard Henderson <rth@redhat.com>
2221
2222 * final.c (end_final): Fix typo last change.
2223
51c04256
NB
22242001-08-20 Neil Booth <neil@daikokuya.demon.co.uk>
2225
2226 * cppinit.c (init_standard_includes): The returned buffer
2227 is already malloc-ed.
2228 * gcc.c (add_prefix): Similarly.
2229 * prefix.c (translate_name): Update to support clear buffer
2230 ownership rules.
2231 (update_path): Similarly. Be sure to free any newly allocated
2232 key. UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
2233 (tr): New function.
2234 * prefix.h (update_path): Update prototype and document.
2235 * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
2236 up and update to new buffer ownership rules.
2237 * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
2238
247a370b
JH
2239Mon Aug 20 01:44:50 CEST 2001 Jan Hubicka <jh@suse.cz>
2240
2241 * final.c (compute_alignments): New function.
2242 (init_insn_lengths): Do not care label_align.
2243 (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
2244 (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
2245 (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
2246 (shorted_branches): Realloc label_align array; do
2247 not call init_insn_lengths; Do not care about loop alignments.
2248 * output.h (compute_alignments): Declare.
2249 * toplev.c (rest_of_compilation): Call compute_alignments.
2250 * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
2251
2252 * predict.c (block_info_def): Add npredecesors, remove nvisited;
2253 change visited to tovisit.
2254 (propagate_freq): Use faster traversing algorithm.
2255 (estimate_loops_at_level, estimate_bb_frequencies): Change visited
2256 to tovisit; reverse meaning.
2257
2258 * predict.c (struct block_info_def): Remove nvisited.
2259 (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
2260 (estimate_bb_frequencies): Call mark_dfs_back_edges.
2261
13fac94a
GK
22622001-08-19 Geoffrey Keating <geoffk@redhat.com>
2263
2264 * doc/invoke.texi (MIPS Options): Document -mfused-madd.
2265 * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
2266 (TARGET_FUSED_MADD): New.
2267 (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
2268 * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
2269 the multiply-add instructions.
2270
2919600a
RH
22712001-08-19 Richard Henderson <rth@redhat.com>
2272
bb1a503c 2273 * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
2919600a
RH
2274 is aligned to pointer size.
2275
fd1a3f73
RH
22762001-08-19 Richard Henderson <rth@redhat.com>
2277
2278 * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
2279 display markers during final schedule.
2280
c49f511c
RH
22812001-08-19 Richard Henderson <rth@redhat.com>
2282
2283 * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
2284
c45632b7
RH
22852001-08-19 Richard Henderson <rth@redhat.com>
2286
2287 * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
2288 in the same string.
2289 (ASM_NAME_TO_STRING): Remove.
2290 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
2291 in the same string. Remove support for expressions.
2292
90675921
RH
22932001-08-19 Richard Henderson <rth@redhat.com>
2294
2295 * config/i386/i386.md (tablejump): Make an expander; handle
2296 pic relative addressing here.
2297 (tablejump_1): Rename from tablejump_pic.
2298 (casesi): Remove.
2299
ec523c2f
RH
23002001-08-19 Richard Henderson <rth@redhat.com>
2301
2302 * regclass.c (fix_register): Fix typo.
2303
443621af
RH
23042001-08-18 Richard Henderson <rth@redhat.com>
2305
2306 * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
2307 (struct _Unwind_Context): Expand br_loc to hold it.
2308 (uw_frame_state_for): Handle leaf functions better.
2309 (uw_update_reg_address): Update for br_loc change.
2310
213f974a
RH
23112001-08-18 Richard Henderson <rth@redhat.com>
2312
2313 * crtstuff.c: Move list heads before code that uses them.
2314 (__JCR_LIST__): Remove initial null.
2315 (frame_dummy, __frame_dummy): Do java registration here ...
2316 (__do_global_ctors_aux): ... not here.
2317
3dff7ed0
RH
2318 * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
2319 (__do_global_dtors_aux): Update to match.
2320 (__JCR_LIST__, __do_jv_register_classes): New.
2321 (.init): Call it.
2322 * config/ia64/crtend.asm (__JCR_END__): New.
2323 (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
2324 instead of an indirect LTOFF22 reloc.
2325
6ca3c22f
RH
23262001-08-18 Richard Henderson <rth@redhat.com>
2327
2328 * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
2329 * regclass.c (init_reg_sets_1): Fix typo.
2330 * config/ia64/ia64.c (ar_pfs_reg_operand): New.
2331 (ia64_expand_call): Pass ar.pfs to sibcall expanders.
2332 (ia64_compute_frame_size): Make ar.unat live when in use.
2333 (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
2334 for ar.pfs; remove ar.unat handling.
bb1a503c 2335 * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
6ca3c22f
RH
2336 call-saved.
2337 (PREDICATE_CODES): Add ar_pfs_reg_operand.
2338 * config/ia64/ia64-protos.h: Update decls.
2339 * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
2340 (sibcall_pic): Likewise.
2341
f83594c4
RH
23422001-08-18 Richard Henderson <rth@redhat.com>
2343
b395ddbe
RH
2344 * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
2345 pred_rel_mutex when searching for insn_group_barrier.
8e8de254
RH
2346 * config/ia64/ia64.md (cycle_display): Combine the expander
2347 and insn patterns.
b395ddbe 2348
f83594c4
RH
2349 * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
2350 bit before asm as needed.
2351
eced69b5
RH
23522001-08-18 Richard Henderson <rth@redhat.com>
2353
2354 * timevar.def (TV_MACH_DEP): New.
2355 * toplev.c (rest_of_compilation): Use it.
2356 * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
2357
5ed3149c
ZW
23582001-08-18 Zack Weinberg <zackw@panix.com>
2359
2360 * unwind-dw2.c (execute_stack_op): Add default aborts to
2361 the inner switches to prevent warnings.
2362
20cc76d5
RH
23632001-08-18 Richard Henderson <rth@redhat.com>
2364
2365 * timevar.h (struct timevar_time_def): Change element type to float.
2366 (ticks_to_msec, clocks_to_msec): Likewise.
2367 (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
2368 (get_time): Likewise.
2369 (timevar_print): Adjust zero check and printing to match.
2370
b649398a
ZW
23712001-08-18 Zack Weinberg <zackw@panix.com>
2372
9c34dbbf
ZW
2373 * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
2374 doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
2375 Eliminate overfull or underfull hboxes.
2376
23772001-08-18 Zack Weinberg <zackw@panix.com>
2378
2379 * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
b649398a 2380
76f4925a
ZW
23812001-08-18 Zack Weinberg <zackw@panix.com>
2382
2383 * haifa-sched.c: Convert to target hooks. Macros replaced
2384 are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
2385 MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
2386 MD_SCHED_FINISH, and HAVE_cycle_display.
2387 * target-def.h (TARGET_SCHED_ADJUST_COST,
2388 TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
2389 TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
2390 TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
9c34dbbf 2391 TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
76f4925a
ZW
2392 New hook #defines to be overridden.
2393 (TARGET_SCHED): Bring them all together.
2394 (TARGET_INITIALIZER): Update.
2395 * target.h: Don't forward declare struct rtx_def. Use 'rtx'
9c34dbbf 2396 instead of 'struct rtx_def *' throughout.
76f4925a
ZW
2397 (struct sched): New set of hooks for the scheduler.
2398 * Makefile.in (haifa-sched.o): Depend on target.h.
2399 * doc/tm.texi: Document the new scheduler hooks, together in
2400 their own section, instead of scattered around.
2401 Fix a bunch of underfull/overfull hboxes.
2402
2403 * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
2404 ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
2405 sparc.h: Don't define any of the old scheduler macros.
2406
2407 * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
2408 ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
2409 sparc.c: Create hook functions from code extracted from
2410 corresponding target header, or make existing hooks static, as
2411 appropriate. Set the appropriate entries in targetm.
2412
2413 * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
2414 i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
2415 rs6000-protos.h, s390-protos.h, sparc-protos.h:
2416 Remove prototypes for functions which are now static.
2417
2418 * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
2419 related gunk; the Haifa scheduler is now the only choice.
2420
ef89d648
ZW
24212001-08-18 Zack Weinberg <zackw@panix.com>
2422
2423 * optabs.h (OTI_flodiv, flodiv_optab): Kill.
2424 * genopinit.c: Put floating point divide insns in sdiv_optab.
2425 * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
2426 * config/gofast.h, config/c4x/c4x.h,
2427 config/ia64/hpux_longdouble.h, config/mips/mips.h,
2428 config/pa/long_double.h, config/rs6000/sysv4.h,
2429 config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
2430 * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
2431 (init_optabs): Use init_optabv for overflow-trapping optabs.
2432 Don't init flodiv_optab. Give mov_optab, movstrict_optab, and
2433 cmp_optab RTX codes so have_insn_for can find them.
2434
2435 * optabs.c (expand_simple_binop, expand_simple_unop,
2436 have_insn_for, gen_sub3_insn): New interfaces.
2437 * expr.h: Prototype new functions.
2438 (enum optab_methods): Move here from optabs.h.
2439
2440 * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
2441 loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
2442 Use new functions instead of working directly with optabs.
2443 * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
2444 unroll.c: Don't include optabs.h.
2445 * caller-save.c, combine.c, function.c, stmt.c: Just include
2446 insn-codes.h, not optabs.h.
2447 * Makefile.in: Update dependencies.
2448
2449 * combine.c (make_compound_operation, simplify_comparison):
2450 Fix typos testing for this or that instruction.
2451
9e23c02d
HB
24522001-08-18 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2453
2454 * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
2455 generating libgcc.a.
2456
1c0cc57e
KG
24572001-08-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2458
2459 * except.c (TYPE_HASH): Delete.
9c34dbbf 2460
1c0cc57e
KG
2461 * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
2462 HOST_WIDE_INT.
2463
2464 * tree.c (TYPE_HASH): Delete.
2465
2466 * tree.h (TYPE_HASH): Define.
2467
13c508d9
GS
24682001-08-18 Graham Stott <grahams@redhat.com>
2469
2470 * config/mips/mips.md (adddi3_internal_2+1): Remove contraints from
2471 define_split.
2472 (adddi3_internal_2+2): Likewise.
2473 (eh_set_lr_di+1): Likewise.
2474
c8af3574
RH
24752001-08-17 Richard Henderson <rth@redhat.com>
2476
2477 * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
2478 UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
2479 * dwarf2asm.c: ... here.
2480 * dwarfout.c: Remove them.
2481
2482 * varasm.c (assemble_integer): Add align parameter.
2483 (assemble_real, output_constant, output_constructor): Likewise.
2484 * output.h: Update decls.
2485 * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
2486 config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
2487 config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
2488 config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
2489 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
2490 Update all callers.
2491
2492 * final.c (end_final): Abort profile block generation if we
2493 havn't layed it out properly.
2494 * output.h (assemble_eh_integer): Remove stale decl.
2495 * varasm.c (assemble_zeros): Tidy; use assemble_integer.
2496 (min_align): New.
2497 (assemble_integer): Handle unaligned data.
2498 (assemble_real): Abort on unaligned data.
2499 (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
2500 anything useful.
2501 (default_dtor_section_asm_out_destructor): Use assemble_align.
2502 (default_named_section_asm_out_constructor): Likewise.
2503 (default_ctor_section_asm_out_constructor): Likewise.
2504 * config/darwin.c (machopic_asm_out_constructor): Likewise.
2505 (machopic_asm_out_destructor): Likewise.
2506 * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
2507 (nextstep_asm_out_destructor): Likewise.
2508 * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
2509 (vms_asm_out_destructor): Likewise.
2510
920ae24b
RH
25112001-08-17 Richard Henderson <rth@redhat.com>
2512
2513 * config/mips/iris6.h (TARGET_IRIX6): New.
2514 (current_section_name, current_section_flags): New.
2515 (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
2516 (MAX_OFILE_ALIGNMENT): New.
2517 (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
2518 * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
9c34dbbf 2519 (copy_file_data): Split out from
920ae24b
RH
2520 (mips_asm_file_end): ... here.
2521 (mips_asm_file_start): Remove extra .section directive. Use
2522 tmpfile instead of mips_make_temp_file.
2523 (mips_unique_section): Use const char * as needed for warnings.
2524 (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
2525 re-add align parameter.
2526 (iris6_asm_named_section): New.
2527 (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
2528 (iris6_asm_output_align, iris6_section_align_1): New.
2529 (iris6_asm_file_start, iris6_asm_file_end): New.
2530 * config/mips/mips-protos.h: Update decls.
2531
5cc3b0c7
JJ
25322001-08-17 Janis Johnson <janis187@us.ibm.com>
2533
2534 * doc/install.texi (Install GCC): Add links to build status pages.
2535 (Specific): Ditto.
2536 (Final install): Ditto; request updates for specific info
2537
bb74c963
NB
25382001-08-17 Neil Booth <neil@daikokuya.demon.co.uk>
2539
2540 * cpperror.c (print_location): Don't take a file name; use the
2541 line map instead.
2542 (_cpp_begin_message): Similarly.
2543 (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
2544 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
2545 (cpp_pedwarn_with_file_and_line): Remove.
2546 * cppfiles.c (stack_include_file): Update; set filename to stdin
2547 here when appropriate.
2548 * cpphash.h (struct cpp_buffer): Remove nominal_fname.
2549 (_cpp_begin_message): Don't take a file name.
2550 * cppinit.c: Add comment.
2551 * cpplex.c: Fix end-of-directive indicator.
2552 * cpplib.c: Don't include intl.h.
2553 (run_directive, do_diagnostic): Update.
2554 (do_line): Update to not use nominal_fname.
2555 (cpp_push_buffer): Don't take a filename.
2556 * cpplib.h (struct ht): Remove.
2557 (cpp_push_buffer): Don't take a filename.
2558 (cpp_pedwarn_with_file_and_line): Remove.
2559 * cppmacro.c (struct cpp_macro): Remove file.
2560 (builtin_macro): Update.
2561 (_cpp_create_definition): Update.
2562 * cppmain.c: Correct comment.
2563 * fix-header.c (read_scan_file): Update.
2564
2d76cb1a
KH
25652001-08-17 Kazu Hirata <kazu@hxi.com>
2566
2567 * sbitmap.c: Fix comment formatting.
2568 * sched-deps.c: Likewise.
2569 * sibcall.c: Likewise.
2570 * simplify-rtx.c: Likewise.
2571 * ssa.c: Likewise.
2572 * ssa-ccp.c: Likewise.
2573 * stor-layout.c: Likewise.
2574 * timevar.c: Likewise.
2575 * toplev.c: Likewise.
2576 * unwind-dw2.c: Likewise.
2577 * unwind-dw2-fde.c: Likewise.
2578 * varasm.c: Likewise.
2579
0779eeb2
JDA
25802001-08-17 John David Anglin <dave@hiauly1.hia.nrc.ca>
2581
2582 * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
2583 or larger than an integer in memory.
2584
2f78c311
ZW
25852001-08-17 Zack Weinberg <zackw@panix.com>
2586
2587 * system.h: Forward-declare struct rtx_def, struct rtvec_def,
2588 and union tree_node. Typedef rtx, rtvec, and tree. Fix comment.
2589 * rtl.h: Don't forward-declare union tree_node here. Don't
2590 typedef rtx or rtvec here. Change all uses of struct rtx_def *,
2591 struct rtvec_def *, or union tree_node * to use rtx, rtvec,
2592 and tree respectively.
2593 * tree.h: Don't forward-declare struct rtx_def here. Don't
2594 typedef tree here. Change all uses of struct rtx_def *,
2595 struct rtvec_def *, or union tree_node * to use rtx, rtvec,
2596 and tree respectively.
2597
32fa4d4a
RH
25982001-08-17 Richard Henderson <rth@redhat.com>
2599
2600 * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
2601 config/mips/openbsd.h: Fix typos last change.
2602
93ee12c4
GP
26032001-08-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2604
2f78c311 2605 * doc/invoke.texi (Optimize Options): The default for
93ee12c4
GP
2606 -finline-limit is 600.
2607
f99ffb60
RH
26082001-08-17 Richard Henderson <rth@redhat.com>
2609
2610 * varasm.c (text_section): Allow TEXT_SECTION to override the
2611 printing of TEXT_SECTION_ASM_OP.
2612 * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
2613 (DATA_SECTION, BSS_SECTION): Remove.
2614 * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
2615 RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
2616 Rename from s/_NAME//.
2617 * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
2618 (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
2619 (TEXT_SECTION): ... here. New.
2620 * config/mips/elf.h (TEXT_SECTION): New; no file switching.
2621 * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
2622 * config/mips/openbsd.h: Likewise.
2623 * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
2624 (mips_asm_file_end): Likewise test.
2625 (mips_output_function_epilogue): Likewise. Switch back to data
2626 section after emitting the function.
2627
33c09f2f
RH
2628 * doc/tm.texi (Sections): Document TEXT_SECTION.
2629
b38a75e5
RH
26302001-08-17 Richard Henderson <rth@redhat.com>
2631
2632 * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
2633 (dwarf2out_finish): Do it here. Emit .debug_loc before .debug_info.
2634
51084e13
RH
26352001-08-17 Richard Henderson <rth@redhat.com>
2636
2637 * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
2638 * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
2639 __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
2640 Add aligned attribute.
2641
26422001-08-17 Andrew Haley <aph@cambridge.redhat.com>
ff0a63e8
AH
2643
2644 * config/sh/sh.md: Add modes to unspecs in first insn to match
2645 those in the second.
2646
2647 * Makefile.in: Fix collect2 copy for Cygwin.
2648
abde42f7
JH
2649Fri Aug 17 15:48:57 CEST 2001 Jan Hubicka <jh@suse.cz>
2650
2651 Install the proper patch.
2652 * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
2653 (assign_params): Avoid setting DECL_RTL to unfinished RTX.
2654 (expand_function_start): Likewise.
2655 * stmt.c (expand_decl): Likewise.
2656 * varasm.c (make_decl_rtx): Likewise.
2657
3446405d
JH
2658Fri Aug 17 15:41:35 CEST 2001 Jan Hubicka <jh@suse.cz>
2659
2660 * final.c: Undo my previous accidental checkin.
2661 * output.h: Likewise.
2662 * tm.texi: Likewise.
2663
715bdd29
RH
26642001-08-16 Richard Henderson <rth@redhat.com>
2665
2666 * varasm.c (named_section_flags): Remove align parameter.
2667 * varasm.c, dwarf2out.c: Update all callers.
2668 * output.h: Update prototypes.
2669
2670 * target.h (target.asm_out.named_section): Remove align parameter.
2f78c311 2671 * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
715bdd29
RH
2672 config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
2673 config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
2674 config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
2675 config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
2676
2677 * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
2678 (get_named_section_flags, set_named_section_flags): New.
2679 (named_section_flags): Use them.
2680 (named_section): Do decl vs section flags check here...
2681 (default_section_type_flags): ... not here.
2682 (init_varasm_once): Create in_named_htab.
2683 (resolve_unique_section): Mark reloc unused.
2684
09e07be6
RH
26852001-08-16 Richard Henderson <rth@redhat.com>
2686
2687 * varasm.c (force_const_mem): Keep pool alignment in bits.
2688 (output_constant_pool): Use assemble_align.
2689
8daaf93c
ZW
26902001-08-16 Zack Weinberg <zackw@panix.com>
2691
2692 * doc/tm.texi: Remove extra @table command.
2f78c311 2693
d9b6874b
ZW
26942001-08-16 Zack Weinberg <zackw@panix.com>
2695
2696 * final.c (shorten_branches): Clear the end of the label_align
2697 array only if we made it larger. Break up messy expressions
2698 for clarity.
2699
2700 * diagnostic.c (internal_error): Check for error recursion
2701 before doing ICE suppression.
2702
2703 * timevar.c: Timing variables now count in milliseconds.
2704 (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
2705 (get_time): Not here.
2706 (timevar_print): Don't print any timer whose user, cpu, and
2707 wall times are all zero as displayed.
2708 * timevar.h: Update comment aboout units. Make timevar
2709 counters unsigned.
2710
25e22dc0
JH
2711Thu Aug 16 17:39:45 CEST 2001 Jan Hubicka <jh@suse.cz>
2712
2713 * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
2714 (assign_params): Avoid setting DECL_RTL to unfinished RTX.
2715 (expand_function_start): Likewise.
2716 * stmt.c (expand_decl): Likewise.
2717 * varasm.c (make_decl_rtx): Likewise.
2718
7256efa6
JM
27192001-08-16 Jason Merrill <jason_merrill@redhat.com>
2720
2721 * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
2722 (finalize_record_size): Don't set TYPE_USER_ALIGN.
2723
5972a110
MK
27242001-08-16 Matt Kraai <kraai@alumni.carnegiemellon.edu>
2725
2726 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
2727 variables.
2728
0d3c08b6
AJ
27292001-08-16 Andreas Jaeger <aj@suse.de>
2730
2731 * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
2732 prototype.
2733
44ce0063
JW
2734Wed Aug 15 15:22:52 EDT 2001 John Wehle (john@feith.com)
2735
2736 * rtl.h (only_sets_cc0_p): New prototype.
2737 * jump.c (sets_cc0_p): Handle INSN.
2738 (only_sets_cc0_p): New function.
2739 * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
2740 (tidy_fallthru_edge): Likewise.
2741 * integrate.c (copy_insn_list): Likewise.
2742 * unroll.c (unroll_loop): Likewise.
2743 (copy_loop_body): Likewise.
2744
cff27f1d
JE
27452001-08-15 Jason Eckhardt <jle@redhat.com>
2746
2747 * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
2748
6ad48e84
JH
2749Wed Aug 15 14:24:22 CEST 2001 Jan Hubicka <jh@suse.cz>
2750
2751 * predict.c (struct block_info_def): Remove nvisited.
2752 (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
2753 (estimate_bb_frequencies): Call mark_dfs_back_edges.
2754
2755 * i386.c (ix86_agi_depdendant): Lea causes AGI only on the Pentium
2756 (ix86_adjust_cost): Teach scheduler that latency to load operand can
2757 be masked.
2758
cc10816d
JH
2759Wed Aug 15 12:41:32 CEST 2001 Jan Hubicka <jh@suse.cz>
2760
2761 * predict.def: Update hitrates.
2762
fd7e958f
RH
27632001-08-15 Richard Henderson <rth@redhat.com>
2764
2765 * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
2766
abb788ba
JL
2767Tue Aug 14 17:30:59 2001 Jeffrey A Law (law@cygnus.com)
2768
2769 * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
2770 note from its associated jump.
2771
d9b761a9 27722001-08-14 Ulrich Weigand <uweigand@de.ibm.com>
d9b6874b 2773
d9b761a9
UW
2774 * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
2775 also on 64-bit s390x targets.
2776
095bb276
NC
27772001-08-14 Nick Clifton <nickc@cambridge.redhat.com>
2778
2779 * config/arm/arm.c (arm_compute_initial_elimination_offset): New
2780 function.
2781 (arm_expand_prologue): Handled nested functions which take a
2782 variable argument list.
2783 * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
2784 macro with an invocation of
2785 arm_compute_initial_elimination_offset.
2786 * config/arm/arm-protos.h: Prototype
d9b6874b 2787 arm_compute_initial_elimination_offset.
095bb276 2788
98999d8b
GP
27892001-08-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2790
2791 * doc/install.texi (Specific, avr): Fix markup.
2792 (Specific, c4x): Ditto.
2793
b213a5ca
MK
27942001-08-14 Matt Kraai <kraai@alumni.carnegiemellon.edu>
2795
2796 * predict.c (dump_prediction): Change `bool' parameter to `int'.
2797
c895acf2
GDR
27982001-08-14 Gabriel Dos Reis <gdr@codesourcery.com>
2799
2800 * Makefile.in (OBJS): Add rtl-error.o
2801 (rtl-error.o): New rule.
2802 (diagnostic.o): Adjust dependency.
2803 diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
2804 error_for_asm, _fatal_insn, _fatal_insn_not_found,
2805 warning_for_asm): Move to...
2806 rtl-error.c: ...here. New file.
2807
ddee9e8d
RH
28082001-08-14 Richard Henderson <rth@redhat.com>
2809
2810 * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
2811 if USING_SJLJ_EXCEPTIONS.
2812
eb20f668
SE
28132001-08-14 Steve Ellcey <sje@cup.hp.com>
2814
2815 * tlink.c (scan_linker_output): Check string for unsatisfied in
2816 addition to undefined and unresolved.
2817
540ceb67
GS
28182001-08-14 Graham Stott <grahams@redhat.com>
2819
2820 * libgcc2.c (*): Replace EH_FRAME_SECTION with
2821 EH_FRAME_SECTION_NAME.
2822
2d515d60
JH
2823Tue Aug 14 14:57:07 CEST 2001 Jan Hubicka <jh@suse.cz>
2824
d9b6874b
ZW
2825 * genattrtab.c (simplify_test_exp_in_temp): New function.
2826 (simplify_test_exp): Avoid explicit use of temporary obstack.
2827 (simplify_cond, insert_right_side, evaluate_eq_attr,
2828 simplify_and_tree, simplify_or_tree, eliminate_known_true):
2829 Use simplify_test_exp_in_temp.
2830 (optimize_attrs): Iterate until expression stabilizes.
2d515d60 2831
881e8e29 28322001-08-13 Ulrich Weigand <uweigand@de.ibm.com>:
d9b6874b 2833
881e8e29
UW
2834 * glimits.h: Remove the __LONG_MAX__ special case for s390x.
2835 * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
2836
f22db2ef
RH
28372001-08-13 Richard Henderson <rth@redhat.com>
2838
2839 * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
2840 (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
2841 * config/arm/conix-elf.h: Likewise.
2842
eb296bd9
GK
28432001-08-13 Geoffrey Keating <geoffk@redhat.com>
2844
51610b0a
GK
2845 * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
2846 in gcc.c.
2847 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
2848
eb296bd9
GK
2849 * gcse.c (hash_scan_set): Expressions that are set as part of
2850 jump instructions are not available.
2851
7ee20eba
UW
28522001-08-13 Ulrich Weigand <uweigand@de.ibm.com>
2853
2854 * config/s390/s390.c (print_operand, s390_function_prologue,
2855 s390_va_start): Fixed HOST_WIDE_INT type mismatch.
2856
02c9b1ca
RH
28572001-08-13 Richard Henderson <rth@redhat.com>
2858
2859 * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
2860 * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
2861 * doc/tm.texi (Exception Region Output): Document it.
2862
99e2a354
GK
28632001-08-13 Geoffrey Keating <geoffk@redhat.com>
2864
2865 * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
2866 DWARF2 instead of stabs by default.
2867
2fc1c679
DE
28682001-08-13 David Edelsohn <edelsohn@gnu.org>
2869
2870 * config/rs6000/rs6000.c: Include optabs.h.
2871
710fdaad
DE
28722001-08-13 David Edelsohn <edelsohn@gnu.org>
2873
2874 * config/rs6000/eabi.asm: Define 64-bit versions of FPR
2875 save/restore routines.
2876 * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
2877
16757495
AJ
28782001-08-13 Andreas Jaeger <aj@suse.de>
2879
2880 * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
2881 the english is correct.
2882
e78d8e51
ZW
28832001-08-13 Zack Weinberg <zackw@panix.com>
2884
2885 * expr.h: Split out optab- and libfunc-related code to...
2886 * optabs.h, libfuncs.h: ... these new headers.
2887
2888 * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
2889 (OPTABS_H): New.
2890 (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
2891 dependencies.
2892 * mkconfig.sh: Don't include insn-codes.h from config.h.
2893
2894 * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
2895 enum insn_code is available. Move reload_in_optab and
2896 reload_out_optab array declarations to optabs.h.
2897 * regmove.c (gen_add3_insn): Move to optabs.c, export from
2898 there, prototype in expr.h.
2899 * gencodes.c: Cleanup: zap global variables, don't use
2900 printf where puts will do, don't bother defining MAX_INSN_CODE
2901 which nothing uses, let CODE_FOR_nothing get its value implicitly.
2902
2903 * genemit.c, genopinit.c: Include optabs.h in generated file.
2904 * genoutput.c: Include insn-codes.h in generated file.
2905 * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
16757495
AJ
2906 expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
2907 reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
e78d8e51
ZW
2908 config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
2909 config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
2910 config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
2911 Include optabs.h.
16757495 2912 * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
e78d8e51
ZW
2913 optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
2914 config/m88k/m88k.c, config/sparc/sparc.c:
2915 Include libfuncs.h.
2916 * reload.c: Include expr.h and optabs.h before reload.h.
2917 * config/alpha/alpha.c: Include tree.h before reload.h.
2918 * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
2919 and reload.h in that order.
2920 * config/sparc/sparc.c: Include debug.h.
2921 * recog.c: Include insn-codes.h.
2922
050e4ca2
AJ
29232001-08-13 Andreas Jaeger <aj@suse.de>
2924
2925 * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
2926 s390*linux.
2927
dd49a9ec
TP
29282000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
2929
2930 * dwarf2out.c (output_cfa_loc): Fix typo in comment.
2931 * gcc.c (init_spec): Fix typo in comment.
2932 * varasm.c (data_section): Fix typo in comment.
2933
d195b46f
JH
2934Mon Aug 13 02:27:39 CEST 2001 Jan Hubicka <jh@suse.cz>
2935
2936 * predict.c (dump_prediction): New argument "USED".
2937 (combine_predictions_for_insn): Determine the used heuristics,
2938 output the case no heuristic applied.
2939 * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
2940
afea8580
AJ
29412001-08-13 Andreas Jaeger <aj@suse.de>
2942
2943 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
2944 register %rip.
2945
5d0cab94
KH
29462001-08-13 Kazu Hirata <kazu@hxi.com>
2947
2948 * jump.c: Fix formatting.
2949
7ba7767b
KH
29502001-08-13 Kazu Hirata <kazu@hxi.com>
2951
2952 * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
2953 length.
2954
5fe2e41b
GK
29552001-08-12 Geoffrey Keating <geoffk@redhat.com>
2956
353df065
GK
2957 * loop.c (check_dbra_loop): Use condjump_label to compute
2958 jump_label.
2959
5fe2e41b
GK
2960 * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
2961 to better document the files they're in.
2962
a2b498cb
ZW
29632001-08-12 Zack Weinberg <zackw@panix.com>
2964
2965 * recog.h (struct insn_operand_data): Shrink 'mode' field
2966 to 16 bits.
2967
dc297297
KH
29682001-08-12 Kazu Hirata <kazu@hxi.com>
2969
2970 * gcc.c: Fix comment formatting.
2971 * gccspec.c: Likewise.
2972 * gcov.c: Likewise.
2973 * gcse.c: Likewise.
2974 * genemit.c: Likewise.
2975 * gengenrtl.c: Likewise.
2976 * genrecog.c: Likewise.
2977 * gensupport.c: Likewise.
2978 * ggc-page.c: Likewise.
2979 * global.c: Likewise.
2980 * graph.c: Likewise.
2981 * ifcvt.c: Likewise.
2982 * integrate.c: Likewise.
2983 * lcm.c: Likewise.
2984 * libgcc2.c: Likewise.
2985 * loop.c: Likewise.
2986 * mbchar.c: Likewise.
2987 * optabs.c: Likewise.
2988 * predict.c: Likewise.
2989 * prefix.c: Likewise.
2990 * profile.c: Likewise.
2991 * protoize.c: Likewise.
2992 * real.c: Likewise.
2993 * recog.c: Likewise.
2994 * regclass.c: Likewise.
2995 * regmove.c: Likewise.
2996 * reg-stack.c: Likewise.
2997 * reload1.c: Likewise.
2998 * resource.c: Likewise.
2999 * rtlanal.c: Likewise.
3000 * rtl.c: Likewise.
3001
f0d1c3bd
KH
30022001-08-12 Kazu Hirata <kazu@hxi.com>
3003
3004 * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
3005 a tree representing a constant is passed to the macro.
3006
d9f6800d
RH
30072001-08-12 Richard Henderson <rth@redhat.com>
3008
3009 * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
3010 (rs6000_elf_asm_out_destructor): New.
3011 * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
3012 (DTORS_SECTION_ASM_OP): Remove.
3013 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
3014 (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
3015
6ba57472
DE
30162001-08-12 David Edelsohn <edelsohn@gnu.org>
3017
3018 Revert:
3019 2001-08-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3020 * gcc.c (set_collect_gcc_options): New function, split out from
3021 main.
3022 Ignore elided switches.
3023 (do_spec_1): Invoke before executing command.
3024 (set_input): Export.
3025 Move declaration ...
3026 * gcc.h (set_input): ... here.
3027 * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
3028 file.
3029
270fc29b
RH
30302001-08-12 Richard Henderson <rth@redhat.com>
3031
3032 * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
3033 thinko wrt TARGET_RELOCATABLE.
3034
21c38ecb
NB
30352001-08-12 Neil Booth <neil@daikokuya.demon.co.uk>
3036
3037 * fix-header.c (cb_file_change): Update prototype.
3038
94aca342
ZW
30392001-08-11 Zack Weinberg <zackw@panix.com>
3040
3041 * toplev.c (set_float_handler): Make static.
3042 * toplev.h: Don't prototype set_float_handler.
3043
3044 * simplify-rtx.c: Don't include setjmp.h.
3045 (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
3046 New functions.
3047 (simplify_unary_operation, simplify_binary_operation): Use them,
3048 via do_float_handler.
3049
3050 * fold-const.c: Don't include setjmp.h.
3051 (exact_real_inverse_1): New function.
3052 (exact_real_inverse): Use it, via do_float_handler.
3053
3054 * varasm.c: Don't include setjmp.h.
3055 (assemble_real_1): New function.
3056 (assemble_real): Use it, via do_float_handler.
3057 Call internal_error if we get a trap here.
3058
3059 * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
3060 config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
3061
31cdd499
ZW
30622001-08-11 Zack Weinberg <zackw@panix.com>
3063
3064 * defaults.h: Define PREFERRED_STACK_BOUNDARY to
3065 STACK_BOUNDARY if not already defined.
3066
3067 * calls.c, function.c, reload1.c, explow.c: Don't default
3068 PREFERRED_STACK_BOUNDARY. Remove all #if/#ifdef on
3069 PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
3070
3071 * explow.c (allocate_dynamic_stack_space): Change unsafe #if
3072 to run-time test.
3073
3074 * doc/tm.texi: Document that STACK_BOUNDARY is required;
3075 clarify difference between it and PREFERRED_STACK_BOUNDARY.
3076
2b220265
NB
30772001-08-11 Neil Booth <neil@daikokuya.demon.co.uk>
3078
3079 * cppmacro.c (enter_macro_context): Push macro expansions even
3080 if empty.
3081
d0101753
FS
30822001-08-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3083
3084 * config/rs6000/rs6000.c: Include integrate.h to silence warning.
3085 (rs6000_elf_section_type_flags): Actually return a value.
3086
994fe660 30872001-08-11 Ulrich Weigand <uweigand@de.ibm.com>
afea8580
AJ
3088
3089 * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
994fe660 3090 Clean up code: add missing comments and prototypes, fix warnings,
02c9b1ca 3091 remove obsolete code, fix spacing to conform to coding style.
994fe660 3092
f314b9b1 30932001-08-11 Ulrich Weigand <uweigand@de.ibm.com>
afea8580
AJ
3094
3095 * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
f314b9b1
UW
3096 and TARGET_ASM_CLOSE_PAREN.
3097 (regclass_map): CC register belongs to class NO_REGS.
afea8580 3098 (legitimize_pic_address): Don't generate unnecessary moves
f314b9b1 3099 (to avoid confusing loop optimization).
afea8580
AJ
3100 (check_and_change_labels): Replace jump_long by indirect_jump.
3101 (s390_final_chunkify): Don't start a new literal pool on section
f314b9b1
UW
3102 switch in 64-bit code.
3103 (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
afea8580 3104
f314b9b1
UW
3105 * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
3106 (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
afea8580 3107 (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
f314b9b1
UW
3108 modes correctly.
3109 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
3110 (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
3111 (CONST_COSTS): Fixed incorrect costs.
3112
3113 * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
3114 Use emit_jump instead of emit_jump_insn (gen_jump).
afea8580 3115 (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
f314b9b1
UW
3116 (to avoid confusing flow analysis).
3117 (tablejump, tablejump1, tablejump2): Removed. Replaced by casesi.
3118 (casesi, casesi_jump): New.
3119 (jump_long): Removed. Functionality merged into indirect_jump.
3120 (indirect_jump): Accept address_operand, not just register_operand.
3121 (cjump_long, icjump_long): Use same logic as indirect_jump.
3122 (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
3123 Fixed broken setjmp/longjmp handling.
3124 (do_builtin_setjmp_setup): Removed.
3125
3126 * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
3127 broken GNU as versions that don't accept .quad with large
3128 negative values. Use hexadecimal output instead.
3129 (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
3130 (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
3131 FUNCTION_EPILOGUE): Removed. Now in targetm.
3132
3133 * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
3134
3135 * config/s390/fixdfdi.h: Add missing copyright statement.
3136 Fix type conflicts on 64-bit. Add missing SFmode routines.
3137
3138 * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
3139 email address.
3140
dddba205
RH
31412001-08-11 Richard Henderson <rth@redhat.com>
3142
3143 * rtl.h (REG_EH_RETHROW): Remove.
3144 * rtl.c (reg_note_name): Update.
3145 * combine.c (distribute_notes): Don't check for it.
3146
ab61c93f
RH
31472001-08-11 Richard Henderson <rth@redhat.com>
3148
3149 * combine.c (distribute_notes): Place REG_SETJMP.
3150
58f4de4f
RH
31512001-08-11 Richard Henderson <rth@redhat.com>
3152
3153 * doc/extend.texi (Arrays and pointers implementation): Discourage
3154 relying on sign-extension of pointers.
3155
f841565e
L
31562001-08-11 H.J. Lu <hjl@gnu.org>
3157
3158 * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
3159 in_dtors.
3160 (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
3161 RDATA_SECTION_ASM_OP.
3162
d8393f64
GP
31632001-08-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3164
3165 * doc/install.texi (Specific, c4x): Fix cross-reference to the
3166 main manual to work both for info and HTML versions.
afea8580 3167
bef985f3 31682001-08-11 Neil Booth <neil@daikokuya.demon.co.uk>
760a4879 3169 Matt Kraai <kraai@alumni.carnegiemellon.edu>
afea8580 3170
bef985f3
NB
3171 * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
3172 * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
3173 (struct cpp_pool): New member first.
3174 * cppinit.c (append_include_chain): Plug memory leaks.
3175 * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
3176 Allocate pragma structures from the (aligned) macro pool to
3177 avoid leaking memory.
3178 * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
3179 so we don't leak memory.
3180 * hashtable.c (ht_destroy): New.
3181 * hashtable.h (ht_destroy): New.
3182
f80f7e8c
NB
31832001-08-11 Neil Booth <neil@daikokuya.demon.co.uk>
3184 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3185
3186 * c-lex.c (map): Make const.
3187 (cb_file_change): Update for callback passing a line map.
3188 Don't assume we have a previous map. Remove sanity check
3189 about popping too many files.
3190 * cpperror.c (print_location): Make map const.
3191 * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
3192 (cpp_make_system_header): Similarly.
3193 (search_from): Similarly.
3194 (_cpp_execute_include): Don't remember where we came from.
3195 * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
3196 (struct cpp_reader): Make map const.
3197 (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
3198 * cpplib.c (do_line): Update; line maps now hold sysp.
3199 (cpp_push_buffer): Similarly.
3200 (_cpp_do_file_change): Similarly; callback with map instead.
3201 (cpp_get_line_maps): Constify return value.
3202 (_cpp_pop_buffer): Update.
3203 * cpplib.h (struct cpp_file_change): Remove.
3204 (struct cpp_callbacks): Update.
3205 (cpp_get_line_maps): Constify return value.
3206 * cppmacro.c (_cpp_create_definition): Update.
3207 * cppmain.c (struct printer): Constify map.
3208 (maybe_print_line): Similarly.
3209 (print_line): Similarly. Deduce flags 1 and 2 here.
3210 (cb_file_change): Update.
3211 * line-map.c (free_line_maps): Warn regardless.
3212 (add_line_map): Return pointer to const. When passed NULL to_file
3213 with LC_LEAVE, use the obvious values for the return point so the
3214 caller doesn't have to figure them out.
3215 (lookup_line): Return pointer to const.
3216 (print_containing_files): Take pointer to const.
3217 * line-map.h (struct line_map): New members reason, sysp.
3218 (add_line_map): Return pointer to const.
3219 (lookup_line): Similarly.
3220 (print_containing_files): Take pointer to const.
3221
bb948ad3
RZ
32222001-08-10 Roman Zippel <zippel@linux-m68k.org>
3223 Richard Henderson <rth@redhat.com>
3224
3225 * regmove.c (regmove_optimize): Avoid setting a register twice in
3226 a parallel set.
3227
cbf4c36f
RH
32282001-08-10 Richard Henderson <rth@redhat.com>
3229
3230 * doc/extend.texi (Arrays and pointers implementation): Document
3231 behavior of pointer/integer conversion.
3232
db80cc1f 32332001-08-10 Ulrich Weigand <uweigand@de.ibm.com>
afea8580
AJ
3234
3235 * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
db80cc1f 3236
fe203faf
RH
32372001-08-10 Richard Henderson <rth@redhat.com>
3238
3239 * doc/extend.texi (C Implementation): New chapter.
3240 * doc/gcc.texi (Top): Link it in.
3241
894aeeb0
AC
32422001-08-10 Andrew Cagney <ac131313@redhat.com>
3243
3244 * doc/install.texi (Specific): Fix CVS merge botch.
3245
d67c7dd8
RH
32462001-08-10 Richard Henderson <rth@redhat.com>
3247
3248 * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
3249 ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
3250
19652adf
ZW
32512001-08-10 Zack Weinberg <zackw@stanford.edu>
3252
3253 * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
3254 if not already defined. Remove all #ifdefs on STACK_BOUNDARY;
3255 this macro is now required.
3256
3257 * cselib.c (cselib_process_insn), flow.c (propagate_block),
3258 loop.c (find_and_verify_loops), reload.c (reload): Check
3259 for rtx code of CALL_INSN, not CALL, when deciding if we
3260 need to check for REG_SETJMP note.
3261
3262 * gcse.c (compute_hash_table, compute_store_table): Update
3263 the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
3264 logic.
3265
3266 * config/avr/avr.c: Fix typo.
3267 * config/convex/convex.c (expand_movstr): Use adjust_address.
3268 * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
3269 variable.
3270 * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
3271 * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
3272 Fix typo.
3273 * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
3274 Do define STACK_BOUNDARY.
3275 * config/i370/i370.c: Include expr.h.
3276 * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
3277 config/pa/som.h, config/v850/v850.h: Take in_ctors and
3278 in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
3279 and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
3280 * config/m88k/m88k.c: Include c-tree.h after expr.h.
3281 * config/pdp11/pdp11.c: Include expr.h and toplev.h.
3282 * config/romp/romp.c: Include expr.h after tree.h.
3283 Include toplev.h.
3284 (output_fpop): Use xmalloc, not oballoc.
3285 * config/we32k/we32k.c: Include expr.h.
3286
cf35eebc
KH
32872001-08-10 Kazu Hirata <kazu@hxi.com>
3288
3289 * config/h8300/h8300.h: Fix formatting.
3290
07b2f2fd
JM
32912001-08-08 Jason Merrill <jason_merrill@redhat.com>
3292
3293 * c-common.h (RETURN_NULLIFIED_P): Lose.
3294 * c-semantics.c (genrtl_return_stmt): Don't check it.
3295
67070ffe
RS
32962001-08-10 Richard Sandiford <rsandifo@redhat.com>
3297
3298 * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
3299 (mips_annotate_frame_insn): New function.
3300 (mips_emit_frame_related_store): New function.
3301 (save_restore_insns): Don't mark instructions that set up the base
3302 registers as frame-related. Add REG_FRAME_RELATED_EXPR notes to
3303 the store instructions instead.
3304 (mips_expand_prologue): If the stack size is moved into a temporary
3305 register, do not mark that move as frame-related. Add a
3306 REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
3307
a8205f03
RS
33082001-08-10 Richard Sandiford <rsandifo@redhat.com>
3309
3310 * config/mips/mips.c (save_restore_insns): Don't mark the RA's
3311 stack slot as unchanging if current_function_calls_eh_return.
3312
2359d013
RS
33132001-08-10 Richard Sandiford <rsandifo@redhat.com>
3314
2a895e44 3315 * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
2359d013
RS
3316 access the second half of the TFmode scratch operand.
3317
ca11a2e9
AG
33182001-08-10 Anthony Green <green@redhat.com>
3319
3320 * java/class.c (emit_register_classes): Conditionalize code on
3321 JCR_SECTION_NAME.
3322
ca52d046
GP
33232001-08-10 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3324
3325 * doc/install.texi (Specific, avr): Fix cross-reference to the
3326 main manual to work both for info and HTML versions.
3327
396ad517
JDA
33282001-08-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
3329
19652adf 3330 * stmt.c (expand_null_return_1): Remove code to generate simple returns
396ad517
JDA
3331 and "use_goto" argument.
3332 (expand_null_return, expand_value_return): Update all callers.
3333 * function.c (expand_function_end): Remove code to generate simple
3334 return.
3335 * config/vax/vax.md (epilogue): New expander for function return.
3336 * doc/md.texi (epilogue): Remove "if defined".
3337
e361dcd3
ZW
33382001-08-09 Zack Weinberg <zackw@stanford.edu>
3339
3340 * Makefile.in: Partially revert my previous change:
3341 put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
3342 of the hashtab.o and safe-ctype.o rules.
3343
2cc07db4
RH
33442001-08-09 Richard Henderson <rth@redhat.com>
3345
3346 * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
3347 (USE_COLLECT2): Remove duplicate definition.
3348 * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
3349 (use_collect2): Remove dead code.
3350 * configure.in (use_collect2): Remove will_use_collect2 and
3351 maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
3352 * configure: Rebuild.
3353
3354 * target.h (targetm.asm_out.constructor): New.
3355 (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
3356 * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
3357 (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
3358 * varasm.c (in_ctors, in_dtors): New.
3359 (assemble_constructor, assemble_destructor): Remove.
3360 (default_stabs_asm_out_destructor): New.
3361 (default_named_section_asm_out_destructor): New.
3362 (dtors_section, default_dtor_section_asm_out_destructor): New.
3363 (default_stabs_asm_out_constructor): New.
3364 (default_named_section_asm_out_constructor): New.
3365 (ctors_section, default_ctor_section_asm_out_constructor): New.
3366 * output.h: Update declarations.
3367 * c-decl.c (c_expand_body): Use target hooks instead of
3368 assemble_constructor and assemble_destructor.
3369 * profile.c (output_func_start_profiler): Likewise.
3370 * objc/objc-act.c (finish_objc): Likewise.
3371 (build_module_descriptor): Tidy. Set TREE_PUBLIC properly
3372 for the constructor.
3373 * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
3374
3375 * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
3376 (DTORS_SECTION_ASM_OP): Likewise.
3377 (__CTOR_LIST__): Use attribute section when possible.
3378 (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
3379
3380 * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
3381 ASM_OUTPUT_CONSTRUCTOR.
3382
3383 * config/darwin.c (machopic_asm_out_constructor): New.
3384 (machopic_asm_out_destructor): New.
3385 * config/darwin-protos.h: Update declarations.
3386 * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
3387 (ASM_OUTPUT_DESTRUCTOR): Remove.
3388 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
3389 * config/nextstep.c (nextstep_asm_out_constructor): New.
3390 (nextstep_asm_out_destructor): New.
3391 * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
3392 (ASM_OUTPUT_DESTRUCTOR): Remove.
3393 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
3394 * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
3395 ASM_OUTPUT_*STRUCTOR.
3396 * config/i386/aix386ng.h: Likewise.
3397
3398 * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
3399 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
3400 (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
3401 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
3402 * config/lynx.h: Likewise.
3403 * config/netware.h: Likewise.
3404 * config/psos.h: Likewise.
3405 * config/alpha/alpha-interix.h: Likewise.
3406 * config/alpha/elf.h: Likewise.
3407 * config/arc/arc.h: Likewise.
3408 * config/arm/aof.h: Likewise.
3409 * config/arm/coff.h: Likewise.
3410 * config/arm/elf.h: Likewise.
3411 * config/c4x/c4x.h: Likewise.
3412 * config/h8300/h8300.h: Likewise.
3413 * config/i386/cygwin.h: Likewise.
3414 * config/i386/djgpp.h: Likewise.
3415 * config/i386/i386-coff.h: Likewise.
3416 * config/i386/i386-interix.h: Likewise.
3417 * config/i386/sco5.h: Likewise.
3418 * config/i386/vsta.h: Likewise.
3419 * config/i386/win32.h: Likewise.
3420 * config/i960/i960-coff.h: Likewise.
3421 * config/ia64/sysv4.h: Likewise.
3422 * config/m68hc11/m68hc11.h: Likewise.
3423 * config/m68k/coff.h: Likewise.
3424 * config/m68k/mot3300.h: Likewise.
3425 * config/m88k/m88k.h: Likewise.
3426 * config/mcore/mcore-pe.h: Likewise.
3427 * config/mcore/mcore.h: Likewise.
3428 * config/mips/elf.h: Likewise.
3429 * config/mips/elf64.h: Likewise.
3430 * config/mips/iris6.h: Likewise.
3431 * config/pa/pa64-hpux.h: Likewise.
3432 * config/rs6000/sysv4.h: Likewise.
3433 * config/sh/sh.h: Likewise.
3434 * config/sparc/litecoff.h: Likewise.
3435
3436 * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
3437 (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
3438 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
3439 * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
3440 (ASM_OUTPUT_DESTRUCTOR): Remove.
3441 * config/a29k/a29k.c: Move include of tree.h.
3442 * config/a29k/udi.h: Delete file.
3443 * config/alpha/alpha.c (vms_asm_out_constructor): New.
3444 (vms_asm_out_destructor): New.
3445 * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
3446 (EXTRA_SECTION_FUNCTIONS): Likewise.
3447 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
3448 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
3449 * config/c4x/c4x.c: Move include of tree.h.
19652adf 3450 * config/clipper/clipper.c (clix_asm_out_constructor): New.
2cc07db4
RH
3451 (clix_asm_out_destructor): New.
3452 * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
3453 (ASM_OUTPUT_DESTRUCTOR): Remove.
3454 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
3455 * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
3456 (TARGET_ASM_CONSTRUCTOR): New.
3457 * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
3458 (sco_asm_out_constructor): New.
3459 * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
3460 * config/i386/svr3gas.h: Remove stack grows up code.
3461 Remove code duplicated from i386/sysv3.h.
3462 (TARGET_ASM_CONSTRUCTOR): New.
3463 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
3464 (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
3465 * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
3466 (TARGET_ASM_CONSTRUCTOR): New.
3467 * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
3468 (m68hc11_asm_out_destructor): New.
3469 * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
3470 (TARGET_ASM_DESTRUCTOR): New.
3471 * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
3472 * config/m68k/dpx2.h: Properly undef all the bits inherited from
3473 config/svr3.h pertaining to section manipulation.
3474 * config/m68k/dpx2g.h: Remove #if 0 code.
3475 * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
3476 * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
3477 (ASM_OUTPUT_CONSTRUCTOR): Remove.
3478 (TARGET_ASM_CONSTRUCTOR): New.
3479 * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
3480 (m88k_svr3_asm_out_constructor): New.
3481 (m88k_svr3_asm_out_destructor): New.
3482 * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
3483 (ASM_OUTPUT_DESTRUCTOR): Remove.
3484 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
3485 * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
3486 * config/rs6000/aix.h: Likewise.
3487 * config/mips/rtems64.h: Don't undef removed constructor related bits.
3488 * config/mips/vxworks.h: Likewise.
3489 * config/rs6000/lynx.h: Likewise.
3490 * config/sh/elf.h: Likewise.
3491 * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
3492 (DTORS_SECTION_ASM_OP): New.
3493 * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
3494 (ASM_OUTPUT_DESTRUCTOR): Remove.
3495 * config/sparc/sol2-sld-64.h: Likewise.
3496 * config/vax/vax.c (vms_asm_out_constructor): New.
3497 (vms_asm_out_destructor): New.
3498 * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
3499 (ASM_OUTPUT_DESTRUCTOR): Remove.
3500 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
3501
3502 * doc/tm.texi (@node Initialization): Update.
3503
ef8d8b89
RH
35042001-08-09 Richard Henderson <rth@redhat.com>
3505
3506 * config/alpha/crtbegin.asm (__JCR_LIST__): New.
3507 (__do_global_dtors_aux): Use gp-relative static data to avoid
3508 one dynamic relocation.
3509 (__do_frame_setup): Register Java classes.
3510 * config/alpha/crtend.asm (__JCR_END__): New.
3511
1b0c37d7
ZW
35122001-08-09 Zack Weinberg <zackw@stanford.edu>
3513
ef8d8b89
RH
3514 * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
3515 (CONFIG_H, TCONFIG_H, TM_P_H): Update.
3516 (GEN, STAGESTUFF): Add new files.
3517 (insn-constants.h, s-constants, tm-preds.h, s-preds,
3518 genconstants, genpreds, genconstants.o, genpreds.o): New rules.
3519 (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
3520 * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
3521 as well as insn-codes.h and insn-flags.h in config.h; and no
3522 extra headers in tconfig.h and hconfig.h.
3523
3524 * gencodes.c: Eliminate code to generate predicate declarations
3525 or #defines for md-file constants.
3526 * genconstants.c, genpreds.c: New files.
3527
3528 * i386.md: Re-order guard expressions such that TARGET_64BIT
3529 comes first, when this permits better optimization. Add
3530 TARGET_64BIT to more x86-64 patterns. Add comment explaining
3531 why this is desirable.
1b0c37d7 3532
a734f2a3
JJ
35332001-08-09 Jakub Jelinek <jakub@redhat.com>
3534
3535 * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
3536 (find_fde_for_dso): Remove.
3537 (_Unwind_IteratePhdrCallback): New.
3538 (_Unwind_FindTableEntry): Use dl_iterate_phdr.
3539 * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
3540
21d93687
RK
3541Thu Aug 9 11:30:20 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3542
3543 * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
3544 (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
3545
b1b6b0cb
GS
35462001-08-09 Graham Stott <grahams@redhat.com>
3547
3548 * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
3549 (vis_no_unit): Use it.
3550 (visualize_no_unit): Add the insn only if room exists.
3551
a0e4ce74
GS
35522001-08-09 Graham Stott <grahams@redhat.com>
3553
1b0c37d7
ZW
3554 * predict.c (estimate_probability): Replace magic numbers with
3555 appropriate enumeration.
a4e11a5c
GS
3556
35572001-08-09 Graham Stott <grahams@redhat.com>
3558
3559 * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
a0e4ce74
GS
3560 parameter.
3561 (EXTRACT_FLAGS): Likewise.
3562
77416b3d
AH
35632001-08-09 Aldy Hernandez <aldyh@redhat.com>
3564
1b0c37d7
ZW
3565 * config/mips/mips.c (mips_legitimate_address_p): Check for
3566 CONST_INT in last patch.
77416b3d 3567
6351543d
AG
35682001-08-08 Anthony Green <green@redhat.com>
3569
3570 * java/class.c (emit_register_classes): Use assemble_jcr if
3571 possible. Keep the original mechanism as a fallback.
3572 * defaults.h (JCR_SECTION_NAME): Define if we have named section
3573 and weak symbol support.
3574 * crtstuff.c (__JCR_LIST__): Define.
3575 (__JCR_END__): Define.
3576 (_Jv_RegiserClasses): Define weak symbol if possible.
3577 (__do_global_ctors_aux): Register classes for ELF targets with
3578 weak symbol support.
3579
30f7a378
KH
35802001-08-08 Kazu Hirata <kazu@hxi.com>
3581
3582 * dbxout.c: Fix comment formatting.
3583 * dependence.c: Likewise.
3584 * df.c: Likewise.
3585 * diagnostic.c: Likewise.
3586 * dominance.c: Likewise.
3587 * doprint.c: Likewise.
3588 * dwarf2out.c: Likewise.
3589 * dwarfout.c: Likewise.
3590 * emit-rtl.c: Likewise.
3591 * except.c: Likewise.
3592 * explow.c: Likewise.
3593 * expmed.c: Likewise.
3594 * expr.c: Likewise.
3595 * flow.c: Likewise.
3596 * fold-const.c: Likewise.
3597 * function.c: Likewise.
3598
35e17f7e
FS
35992001-08-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3600
3601 * global.c (retry_global_alloc): Avoid shadowing allocno.
3602
2b1e2382
MM
36032001-08-08 Mark Mitchell <mark@codesourcery.com>
3604
3605 * except.c (remove_fixup_regions): Fix typo.
3606
b9f22704
JM
36072001-08-08 Jan van Male <jan.vanmale@fenk.wau.nl>
3608
1b0c37d7 3609 * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
b9f22704 3610 unsigned HOST_WIDE_INT to avoid warning.
1b0c37d7
ZW
3611 * final.c (final): Cast INSN_UID to unsigned to avoid warning.
3612 * flow.c (set_block_for_new_insns): Likewise.
b9f22704 3613
a4b07e7f
JH
3614Wed Aug 8 21:08:14 CEST 2001 Jan Hubicka <jh@suse.cz>
3615
3616 * sibcall.c (return_value_pseudo): New static variable.
3617 (skip_copy_to_return_value): Handle return_value_pseudo.
3618 (call_ends_block_p): Ensure that return_value_pseudo is set.
3619 (optimize_sibling_and_tail_recursive_call): Discover the
3620 load of pseudo return value in alternate exit block.
3621
9d98f8f9
JH
3622Wed Aug 8 21:06:43 CEST 2001 Jan Hubicka <jh@suse.cz>
3623
3624 * calls.c (ECF_ALWAYS_RETURN): New constant.
3625 (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
3626 (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
3627 (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
3628 * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
3629 * rtl.c (reg_note_name): New name.
3630 * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
3631
82423cba
AH
36322001-08-07 Aldy Hernandez <aldyh@redhat.com>
3633
3634 * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
3635
5755cd38
JM
36362001-08-08 Jason Merrill <jason_merrill@redhat.com>
3637
3638 * alias.c (get_alias_set): Return a previously calculated
3639 alias set for a VAR_DECL.
3640 * function.c (gen_mem_addressof): Calculate the alias set before
3641 touching the RTL.
3642
0f0138b6
JH
3643Wed Aug 8 18:44:37 CEST 2001 Jan Hubicka <jh@suse.cz>
3644
3645 * predict.def: Set hitrates according our experimental run.
3646
3647Wed Aug 8 18:01:58 CEST 2001 Jan Hubicka <jh@suse.cz>
3648
3649 * i386.h (HARD_REGNO_RENAME_OK): New macro.
3650
b2bcb32d
L
36512001-08-08 H.J. Lu <hjl@gnu.org>
3652
3653 * config/mips/mips.c (mips_unique_section): New. Copied from
3654 config/mips/elf.h.
3655
3656 * config/mips/mips-protos.h (mips_unique_section): New
3657 prototype.
3658
3659 * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
3660
3661 * config/mips/little.h: New. Generic little endian mips
3662 targets. Only mips*-*-linux* is converted to use it so far.
3663
3664 * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
3665 (WCHAR_TYPE): Defined
3666 (WCHAR_TYPE_SIZE): Likewise.
3667 (INIT_SUBTARGET_OPTABS): Likewise.
3668 (BSS_SECTION_ASM_OP): Likewise.
3669 (SBSS_SECTION_ASM_OP): Likewise.
3670 (ASM_OUTPUT_ALIGNED_BSS): Likewise.
3671 (ASM_DECLARE_OBJECT_NAME): Likewise.
3672 (UNIQUE_SECTION): Likewise.
3673 (EXTRA_SECTIONS): Likewise.
3674 (ASM_OUTPUT_CONSTRUCTOR): Likewise.
3675 (ASM_OUTPUT_DESTRUCTOR): Likewise.
3676 (ASM_OUTPUT_DEF): Likewise.
3677 (HANDLE_SYSV_PRAGMA): Removed.
3678 (NO_IMPLICIT_EXTERN_C): Likewise.
3679 (TARGET_MEM_FUNCTIONS): Likewise.
3680 (STARTFILE_SPEC): Likewise.
3681 (ENDFILE_SPEC): Likewise.
3682 (LIB_SPEC): Likewise.
3683 (INVOKE__main): Likewise.
3684 (CTOR_LIST_BEGIN): Likewise.
3685 (CTOR_LIST_END): Likewise.
3686 (DTOR_LIST_BEGIN): Likewise.
3687 (DTOR_LIST_END): Likewise.
3688 (SET_ASM_OP): Likewise.
3689 (ASM_OUTPUT_SOURCE_LINE): Likewise.
3690 (ASM_OUTPUT_DEF): Likewise.
3691 (ASM_OUTPUT_IDENT): Likewise.
3692
3693 * config/mips/mips.h (ASM_SPEC): Undefine before define.
3694 (CPLUSPLUS_CPP_SPEC): Likewise.
3695 (ASM_APP_ON) Redefine only if not defined.
3696 (ASM_APP_OFF): Likewise.
3697 (ASM_OUTPUT_SOURCE_LINE): Likewise.
3698 (ASM_OUTPUT_IDENT): Likewise.
3699
3700 * config.gcc: Update tm_file for Linux/mips.
3701
b7933c21
BS
37022001-08-08 Bernd Schmidt <bernds@redhat.com>
3703
3704 * cselib.c (cselib_record_sets): If insn is predicated, turn
3705 sources into IF_THEN_ELSEs.
7dcc803e
BS
3706
3707 * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
3708 Turn into define_insn_and_split.
b9f22704 3709
4b6c5340
BS
3710 * sched-deps.c: Include "cselib.h".
3711 (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
3712 Use cselib to turn memory addresses into VALUEs.
3713 (sched_analyze): Call cselib_init/cselib_finish if necessary.
3714 * sched-int.h (struct sched_info): New member USE_CSELIB.
3715 * sched-ebb.c (ebb_sched_info): Initialize it.
3716 * sched-rgn.c (rgn_sched_info): Likewise.
3717 * Makefile.in (sched-deps.o): Update dependencies.
7dcc803e 3718
91700444
BS
3719 * cselib.h (cselib_subst_to_values): Declare.
3720 * cselib.c (cselib_subst_to_values): No longer static. Allow MEMs
3721 that have no value and autoincs to be handled by generating a new
3722 dummy value.
b9f22704 3723
674fc07d
GS
37242001-08-08 Graham Stott <grahams@redhat.com>
3725
3726 * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
3727 within fixed length SEQUENCE.
3728
5f9689e5
GS
37292001-08-08 Graham Stott <grahams@redhat.com>
3730
3731 * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
3732 (diagnostic_prefixing_rule): Likewise.
3733 (diagnostic_line_cutoff): Likewise.
3734 (diagnostic_kind_count): Likewise.
3735
6d8c73f7
GS
37362001-08-08 Graham Stott <grahams@redhat.com>
3737
3738 * alias.c (find_base_decl): Delete redundent assignment.
3739
8e0d15d4
GS
37402001-08-08 Graham Stott <grahams@redhat.com>
3741
3742 * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
3743 (abs): Uppercase and paranthesize macro parameter.
3744 (MEM_DEPENDENCY): Add whitespace.
3745
e5503743
GS
37462001-08-08 Graham Stott <grahams@redhat.com>
3747
3748 * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
3749 failure check for CONST_INT
3750
5b57e28b
GS
37512001-08-08 Graham Stott <grahams@redhat.com>
3752
3753 * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
3754 (libcall_dead_p): Likewise.
3755
3756 (mark_used_regs): Constify fmt.
3757 (find_use_as_address): Likewise.
3758
0f1e8126
GS
37592001-08-08 Graham Stott <grahams@redhat.com>
3760
3761 * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
3762 parameter.
3763
e61465ed
GS
37642001-08-08 Graham Stott <grahams@redhat.com>
3765
3766 * combine.c (combine_simplify_rtx): Update comment and
3767 remove erroneous test.
3768
7364fdd8
NB
37692001-08-07 Neil Booth <neil@daikokuya.demon.co.uk>
3770
3771 * cppinit.c (cpp_finish): Pop the final buffer without comment.
3772 * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
3773 take care to avoid multiple no-newline at EOF warnings in that
3774 case.
3775
570a98eb
JH
3776Tue Aug 7 22:18:06 CEST 2001 Jan Hubicka <jh@suse.cz>
3777
3778 * calls.c (expand_call): Do not emit INSN_SETJMP note.
3779 (emit_library_call_value_1): Likewise.
3780 (emit_call_1): Emit REG_SETJMP note.
3781 * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
3782 of INSN_SETJMP
3783 * cselib.c (cselib_process_insn): Likewise.
3784 * flow.c (propagate_block): Likewise.
3785 * loop.c (find_and_verify_loops): Likewise.
3786 * reload.c (find_equiv_regs): Likewise.
3787 * reload1.c (reload): Likewise.
3788 * resource.c (mark_referenced_resources,
3789 mark_set_resources): Likewise.
3790 * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
3791 * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
3792 * haifa-sched.c (unlink_other_notes): Likewise.
3793 (reemit_notes): Likewise.
3794 * sched-ebb.c (sched_ebb): Likewise.
3795 * sched-rgc.c (sched_region): Likewise.
3796 * rtl.c (note_insn_name): Likewise.
3797 (reg_note_name): Add REG_SETJMP
3798 * rtl.h (reg_note): Add REG_SETJMP.
3799 (insn_note): Remove NOTE_INSN_SETJMP.
3800
3801 * profile.c (branch_prob): Add fake edges for setjmp.
3802
ff25793c
DJ
38032001-08-07 Daniel Jacobowitz <drow@mvista.com>
3804
1b0c37d7
ZW
3805 * config.gcc: Quote target_cpu_default2 correctly for
3806 powerpc*-*-* targets.
ff25793c 3807
42dcba34
NB
38082001-08-07 Neil Booth <neil@daikokuya.demon.co.uk>
3809
3810 * cpplib.h, line-map.h: Update comments.
3811 * cppmain.c (printer_init): Move inline.
3812 (maybe_print_line, print_line): Take a map pointer.
3813 (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
3814 (cb_file_change): Don't use prior value of print.map.
3815
e8515283
DE
38162001-08-07 David Edelsohn <edelsohn@gnu.org>
3817
3818 * doc/install.texi: Document fine-grained multilib configuration.
3819
0d025d43
JH
3820Tue Aug 7 16:52:54 CEST 2001 Jan Hubicka <jh@suse.cz>
3821
3822 * rtlanal.c (find_first_parameter_load): Call note_stores
3823 only on the instructions.
3824
24a28584
JH
3825Tue Aug 7 14:56:16 CEST 2001 Jan Hubicka <jh@suse.cz>
3826
3827 * alias.c (nonlocal_mentioned_p):
3828 Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
3829 * calls.c (emit_call_1): Likewise.
3830 * cse.c (cse_insn, invalidate_skipped_block): Likewise.
3831 * cselib.c (cselib_process_insn): Likewise.
3832 * df.c (df_insns_modify): Likewise.
3833 * flow.c (need_fake_edge_p): Likewise.
3834 (propagate_one_insn): Likewise.
3835 * haifa-sched.c (reemit_notes): Likewise.
3836 * integrate.c (copy_insn_list): Likewise.
3837 * jump.c (delete_prior_computation): Likewise.
3838 * local-alloc.c (validate_equiv_mem): Likewise.
3839 * loop.c (scan_loop): Likewise.
3840 * predict.c (estimate_probability): Likewise.
3841 * reload.c (reload): Likewise.
3842 * sched-deps (sched_analyze): Likewise.
3843 * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
3844 * gcse.c (compute_hash_table): Likewise.
3845 (mark_call): Likewise.
3846 (store_killed_in_insn): Likewise.
3847
1b81b789
JM
38482001-08-07 Jason Merrill <jason_merrill@redhat.com>
3849
45dcf572
JM
3850 * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
3851
2d2e44d2
RH
38522001-08-06 Richard Henderson <rth@redhat.com>
3853
3854 * varasm.c (assemble_gc_entry): Remove.
3855 * output.h: Likewise.
3856
47907859
RH
38572001-08-06 Richard Henderson <rth@redhat.com>
3858
3859 * varasm.c (assemble_constructor): Take a symbol_ref and a
3860 priority instead of a bare string. Move priority handling
3861 here from cp/decl2.c.
3862 * output.h: Update decls.
3863
3864 * c-decl.c (c_expand_body): Update calls to assemble_constructor
3865 and assemble_destructor.
3866 * profile.c (output_func_start_profiler): Likewise.
3867 * objc/objc-act.c (finish_objc): Likewise.
3868 (build_module_descriptor): Return the symbol not the symbol name.
3869
362b68a8
DE
38702001-08-06 David Edelsohn <edelsohn@gnu.org>
3871
3872 * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
3873 * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
3874 ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
3875 * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
3876 * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
3877 * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
3878
fde84349
NB
38792001-08-06 Neil Booth <neil@daikokuya.demon.co.uk>
3880
3881 * cpperror.c (print_containing_files): Moved to line-map.c.
3882 (print_location): line-map.c handles re-listing or otherwise.
3883 * cpphash.h (struct lexer_state): Remove next_bol.
3884 (struct cpp_buffer): Remove include_stack_listed.
3885 * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
3886 Remove faked buffer handling.
3887 (_cpp_do_file_change): Tweak.
3888 * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
3889 * cppmain.c (struct printer): Remove filename.
3890 (print_line, cb_file_change): Update accordingly.
3891 * line-map.c: Include intl.h.
3892 (init_line_maps): Initialize last_listed.
3893 (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
3894 (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
3895 (print_containing_files): New.
3896 * line-map.h (struct line_maps): New member last_listed.
3897 (print_containing_files, INCLUDED_FROM): New.
3898 * Makefile.in: Update.
3899 * po/POTFILES.in: Add line-map.c.
3900
df4556a3
RH
39012001-08-06 Richard Henderson <rth@redhat.com>
3902
3903 * except.c (convert_from_eh_region_ranges_1): Never mark
3904 USE or CLOBBER insns as throwing.
3905
3906 * expr.c (store_constructor): Don't clobber memory targets.
3907
a4d3961a
AJ
39082001-08-06 Andreas Jaeger <aj@suse.de>
3909
3910 * profile.c (branch_prob): Remove unused variable insn.
3911
3912 * Makefile.in (local-alloc.o): Add dependency on except.h.
3913
3914 * local-alloc.c: Include except.h for can_throw_internal prototype.
3915
1d482056
RH
39162001-08-06 Richard Henderson <rth@redhat.com>
3917
3918 * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
3919 * function.c (expand_main_function): Implement it.
3920 * doc/tm.texi: Document it.
3921
4f2b1139
SS
39222001-08-06 Stan Shebs <shebs@apple.com>
3923
3924 * doc/install.texi: Document powerpc-*-darwin* details.
3925
f984d8df
DB
39262001-08-06 Daniel Berlin <dan@cgsoftware.com>
3927
3928 * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
3929 (ASM_CPU_SPEC): Move back to rs6000.h
3930 #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
3931
3932 * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
3933
3934 * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
a4d3961a 3935 readded.
f984d8df
DB
3936
3937 * config/rs6000/linux64.h: Ditto.
3938
3939 * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
3940 to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
3941 nothing.
3942
3943 Remove accidently readded definitions of FUNCTION_PROLOGUE,
3944 FUNCTION_EPILOGUE, ASM_OPEN_PAREN, ASM_CLOSE_PAREN
3945
3946 * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
3947 to rs6000.h
a4d3961a 3948
78d56e8b
RH
39492001-08-05 Richard Henderson <rth@redhat.com>
3950
3951 * local-alloc.c (update_equiv_regs): Do not move insns that
3952 can throw.
3953
39f95a2c
JH
39542001-08-05 Jan Hubicka <jh@suse.cz>
3955
3956 * Makefile.in (reload1.o): Add dedendancy on except.h
3957 * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
3958 prototypes.
3959 * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
3960 indicating wehther edges has been cleaned up.
3961 * reload1.c: Inlucde except.h
3962 (fixup_abnormal_edges): Accept deleted insns.
3963 * toplev.c (rest_of_compilation): Purge dead edges unconditionally
3964 after combine.
3965
9765f972
NB
39662001-08-06 Neil Booth <neil@daikokuya.demon.co.uk>
3967
3968 * cpplib.c (do_line): Correct line number after pop_buffer.
3969
6604e6f3
NB
39702001-08-05 Neil Booth <neil@daikokuya.demon.co.uk>
3971
3972 PR preprocessor/3824
3973 * line-map.c: Update comments.
3974 * line-map.h: Update comments.
3975 * tradcif.y: Don't consider large numbers unsigned.
3976
67821e3a
NB
39772001-08-05 Neil Booth <neil@daikokuya.demon.co.uk>
3978
3979 PR preprocessor/3081
3980 * c-lex.c (map): New.
3981 (cb_file_change): Update map and use it.
3982 (cb_def_pragma, cb_define, cb_undef): Use map and line.
3983 (c_lex): Update to use map.
3984 * cpperror.c (print_location): Move to using logical line numbers.
3985 * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
3986 (cpp_make_system_header): Similarly.
3987 (_cpp_execute_include): Stop line numbering hacks. Store the
3988 line we will return to.
3989 * cpphash.h (CPP_BUF_LINE): Remove.
3990 (struct cpp_buffer): Remove lineno and pseudo_newlines.
3991 Add map and return_to_line.
3992 (_cpp_do_file_change): Update.
3993 * cppinit.c (cpp_start_read): Update line kludge.
3994 * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
3995 (trigraph_ok): Use logical line numbers for diagnostics.
3996 (skip_block_comment): Likewise.
3997 (skip_whitespace): Likewise.
3998 (skip_line_comment): Use pfile->line instead.
3999 (_cpp_lex_token): Update to use logical line numbering exclusively.
4000 Handle BOL locally. Accept new lines in directives, but keep
4001 pfile->line decremented. Diagnostics use logical lines. Update
4002 directive handling.
4003 * cpplib.c (SEEN_EOL): New.
4004 (skip_rest_of_line, check_eol): Use it.
4005 (end_directive): Increase line number when accepting the newline
4006 at the end of a directive.
4007 (run_directive): Simplify.
4008 (do_line): Bad LC_LEAVEs become LC_RENAMEs. Update.
4009 (_cpp_do_file_change): Update to take buffer line number as an
4010 argument, and store the current map in the cpp_reader. Remove
4011 line number kludges.
4012 (_cpp_do__Pragma): Restore output position after a _Pragma.
4013 (cpp_push_buffer): Don't set output line or lineno.
4014 (_cpp_pop_buffer): Transfer more info from a faked buffer.
4015 Remove line kludge. Set output_line.
4016 * cppmacro.c (builtin_macro): Update handling of __LINE__.
4017 (parse_arg): Use logical lines.
4018 (save_lookahead_token): Save EOFs too now.
4019 * cppmain.c (struct printer): Fix comments.
4020 (printer_init): Simplify, let caller do errors.
4021 (scan_translation_unit, check_multiline_token, dump_macro): Update.
4022 (maybe_print_line): Simplify.
4023 (print_line): Don't print a linemarker if -P.
4024 (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
4025 (cb_file_change): Simplify.
4026 * line-map.h (LAST_SOURCE_LINE): Fix.
4027 (CURRENT_LINE_MAP): New.
4028
b05ecb16
BS
40292001-08-05 Bernd Schmidt <bernds@redhat.com>
4030
ab59db3c 4031 * doloop.c (doloop_modify_runtime): Properly compute number of
b05ecb16
BS
4032 iterations if loop was unrolled.
4033
ab59db3c
BS
4034 * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
4035 if their CSELIB_VAL_PTRs are.
4036
703cf211
BS
4037 * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
4038 (setup_spill_pointers): Initialize it.
4039 (spill_restore_mem): Set it.
4040 (do_spill, do_restore): Use it to add REG_INC note.
4041 * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
4042
1ad72cef
BS
4043 * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
4044 asms if other insns are available.
4045
acb0638d
BS
4046 * config/ia64/ia64.c (condop_operator): New predicate.
4047 * config/ia64/ia64.h (PREDICATE_CODES): Add it.
4048 * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
4049 patterns.
4050
8125d7e9
BS
4051 * expr.c (expand_expr, case COND_EXPR): Prefer working with a
4052 temporary register than directly using a MEM.
4053
12355aec
HPN
40542001-08-04 Hans-Peter Nilsson <hp@bitrange.com>
4055
4056 * config/sh/sh.c (sh_asm_named_section): Fix typo in align
4057 parameter in last change.
4058
98c0c681
ZW
40592001-08-04 Zack Weinberg <zackw@panix.com>
4060
4061 * sparc.md: Don't use #if inside C test expression.
4062
68c5782d
RH
40632001-08-04 Richard Henderson <rth@redhat.com>
4064
4065 * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
4066
8bbbef34
NB
40672001-08-04 Neil Booth <neil@daikokuya.demon.co.uk>
4068
4069 * cpphash.h (struct cpp_reader): New member directive_line.
4070 * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
4071 * cpplib.c (do_define, do_undef, do_ident, do_include_common,
4072 do_pragma): Pass line to callbacks.
4073 (start_directive): Record line of directive.
4074 * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
4075 cb_include): Similarly.
4076 * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
4077 Similarly.
4078
95146dd6
HPN
40792001-08-04 Hans-Peter Nilsson <hp@bitrange.com>
4080
4081 * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
4082 comment.
4083
f1330226
JH
4084Sat Aug 4 13:51:36 CEST 2001 Jan Hubicka <jh@suse.cz>
4085
4086 * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
4087
4088 * reload1.c (fixup_abnormal_edges): New static function.
4089 (reload): Use it.
4090
4091 * flow.c (need_fake_edge_p): New function.
4092 (flow_call_edges_add): Fix handling of noreturn and sibbling calls;
4093 avoid call insn to be very last insn in the insn stream.
4094
4095 * profile.c (branch_prob): Call flow_call_edges_add instead of
4096 doing that by hand; cleanup cfg to re-merge basic blocks once
4097 we are done.
4098
ef6e958a
NB
40992001-08-04 Neil Booth <neil@cat.daikokuya.demon.co.uk>
4100
4101 * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
4102 are also on line-map.h.
4103 * cppfiles.c (stack_include_file): Update.
4104 * cpphash.h (struct cpp_buffer): New member return_at_eof.
4105 (_cpp_pop_buffer): New.
4106 * cppinit.c (cpp_destroy, cpp_finish): Update.
4107 (do_includes): Mark each buffer to return at EOF.
4108 * cpplex.c (_cpp_lex_token): Pop buffers at EOF. Continue or
4109 return as requested.
4110 * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
4111 (cpp_pop_buffer): Rename _cpp_pop_buffer. Stop skipping.
4112 * cpplib.h (cpp_pop_buffer): Remove.
4113 (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
4114 * cppmacro.c (cpp_scan_buffer_nooutput): Similarly. No need to pop
4115 buffers.
4116 * cppmain.c (scan_buffer): Rename scan_translation_unit. No need
4117 to pop buffers.
4118 (do_preprocessing): Update.
4119 * fix-header.c (read_scan_file): Update. No need to pop buffers.
4120 * c-parse.in (_yylex): Similarly.
4121 * scan-decls.c (scan_decls): Similarly.
4122 * line-map.h: Update comments.
4123
4124 * objc/Make-lang.in (objc-act.o): Update dependencies.
4125
03997728
SC
41262001-08-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
4127
a4d3961a 4128 * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
03997728
SC
4129 and soft register for operand 0.
4130 ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
4131
d8de89e8
SC
41322001-08-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
4133
4134 * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
4135 register for operand 0.
4136 ("bitcmpqi_z_used"): Allow memory for operand 0.
4137 (split "bitcmpqi"): New split to handle address reg as operand 1.
4138
aaa4ca30
AJ
41392001-08-04 Andreas Jaeger <aj@suse.de>
4140
4141 * gcse.c: Revert Daniel's last patch.
4142
da9314d5
ZW
41432001-08-03 Zack Weinberg <zackw@stanford.edu>
4144
a4d3961a 4145 * sparc-protos.h: Add prototypes for fp_zero_operand and
da9314d5
ZW
4146 reg_or_0_operand.
4147 * sh-protos.h: Add prototype for fpul_operand.
4148
79323c50
HPN
41492001-08-04 Hans-Peter Nilsson <hp@bitrange.com>
4150
4151 * doc/extend.texi (Other Builtins): Fix typo in last change.
4152
7c262518
RH
41532001-08-03 Richard Henderson <rth@redhat.com>
4154
a4d3961a 4155 * target.h (gcc_target): Add asm_out.named_section,
7c262518
RH
4156 section_type_flags, have_named_sections.
4157 * target-def.h (TARGET_ASM_NAMED_SECTION): New.
4158 (TARGET_HAVE_NAMED_SECTIONS): New.
4159 (TARGET_SECTION_TYPE_FLAGS): New.
4160
4161 * Makefile.in (toplev.o): Depend on TARGET_H.
4162 (varasm.o, dbxout.o): Likewise.
4163 * c-common.c (decl_attributes): Check targetm.have_named_sections
4164 instead of ifdef ASM_OUTPUT_SECTION_NAME.
4165 * dbxout.c (dbxout_function_decl): Likewise.
4166 (dbxout_function_end): Likewise.
4167 * toplev.c (compile_file): Likewise.
4168 * varasm.c (exception_section): Likewise.
4169 * cp/decl2.c (finish_objects): Likewise.
4170
4171 * defaults.h (EH_FRAME_SECTION): Remove.
4172 (EH_FRAME_SECTION_ASM_OP): Remove.
4173 (EH_FRAME_SECTION_NAME): New.
4174 (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
4175 (UNIQUE_SECTION_P): Remove.
4176 * dwarf2out.c (SECTION_FORMAT): Remove.
4177 (ASM_OUTPUT_SECTION): Remove.
4178 (output_call_frame_info): Use named_section_flags.
4179 (output_comp_unit, dwarf2out_start_source_file): Likewise.
4180 (dwarf2out_end_source_file, dwarf2out_define): Likewise.
4181 (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
4182 * varasm.c (in_eh_frame, eh_frame_section): Remove.
4183 (named_section_flags): New.
4184 (named_section): Use it and targetm.section_type_flags.
4185 (resolve_unique_section): New.
4186 (assemble_start_function): Use it.
4187 (asm_emit_uninitialised, assemble_variable): Likewise.
4188 (default_section_type_flags): New.
4189 (default_no_named_section, default_elf_asm_named_section): New.
4190 (default_coff_asm_named_section, default_pe_asm_named_section): New.
4191 * output.h: Update varasm.c decls.
4192 (SECTION_*): New flags.
4193
4194 * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
4195 (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
4196
4197 * config/elfos.h (UNIQUE_SECTION_P): Remove.
4198 * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
4199 * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
4200 * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
4201 * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
4202 * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
4203 * config/mips/elf.h, config/mips/elf64.h: Likewise.
4204 * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
a4d3961a 4205 * config/pa/pa64-hpux.h,
7c262518
RH
4206
4207 * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
4208 (TARGET_ASM_NAMED_SECTION): New.
4209 * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
4210 * config/alpha/vms.h, config/arm/coff.h: Likewise.
4211 * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
4212 * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
4213 * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
4214 * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
4215 * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
4216 * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
4217 * config/i386/sco5.h, config/i386/win32.h: Likewise.
4218 * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
4219 * config/mcore/mcore.h, config/mips/elf.h: Likewise.
4220 * config/mips/elf64.h, config/mips/iris6.h: Likewise.
4221 * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
4222 * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
4223 * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
4224 * config/sparc/sysv4.h: Likewise.
4225
4226 * config/nextstep.h: Error until named sections implemented.
4227
4228 * config/a29k/a29k.c (a29k_asm_named_section): New.
4229 * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
4230 (vms_section_type_flags, vms_asm_named_section): New.
4231 * config/arm/arm.c (arm_elf_asm_named_section): New.
4232 * config/avr/avr.c (asm_output_section_name): Remove.
4233 * config/avr/avr-protos.h: Update.
4234 * config/c4x/c4x.c (c4x_asm_named_section): New.
4235 * config/h8300/h8300.c (h8300_asm_named_section): New.
4236 * config/i386/i386.c (sco_asm_named_section): New.
4237 * config/i386/winnt.c (SECTION_PE_SHARED): New.
4238 (i386_pe_section_type_flags): New.
4239 (i386_pe_asm_named_section): New.
4240 * config/i386/i386-protos.h: Update.
4241 * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
4242 * config/mcore/mcore.c (mcore_asm_named_section): New.
4243 * config/mips/mips.c (iris6_asm_named_section): New.
4244 * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
4245 instead of UNIQUE_SECTION_P.
4246 * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
4247 (xcoff_asm_named_section): New.
4248 * config/sh/sh.c (sh_asm_named_section): New.
4249 * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
4250
4251 * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
4252 * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
4253 (EH_FRAME_SECTION_NAME): New.
4254 (EXCEPTION_SECTION): New.
4255 * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
4256 (DEBUG_*_SECTION): Remove.
4257 * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
4258 * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
4259 (EH_FRAME_SECTION_ASM_OP): Remove.
4260
4261 * doc/tm.texi (UNIQUE_SECTION_P): Remove.
4262 (ASM_OUTPUT_SECTION_NAME): Remove.
4263 (TARGET_ASM_NAMED_SECTION): New.
4264 (TARGET_HAVE_NAMED_SECTIONS): New.
4265 (TARGET_SECTION_TYPE_FLAGS): New.
4266 (EH_FRAME_SECTION_ASM_OP): Remove.
4267 (EH_FRAME_SECTION_NAME): New.
4268
13104975
ZW
42692001-08-03 Zack Weinberg <zackw@stanford.edu>
4270
4271 * builtins.c (fold_builtin_constant_p): Return integer_zero_node
4272 for complex expressions when cfun == 0.
4273 * doc/extend.texi: Document that __builtin_constant_p can be
4274 used in data initializers as well as functions.
4275
7335a349
AO
42762001-08-03 Alexandre Oliva <aoliva@redhat.com>
4277
4278 * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
4279 variable I locally, instead of expecting a declaration in the
4280 calling context.
4281
949f197f
RH
42822001-08-03 Richard Henderson <rth@redhat.com>
4283
4284 * except.c (collect_one_action_chain): Add an explicit cleanup
4285 action if regions surrounding a catch were encoded entirely
4286 within the call-site entry.
4287
c99fa40f
RH
42882001-08-03 Richard Henderson <rth@redhat.com>
4289
4290 * dbxout.c (dbxout_symbol_location): Flatten subregs first;
4291 don't take REGNO of a non-register.
4292
5241c227
JDA
42932001-08-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
4294
4295 * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
4296 __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
4297 (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
4298 (__gthread_mutex_init_function): New function for mutex initialization.
4299
cbec6573 43002001-08-03 Daniel Berlin <dan@cgsoftware.com>
a4d3961a 4301
cbec6573
DB
4302 * Makefile.in: Revert screwed up commit.
4303
70a5787e
SC
43042001-08-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
4305
4306 * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
4307 * config/m68hc11/larith.asm (_exit): Split in several sub-sections
4308 merged by linker script to get a final _exit().
4309 (__do_global_dtors): New for destructor handling in specific exit
4310 section.
4311 (__do_global_ctors): New for constructors in specific install section.
4312 (__map_data_section): Map data sections before running constructors.
4313 * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
4314 (CTORS_SECTION_ASM_OP): Define to put in readonly section.
4315 (DTORS_SECTION_ASM_OP): Likewise.
4316 (CTORS_SECTION_FUNCTION): Define to force a reference to
4317 __do_global_ctors.
4318 (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
4319
9ebeebda 43202001-08-03 Daniel Berlin <dan@cgsoftware.com>
a4d3961a 4321
9ebeebda 4322 * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
a4d3961a 4323
9ebeebda
DB
4324 * Makefile.in: Add df.h to gcse.c dependencies.
4325
c6b74046
JDA
43262001-08-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
4327
4328 * varasm.c (output_constant_def_contents): Use for the length of a
4329 string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
4330 depending on which is larger.
4331
9ebeebda 43322001-08-03 Daniel Berlin <dan@cgsoftware.com>
adfcce61 4333
39f95a2c
JH
4334 * gcse.c: Include df.h for use as a dataflow analyzer.
4335 Remove regvec.
4336 Declaration of reg_set_info: gone.
4337 New df_analyzer variable used by store motion.
4338 (reg_set_info): Deleted.
4339 (mark_mem_regs): New function, analyze regs used by a mem.
4340 (store_ops_ok): Use dataflow analyzer results to determine if
4341 necessary regs are changed in the block.
4342 (find_moveable_store): Remove check for symbol ref, we can handle
4343 much more complex expressions now.
4344 (compute_store_table): Remove most of the code, it's unnecessary
4345 now that the dataflow analyzer records the info for us.
4346 (store_killed_after): Add parameter to say whether to do the
4347 store_ops_okay test, used to speed up testing when we already know
4348 the answer, and just want to know if the store itself was killed.
4349 (build_store_vector): Largely rewritten to calculate the various
4350 vectors properly, and somewhat optimized.
a4d3961a 4351 (store_motion): Init the df_analyzer, get REG_DEF chains.
39f95a2c
JH
4352 Also handle trapping expressions (since mems almost always trap)
4353 (simple_mem): Redefine what a simple mem is.
adfcce61 4354
667ccf73
DD
43552001-08-03 DJ Delorie <dj@redhat.com>
4356
4357 * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
4358 set from a constant part of the condition.
4359
0821bff7
AC
43602001-08-01 Andrew Cagney <ac131313@redhat.com>
4361
4362 * mkdeps.c (deps_add_default_target): Make local variable
4363 ``start'' a const char pointer.
4364 * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
4365
b953cc4b
RO
43662001-08-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4367
4368 * doc/install.texi (Configuration): Fix markup.
4369 (Specific, i?86-*-udk): Likewise.
4370 (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
a4d3961a 4371 --with-gnu-ld.
b953cc4b
RO
4372 Document --enable-threads and --enable-libgcj status.
4373 (Specific, mips-sgi-irix*): Canonicalize triples.
4374 (Specific, mips-sgi-irix5): Warn about problems with this config.
4375 Mention required GNU as patch.
4376 Native assembler problems are fixed.
4377 (Specific, mips-sgi-irix6): Update O32 ABI support status.
4378 Document --enable-threads and --enable-libgcj status.
4379
ef1f96f0
NC
43802001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
4381
4382 * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
4383 of mkinstalldirs.
4384
6e5a6a6b
RH
43852001-08-03 Richard Henderson <rth@redhat.com>
4386
4387 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
4388 constant data.
4389
dbc1a163
RH
43902001-08-03 Richard Henderson <rth@redhat.com>
4391
4392 * rtlanal.c (find_first_parameter_load): Stop if we
4393 reach a CODE_LABEL at BOUNDARY.
4394
54aaa4ea
RH
43952001-08-03 Richard Henderson <rth@redhat.com>
4396
4397 * config/alpha/alpha.md (force_movdi): New insn.
4398 * config/alpha/alpha.c (alpha_expand_prologue): Use it.
4399 Tweek FRP marking of VMS prologue insns.
4400 * config/alpha/vms.h (EPILOGUE_USES): New.
4401
0360b30d
RH
44022001-08-02 Richard Henderson <rth@redhat.com>
4403
4404 * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
4405
8aeea6e6
LB
44062001-08-02 Lars Brinkhoff <lars@nocrew.org>
4407
4408 * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
4409 simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
4410 config/convex/convex.h, config/d30v/d30v.c,
4411 config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
4412 config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
4413 config/mips/mips.h, config/mn10200/mn10200.h,
4414 config/mn10300/mn10300.h, config/pdp11/pdp11.md,
4415 config/v850/v850.h, config/vax/openbsd.h,
4416 config/vax/openbsd1.h, config/vax/ultrix.h,
4417 config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
4418 config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
4419 cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
4420 doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
4421 doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
39f95a2c 4422 in comments and documentation.
8aeea6e6 4423
d82fc108
NB
44242001-08-03 Neil Booth <neil@cat.daikokuya.demon.co.uk>
4425
4426 * line-map.c: New.
4427 * line-map.h: New.
4428 * Makefile.in (line-map.o): New.
4429 (LIBCPP_OBJS, LIBCPP_DEPS): Update.
4430 * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
4431 * cpperror.c (print_containing_files): Similarly.
4432 (print_location): Update. Don't output a space before _Pragma.
4433 * cppfiles.c (stack_include_file): Set to line 1 immediately.
4434 (stack_include_filee, cpp_make_system_header): Update.
4435 (_cpp_execute_include): Get logical line number right for calling
4436 as-yet-unterminated #include.
4437 * cpphash.h (struct cpp_reader): Add line_maps.
4438 (_cpp_do_file_change): Update.
4439 * cppinit.c (cpp_create_reader): Initialize line maps.
4440 (cpp_destroy): Destroy line maps.
4441 (cpp_start_read): Get logical line number right.
4442 * cpplex.c (parse_string): Only warn once for multi-line strings.
4443 Use boolean variable for null warning.
4444 * cpplib.c (_cpp_handle_directive): End the directive if it isn't
4445 already.
4446 (do_include_common): End the directive early.
4447 (do_line): Don't warn about out-of-range lines in preprocessed
4448 source. Update. Remove unused variables.
4449 (_cpp_do_file_change): Update for new line mapping.
4450 (pragma_cb): New typedef.
4451 (cpp_register_pragma): Stop looking ahead before calling the
4452 handler. Clean up.
4453 (do_pragma_system_header): End directive early.
4454 (cpp_get_line_maps): New.
4455 (cpp_pop_buffer): Fudge logical line. Update.
4456 * cpplib.h: Include line-map.h
4457 (enum cpp_fc_reason): Remove.
4458 (struct cpp_file_change): Update.
4459 (cpp_get_line_maps): New.
4460 * cppmain.c (struct_printer): New member map.
4461 (cb_file_change): Update for new mappings.
4462 * fix-header.c (cb_file_change): Similarly.
4463
6dda00f0
NC
44642001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
4465
4466 * Makefile.in (libgcc.mk): Define mkinstalldirs.
4467 * mklibgcc.in: Use mkinstalldirs instead of mkdir.
4468
215b48a7
LB
44692001-08-02 Lars Brinkhoff <lars@nocrew.org>
4470
4471 * config/vax/vax.c: include expr.h.
4472
e7f62dcf
NC
44732001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
4474
4475 * Makefile.in ($(srcdir)/configure): Only rebuild in
4476 maintainer mode.
4477 ($(srcdir)/config.in): Only define in maintainer mode.
4478 ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
4479
4b5eb038
DE
44802001-08-02 David Edelsohn <edelsohn@gnu.org>
4481
4482 * doc/install.texi (Install GCC: Binaries): Update Bull info.
4483
578672a2
RO
44842001-08-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4485
4486 * gcc.c (set_collect_gcc_options): New function, split out from
4487 main.
4488 Ignore elided switches.
4489 (do_spec_1): Invoke before executing command.
4490 (set_input): Export.
4491 Move declaration ...
4492 * gcc.h (set_input): ... here.
4493 * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
4494 file.
4495
1dbb6023
NS
44962001-08-02 Nathan Sidwell <nathan@codesourcery.com>
4497
4498 Kill -fhonor-std.
4499 * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
4500 interaction.
4501 * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
4502
d6b6ba29
RS
45032001-08-02 Richard Sandiford <rsandifo@redhat.com>
4504
4505 * mips.md (movdicc): Make conditional on TARGET_64BIT. Likewise
4506 for the unnamed instructions it expands to.
4507
d3259baa
RH
45082001-08-02 Richard Henderson <rth@redhat.com>
4509
4510 * regclass.c (call_really_used_regs): Conditionally define.
4511 (init_reg_sets_1): Don't use it if not defined.
4512 (fix_register): Similarly, don't set it.
4513
eb77eeb3
GP
45142001-08-01 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4515
4516 * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
4517 Correct comment that had been missed in the previous change.
4518
4e08ba6c
SS
45192001-08-01 Stan Shebs <shebs@apple.com>
4520
4521 * config/darwin.c (machopic_stub_name): Try matching by name.
4522 (update_stubs): New function.
4523 (darwin_encode_section_info): Call it and update_non_lazy_ptrs
4524 unconditionally.
4525
7a900ebc
RH
45262001-08-01 Richard Henderson <rth@redhat.com>
4527
4528 * except.c (output_function_exception_table): Use assemble_align.
4529 * varasm.c (assemble_eh_label): Remove.
4530 (assemble_eh_align, assemble_eh_integer): Remove.
4531
551e8a74
RL
45322001-08-01 Robert Lipe <robertl@caldera.com>
4533
39f95a2c 4534 * dwarfout.c: Remove reference to README.DWARF.
551e8a74 4535
fc1296b7
AM
45362001-08-01 Andrew MacLeod <amacleod@redhat.com>
4537
4538 * regclass.c (call_really_used_regs): New array for registers which
4539 are actually used by a call.
4540 (init_reg_sets_1): Initialize regs_invalidated_by_call with the
4541 new array.
4542 (fix_register): Set call_really_used too.
4543 * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
4544 * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
4545
b38b083a
RH
45462001-08-01 Richard Henderson <rth@redhat.com>
4547
4548 * read-rtl.c (read_name): Consider \r whitespace.
4549
edf1b3f3
AC
45502001-07-11 Andrew Cagney <ac131313@redhat.com>
4551
4552 * config.gcc: Recognize powerpc-*-netbsd*.
a4d3961a 4553
edf1b3f3
AC
4554 * doc/install.texi (Host/target specific installation notes for
4555 GCC): Mention powerpc-*-netbsd*.
4556
4557 * config/rs6000/netbsd.h: New file.
4558 (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
4559 (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
4560 (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
4561 (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
4562 (TARGET_VERSION): Redefine.
4563
4564 * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
4565 mcall-netbsd as a match for mcall-sysv.
4566 (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
4567 (ncrti.S, ncrtn.S): New targets.
4568 ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
a4d3961a 4569
edf1b3f3
AC
4570 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
4571 "netbsd' as a V4 ABI.
4572 (ASM_SPEC): Check for -mcall-netbsd.
4573 (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
4574 (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
4575 (LIB_SPEC, ENDFILE_SPEC): Ditto.
4576 (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
4577 (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
4578 (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
4579 (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
4580
4581 * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
4582 (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
4583
bda33a6e
MK
45842001-08-01 Mark Kettenis <kettenis@gnu.org>
4585
4586 * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
4587 only if NO_BASE_OF_ENCODED_VALUE isn't defined.
4588 * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
4589 including "unwind-pe.h".
4590
75540af0
JH
4591Wed Aug 1 20:01:42 CEST 2001 Jan Hubicka <jh@suse.cz>
4592
4593 * rs6000.md (define_splits): Kill unused constraints.
4594
4595Wed Aug 1 20:02:12 CEST 2001 Graham Stott <grahams@redhat.com>
4596 Jan Hubicka <jh@suse.cz>
4597
4598 * function.c (thread_prologue_and_epilogue_insns): Kill code
4599 dealing with non-existent CFG.
4600
ec5c56db
KH
46012001-08-01 Kazu Hirata <kazu@hxi.com>
4602
4603 * alias.c: Fix comment formatting.
4604 * bitmap.c: Likewise.
4605 * builtins.c: Likewise.
4606 * calls.c: Likewise.
4607 * c-common.c: Likewise.
4608 * c-decl.c: Likewise.
4609 * c-dump.c: Likewise.
4610 * c-lex.c: Likewise.
4611 * collect2.c: Likewise.
4612 * combine.c: Likewise.
4613 * conflict.c: Likewise.
4614 * cppfiles.c: Likewise.
4615 * cppinit.c: Likewise.
4616 * cpplex.c: Likewise.
4617 * cpplib.c: Likewise.
4618 * cppmacro.c: Likewise.
4619 * cppspec.c: Likewise.
4620 * c-pragma.c: Likewise.
4621 * crtstuff.c: Likewise.
4622 * cse.c: Likewise.
4623 * cselib.c: Likewise.
4624 * c-semantics.c: Likewise.
4625 * c-typeck.c: Likewise.
4626
2a25b23f
L
46272001-08-01 H.J. Lu <hjl@gnu.org>
4628
4629 * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
4630
a8329479
L
46312001-08-01 H.J. Lu <hjl@gnu.org>
4632
4633 * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
4634
f2e6e530
ZL
46352001-08-01 Ziemowit Laski <zlaski@apple.com>
4636
39f95a2c 4637 * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
f2e6e530
ZL
4638 contextualizing Objective-C class name lookup by the lexer.
4639 (typespec_reserved_nonattr): Disable ObjC class name lookup after
4640 seeing a TYPESPEC.
4641 (protocoldef): Add support for forward @protocol declarations.
4642 (yylexname): Suppress ObjC class name lookup in certain contexts;
4643 re-enable after lookup is complete.
4644 (_yylex): Re-enable ObjC class name lookup when certain
4645 punctuation marks are seen.
4646
4647 * objc/objc-act.c (check_protocol_recursively): New function used
4648 for finding circular dependencies in protocols.
4649 (objc_declare_protocols): New function for handling forward
4650 @protocol declarations.
4651 (receiver_is_class_object): Detect the case when 'self' is used
4652 inside of a class method.
4653 (build_message_expr): Issue a warning if class method is desired
4654 but instance method is found instead.
4655 (conforms_to_protocol): Streamline.
4656 (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
4657 protocol Foo, even if 'Bar foo' does not.
4658 (check_protocols): Streamline.
4659 (start_protocol): Add checks for circular and duplicate protocol
4660 definitions.
4661 (encode_aggregate_within): For typedefs of structs, encode the
4662 underlying struct.
4663 * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
4664 (objc_declare_protocols): New prototype.
4665
1444f2ed
NB
46662001-08-01 Neil Booth <neil@cat.daikokuya.demon.co.uk>
4667
4668 * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
4669 * cpplex.c (handle_newline): Update prototype. Maintain logical
4670 line number.
4671 (skip_escaped_newlines, skip_block_comment, parse_string):
4672 Update accordingly.
4673 (_cpp_lex_token): Update, and store token position within the token.
4674 * cpplib.h (struct cpp_token): Add line and column entries.
4675 * cppmacro.c (replace_args): Position stringified tokens correctly.
4676
7f8a2125
AJ
46772001-08-01 Andreas Jaeger <aj@suse.de>
4678
4679 * basic-block.h: Add prototype for last_loop_beg_note.
4680
6ad7895a
APB
46812001-07-31 Alexandre Petit-Bianco <apbianco@redhat.com>
4682
4683 * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
4684 RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
4685 comment.
4686 (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
4687 while handling WITH_CLEANUP_EXPR node. Use second operand calling
4688 expand_decl_cleanup.
4689 * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
4690 the first RTX.
4691 (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
4692 operand while calling simple_cst_equal.
4693 * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
4694 operand is the cleanup expression, the third is the RTL_EXPR.
7f8a2125 4695 * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
6ad7895a 4696
b24a9e88
JS
46972001-07-31 Jeff Sturm <jsturm@one-point.com>
4698
39f95a2c 4699 * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
b24a9e88 4700
6ea0279f
MG
47012001-07-31 matthew green <mrg@eterna.com.au>
4702
4703 * config.gcc (i386-*-netbsdelf): New description.
4704 * config/i386/netbsd-elf.h: New file.
4705
ae16bf15
GK
47062001-07-30 Geoffrey Keating <geoffk@redhat.com>
4707
4708 * loop.c (check_dbra_loop): Use single_set to compute
4709 jump_label.
4710
2bfcf297
DB
47112001-07-31 Daniel Berlin <dan@cgsoftware.com>
4712
4713 PowerPC reorg and support for powerpc64-*-linux*.
4714
4715 Also fixes emitting of constants on 32 bit and 64 bit
4716 platforms.
7f8a2125 4717
2bfcf297 4718 * config.gcc: powerpc64-*-linux* is a new target.
7f8a2125 4719 Things that needed aix.h now also include xcoff.h
2bfcf297
DB
4720
4721 * config/rs6000/rs6000.h: Split XCOFF specific stuff into
7f8a2125 4722 xcoff.h.
2bfcf297 4723 Move AIX specific stuff into aix.h.
2bfcf297
DB
4724 (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
4725 with more than just XCOFF now.
4726 (SET_ASM_OP): Remove, now defined where needed.
4727 (FUNCTION_PROLOGUE): New macro definition.
4728 (FUNCTION_EPILOGUE): New macro definition.
2bfcf297 4729 (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
f96850af 4730
2bfcf297
DB
4731 * config/rs6000/xcoff.h: New file.
4732
4733 * config/rs6000/linux64.h: New file.
4734
4735 * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
f96850af
DE
4736
47372001-07-31 Alan Modra <amodra@bigpond.net.au>
4738
4739 * rs6000.c (print_operand_address): Handle ELF syntax.
4740 (output_toc): Simplify. Use DOUBLE_INT_ASM_OP.
4741 * rs6000.md (load_toc_aix_di): Handle ELF syntax.
4742 * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
4743
47442001-07-31 David Edelsohn <edelsohn@gnu.org>
4745
4746 * rs6000.c (rs6000_override_options): Only disable
4747 flag_function_sections for XCOFF.
4748 (exact_log2_cint_operand): New predicate.
4749 (reg_or_{add,sub}_cint64_operand): New predicates.
4750 (add_operand): Compare CONST_INT with fewer function calls.
4751 (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
4752 (print_operand, case 'p'): Ensure positive operand.
4753 (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
4754 * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
4755 (PREDICATE_CODES): Add new predicates.
4756 * rs6000.md (addsi3): Split 32-bit constants more correctly.
4757 (divsi3, modsi3): Ensure positive power-of-2.
4758 (adddi3): Use new predicate. Split 32-bit constants more
4759 correctly. Re-arrange splitter to handle any constant.
4760 (subdi3): Use new predicate.
4761 (divdi3, moddi3): Ensure positive power-of-2.
4762 (movdi): Use rs6000_emit_set_const.
4763 (load_toc_v4_pic_di): Delete.
2bfcf297 4764
dc56ceb7
GS
47652001-07-31 Graham Stott <grahams@redhat.com>
4766
4767 * function.c (pad_below): Revert 2001-07-26 patch.
4768
3e42ccd2
JH
4769Tue Jul 31 15:37:35 CEST 2001 Jan Hubicka <jh@suse.cz>
4770
4771 * reg-stack (convert_regs_1): Fix best edge condition.
4772
940b29aa
JH
4773Tue Jul 31 15:33:27 CEST 2001 Jan Hubicka <jh@suse.cz>
4774
4775 * jump.c (duplicate_loop_exit_test): Better test for jumps
4776 entering the loop; create loop pre_header.
4777
91abf72d
HP
47782001-07-31 Hartmut Penner <hpenner@de.ibm.com>
4779
39f95a2c
JH
4780 * doc/install.texi: Add s390 and s390x as new targets.
4781 * doc/invoke.texi: Add documantation of S/390 and zSeries
4782 target options.
4783 * doc/md.texi: Add documantation of S/390 and zSeries constraints.
91abf72d 4784
8406d023
RZ
47852001-07-30 Roman Zippel <zippel@linux-m68k.org>
4786
4787 * config/m68k/m68k.md: Replace all general_operand with
4788 nonimmediate_operand for all destinations.
4789 * config/m68k/m68k.c (not_sp_operand): Likewise.
4790
4d494dfe
JW
4791Mon Jul 30 23:20:34 EDT 2001 John Wehle (john@feith.com)
4792
39f95a2c 4793 * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
4d494dfe 4794
88828291
RH
47952001-07-30 Richard Henderson <rth@redhat.com>
4796
4797 * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
4798 * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
4799
f18bff15
RZ
48002001-07-30 Roman Zippel <zippel@linux-m68k.org>
4801
4802 * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
4803 Add missing doc strings
4804 * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
4805 * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
4806
0ecf09f9
JH
4807Mon Jul 30 22:16:08 CEST 2001 Jan Hubicka <jh@suse.cz>
4808
4809 * i386.c (ix86_output_main_function_alignment_hack): New function.
4810 (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
4811
4812 * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
4813 edges by EDGE_DFS_BACK flag.
4814 (dump_edge_info): Add dfs_back flag.
4815 * basic-block.h (EDGE_DFS_BACK): New constant.
4816 (mark_dfs_back_edges): Declare.
4817 * alias.c (loop_p): Remove.
4818 (mark_constant_function): Use mark_dfs_back_edges.
4819
4820 * reg-stack.c (block_info_def): Add predecesors counter and stack_out.
4821 (reg_to_stack): Call mark_dfs_back_edges; count the predecesors.
4822 (compensate_edge): Break out from ...
4823 (convert_regs_1): ... here; do smart choosing of stack_out to copy.
4824 (convert_regs_2): Set block_done once block is really done;
4825 Do updating of the predecesors counts.
4826
4827 * toplev.c (rest_of_compilation): Recompute block_for_insn
4828 before post-reload cfg_cleanup.
4829 * function.c (thread_prologue_epilogue_insns):
4830 Call set_block_for_new_insns when emitting prologue directly.
4831
1490f392
AJ
48322001-07-30 Andreas Jaeger <aj@suse.de>
4833
39f95a2c 4834 * jump.c: Add prototype for mark_modified_reg.
1490f392 4835
39f95a2c 4836 * cse.c (set_live_p): Add unused attribute.
1490f392 4837
39f95a2c
JH
4838 * gcov.c (calculate_branch_probs): Use gcov_type to avoid
4839 overflow.
4840 (scan_for_source_files): Use long for count to avoid overflow.
4841 (output_data): Likewise.
4842 (output_data): Don't use string concatatenation to silence gcc
4843 -traditional.
1490f392 4844
39f95a2c 4845 * predict.c: Fix typos and grammar.
1490f392
AJ
4846
4847 * gcse.c (insert_insn_end_bb): Remove unused variables.
4848
a08b2604
JH
4849Mon Jul 30 21:54:53 CEST 2001 Jan Hubicka <jh@suse.cz>
4850
4851 * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
4852 (attempt_auto_inc): LIkewise.
4853 (mark_used_reg): Likewise.
4854 (try_pre_increment_1): Likewise.
4855 * regclass.c (regclass): Likewise.
4856 * global.c (allocno_compare): Update comment; change scaling factor.
4857 * local-alloc.c (QTY_CMP_PRI): Likewise.
4858 * regs.h (REG_FREQ_FROM_BB): New.
4859 (REG_FREQ_MAX): Likewise.
4860
c2c0294a
L
48612001-07-30 H.J. Lu <hjl@gnu.org>
4862
4863 * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
4864 -D_GNU_SOURCE.
4865
8597f3dd
L
48662001-07-30 H.J. Lu (hjl@gnu.org)
4867
4868 * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
4869 (ASM_DECLARE_FUNCTION_SIZE): Likewise.
4870 (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
4871
b3026a92
NC
48722001-07-30 Nick Clifton <nickc@cambridge.redhat.com>
4873
4874 * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
4875 as -mthumb-interwork when -mcpu=arm7 is specified.
4876
8b7e92f9
JH
4877Mon Jul 30 17:44:43 CEST 2001 Jan Hubicka <jh@suse.cz>
4878
4879 * predict.def (noreturn, loop branch, loop exit): Mark as first
4880 match heuristics.
4881
592a6d1d
JH
4882Mon Jul 30 12:52:11 CEST 2001 Jan Hubicka <jh@suse.cz>
4883
4884 * combine.c (try_combine): Avoid barrier after noop jumps.
4885
09b82253
NB
48862001-07-29 Neil Booth <neil@cat.daikokuya.demon.co.uk>
4887
4888 * cpphash.h (struct cpp_reader): Remove import_warning.
4889 * cpplib.c (skip_rest_of_line): Don't bother turning off
4890 macro expansion.
4891 (parse_include): Move include handling to...
4892 (do_include_common): ... here. Move import warning from...
4893 (do_import): ... here.
4894 (do_pragma_poison): Don't do a callback for poison identifiers.
4895 * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
4896 * cppmain.c (setup_callbacks): Similarly.
4897
833366d6
JH
4898Sun Jul 29 23:26:50 CEST 2001 Jan Hubicka <jh@suse.cz>
4899
4900 * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
4901 handle multiple sets.
4902 * except.c (sjlj_mark_call_sites): .... here.
4903 * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
4904
b5832b43
JH
4905Sun Jul 29 21:38:45 CEST 2001 Jan Hubicka <jh@suse.cz>
4906
4907 Suggested by Richard Henderson and Richard Kenner:
4908 * combine.c (recog_for_combine): Use the fake recog
4909 only if instruction does not match.
4910 * rtl.h (NOOP_MOVE_INSN_CODE): New.
4911 * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
4912
4913 * combine.c (try_combine): Discover noop jump as direct jump.
4914
12285d9d
DB
49152001-07-29 Daniel Berlin <dan@cgsoftware.com>
4916
4917 * df.c (df_rd_global_compute): Add successors to worklist, not
4918 current item.
4919 (df_ru_global_compute): Ditto.
4920
b2d57793
DB
49212001-07-27 Daniel Berlin <dan@cgsoftware.com>
4922
4923 * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
4924 increment REG_N_SETS.
4925
49262001-07-26 Daniel Berlin <dan@cgsoftware.com>
4927
4928 * sbitmap.h: New prototype for sbitmap_a_xor_b.
4929
4930 * sbitmap.c (sbitmap_a_xor_b): New function.
4931 ifdef the basic block stuff on IN_GCC.
4932
6d18adbc
NB
49332001-07-29 Neil Booth <neil@cat.daikokuya.demon.co.uk>
4934
4935 * cppexp.c (parse_defined): Always record the macro name.
4936 (lex): Don't worry about identifiers, or special-case
4937 CPP_NOT here.
4938 (_cpp_parse_expr): Figure out at the end of the routine
4939 whether we saw a valid !defined() expression.
4940 * cppfiles.c (stack_include_file): Update for mi_valid.
4941 (_cpp_pop_file_buffer): Similarly.
4942 * cpplex.c (_cpp_lex_token): Similarly.
4943 * cpphash.h (enum mi_state, enum mi_ind, mi_state,
4944 mi_if_not_defined, mi_lexed): Remove.
4945 (mi_valid): New.
4946 * cpplib.c (do_if): Simplify.
4947 (do_endif, push_conditional, _cpp_handle_directive): Update
4948 for renaming of mi_state to mi_valid.
4949doc:
4950 * cpp.texi: Add index entries for digraphs, and add comment
4951 that C++ refers to them as alternative tokens.
4952
0068fd96
JH
4953Sun Jul 29 18:59:13 CEST 2001 Jan Hubicka <jh@suse.cz>
4954
4955 * basic-block.h (CLEANUP_PRE_LOOP): New.
4956 * except.c (finish_eh_generation): Update call of cleanup_cfg.
4957 * sibcall.c (optimize_sibling_calls): Likewise.
4958 * toplev.c (rest_of_compilation): Likewise.
4959 * flow.c (try_forward_edges): Take argument MODE;
4960 do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
4961 (try_optimize_cfg): Update call of try_forward_edges.
4962
4963Sun Jul 29 18:59:56 CEST 2001 Roman Zippel <zippel@linux-m68k.org>
4964 Jan Hubicka <jh@suse.cz>
4965
4966 * (validate_replace_rtx_1): Fix simplification of MINUS.
4967
df07e07d
NB
49682001-07-29 Neil Booth <neil@daikokuya.demon.co.uk>
4969
4970 PR preprocessor/3669
4971 * cppinit.c (init_dependency_output): Turn off dump requests
4972 if sending dependencies to stdout.
4973
587f922a
RH
49742001-07-28 Richard Henderson <rth@redhat.com>
4975
4976 * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
4977 not optimizing.
4978
89f355bd
G
49792001-07-28 Golubev I. N. <gin@mo.msk.ru>
4980
4981 * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
4982
391522e3
KH
49832001-07-28 Kazu Hirata <kazu@hxi.com>
4984
4985 * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
4986 is VAR_DECL first to prevent an ICE.
4987
6681bc1f
RH
49882001-07-28 Richard Henderson <rth@redhat.com>
4989
4990 * varasm.c (immed_real_const_1): Don't elide special cases for
4991 nested functions.
4992 (clear_const_double_mem): Clear const_tiny_rtx too.
4993
a20612aa
RH
49942001-07-28 Richard Henderson <rth@redhat.com>
4995
4996 * dwarf2out.c (dw_val_class_offset): New.
4997 (struct dw_ranges_struct, dw_ranges_ref): New.
4998 (ranges_table, ranges_table_allocated): New.
4999 (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
5000 (add_AT_offset, add_ranges, output_ranges): New.
5001 (print_die, output_die): Handle dw_val_class_offset.
5002 (attr_checksum, size_of_die, value_format): Likewise.
5003 (gen_lexical_block_die): Handle non-contiguous blocks.
5004 (gen_block_die): Likewise.
5005 (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
5006 if needed. Dump the ranges table.
5007 * final.c (final_start_function): Remove unnecessary notes and
5008 rebuild the block tree before numbering the blocks.
5009 * function.c (reorder_blocks_0): Walk the existing block tree
5010 to unmark all blocks.
5011 (reorder_blocks_1): Create block fragments when duplicate block
5012 notes are seen.
5013 (reorder_fix_fragments): New.
5014 (reorder_blocks): Call it.
5015 * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
5016
c2f7bcc3
RH
50172001-07-28 Richard Henderson <rth@redhat.com>
5018
5019 * emit-rtl.c (adjust_address): Make a copy of the memory address.
5020
91d84fad
RH
50212001-07-28 Richard Henderson <rth@redhat.com>
5022
5023 * flow.c (add_to_mem_set_list): New function.
5024 (init_propagate_block_info): Use it.
5025 (mark_set_1): Likewise.
5026 (insn_dead_p): Canonicalize memory address for dead store
5027 comparison. Allow wider mode stores to kill narrower mode stores.
5028 (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
5029 (invalidate_mems_from_set): Don't handle MEMs.
5030
0a02170f
KH
50312001-07-28 Kazu Hirata <kazu@hxi.com>
5032
5033 * config/h8300/h8300.h: Fix formatting.
5034
134d3a2e
JH
5035Sat Jul 28 23:35:22 CEST 2001 Jan Hubicka <jh@suse.cz>
5036
5037 * basic-block.h (EDGE_FREQUENCY): New macro.
5038 * bb-reorder (fixup_reorder_chain): Set counts and frequencies
5039 for new BB/edges.
5040 * flow.c (find_sub_basic_blocks): Likewise.
5041 (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
5042 (redirect_edge_and_branch): Use EDGE_FREQUENCY.
5043
5044 * predict.c (DEF_PREDICTOR): New argument FLAGS.
5045 (HITRATE): New macro.
5046 (PRED_FLAG_FIRST_MATCH): New constant.
5047 (predictor_info): New field flgags.
5048 (combine_predictions_for_insn): Use DS theory to combine
5049 probabilities; set the edge probabilities when finished.
5050 (estimate_probability): Avoid duplicated matches
5051 of LOOP_BRANCH heuristics for nested loops; update comment.
5052 * predict.def: Add flags for each prediction, set probabilities
5053 according to B&L paper.
5054 * predict.h (DEF_PREDICTOR): New argument FLAGS.
5055
5056 * profile.c (compute_branch_probabilities): Cleanup way the edge
5057 probabilities are computed and REG_BR_PROB notes are dropped; if
5058 values does not match, emit error.
5059 (init_branch_prob): Do error instead of warning when profile driven
5060 feedback is missing or corrupt.
5061
7f646877
DD
50622001-07-27 DJ Delorie <dj@redhat.com>
5063
5064 * ifcvt.c (noce_get_alt_condition): If the condition is a compare
5065 against a constant, try to adjust the compare to have the desired
5066 constant in it so that min/max optimizations happen more often.
5067
d69d0316
JH
5068Fri Jul 27 17:53:00 CEST 2001 Jan Hubicka <jh@suse.cz>
5069
5070 * flow.c (last_loop_beg_note): New function.
5071 (redirect_edge_and_branch): Use it.
5072 (split_edge): Likewise.
5073
5074 * alias.c (loop_p): Avoid uninitialized memory access.
5075
5076 * flow.c (try_forward_edges): Avoid accessing freed memory.
5077
5078 * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
5079 variable access.
5080
0dd99795
AH
50812001-07-26 Andrew Haley <aph@redhat.com>
5082 Joern Rennecke <amylaar@redhat.com>
5083
5084 * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
5085 (SUBTARGET_CPP_ENDIAN_SPEC): New.
5086 (SUBTARGET_CPP_SPEC): New.
5087 (CPP_SPEC): Remove.
5088 * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
5089 (SUBTARGET_CPP_PTR_SPEC): New.
5090 (CPP_DEFAULT_CPU_SPEC): New.
5091 (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
5092 SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
5093 (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
5094 SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
5095 (SUBTARGET_CPP_SPEC): Define as an empty string.
5096
e69aa433
GP
50972001-07-27 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5098
5099 * doc/install.texi (Configuration): Properly link the host
5100 specific instructions also when generating HTML.
5101
a727094f
JW
5102Fri Jul 27 00:33:35 EDT 2001 John Wehle (john@feith.com)
5103
39f95a2c 5104 * flow.c (redirect_edge_and_branch_force): Test
a727094f
JW
5105 target->global_live_at_start.
5106
732910b9
RH
51072001-07-26 Richard Henderson <rth@redhat.com>
5108
5109 * simplify-rtx.c (avoid_constant_pool_reference): Export.
5110 * rtl.h (avoid_constant_pool_reference): Declare it.
5111 * dwarf2out.c (add_location_or_const_value_attribute): Use it.
5112 (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
5113
01f62f01
JH
5114Thu Jul 26 22:30:22 CEST 2001 Jan Hubicka <jh@suse.cz>
5115
5116 * rtl.h (cleanup_barriers): Declare.
5117 * jump.c (cleanup_barriers): New function.
5118 * toplev.c (rest_of_compilation): Call cleanup_barriers
5119 before loop optimizer and after bb_reorder.
5120
5121 * flow.c (back_edge_of_syntactic_loop_p): New.
5122 (split_edge): Use it.
5123
aa069f77
RO
51242001-07-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5125
5126 * glimits.h (_MACH_MACHLIMITS_H_): Delete.
5127
c96208fa
DC
5128Thu Jul 26 22:22:21 2001 Denis Chertykov <denisc@overta.ru>
5129
5130 * cse.c (cse_process_notes): Replace any registers if the address
5131 remains valid.
5132
11f68165
JW
5133Thu Jul 26 14:04:03 EDT 2001 John Wehle (john@feith.com)
5134
5135 * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
5136 (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
5137 (propagate_block): Update prototype.
5138 * flow.c (update_life_info): Simplify the CFG and
5139 recalculate the global regs which are alive when
5140 removing dead code during a global update.
5141 (propagate_block): Return non-zero if an INSN is
5142 deleted.
5143
62c62a4f
RO
51442001-07-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5145
5146 * Makefile.in (LIBICONV): Define.
5147
06e937ed
CM
51482001-07-26 Catherine Moore <clm@redhat.com>
5149
39f95a2c
JH
5150 * config/v850/v850.h (ENCODE_SECTION_INFO): Change order
5151 of conditional to avoid tree checking errors.
06e937ed 5152
f3029065
KH
51532001-07-26 Kazu Hirata <kazu@hxi.com>
5154
5155 * regmove.c (regmove_optimize): Don't replace a reg with
5156 another reg of a different mode.
5157
4a121cc3
AM
51582001-07-26 Andrew MacLeod <amacleod@redhat.com>
5159
1490f392 5160 * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
4a121cc3
AM
5161 limit length of dependancy flush list.
5162 * params.h (MAX_PENDING_LIST_LENGTH): Define.
5163 * sched-int.h (struct deps): Add pending_flush_length field.
5164 * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
5165 has 1 element in it.
5166 (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
5167 (sched_analyze): After a jump, if the pending memory flush list is too
5168 large, flush the pending lists.
5169 (init_deps): Initialize pending_flush_length to 0.
5170 * doc/invoke.texi (max_pending_list_length): Document parameter.
5171
440aabf8
NB
51722001-07-26 Neil Booth <neil@daikokuya.demon.co.uk>
5173
5174 * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
5175 * dbxout.c (dbxout_global_decl): Move outside #ifdef.
5176 * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
5177
cef0d199
NB
51782001-07-26 Neil Booth <neil@cat.daikokuya.demon.co.uk>
5179
5180 * cpphash.h (struct_lexer_state): Delete was_skipping.
5181 Move skipping here from struct cpp_reader.
5182 * cpplex.c (parse_identifier): Update.
5183 (_cpp_lex_token): Don't skip tokens in a directive.
5184 * cpplib.c (struct if_stack): Update.
5185 (start_directive, end_directive): Don't change skipping state.
5186 (_cpp_handle_directive): Update.
5187 (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
5188 (do_else, do_endif): Update; only check for excess tokens if not
5189 in a skipped conditional block.
5190 (push_conditional): Update for new struct if_stack.
5191
5b16f556
GS
51922001-07-26 Graham Stott <grahams@redhat.com>
5193
5194 * function.c (locate_and_pad_parm): Also pad initial offset
5195 so that the total argument size also includes the padding.
5196
51972001-07-26 Graham Stott <grahams@redhat.com>
5198
5199 * gensupport.c (alter_output_for_insn): Correct enable checking failure
5200 change XSTR to XTMPL.
5201
5202 (process_one_cond_exec): Likewise
5203
17eee61c
RH
52042001-07-25 Richard Henderson <rth@redhat.com>
5205
5206 * varasm.c (assemble_variable): Create DECL_RTL before setting
5207 TREE_ASM_WRITTEN.
5208
c4f81e4a
JH
5209Thu Jul 26 00:19:30 CEST 2001 Jan Hubicka <jh@suse.cz>
5210
5211 * predict.c (estimate_probability): Avoid duplicated predictions.
5212
5213 * loop.c (find_and_verify_loops): Grok multiple barriers.
5214
02e3f1a8
RK
5215Wed Jul 25 18:00:05 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5216
472385a2
RK
5217 * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
5218
02e3f1a8 5219 * dbxout.c: Consistently use putc instead of fputc.
1490f392 5220 (print_wide_int): New function; call instead of direct fprintf.
02e3f1a8
RK
5221 (dbxout_type_index): Adjust calls of CHARS to be more accurate.
5222 (dbxout_type_fields, dbxout_type_method_1): Likewise.
5223 (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
5224 (print_int_cst_octal): Likewise.
5225 (print_octal): Show we wrote characters.
5226 (dbxout_type): Set have_used_extensions in more places.
5227
f2d28b14
CM
52282001-07-25 Catherine Moore <clm@redhat.com>
5229
39f95a2c
JH
5230 * config/v850/v850.c (v850_va_arg): Use addr
5231 instead of valist to build incr.
f2d28b14 5232
6e64a52a
JH
5233Wed Jul 25 22:48:59 CEST 2001 Jan Hubicka <jh@suse.cz>
5234
5235 * flow.c (delete_dead_jumptables): New function.
5236 (life_analyzis): Call it.
02e3f1a8
RK
5237 * bb-reorder.c (skip_insns_after_block): Handle contradictory
5238 sequences.
6e64a52a 5239
7f206d8f
RH
52402001-07-25 Richard Henderson <rth@redhat.com>
5241
5242 * except.c (reachable_handlers): Handle a region being removed
5243 out from under a RESX.
5244
56f19d92
RH
52452001-07-25 Richard Henderson <rth@redhat.com>
5246
5247 * config/alpha/alpha.c (alpha_emit_conditional_move): Always
02e3f1a8 5248 swap GE/GT if it is an fp comparison.
56f19d92
RH
5249
52502001-07-25 Andrew Haley <aph@cambridge.redhat.com>
3237ac18
AH
5251
5252 * alias.c (rtx_equal_for_memref_p): Allow strings as types in
5253 operands.
5254
42f28de9
JL
5255Wed Jul 25 08:25:01 2001 Jeffrey A Law (law@cygnus.com)
5256
1490f392 5257 * ssa.c (rename_insn_1): Do not wrap an assignment to a
ea0eceb1
JL
5258 paradoxical SUBREG inside a SEQUENCE. Fix minor formatting
5259 glitch.
5260
42f28de9
JL
5261 * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
5262 throw an exception.
5263 (visit_expression): When attempting to simplify an expression,
5264 retrieve any modes for arguments before they are simplified
5265 to constants.
5266
7c2b017c
AM
52672001-07-25 Andrew MacLeod <amacleod@redhat.com>
5268 Janis Johnson <janis@us.ibm.com>
5269
5270 * stmt.c (expand_goto): A nonlocal goto can be a call too.
5271 * builtins.c (expand_builtin_longjmp): Reverse label and static chain
5272 pointer parameters to match documented usage of nonlocal_goto.
5273 * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
5274 parameters to their correct order.
5275 * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
5276 parameters to their correct order.
5277
ff3daa88
AM
52782001-07-25 Andrew MacLeod <amacleod@redhat.com>
5279
5280 * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
5281
a368a2fa
JH
52822001-07-25 Jan Hubicka <jh@suse.cz>
5283 Richard Henderson <rth@redhat.com>
5284
5285 * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
5286 the sequence.
5287 (make_edges): New argument update_p; populate the edge cache if set.
5288 (find_basic_blocks): Update make_edges invocation.
5289
303e979a
JS
52902001-07-24 Joel Sherrill <joel@OARcorp.com>
5291
5292 * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
5293
7adb4be8
JS
52942001-07-24 Joel Sherrill <joel@OARcorp.com>
5295
39f95a2c 5296 * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
7adb4be8 5297 -Acpu and -Amachine.h.
39f95a2c
JH
5298 * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
5299 Corrected header to say ELF not a.out.
5300 * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
7adb4be8
JS
5301 when given -msoft-float.
5302
53032001-07-24 Joel Sherrill <joel@OARcorp.com>
bb8602be
JS
5304
5305 * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
5306 extra multilib parts like arm-elf.
5307 (i960-*-coff*, i960-*-rtems): Should not use collect2.
5308 (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
5309 crtfini.o as extra multilib parts.
5310
e08f13ee
JS
53112001-07-24 Joel Sherrill <joel@OARcorp.com>
5312
5313 * configure.in: Add rtems as a supported thread model.
5314 * gthr-rtems.h: Add missing entry point __gthread_active_p.
5315 * configure: Rebuilt.
5316
0c237688
LB
53172001-07-24 Lars Brinkhoff <lars@nocrew.org>
5318
5319 * stor-layout.c (get_mode_alignment): make it work when
5320 BITS_PER_UNIT is not a power of two.
5321 * builtins.c (get_pointer_alignment): Likewise.
5322
5a2aa3bd
RH
53232001-07-24 Richard Henderson <rth@redhat.com>
5324
5325 * simplify-rtx.c (avoid_constant_pool_reference): Coerce
5326 the retrieved constant into the expected mode.
5327
ca9fef16
JH
5328Wed Jul 25 01:41:27 CEST 2001 Jan Hubicka <jh@suse.cz>
5329
5330 * flow.c (try_simplify_condjump): Avoid duplicated edges.
5331 (verify_flow_info): Check for duplicated edges; clarify
5332 error reporting.
5333
5334 * flow.c (block_label): Update basic_block_for_insn.
5335 (commit_edge_insertions): Call compute_bb_for_insn.
5336
5337 * flow.c (purge_dead_edges): Handle conditional jumps and conditional
5338 returns too.
5339
5340 * flow.c (redirect_edge_and_branch,
5341 try_optimize_cfg): Use redirect_edge_succ_nodup
5342 (redirect_edge_succ_nodup): New.
5343 * basic_block.h (redirect_edge_succ_nodup): Declare.
5344
5345 * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
5346 after gcse.
5347
40fc4e6a
JH
5348Wed Jul 25 00:32:49 CEST 2001 Jan Hubicka <jh@suse.cz>
5349
5350 * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
5351 (try_crossjump_to_edge): Update commetns.
5352 (try_crossjump_bb): Likewise.
5353
e7139885
RH
53542001-07-24 Richard Henderson <rth@redhat.com>
5355
5356 * combine.c (distribute_notes): Move set of need_refresh
5357 for noop_move_p down to catch all cases.
5358
6f862f2f
JH
5359Tue Jul 24 20:32:44 CEST 2001 Jan Hubicka <jh@suse.cz>
5360
5361 * recog.c (split_all_insns_noflow): New.
5362 * rtl.h (split_all_insns_noflow): Declare.
5363 * ia64.c (ia64_reorg): Use split_all_insns_noflow.
5364 * m68hc11.c (m68hc11_reorg): Likewise.
5365 * sh.c (machine_dependent_reorg): Likewise.
5366 * toplev.c (rest_of_compilation): Likewise for last split_all_insns
5367 call.
5368
615cd49b
AH
53692001-07-18 Andrew Haley <aph@cambridge.redhat.com>
5370
bb8602be
JS
5371 * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
5372 (ashlsi3_n splitter): Likewise.
5373 (lshrsi3_n splitter): Likewise.
615cd49b 5374
bb8602be
JS
5375 (GOTaddr2picreg): Make const SImode.
5376 (sym_label2reg): Likewise.
5377 (symGOT2reg): Likewise.
5378 (symGOTOFF2reg) Likewise.
615cd49b 5379
bb8602be 5380 (casesi_worker_0): Make unspec SImode.
615cd49b 5381
2b9d17c7
AH
53822001-07-18 Andrew Haley <aph@cambridge.redhat.com>
5383
bb8602be
JS
5384 * config/sh/sh.c (barrier_align): Check that an operand really is
5385 an insn before extracting its INSN_CODE.
2b9d17c7 5386
cfe1cd40
AH
53872001-07-24 Andrew Haley <aph@cambridge.redhat.com>
5388
5389 * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
5390 dangling else.
5391
5392 * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
5393 for SImode to prevent overflow.
5394
46d2e8d7
RO
53952001-07-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5396
5397 * config/mips/irix6-libc-compat.c: New file.
5398 * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
5399 * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
5400 passing workaround.
5401
cd6e5291
LB
54022001-07-24 lars brinkhoff <lars@nocrew.org>
5403
5404 * rtl.texi (REG_POINTER): Document.
5405 (Machine Modes): Document BImode, OImode, PQImode, PHImode,
5406 QFmode, HFmode, TQFmode, QCmode, and HCmode.
5407
8f54d2ff
JH
5408Tue Jul 24 10:49:40 CEST 2001 Jan Hubicka <jh@suse.cz>
5409
5410 * flow.c (delete_noop_moves): Do not confuse libcall regions.
5411
6a7ca996
RH
54122001-07-23 Richard Henderson <rth@redhat.com>
5413
5414 * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
5415
ba412630
KH
54162001-07-23 Kazu Hirata <kazu@hxi.com>
5417
5418 * config/h8300/h8300-protos.h: Add a prototype for
5419 general_operand_dst_push.
1490f392 5420 * config/h8300/h8300.c (general_operand_dst_push): New.
ba412630
KH
5421 * config/h8300/h8300.h (OK_FOR_T): New.
5422 (EXTRA_CONSTRAINT): Use it.
5423 * config/h8300/h8300.md (movqi_push): Remove and integrate into
5424 the existing movqi pattern.
5425 (movhi_push): Likewise.
5426
82efa2e5
KH
5427 * reload.c: Fix comment typos.
5428
21715220
JH
5429Mon Jul 23 23:34:07 CEST 2001 Jan Hubicka <jh@suse.cz>
5430
5431 * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
5432
dd96fbc5
L
54332001-07-23 H.J. Lu (hjl@gnu.org)
5434
5435 * doc/extend.texi: Update __builtin_return_address and
5436 __builtin_frame_address.
5437
c50e5bc0
RH
54382001-07-23 Richard Henderson <rth@redhat.com>
5439
5440 * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
5441 before CSE.
5442 * config/i386/i386.md: New setcc+movzbl peephole2.
5443
9099cc4f
NB
54442001-07-23 Neil Booth <neil@cat.daikokuya.demon.co.uk>
5445
5446 * objc/Make-lang.in (objc-act.o): Depend on debug.h.
5447 * objc/objc-act.c: Include debug.h.
5448 (synth_module_prologue): Save and restore debug hooks too.
5449
68eb4fb9
LB
54502001-07-23 lars brinkhoff <lars@nocrew.org>
5451
5452 * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
5453 and C4X_FLOAT_FORMAT.
5454 (BOOL_TYPE_SIZE): Document.
5455
57de7530
CP
5456Mon Jul 23 11:54:23 2001 Clinton Popetz <cpopetz@cpopetz.com>
5457
5458 * unroll.c (loop_iterations): Fix miscalculation of initial
5459 giv offset.
5460
6e7b03e1
AH
54612001-07-13 Andrew Haley <aph@redhat.com>
5462
bb8602be
JS
5463 * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
5464 * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
5465 * config/sh/sh.c (sh_can_redirect_branch): New function.
5466 * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
5467 * reorg.c (steal_delay_list_from_target): Use
5468 MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
6e7b03e1 5469
0dd94abd
JH
5470Mon Jul 23 17:20:18 CEST 2001 Jan Hubicka <jh@suse.cz>
5471
5472 * flow.c (try_simplify_condjump): Unlink insn chain on
5473 fallthru edge; use can_fallthru.
5474
0005550b
JH
5475Mon Jul 23 16:03:19 CEST 2001 Jan Hubicka <jh@suse.cz>
5476
5477 * basic-block.h (find_sub_basic_block): Declare.
5478 * flow.c (make_edges): New arguments MIN and MAX;
5479 (find_sub_basic_blocks): Revamp to use make_edges
5480 and purge_dead_edges.
5481 (find_basic_blocks): Update call of find_sub_basic_block.
5482
5483 * recog.c (split_all_insns): Always expect CFG to be consistent;
5484 call find_sub_basic_blocks in case something has changed.
5485 * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
5486 has been built.
5487
5488 * basic-block.h (delete_noop_moves): Declare.
5489 * combine.c (combine_instructions): Call it.
5490 (recog_for_combine): Tolerate noop moves
5491 (distribute_notes): Force refresh when register dies at noop move.
5492 * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
5493 too.
5494 (life_analysis): Update delete_noop_moves call.
5495 (set_noop_p): Move too ...
5496 * rtlanal.c (noop_move_p): ... here.
5497 * rtl.h (noop_move_p): Declare.
5498
5499 * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
5500 * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
5501 after combine.
5502 * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
5503 (cprop_jump): Likewise; call purge_dead_edges if substitution suceeded.
5504
e0120d6e
HPN
55052001-07-23 Hans-Peter Nilsson <hp@bitrange.com>
5506
5507 * reload.c (push_reload): Fix typo in comment.
5508 (find_reloads_address): Ditto.
5509 (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
5510
b02eea61
RH
55112001-07-22 Richard Henderson <rth@redhat.com>
5512
5513 * flow.c: Grammar check and clarify a lot of comments.
5514 (try_simplify_condjump): Rename variables to be clearer.
5515 (try_forward_edges): Skip complex and fallthru edges.
5516 Rearrange tests to avoid duplicate checks.
5517 (flow_find_cross_jump): Likewise.
5518 (outgoing_edges_match): Allow match if neither branch has
5519 probability data. Loosen probability match to 5%.
1490f392 5520 (try_crossjump_to_edge): Hoist repeated indirection into
b02eea61
RH
5521 local variables.
5522 (try_crossjump_bb): Don't check complex edges. Eliminate
5523 redundant crossjump tests.
5524 (try_optimize_cfg): Fix use of bool. Reorganize cheaper
5525 checks before more expensive checks.
5526
1f2f8b29
RH
55272001-07-22 Richard Henderson <rth@redhat.com>
5528
5529 * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
5530 INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
5531 arguments.
5532
97660e20
RH
55332001-07-22 Richard Henderson <rth@redhat.com>
5534
5535 * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
5536 (const_sint32_operand): Likewise.
5537 * m68k.md (anon mulsi pattern): Use const_int_operand not
5538 const_sint32_operand.
5539 (umulsi3_highpart): Zero extend a constant input.
5540 (smulsi3_highpart): Don't bother checking SImode constant.
5541 (const_umulsi3_highpart): Give op3 DImode.
5542 (const_smulsi3_highpart): Likewise.
5543
0b6301ae
RH
55442001-07-22 Richard Henderson <rth@redhat.com>
5545
5546 * flow.c (split_block): Make sure bb_note is included in the
5547 new block when splitting before a label.
5548
6b24c259
JH
5549Sun Jul 22 23:28:56 CEST 2001 Jan Hubicka <jh@suse.cz>
5550
5551 * basic-block.h (redirect_edge_and_branch_force,
5552 redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
5553 * flow.c (redirect_edge_and_branch_force,
5554 redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
5555 (redirect_edge_and_branch_force): Fix copying of lifeness information.
5556 (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
5557 * ifcvt.c (dead_or_predictable): Take BB as an new destionation
5558 instead of label; update CFG after transformation.
5559 (find_if_case_1): Update call, use redirect_edge_and_branch_force
5560 for finishing the transformation; handle even case where ELSE
5561 does not follow THEN.
5562 (find_if_case_2): Update call of dead_or_predictable; simplify
5563 CFG update.
5564
5565 * emit-rtl.c (split_branch_probability): New global variable.
5566 (try_split): Take care to set split_branch_probability and
5567 create REG_BR_PROB note for new jump insns.
5568 * md.texi (define_split): Document new feature.
5569
5570 * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
5571
544f03b4
NB
55722001-07-22 Neil Booth <neil@daikokuya.demon.co.uk>
5573
5574 * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
5575 (asm_out_file): Remove redundant declaration.
5576 (assemble_asm): Remove old #if 0 block.
5577 (assemble_variable): Remove end of function; debug output is
5578 now handled with global_decl. Remove old #if 0 block. Update.
5579 Remove saved_in_section and associated no-op code.
5580 * Makefile.in (varasm.o): Correct dependencies.
5581
bad1f214
AO
5582Sun Jul 22 17:55:11 2001 Alexandre Oliva <aoliva@redhat.com>
5583
5584 * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
5585 the definition in defaults.h.
5586
0045d504
JH
5587Sun Jul 22 21:31:04 CEST 2001 Jan Hubicka <jh@suse.cz>
5588
5589 * jump.c: Update comments.
5590 (delete_barrier_successors, delete_unreferenced_labels,
5591 delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
5592 delete_labelref_insn, redirect_tablejump, jump_optimize_1,
5593 jump_optimize, jump_optimize_minimal): Kill.
5594 (rebuild_jump_labels): Move code from jump_optimize_1.
5595 (purge_line_number_notes): Likewise.
5596 (copy_loop_headers): Likewise.
5597 * reg-stack.c: Update comment.
5598 * stmt.c: Likewise.
5599 * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
5600 JUMP_AFTER_REGSCAN): Kill.
5601 * toplev.c (rest_of_compilation): Use cleanup_cfg, call
5602 purge_line_number_notes and copy_loop_headers.
5603
3914abb4
NB
56042001-07-22 Neil Booth <neil@daikokuya.demon.co.uk>
5605 Richard Henderson <rth@redhat.com>
5606
5607 * dbxout.c (dbxout_global_decl): New.
5608 (xcoff_debug_hooks, dbx_debug_hooks): Use it.
5609 * sdbout.c (sdbout_finish): New.
5610 (sdbout_debug_hooks): Use it, add comments.
5611 (sdbout_global_decl): Defer initialised public vars to
5612 sdbout_finish.
5613 * varasm.c (assemble_variable): Don't output debug information
5614 for file-scope variables.
5615
be7560ea
RH
56162001-07-22 Richard Henderson <rth@redhat.com>
5617
5618 * config/alpha/alpha.c (get_trap_mode_suffix): New.
5619 (get_round_mode_suffix): New.
5620 (print_operand): Use them for [/]. Remove support for [&'`()+].
5621 * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
5622 * config/alpha/alpha.md (attr round_suffix): New.
5623 (attr trap_suffix): New.
5624 (all insns): Set them appropriately. Use %/ instead of the
5625 myriad punctuators.
5626
65ecca65
NB
56272001-07-22 Neil Booth <neil@cat.daikokuya.demon.co.uk>
5628
5629 * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
5630
4e812700
RH
56312001-07-22 Richard Henderson <rth@redhat.com>
5632
5633 * regrename.c (regrename_optimize): Compute nregs for each
5634 potential target register.
5635
f7e10587
NB
56362001-07-21 Neil Booth <neil@daikokuya.demon.co.uk>
5637 Richard Henderson <rth@redhat.com>
5638
5639 * dbxout.c (dbxout_global_decl): New.
5640 (xcoff_debug_hooks, dbx_debug_hooks): Use it.
5641 * sdbout.c (sdbout_finish): New.
5642 (sdbout_debug_hooks): Use it, add comments.
5643 (sdbout_global_decl): Defer initialised public vars to
5644 sdbout_finish.
5645 * varasm.c (assemble_variable): Don't output debug information
5646 for file-scope variables.
5647
919b1aec
L
56482001-07-21 H.J. Lu (hjl@gnu.org)
5649
5650 * config/mips/mips.c (mips_cpu): Moved into ...
5651 (override_options): Here.
5652
5653 * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
5654 mips_tune.
5655 (mips_cpu): Removed.
5656
0477256c
SC
56572001-07-21 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5658
5659 * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
5660 ("iorqi3"): Likewise.
5661 ("xorqi3"): Likewise.
5662 ("*addhi3"): Fix constraint to avoid reloading in a soft register.
5663 ("*subhi3_sp): Likewise.
5664 ("*subhi3"): Likewise.
1490f392 5665 ("extendhisi2"): Accept D, X and Y as source operand to avoid
0477256c
SC
5666 reload problems.
5667
c4372ef4
NS
56682001-07-21 Nathan Sidwell <nathan@codesourcery.com>
5669
5670 * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
5671 * config/freebsd.h: Likewise.
5672 * config/linux.h: Likewise.
5673 * config/openbsd.h: Likewise.
5674 * config/alpha/linux-elf.h: Likewise.
5675 * config/arm/linux-elf.h: Likewise.
5676 * config/d30v/d30v.h: Likewise.
5677 * config/fr30/fr30.h: Likewise.
5678 * config/ia64/aix.h: Likewise.
5679 * config/ia64/ia64.h: Likewise.
5680 * config/mips/linux.h: Likewise.
5681 * config/pj/pj.h: Likewise.
5682 * config/rs6000/linux.h: Likewise.
5683 * config/sparc/linux.h: Likewise.
5684 * config/sparc/linux64.h: Likewise.
5685
90376ae2
BK
56862001-07-20 Bruce Korb <bkorb@gnu.org>
5687
5688 * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
5689 because getc() and char* may disagree on signedness.
5690
50b996bf
RH
56912001-07-20 Richard Henderson <rth@redhat.com>
5692
5693 * doc/rtl.texi (REG_DEAD): Update for current semantics.
5694
e9644cfe
RH
5695 * flow.c (try_redirect_by_replacing_jump): Correctly compute which
5696 insns to delete in the presence of cc0 in a jump insn.
5697
ed6ba1a5
RZ
5698Fri Jul 20 22:14:49 CEST 2001 Roman Zippel <zippel@linux-m68k.org>
5699 Jan Hubicka <jh@suse.cz>
5700
5701 * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
5702 of doing the change by hand.
5703
371b8fc0
JH
5704Fri Jul 20 21:59:42 CEST 2001 Jan Hubicka <jh@suse.cz>
5705
5706 * rtlanal.c (set_noop_p): Return true for noop jumps.
5707
5708 * expr.c (emit_single_push_insn): Add call to push expander.
5709 * expr.h (optab_index): Add OTI_push
5710 (push_optab): New constant.
5711 * genopinit.c (optabs): Add push_optab.
5712 * optabs.c (init_optab): Init push optab.
5713 * md.texi (push??1): Document
5714
00d0458c
SC
57152001-07-20 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5716
5717 * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
1490f392 5718 expand to emit the pattern; put a REG_INC note for push/pop
00d0458c
SC
5719 instructions.
5720 ("movdf", "movdf_internal"): Likewise.
5721 ("movsi", "movsi_internal"): Likewise.
5722 ("movsf", "movsf_internal"): Likewise.
5723 ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
5724
d74e9142
SC
57252001-07-20 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5726
5727 * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
5728 gen_highpart.
5729
1c432a87
DB
57302001-07-20 Daniel Berlin <dan@cgsoftware.com>
5731
5732 * params.def: Change default max inline insns to 100.
5733
9def18da
DN
57342001-07-20 Diego Novillo <dnovillo@redhat.com>
5735
5736 * combine.c (combine_simplify_rtx): Generate a new shift operation
5737 when simplifying the first operand of a (neg (ashift)) expression.
5738
d4845339
RH
57392001-07-20 Roman Lechtchinsky <rl@cs.tu-berlin.de>
5740
5741 * regclass.c (N_REG_INTS): Use only 32 bits per element.
5742
57432001-07-20 Kelley Cook <kelley.cook@home.com>
dbd210ef
KC
5744
5745 * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
5746 information. Move rest into ...
5747 (*-*-solaris): ... here. Eliminate redundant information and
5748 reword necessary packages section. Delete 4.x assembler bug info.
5749 (sparc-sun-*): Merge into ...
5750 (sparc-sun-sunos*): here.
5751
3a97685a
CM
57522001-07-20 Catherine Moore <clm@redhat.com>
5753
97660e20
RH
5754 * config/v850/v850.md (casesi): Generate LABEL_REF
5755 with Pmode.
3a97685a 5756
d24b3457
JH
5757Fri Jul 20 14:12:57 CEST 2001 Jan Hubicka <jh@suse.cz>
5758
5759 * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
5760 * i386.c (ix86_zero_extend_to_Pmode): Make global.
5761 * i386.md (strclrsi expander): Use it.
5762
bc8d3f91
JH
5763Fri Jul 20 13:24:16 CEST 2001 Jan Hubicka <jh@suse.cz>
5764
5765 * integrate.c (copy_insn_list): handle
5766 NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
5767 (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
5768 identically as to CODE_LABEL.
5769
5770 * fold-const (fold): Convert A/B/C to A/(B*C) and
5771 A/(B/C) to (A/B)*C
5772
5773 * except.c (connect_post_landing_pads): Delete the RESX insns.
5774
1f28c666
AH
57752001-07-20 Aldy Hernandez <aldyh@redhat.com>
5776
97660e20 5777 * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
1f28c666
AH
5778
5779 * config/mips/mips.md (nmadd/nmsub): Use macro.
5780
002ee64f
NS
57812001-07-20 Nathan Sidwell <nathan@codesourcery.com>
5782
5783 * cppinit.c (remove_dup_dir): Make static.
5784 (remove_dup_dirs): Make static. Only warn about preempting a
5785 system directory with a non-system directory.
5786
038fb2bc
GK
57872001-07-19 Geoffrey Keating <geoffk@redhat.com>
5788
5789 * ifcvt.c (noce_try_store_flag_constants): Correct order
5790 of parameters to trunc_int_for_mode.
5791
be672de8
MM
57922001-07-19 Mark Mitchell <mark@codesourcery.com>
5793
5794 * reorg.c (fill_simple_delay_slots): If an instruction might throw
5795 an exception that will be caught within this function, do not fill
5796 its delay slot with any subsequent instruction.
5797
6dd12198
SE
57982001-07-19 Steve Ellcey <sje@cup.hp.com>
5799
5800 * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
5801 * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
5802 pointer extension instruction.
5803 * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
5804 * simplify-rtx.c (simplify_unary_operation) Likewise.
1490f392 5805 * explow.c (convert_memory_address) Check value of
6dd12198
SE
5806 POINTERS_EXTEND_UNSIGNED to avoid some conversions when
5807 less than zero.
5808 * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
5809 MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
5810 * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
5811 Add Multilib Support.
5812 (POINTERS_EXTEND_UNSIGNED) Define for ILP32 support.
5813 * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
5814 Add Multilib Support.
5815 (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
5816 support.
5817 * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
5818 * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
5819 a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
5820
0248ce05
AO
58212001-07-19 Alexandre Oliva <aoliva@redhat.com>
5822
5823 * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
5824 old and new operands in `<', `3' and `b'.
5825
e1772ac0
NB
58262001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
5827
5828 * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
5829 (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
5830 (toplev.o): Don't depend on xcoffout.h.
5831 * c-decl.c: Include debug.h
5832 (duplicate_decls): Use debug hook.
5833 * dbxout.c (dbxout_source_file, dbxout_args): Make static.
5834 (dbx_debug_hooks, xcoff_debug_hooks): Update.
5835 (dbxout_types): Remove.
5836 * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
5837 * debug.c (do_nothing_debug_hooks): Update.
5838 (debug_true_tree, debug_nothing_rtx): New.
5839 * debug.h (struct rtx_def): New.
5840 (struct gcc_debug_hooks): New hooks ignore_block,
5841 outlining_inline_function and label.
5842 (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
5843 dwarf2out_frame_finish): New.
5844 * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
5845 Make static, update prototype.
5846 (dwarf2_debug_hooks): Update.
5847 * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
5848 dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
5849 * dwarfout.c (dwarf_debug_hooks): Update.
5850 * emit-rtl.c: Include debug.h.
5851 (remove_unnecessary_notes): Use debug hook.
5852 * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
5853 (final_scan_insn): Use debug hook.
5854 * integrate.c (output_inline_function): Use debug hook.
5855 * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
5856 (sdb_debug_hooks): Update.
5857 * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
5858 * toplev.c: Don't include xcoffout.h.
5859 (note_outlining_of_inline_function, debug_ignore_block): Remove.
5860 * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
5861 Remove.
5862 * tree.h (dwarf2out_do_frame): Remove.
5863
77f43519
CM
58642001-07-19 Catherine Moore <clm@cygnus.com>
5865
1490f392 5866 * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
77f43519 5867
d54ef62c
GK
58682001-07-19 Geoffrey Keating <geoffk@redhat.com>
5869
c77fbfbe
GK
5870 * reload1.c (eliminate_regs_in_insn): When updating a set
5871 to the frame pointer to the hardware frame pointer, perform
5872 the update always not just when REPLACE is set.
5873
eb4d554e
GK
5874 * reload1.c (choose_reload_regs): Don't inherit a reload
5875 that crosses multiple registers if registers past the first
5876 don't fit in the desired class.
5877
d54ef62c
GK
5878 * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
5879 when negating constants.
5880
7d46d516
TM
58812001-07-19 Toon Moene <toon@moene.indiv.nluug.nl>
5882
5883 * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
5884 * doc/tree.texi: Ditto.
5885
5442cf15
MK
58862001-07-19 Mark Kettenis <kettenis@wins.uva.nl>
5887 Jakub Jelinek <jakub@redhat.com>
5888
5889 * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
5890 (extract_cie_info): Handle "eh" augmentation properly,
5891 remember eh_ptr.
5892 (struct frame_state, __frame_state_for): New.
5893
432fa9f2
RO
58942001-07-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5895
5896 * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
5897 HANDLE_SYSV_PRAGMA): Define.
5898 * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
5899 previous args.
5900 (copy_object): Caller changed.
5901
bfabbc3c
AS
59022001-07-19 Andreas Schwab <schwab@suse.de>
5903
5904 * configure.in (assembler dwarf2 debug_line support): Define nop
5905 insn for m68k.
5906 * configure: Regenerated.
5907
2b85879e
NB
59082001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
5909
5910 * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
5911 dwarfout.h.
5912 * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
5913 to conditionally compiled block.
5914 (dbx_debug_hooks, xcoff_debug_hooks): Update.
5915 * dbxout.h (dbxout_function): Remove.
5916 * debug.c (do_nothing_debug_hooks): Update.
5917 * debug.h (struct gcc_debug_hooks): New hooks function_decl,
5918 global_decl, deferred_inline_function.
5919 * dwarf2out.c (dwarf2_debug_hooks): Update.
5920 (dwarf2out_global_decl): New.
5921 * dwarfout.c: Don't include dwarfout.h.
5922 (dwarfout_global_decl, dwarfout_function_decl,
5923 dwarfout_deferred_inline_function): New.
5924 (dwarf_debug_hooks): Update.
5925 * dwarfout.h: Remove.
5926 * final.c: Don't include dwarfout.h.
5927 * sdbout.c (sdbout_global_decl): New.
5928 (sdbout_debug_hooks): Update.
5929 * toplev.c: Don't include dwarfout.h.
5930 (check_global_declarations, rest_of_compilation): Use new debug hooks.
5931 (note_deferral_of_defined_inline_function): Remove.
5932 * toplev.h (note_deferral_of_defined_inline_function): Remove.
5933 * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
5934 * ch/lex.c: Don't include dwarfout.h.
5935 * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
5936 (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
5937 * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
5938 * cp/optimize.c: Include debug.h.
5939 (maybe_clone_body): Use debug hook.
5940 * cp/semantics.c: Include debug.h.
5941 (expand_body): Use debug hook.
5942 * po/POTFILES.in: Remove dwarfout.h.
5943
c60e94a7
NB
59442001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
5945
5946 * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
5947 * c-parse.in (yyerror, _yylex): Similarly.
5948 * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
5949 Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
5950 Update comments.
5951 * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
5952 * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
5953
8458e954
JS
59542001-07-18 Jeff Sturm <jsturm@one-point.com>
5955
5956 * dwarf2out.c (dwarf2out_abstract_function): Don't emit
5957 in-class declaration at -g1. Fixes c++/2814.
5958
d989f648
RH
59592001-07-18 Richard Henderson <rth@redhat.com>
5960
5961 * doc/md.texi (reload_in/out): Document restrictions in predicates
5962 and constraints for these patterns. Document empty string matching
5963 ALL_REGS.
5964
20c93f7c
RO
59652001-07-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5966
5967 * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
5968
dc42616f
JH
5969Wed Jul 18 20:47:36 CEST 2001 Jan Hubicka <jh@suse.cz>
5970
5971 * cse.c: Undo my previous patch.
5972
f91abfce
TT
59732001-07-18 Tom Tromey <tromey@redhat.com>
5974
5975 For PR java/2812:
5976 * configure: Rebuilt.
5977 * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
5978 instead.
5979 * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
5980
0728902f
RH
5981Wed Jul 18 18:46:30 CEST 2001 Richard Henderson <rth@cygnus.com>
5982 Jan Hubicka <jh@suse.cz>
5983
5984 * flow.c (redirect_edge_and_branch): Bail out on complex edges.
5985 (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
5986 * jump.c (mark_jump_label): Do not forward branches.
5987
f06fbeea
JH
5988Wed Jul 18 18:35:01 CEST 2001 Jan Hubicka <jh@suse.cz>
5989
5990 * cse.c (delete_trivially_dead_insns): Delete the libcall block
5991 when return value is unused.
5992
222f7ba9
JH
5993Wed Jul 18 18:28:16 CEST 2001 Jan Hubicka <jh@suse.cz>
5994
5995 * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
5996
8b52df45
NP
5997Wed Jul 18 12:05:29 2001 Nicola Pero <n.pero@mi.flashnet.it>
5998
5999 * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
6000 on error. We can't blindly return the result of
6001 pthread_mutex_trylock because it returns a positive number on
6002 error, while we must return -1 on error.
6003 (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
1490f392 6004 fixes.
8b52df45
NP
6005 Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
6006
895b2cfe
AJ
60072001-07-18 Andreas Jaeger <aj@suse.de>
6008
6009 * integrate.c (output_inline_function): Correct type of debug_hooks.
6010
493efd37
TM
60112001-07-18 Toon Moene <toon@moene.indiv.nluug.nl>
6012
6013 * combine.c (combine_simplify_rtx): DIV can be treated
6014 associatively for floats if unsafe math optimisations are enabled.
6015
a7c07f1e
RH
60162001-07-17 Richard Henderson <rth@redhat.com>
6017
6018 * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
6019
3affaf29
RH
60202001-07-17 Richard Henderson <rth@redhat.com>
6021
6022 * calls.c (prepare_call_address): New parameter SIBCALLP. If true,
6023 don't force the function address into a register.
6024 (expand_call, emit_library_call_value_1): Update callers.
6025 * builtins.c (expand_builtin_apply): Likewise.
6026 * expr.h (prepare_call_address): Update decl.
6027
001da62a
CC
60282001-07-17 Chandrakala Chavva <cchavva@redhat.com>
6029
3affaf29
RH
6030 * config.gcc: For *-*-chorusos triplet, get chorus.h file from
6031 config directory.
6032 * config/i386/chorus.h: Move up.
6033 * config/sparc/chorus.h: Likewise.
6034 * config/rs6000/chorus.h: Likewise.
6035 * config/chorus.h: Moved here.
001da62a 6036
01efb963 60372001-07-17 Andreas Schwab <schwab@suse.de>
895b2cfe 6038
2bd2bdd9
CC
6039 * configure.in (assembler eh_frame optimization): Handle big
6040 endian.
6041 * configure: Regenerated.
01efb963 6042
b7e9703c
JH
6043Tue Jul 17 23:43:31 CEST 2001 Jan Hubicka <jh@suse.cz>
6044
6045 * expr.c (epxand_expr): Convert divisions into multiplications by
6046 reciprocals if -ffast-math.
6047
653e276c
NB
60482001-07-17 Neil Booth <neil@daikokuya.demon.co.uk>
6049
6050 * dbxout.c (dbxout_really_begin_function): Rename to
6051 dbxout_begin_function.
6052 (dbx_debug_hooks, xcoff_debug_hooks): Update.
6053 (dbxout_begin_function): Remove.
6054 (dbxout_function): Update.
6055 (dbxout_source_line): Update prototype.
6056 * dbxout.h (dbxout_begin_function): Remove.
6057 * debug.c (do_nothing_debug_hooks): Update.
6058 (debug_nothing_tree): Update.
6059 (debug_nothing_charstar_rtx): Remove.
6060 * debug.h (union tree_node): Declare.
6061 (struct rtx_def): Remove.
6062 (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
6063 begin_function. Change source_line prototype.
6064 (debug_nothing_tree): New.
6065 (debug_nothing_charstar_rtx): Delete.
6066 (dwarf2out_begin_prologue): Moved from ...
6067 * tree.h: ... here.
6068 * dwarf2out.c (dwarf2_debug_hooks): Update.
6069 (dwarf2out_begin_prologue): Update prototype. If genuine dwarf2
6070 debug info, call dwarf2out_source_line.
6071 (dwarf2out_souce_line): Update prototype.
6072 * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
6073 Change prototype, make static.
6074 (dwarfout_source_line): Update prototype.
6075 (dwarf_debug_hooks): Update.
6076 * dwarfout.h (dwarfout_begin_function): Remove.
6077 * final.c (final_start_function, final_scan_insn): Use appropriate
6078 debug hooks, update to use notice_source_line.
6079 (output_source_line): Rename notice_source_line. Don't call the
6080 source_line debug hook.
6081 * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
6082 make static, update prototype.
6083 (sdbout_mark_begin_function): Rename sdbout_begin_function, update
6084 prototype.
6085 (sdbout_end_prologue): New.
6086 (sdbout_source_line): Update prototype.
6087 (sdbout_debug_hooks): Update.
6088 (sdbout_symbol): Remove unused var.
6089 * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
6090 Delete.
6091 * varasm.c: Include debug.h.
6092 (assemble_start_function): Use begin_function debug_hook.
6093 * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
6094 update with prototype.
6095 (xcoffout_source_line): Update prototype.
6096 * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
6097 update prototype.
6098 (xcoffout_source_line): Update prototype.
6099
91a18fe0
RH
61002001-07-17 Richard Henderson <rth@redhat.com>
6101
6102 * c-typeck.c (build_binary_op): Do not shorten unsigned
6103 right shift after sign extension.
6104
4ba5f925
JH
6105Tue Jul 17 16:56:05 CEST 2001 Jan Hubicka <jh@suse.cz>
6106
6107 * combine.c (combine_simplify_rtx): Attempt to simplify
6108 a*(b/c) as (a*b)/c for floats in unsafe_math mode.
6109
6110 * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
6111 (simplify_binary_operation, simplify_unary_operation,
6112 simplify_relational_operation): Use it.
6113
6114 * combine.c (combine_simplify_rtx): Don't do associative law
6115 on divisions; allow associative law on floats.
6116
3aa8ab7b
L
61172001-07-17 H.J. Lu <hjl@gnu.org>
6118 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6119
6120 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
6121 ASM_OUTPUT_WEAK_ALIAS are defined.
6122 * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
6123 * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
6124 Moved ...
6125 * config/mips/iris5.h: ... here.
6126 (HANDLE_SYSV_PRAGMA): Defined as 1.
6127 * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
6128 * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
6129 symbol.
6130
4b01f8d8
JM
61312001-07-17 Joseph S. Myers <jsm28@cam.ac.uk>
6132
6133 * c-parse.in (all_prefix_attributes): New variable.
6134 (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
6135 (maybe_resetattrs): New production.
6136 (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
6137 maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
6138 notype_initdcl, nested_function, notype_nested_function,
6139 component_decl, components, components_notype,
6140 component_declarator, component_notype_declarator,
6141 absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
6142 ivars, mydecl, myparm): Update. Avoid prefix attributes just
6143 after a comma being applied to more than one declarator.
6144 * doc/extend.texi (Attribute Syntax): Update. Remove
6145 documentation of bugs that are no longer present.
6146
7a38df19
EC
61472001-07-13 Eric Christopher <echristo@redhat.com>
6148
6149 * config/mips/mips.h: Change TUNE_MIPS* options to use
6150 mips_tune.
6151 (EXTRA_SPECS): Add cc1_cpu_spec.
6152 * config/mips/mips.md (muldf3): Fix typo.
6153
6d5f49b2
RH
61542001-07-16 Richard Henderson <rth@redhat.com>
6155
6156 * config/m68k/m68k.c: Include expr.h and reload.h.
6157 (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
6158 [general int]: Use HOST_WIDE_INT_PRINT_DEC.
6159
0021de69
DB
61602001-07-16 Daniel Berlin <dan@cgsoftware.com>
6161 Richard Henderson <rth@redhat.com>
6162
6163 * cse.c (set_live_p): Take INSN argument for cc0; update callers.
6164 (insn_live_p): Fix fall off end of function.
6165 (dead_libcall_p): Remove COUNTS argument; update callers.
6166 (delete_trivially_dead_insns): Remove unused variables.
6167
b3bb6456
AJ
61682001-07-17 Andreas Jaeger <aj@suse.de>
6169
6170 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
6171 x86-64 pic support.
6172
6173 * lcm.c (optimize_mode_switching): Avoid warning for unused
51589632 6174 variable if !NORMAL_MODE.
b3bb6456
AJ
6175
6176 * flow.c (try_crossjump_to_edge): Remove unused variable.
6177
55105156
BK
61782001-07-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
6179
6180 * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
6181 atexit declaration in stdlib.h.
6182
61832001-07-16 Richard Begg <Richard.Begg@colesmyer.com.au>
6184
6185 * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
6186
4793dca1
JH
6187Mon Jul 16 22:48:00 CEST 2001 Jan Hubicka <jh@suse.cz>
6188
6189 * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
6190 * except.c (finish_eh_generation): Update call of cleanup_cfg;
6191 do rebuild_jump_labels instead of jump_optimize
6192 * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
6193 * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
6194 * flow.c (try_optimize_cfg): Remove unneeded code_labels.
6195
6196 * flow.c: Include timevar.h
6197 (find_basic_block): Push/pop timevar;
6198 (cleanup_cfg): Likewise.
6199 * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
6200 * Makefile: Add dependencies on timevar.h
6201
6202 * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
6203 (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
6204
6205 * rtl.h (delete_trivially_dead_insns): Add new parameter.
6206 * toplev.c (rest_of_compilation): Update calls.
6207 * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
6208 (delete_trivially_dead_insns): ... here; accept new argument
6209 preserve_basic_blocks; preserve basic blocks if set.
6210
6211 * reg-stack.c (stack_regs_mentioned): Return 0 if
6212 stack_regs_mentioned_data is not initialized.
6213 (reg_to_stack): Make stack_regs_mentioned survive after the
6214 reg-stack is completted; do not call cleanup_cfg.
6215 * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
6216 make cleanup_cfg after bb-reorder to output to debug file.
6217
b85946fc
RH
62182001-07-16 Richard Henderson <rth@redhat.com>
6219
6220 * regclass.c (init_reg_sets): Use only 32 bits per initializer
6221 from int_reg_class_contents.
6222
4e2db584
RH
62232001-07-16 Richard Henderson <rth@redhat.com>
6224
6225 * hard-reg-set.h (regs_invalidated_by_call): Declare.
6226 * regclass.c (regs_invalidated_by_call): Move from cse.c.
6227 (init_reg_sets_1): Move initialization from cse_main.
6228 * cse.c (regs_invalidated_by_call): Move to regclass.c.
6229 (cse_main): Move its initialization also.
6230 * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
6231 * flow.c (propagate_one_insn): Likewise.
6232 * gcse.c (compute_hash_table): Likewise.
6233 (compute_kill_rd, compute_store_table): Likewise.
6234 * sched-deps.c (sched_analyze_1): Likewise.
6235
cccf0ae8
R
6236Mon Jul 16 18:07:07 2001 J"orn Rennecke <amylaar@redhat.com>
6237
6238 * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
6239 gen_rtx_SET.
6240
94fc7dea
SE
62412001-07-16 Steve Ellcey <sje@cup.hp.com>
6242
6243 * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
6244 in if statement so we don't access undefined memory.
6245
978cf2fc
DB
62462001-07-16 Daniel Berlin <dan@cgsoftware.com>
6247
b3bb6456 6248 * gcse.c: Update comment at top.
ccef9ef5
DB
6249 Update comment on mem handling.
6250 mem_last_set, mem_first_set, mem_set_in_block: gone.
6251 Declaration of reg_set_info: gone.
6252 (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
6253 pointless with load_killed_in_block_p (they are *more*
6254 conservative then it, not less, and less accurate).
b3bb6456 6255 (oprs_not_set_p): Ditto.
ccef9ef5
DB
6256 (alloc_gcse_mem): Don't allocate mem_set_in_block
6257 (free_gcse_mem): Don't free it, either.
6258 (record_last_mem_set_info): Update comment in front, remove
6259 mem_*set_* stuff. Note the reason we don't handle stores directly
6260 here.
6261 (compute_hash_table): Update comments to reflect reality. Remove
6262 mem_*set_* references.
6263 (reset_opr_set_tables): Remove mem_*set_* references.
6264 (mark_call): Ditto.
b3bb6456 6265 (mark_set): Ditto. Also remove double sets of bitmaps for REG's.
ccef9ef5
DB
6266 (mark_clobber): Ditto (on both parts, we double set here too).
6267 (expr_killed_p): Remove mem_set_in_block test.
6268 (compute_transp): Remove mem_set_in_block test.
6269
978cf2fc 6270 * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
b3bb6456 6271 of edge, and removal of phi alternative to dump file.
978cf2fc
DB
6272 (ssa_ccp_substitute_constants): Add note about register now being
6273 constant, and which uses were replaced in what insns to dump file.
6274
23190837
AJ
62752001-07-16 Andreas Jaeger <aj@suse.de>
6276
6277 * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
6278 variables of type HOST_WIDEST_INT.
6279
6280 * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
6281 (__bb_exit_func): Correct type of count_max to avoid overflow.
6282 (num_digits): Handle long long argument.
6283
6284 * combine.c (gen_lowpart_for_combine): Remove unused variable.
6285
f4dc8d96
NB
62862001-07-16 Neil Booth <neil@cat.daikokuya.demon.co.uk>
6287
6288 * output.h (sdb_begin_function_line): Restore as an extern
6289 variable.
6290 * sdbout.c (sdb_begin_function_line): Make extern.
6291
9e9f3ede
RH
62922001-07-15 Richard Henderson <rth@redhat.com>
6293
6294 * machmode.def (Pmode): Redefine if GENERATOR_FILE.
6295 * genrecog.c (maybe_both_true_mode): New.
6296 (maybe_both_true_2): Use it.
6297 (write_switch): Don't put Pmode in a switch.
6298 * rtl.c (mode arrays): Don't explicitly size them.
6299
22fb740d
JH
6300Sun Jul 15 14:07:36 CEST 2001 Jan Hubicka <jh@suse.cz>
6301
6302 * toplev.c (rest_of_compilation): Fix register_life_up_to_date
6303 handling; move unconditional splitting before mode switching.
6304
6305 * i386.md (type): Add fistp type.
6306 (i387, length_attr, scheduling definitions): Handle this type.
6307 (fix_trunc?f?i2): Revamp to use mode switching.
6308 (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
6309 * i386.h (fp_cw_mode): New enum
6310 (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
6311 MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
6312
135d50f1
RK
6313Sun Jul 15 12:53:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6314
6315 * Makefile.in (integrate.o): Add debug.h.
6316 * integrate.c (debug.h): Add.
6317 (output_inline_function): Save, reset, and restore debug_hooks.
6318
b762a0ef
RH
63192001-07-15 Richard Henderson <rth@redhat.com>
6320
6321 * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
6322 instead of COMPARE for the EQUIV expression.
6323
c319629b
RH
63242001-07-15 Richard Henderson <rth@redhat.com>
6325
6326 * flow.c (redirect_edge_and_branch_force): Initialize
6327 global_live_at_start and global_live_at_end.
6328 (allocate_bb_life_data): Export.
6329 * basic-block.h (allocate_bb_life_data): Declare.
6330 * toplev.c (rest_of_compilation): Call it.
6331
25e21aed
RH
63322001-07-15 Richard Henderson <rth@redhat.com>
6333
6334 * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
6335 (alpha_tablejump_best_label): New.
6336 * config/alpha/alpha-protos.h: Declare them.
6337 * config/alpha/alpha.md: Use braced strings for code blocks.
6338 (tablejump_osf): Break out add with r29.
6339 (tablejump_osf_internal): Remove.
6340 (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
6341 use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
6342
03598dea
JH
6343Sun Jul 15 00:53:35 CEST 2001 Jan Hubicka <jh@suse.cz>
6344
6345 * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
6346 of the movable.
6347
6348 * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
6349
6350 * i386-protos.h (ix86_split_fp_branch): Update prototype.
6351 (ix86_fp_jump_nontrivial_p): New.
6352 * i386.md (fp_jcc_?): Update call of split_fp_branch;
6353 use ix86_fp_jump_nontrivial_p.
6354 * i386.c (ix86_fp_jump_nontrivial_p): New.
6355 (ix86_split_fp_branch): Accept code instead of rtx.
6356 (ix86_expand_compare): Expand comparison early in case
6357 doing so is resonably cheap.
6358
b8313db6
NC
63592001-07-15 Nick Clifton <nickc@cambridge.redhat.com>
6360
6361 * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
6362 not 'machine'.
6363 (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
6364 (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
6365
e2a12aca
NB
63662001-07-15 Neil Booth <neil@daikokuya.demon.co.uk>
6367
6368 * dbxout.c (dbxout_source_line): Make static, update prototype.
6369 (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
6370 (dbxout_init, dbxout_finish, dbxout_source_line,
6371 dbxout_begin_block, dbxout_end_block): Update for new prototypes.
6372 * dbxout.h (dbxout_source_line): Delete.
6373 * debug.c (debug_nothing_file, debug_nothing_file_int,
6374 debug_nothing_file_charstar_rtx): New.
6375 (do_nothing_debug_hooks): Update.
6376 (debug_nothing_void, debug_nothing_charstar_rtx,
6377 dwarf2out_end_epilogue): New.
6378 (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
6379 * debug.h (struct rtx_def): Declare.
6380 (gcc_debug_hooks): New hooks source_line, end_epilogue
6381 and end_function.
6382 (debug_nothing_void, debug_nothing_charstar_rtx,
6383 dwarf2out_end_epilogue): New.
6384 (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
6385 * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
6386 (dwarf2_debug_hooks): Update.
6387 (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
6388 dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
6389 * dwarf2out.h (dwarf2out_source_line): Remove.
6390 * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
6391 Make static, update prototype.
6392 (dwarfout_init, dwarfout_finish, dwarfout_source_line,
6393 dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
6394 (dwarf_debug_hooks): Update.
6395 * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
6396 dwarfout_end_function): Remove.
6397 * final.c (profile_function): Use debug hooks for ending functions
6398 and epilogues.
6399 (output_source_line, final_end_function): Update prototype,
6400 use debug hooks.
6401 (final_start_function, final_scan_insn): Update.
6402 * output.h (sdb_begin_function_line): Remove.
6403 (final_end_function): Update prototype.
6404 * sdbout.c (sdb_begin_function_line): Make static.
6405 (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
6406 (sdbout_source_line): New.
6407 (sdbout_end_epilogue, sdbout_end_function): Make static, update
6408 prototypes.
6409 (sdb_debug_hooks): Update.
6410 (sdbout_init, sdbout_source_line,
6411 sdbout_begin_block, sdbout_end_block): Update for new prototypes.
6412 * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
6413 * toplev.c (compile_file, rest_of_compilation): Update.
6414 * tree.h (dwarf2out_end_epilogue): Move to debug.h.
6415 * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
6416 xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
6417 Update for prototype changes.
6418 * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
6419 xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
6420
be7b80f4
RH
64212001-07-15 Richard Henderson <rth@redhat.com>
6422
6423 * config/alpha/alpha.h (TARGET_ABI_OSF): New.
6424 (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
6425 * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
6426 * config/alpha/alpha.c: Likewise.
6427 * config/alpha/alpha.md: Likewise.
6428 * config/alpha/alpha32.h: Likewise.
6429 * config/alpha/vms.h: Likewise.
6430 (OPEN_VMS): Remove.
6431
736f566a
RH
64322001-07-14 Richard Henderson <rth@redhat.com>
6433
6434 * config/alpha/alpha.md: Use define_constants for unspec values.
6435 Substitute throughout.
6436
e6290e74
TJ
64372001-07-14 Tim Josling <tej@melbpc.org.au>
6438
6439 * tree.def (EXPON_EXPR) remove. Never supported anyway.
6440
3794967f
JDA
64412001-07-14 John David Anglin <dave@hiauly1.hia.nrc.ca>
6442
6443 * pa.md: Remove unused constraints from define_split's.
6444
35cbdf6f
RH
64452001-04-14 Richard Henderson <rth@redhat.com>
6446
6447 * ifcvt.c (find_cond_trap): Test for exit block.
6448
1e5fd094
JH
6449Sun Jul 15 00:50:20 CEST 2001 Jan Hubicka <jh@suse.cz>
6450
6451 Re-install recently reverted patch.
6452 * emit-rtl.c (try_split): Update mark_jump_label call.
6453 * flow.c (find_sub_basic_blocks): Likewise.
6454 * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
6455 jump_back_p): Kill.
6456 (mark_all_labels): Kill second parameter.
6457 (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
6458 (rebuild_jump_labels, jump_optimize_minimal): Update call
6459 of jump_optimize_1.
6460 (jump_optimize_1): Kill crossjumping code.
6461 (mark_jump_label): Kill cross_jump parameter.
6462 * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
6463 (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
6464 * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
6465 splitting.
6466 * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
6467 DFI_bpro.
6468 (dump_file_info): Likewise.
6469 (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
6470 reorganize passes to do reg-stack first, bb-reorder second.
6471 * invoke.texi (-d letters doc): Remove the jump2 pass.
6472
999c0669
RH
64732001-07-14 Richard Henderson <rth@redhat.com>
6474
6475 * ifcvt.c (find_cond_trap): New.
6476 (find_if_header): Call it.
6477 (merge_if_block): Relax existing jump sanity check.
6478 * jump.c (jump_optimize_1): Remove conditional trap handling.
6479
7d8b1412
AM
64802001-07-14 Alan Modra <amodra@bigpond.net.au>
6481
6482 * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
6483 millicode.
6484 (insn_refs_are_delayed): Correct comment.
6485 * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
6486 * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
6487 instead of r31. Make associated insn !TARGET_64BIT, and
6488 provide an additional 64-bit insn that clobbers r2.
6489 (divsi3): Likewise.
6490 (udivsi3): Likewise.
6491 (modsi3): Likewise.
6492 (umodsi3): Likewise.
6493
1ed672dd
JH
6494Sat Jul 14 02:58:38 CEST 2001 Jan Hubicka <jh@suse.cz>
6495
6496 * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
6497
6498 * flow.c (redirect_edge_and_branch_force, split_edge,
6499 try_crossjump_to_edge): Use set_block_for_new_insns.
6500 * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
6501
c51f3aa1
L
65022001-07-13 H.J. Lu (hjl@gnu.org)
6503
6504 * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
6505 the correct patch.
6506
ca18be57
GK
65072001-07-13 Geoffrey Keating <geoffk@redhat.com>
6508
6509 Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
6510
59387d2e
JM
65112001-07-13 Joseph S. Myers <jsm28@cam.ac.uk>
6512
6513 * c-common.c (decl_attributes): Take a pointer to the node to
6514 which attributes are to be attached, and a flags argument.
6515 * c-common.h (enum attribute_flags): New.
6516 (decl_attributes): Update prototype.
6517 * c-decl.c (start_decl, push_parm_decl, finish_struct,
6518 finish_enum, start_function): Update calls to decl_attributes.
6519 * c-parse.in (component_declarator, component_notype_declarator,
6520 label): Update calls to decl_attributes.
6521
48ccfb40
DC
6522Fri Jul 13 23:04:00 2001 Denis Chertykov <denisc@overta.ru>
6523
6524 * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
6525 * config/avr/avr.c (legitimate_address_p): Return value changed
6526 from letter to register classes. For better debugging.
6527
5a4aeb03
KH
65282001-07-13 Kazu Hirata <kazu@hxi.com>
6529
6530 * jump.c (reversed_comparison_code_parts): Fix comment typos.
6531
92e78e59
L
65322001-07-13 H.J. Lu (hjl@gnu.org)
6533
6534 * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
6535
f1cf4606
ME
65362001-07-13 Marc Espie <espie@cvs.openbsd.org>
6537
6538 * config.gcc (*-*-openbsd*): Add fragment to compile libgcc
6539 correctly for shared configurations.
6540 * config/t-libgcc-pic: New.
6541 * config/{i386,m68k,sparc}/t-openbsd: New.
6542 * config/openbsd.h: Include cpu_spec in cpp_spec where needed.
6543 Support -shared. Support debugging libraries with -g.
6544 * config/i386/openbsd.h: Correct ASM_COMMENT_START. Ensure dwarf2
6545 frame information does not emit pointer diffs.
6546 * config/sparc/openbsd.h: Ensure dwarf2 frame information does not
6547 emit pointer diffs.
6548
998d20d2
GK
65492001-07-13 Geoffrey Keating <geoffk@redhat.com>
6550
6551 Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
6552
1568d79b
DE
65532001-07-13 David Edelsohn <edelsohn@gnu.org>
6554
6555 * combine.c (try_combine): Ensure const_int pow2 is positive.
6556
9628a767
HP
65572001-07-13 Hartmut Penner <hpenner@de.ibm.com>
6558
23190837
AJ
6559 * config.gcc: Add configuration for s/390.
6560 * config/s390/s390.c: New. Subroutines for code generation.
9628a767
HP
6561 * config/s390/s390.h: New. Definitions for s/390.
6562 * config/s390/s390-protos.h: New. Prototypes.
6563 * config/s390/linux.h: New. Definitions for linux for s/390.
6564 * config/s390/linux64.h: New. Definitions for linux for zSeries.
23190837
AJ
6565 * config/s390/t-linux: New. Makefile fragment.
6566 * config/s390/s390.md: New. Machine description for s/390 and zSeries.
9628a767 6567 * config/s390/fixdfdi.h: New. Fix L_fix*di.
23190837 6568
f3ba35e4
JH
6569Fri Jul 13 14:46:21 CEST 2001 Jan Hubicka <jh@suse.cz>
6570
6571 * emit-rtl.c (try_split): Update mark_jump_label call.
6572 * flow.c (find_sub_basic_blocks): Likewise.
6573 * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
6574 jump_back_p): Kill.
6575 (mark_all_labels): Kill second parameter.
6576 (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
6577 (rebuild_jump_labels, jump_optimize_minimal): Update call
6578 of jump_optimize_1.
6579 (jump_optimize_1): Kill crossjumping code.
6580 (mark_jump_label): Kill cross_jump parameter.
6581 * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
6582 (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
6583 * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
6584 splitting.
6585 * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
6586 DFI_bpro.
6587 (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
6588 reorganize passes to do reg-stack first, bb-reorder second.
6589 * invoke.texi (-d letters doc): Remove the jump2 pass.
6590
448d17f9
SE
65912001-07-12 Steve Ellcey <sje@cup.hp.com>
6592
6593 * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
6594
6691db8e
JH
6595Thu Jul 12 17:57:16 CEST 2001 Jan Hubicka <jh@suse.cz>
6596
6597 * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
6598 basic blocks.
6599 (verify_flow_info): Make diagnostics prettier.
6600
c35e85f9
JH
6601Thu Jul 12 16:48:54 CEST 2001 Jan Hubicka <jh@suse.cz>
6602
6603 * flow.c (find_basic_blocks_1): Do not emit NOP after call.
6604
6605 * flow.c (outgoing_edges_match): Return early if condition reversal
6606 failed.
6607
51c6b247
RS
66082001-07-06 Richard Sandiford <rsandifo@redhat.com>
6609
6610 * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
6611 (mips_move_2words): When splitting a move into two instructions,
6612 prefix the second address operand with '%D'.
6613
a5a42b92
NB
66142001-07-12 Neil Booth <neil@daikokuya.demon.co.uk>
6615
6616 * Makefile.in (final.o): Depend on debug.h.
6617 * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
6618 (dbx_debug_hooks): Add new hooks.
6619 (xcoff_debug_hooks): New.
6620 * debug.c (debug_nothing_file_int_int): New.
6621 (do_nothing_debug_hooks): Update.
6622 * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
6623 (debug_nothing_file_int_int): New.
6624 * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
6625 static, update prototype.
6626 (dwarf2_debug_hooks): Update.
6627 * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
6628 * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
6629 static, update prototype.
6630 (dwarf_debug_hooks): Update.
6631 * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
6632 * final.c: Include debug.h.
6633 (final_scan_insn): Use debug hooks when beginning and ending blocks.
6634 * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
6635 static, update prototype.
6636 (sdb_debug_hooks): Update.
6637 * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
6638 * toplev.c: Distinguish between xcoff and dbx.
6639
6640 * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
6641 Call all debug hooks, not just dwarf ones.
6642
c177db4b
TW
66432001-07-11 Timothy Wall <twall@redhat.com>
6644
4e2db584
RH
6645 * config.gcc: Add configuration for AIX5/IA64.
6646 * config/ia64/aix.h: New. AIX5/IA64-specific configuration.
6647 * config/ia64/crt[in].asm: New. Generic static ctor/dtor
c177db4b 6648 support prefix/suffix code.
4e2db584
RH
6649 * config/ia64/t-aix: New. Makefile fragment.
6650 * config/ia64/unwind-aix.c: New. Unwind table entry lookup.
c177db4b 6651
4d893612
KH
66522001-07-11 Kazu Hirata <kazu@hxi.com>
6653
6654 * recog.c (validate_change): Fix a comment typo.
6655
7f905405
NB
66562001-07-11 Neil Booth <neil@daikokuya.demon.co.uk>
6657
6658 * Makefile.in (c-lex.o): Wrap long lines. Depend on debug.h.
6659 * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
6660 hooks directly.
6661 * dbxout.c (dbx_debug_hooks): Add new hooks.
6662 (dbxout_start_new_source_file): Rename dbxout_start_source_file,
6663 make static.
6664 (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
6665 make static.
6666 * dbxout.h (dbxout_start_new_source_file,
6667 dbxout_resume_previous_source_file): Delete.
6668 * debug.c (do_nothing_debug_hooks): Add new hooks.
6669 (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
6670 (debug_nothing_int_charstar, debug_nothing_int): New.
6671 * debug.h (gcc_debug_hooks): New hooks define, undef,
6672 start_source_file and end_source_file.
6673 (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
6674 (debug_nothing_int_charstar, debug_nothing_int): New.
6675 * dwarf2out.c (dwarf2_debug_hooks): Add new hooks. Move into
6676 the conditionally compiled section.
6677 (dwarf2out_start_source_file, dwarf2out_end_source_file,
6678 dwarf2out_define, dwarf2out_undef): Make static.
6679 * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
6680 dwarf2out_define, dwarf2out_undef): Remove.
6681 * dwarfout.c (dwarf_debug_hooks): Add new hooks.
6682 (dwarfout_start_source_file, dwarfout_end_source_file,
6683 dwarfout_define, dwarfout_undef): Make static.
6684 (dwarfout_start_source_file_check,
6685 dwarfout_end_source_file_check): New.
6686 (dwarfout_define, dwarfout_finish): Update.
6687 * dwarfout.h (dwarfout_start_new_source_file,
6688 dwarfout_resume_previous_source_file, dwarfout_define,
6689 dwarfout_undef): Remove.
6690 * sdbout.c (sdb_debug_hooks): Add new hooks.
6691 (sdbout_start_new_source_file): Rename sdbout_start_source_file,
6692 make static.
6693 (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
6694 make static, take an arg.
6695 * sdbout.h (sdbout_start_new_source_file,
6696 sdbout_resume_previous_source_file): Delete.
6697 * toplev.c (debug_start_source_file, debug_end_source_file,
6698 debug_define, debug_undef): Delete.
6699 * toplev.h (debug_start_source_file, debug_end_source_file,
6700 debug_define, debug_undef): Delete.
6701
6702 * java/jcf-parse.c: Include debug.h.
6703 (parse_class_file): Update to use debug hooks directly.
6704 * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
6705
ba4828e0
RK
6706Wed Jul 11 10:07:18 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6707
6708 * alias.c (set_mem_alias_set): New function.
6709 * rtl.h (set_mem_alias_set): Declare it.
6710 * builtins.c (expand_builtin_return_addr): Call it instead of
6711 using MEM_ALIAS_SET accessor.
6712 (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
6713 (get_memory_rtx, expand_builtin_va_arg): Likewise.
6714 (expand_builtin_va_copy):Likewise.
6715 * caller-save.c (setup_save_areas): Likewise.
6716 * calls.c (compute_argument_addresses): Likewise.
6717 * explow.c (set_mem_attributes): Likewise.
6718 * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
6719 (expand_assignment, store_constructor_field, store_field): Likewise.
6720 (expand_expr_unaligned): Likewise.
6721 * function.c (assign_stack_temp_for_type): Likewise.
6722 (put_reg_into_stack, gen_mem_addressof): Likewise.
6723 * ifcvt.c (noce_try_cmove_arith): Likewise.
6724 * reload1.c (reload, alter_reg): Likewise.
6725 * config/alpha/alpha.c (get_aligned_mem): Likewise.
6726 (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
6727 (alpha_expand_unaligned_store): Likewise
6728 (alpha_expand_unaligned_load_words): Likewise.
6729 (alpha_expand_unaligned_store_words): Likewise.
6730 (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
6731 (alpha_expand_epilogue): Likewise.
6732 * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
6733 * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
6734 * config/i386/i386.c (legitimize_pic_address): Likewise.
6735 * config/i960/i960.c (setup_incoming_varargs): Likewise.
6736 * config/ia64/ia64.c (spill_restore_mem): Likewise.
6737 * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
6738 * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
6739 * config/mips/mips.c (mips_va_arg): Likewise.
6740 * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
6741 * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
6742 * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
6743 (setup_incoming_varargs, rs6000_va_arg): Likewise.
6744 (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
6745 (rs6000_emit_epilogue): Likewise.
6746 * config/sh/sh.c (sh_builtin_saveregs): Likewise.
6747 * config/sparc/sparc.c (sparc_va_arg): Likewise.
6748 * config/v850/v850.c (v850_va_arg): Likewise.
6749
46fac664
JH
6750Wed Jul 11 21:27:25 CEST 2001 Jan Hubicka <jh@suse.cz>
6751
6752 * flow.c (merge_blocks_move_successor_nojumps): Do not crash
6753 when fallthru edge is present.
6754 (mege_blocks): Handle case where creation of jump insn
6755 is required.
6756
6757 * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
6758 CLEANUP_POST_REGSTACK): New constants.
6759 * except.c (finish_eh_generation): Update call of cleanup_cfg,
6760 * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
6761 * output.h (cleanup_cfg): Update prototype.
6762 * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
23190837 6763 * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
46fac664
JH
6764 cleanup_cfg call; kill missleading comment.
6765 * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
6766 * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
6767 parameter; control optimizations performed using it.
6768 (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
6769 try_crossjump_bb): New functions.
6770
9acc24a5
JDA
67712001-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
6772
6773 * pa.c (pa_output_function_prologue): Delete prototype. Make function
6774 extern.
6775 * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
6776 pa_output_function_prologue.
6777 * pa-protos.h (pa_output_function_prologue): New prototype.
6778
9312aecc
JDA
67792001-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
6780
6781 * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
6782 and low to get correct sign extension in low+high test.
6783
dec2b703
JJ
67842001-07-11 Janis Johnson <janis@us.ibm.com>
6785
4b9664e2
JJ
6786 * gcov.c (arcdata): Use gcov_type to fix branch percentage
6787 for large hit count.
6788
dec2b703
JJ
6789 * profile.c (branch_prob): Fix .bbg info for computed gotos
6790 and C++ EH code.
6791
40b18c0a
MM
67922001-07-11 Mark Mitchell <mark@codesourcery.com>
6793
23190837 6794 * stmt.c (parse_output_constraint): New function, split out
40b18c0a
MM
6795 from ...
6796 (expand_asm_operands): ... here. Use parse_output_constraint.
6797 * tree.h (parse_output_constraint): Declare it.
6798
a615c28a
RH
67992001-07-11 Richard Henderson <rth@redhat.com>
6800
6801 * bitmap.c: Comment some functions; fiddle whitespace.
6802 (bitmap_free): Don't export.
6803 (bitmap_element_allocate): Use memset.
6804 * bitmap.h (bitmap_free): Don't declare.
6805
5a660bff
DB
68062001-07-11 Daniel Berlin <dan@cgsoftware.com>
6807
6808 * gcse.c, lcm.c, sched-deps.c:
6809 s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
6810
6811 * flow.c (flow_loops_find): Free dom if we found no loops, since
6812 we aren't going to save it.
6813
6814 * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
6815 done.
6816
1a9485cf
JL
6817Wed Jul 11 09:00:48 2001 Jeffrey A Law (law@cygnus.com)
6818
6819 * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
6820
c8383050
RK
6821Wed Jul 11 10:07:18 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6822
6823 * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
6824 #ifndef DWARF2_DEBUGGING_INFO.
6825
bd77ba51
RS
68262001-07-11 Richard Sandiford <rsandifo@redhat.com>
6827
6828 * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
6829
b5265b32
RS
68302001-07-11 Richard Sandiford <rsandifo@redhat.com>
6831
6832 * config/mips/mips.c (gen_int_relational): Tell the caller not to
6833 reverse a branch if a NE comparison is implemented with GTU.
6834
b87c8c8c
RS
68352001-07-11 Richard Sandiford <rsandifo@redhat.com>
6836 H.J. Lu <hjl@gnu.org>
6837
6838 * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
6839 constant addresses.
6840 (call_internal2): Likewise.
6841 (call_value_internal1): Likewise.
6842 (call_value_internal2): Likewise.
6843 (call_value_multiple_internal1): Likewise.
6844 (call_value_multiple_internal2): Likewise.
6845
0407c02b
KH
68462001-07-10 Kazu Hirata <kazu@hxi.com>
6847
6848 * calls.c (emit_library_call_value_1): Fix a comment typo.
6849 * dwarf2out.c (mem_loc_descriptor): Likewise.
6850 * config/i386/i386.c (ix86_expand_aligntest): Likewise.
6851
a1b2ebc0
DB
68522001-07-11 David Billinghurst <David.Billinghurst@riotinto.com>
6853
608fe35b 6854 * simplify-rtx.c (simplify_subreg): Fix typo in comment
a1b2ebc0 6855
07217645
RK
6856Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6857
6858 * recog.c (offsettable_address_p): Handle LO_SUM case.
6859 * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
6860 instead of plus_constant.
23190837 6861
91667711
SC
68622001-07-10 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6863
6864 * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
6865 fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
6866
d7624dc0
RK
6867Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6868
6869 * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
6870 adjust_address_nv instead of plus_constant.
6871
a51d908e
NB
68722001-07-10 Neil Booth <neil@daikokuya.demon.co.uk>
6873
6874 * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
6875 dwarf2out.o): Depend on debug.h, wrap long lines.
6876 * dbxout.c: Include debug.h.
6877 (dbx_debug_hooks): New.
6878 (dbxout_init): Make static, take just 2 args.
6879 (dbxout_finish): Make static.
6880 * dbxout.h (dbxout_init, dbxout_finish): Delete.
6881 * debug.c: New file.
6882 * debug.h: New file.
6883 * dwarf2out.c: Include debug.h.
6884 (dwarf2_debug_hooks): New.
6885 (dwarf2out_init): Make static.
6886 (dwarf2out_finish): Make static, take 2 args.
6887 * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
6888 * dwarfout.c: Include debug.h.
6889 (dwarf_debug_hooks): New.
6890 (dwarfout_init): Make static.
6891 (dwarfout_finish): Make static, take 2 args.
6892 * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
6893 * sdbout.c: Include debug.h.
6894 (sdb_debug_hooks): New.
6895 (sdbout_init): Make static, take 2 args.
6896 * sdbout.h (sdbout_init): Delete.
6897 * toplev.c: Include debug.h.
6898 (debug_hooks): New.
6899 (compile_file): Set deubg_hooks based on command line options.
6900 Use the hooks unconditionally rather than conditional compilation.
6901
af5c573a
JL
6902Tue Jul 10 09:04:45 2001 Jeffrey A Law (law@cygnus.com)
6903
6904 * ssa-ccp.c (first_phi_node): Remove. Replace uses with calls to
6905 first_insn_after_basic_block_note instead.
6906
6907 * df.c (df_bb_refs_unlink): #if 0 out for now.
6908
69092001-07-10 David Billinghurst <David.Billinghurst@riotinto.com
6910
6911 * ssa.h: Add prototype for ssa_const_prop
6912 * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
6913 (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
6914 (ssa_fast_dce): Remove unused variable
6915
64dfaa76
GDR
69162001-07-10 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
6917
6918 * diagnostic.c (finish_diagnostic): Rename to
6919 diagnostic_finish. Make it take an 'output_buffer *'. Adjust
6920 calls thourghout.
6921
84db136d
JM
69222001-07-10 Jason Merrill <jason_merrill@redhat.com>
6923
8aaf55ac
JM
6924 * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
6925 .loc support.
6926
84db136d 6927 * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
23190837 6928 (dump_file): Only pad the demangled name with spaces if the
84db136d
JM
6929 mangled name was padded with spaces.
6930
fd052ec3
BS
69312001-07-10 Bernd Schmidt <bernds@redhat.com>
6932
6933 * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
6934 edge detection.
6935
62926f0b
RK
6936Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6937
10c2a453
RK
6938 * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
6939 extraction if no direct load if either EXPAND_CONST_ADDRESS or
6940 EXPAND_INITIALIZER.
6941
62926f0b
RK
6942 * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
6943 whether can put offset inside LO_SUM to check mode alignment, not size.
6944
acdcefcc
GDR
69452001-07-10 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
6946
6947 * doc/tm.texi (Misc): Fix thinko.
6948
07167a18
JM
69492001-07-10 Jan van Male <jan.vanmale@fenk.wau.nl>
6950
6951 * regmove.c (replace_in_call_usage): Fix warnings.
6952 * sched-deps.c (add_dependence): Fix warnings.
6953 * simplify-rtx.c (simplify_subreg): Likewise.
6954 Return NULL_RTX instead of NULL.
6955
6956 * reg-stack.c (emit_swap_insn): Eliminate warnings.
6957 (subst_asm_stack_regs): Likewise.
6958
6959 * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
6960 warnings.
6961
6962 * dwarf2out.c (output_call_frame_info): Declare i as int.
6963 (build_abbrev_table): Declare n_alloc as int.
6964 (dwarf2out_finish): Initialize die.
6965 * except.c: Declare sjlj_funcdef_number as unsigned.
6966 (connect_post_landing_pads): Declare j as unsigned.
6967 (convert_to_eh_region_ranges): Initialize call_site.
6968 (output_function_exception_table): Initialize tt_format_size.
6969 * expr.c (move_by_pieces_1): Initialize to1.
6970 (store_constructor): Initialize minelt and maxelt.
6971 * flow.c (mark_regs_live_at_end): Declare i as unsigned.
6972 * function.c (instantiate_decls): Avoid signed/unsigned warning.
6973
6974 * c-decl.c (combine_parm_decls): Unused, remove.
6975 * c-tree.h: Remove prototype for combine_parm_decls.
6976
6977 * reload.c (push_reload): Fix warning.
6978 (regno_clobbered_p): Likewise.
6979 * reload1.c (replace_pseudos_in_call_usage): Likewise.
6980 (reload_combine): Likewise.
6981
6982 * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
6983 * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
6984 warnings.
6985 * bitmap.c (bitmap_operation): Change user.
6986 * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
6987
4608d36c
EC
69882001-07-10 Eric Christopher <echristo@redhat.com>
6989
6990 * config/mips/mips.c (override_options): Fix typo.
6991
f6155fda
SS
69922001-07-09 Stan Shebs <shebs@apple.com>
6993
6994 * target.h (struct gcc_target): New fields init_builtins and
6995 expand_builtin.
6996 * target-def.h (TARGET_INIT_BUILTINS): New macro.
6997 (TARGET_EXPAND_BUILTIN): New macro.
6998 (TARGET_INITIALIZER): Add them.
6999 * builtins.c: Include target.h.
7000 (expand_builtin): Use targetm.expand_builtin.
7001 (default_init_builtins): New function.
7002 (default_expand_builtin): New function.
7003 * expr.h (default_init_builtins): Declare.
7004 (default_expand_builtin): Declare.
7005 * c-common.c (c_common_nodes_and_builtins): Use
7006 targetm.init_builtins.
7007 * defaults.h (MD_INIT_BUILTINS): Remove.
7008 * Makefile.in (builtins.o): Depend on target.h.
7009
7010 * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
7011 (TARGET_EXPAND_BUILTIN): Define.
7012 * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
7013 (MD_EXPAND_BUILTIN): Remove.
7014
7015 * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
7016 (TARGET_EXPAND_BUILTIN): Define.
7017 (c4x_init_builtins): Make endlink arg a local.
7018 (c4x_print_operand): Fix typos in adjust_address usages.
7019 * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
7020 * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
7021 (MD_EXPAND_BUILTIN): Remove.
7022
7023 * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
7024 (TARGET_EXPAND_BUILTIN): Define.
7025 (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
7026 (ix86_init_builtins): Call new function only if TARGET_MMX.
7027 * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
7028 * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
7029 (MD_EXPAND_BUILTIN): Remove.
7030
7031 * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
7032 (TARGET_EXPAND_BUILTIN): Define.
7033 * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
7034 (MD_EXPAND_BUILTIN): Remove.
7035
7036 * doc/tm.texi: Document these changes.
7037
2b1d9dc0
DN
70382001-07-09 Diego Novillo <dnovillo@redhat.com>
7039
7040 * basic-block.h (tree_node): Forward declare if needed.
7041 (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
7042 (BLOCK_HEAD_TREE): Define.
7043 (BLOCK_END_TREE): Define.
7044 (struct loops): Rename field 'tree' to 'tree_root'.
4608d36c 7045 * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
2b1d9dc0
DN
7046 'end_tree'.
7047 (flow_loops_tree_build): Rename reference to field 'tree' to
7048 'tree_root'.
7049 (flow_loops_level_compute): Ditto.
7050 * predict.c (estimate_bb_frequencies): Ditto.
7051 * tree.h (struct tree_common): Add field 'aux'.
7052
70bdc2ff
SS
70532001-07-09 Stan Shebs <shebs@apple.com>
7054
7055 * config/darwin.c (darwin_encode_section_info): Don't mark any
7056 DECL_EXTERNAL node as defined.
7057
d777856d
JDA
70582001-07-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
7059
7060 * pa.c (pa_init_machine_status, pa_mark_machine_status,
7061 pa_free_machine_status, hppa_init_pic_save): Delete.
7062 (hppa_pic_save_rtx): New. Use get_hard_reg_initial_val.
7063 (hppa_profile_hook): Use hppa_pic_save_rtx.
7064 * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
7065 hppa_init_pic_save): Delete.
7066 (hppa_pic_save_rtx): Declare.
7067 * pa.md (call, call_value, sibcall, sibcall_value,
7068 builtin_setjmp_receiver): Use hppa_pic_save_rtx.
7069
aa3c0d59
KH
70702001-07-09 Kazu Hirata <kazu@hxi.com>
7071
7072 * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
7073 * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
7074
af076e58
AJ
70752001-07-09 Andreas Jaeger <aj@suse.de>
7076
7077 * output.h: Add declaration of final_forward_branch_p.
7078
7079 * config/i386/i386.c (output_fix_trunc): Remove unused variable.
7080
7081 * varray.c: Include errors.h for internal_error and trim_filename
7082 declarations.
7083
7084 * Makefile.in (varray.o): Add errors.h.
7085
fb7e77d7
TM
70862001-07-09 Toon Moene <toon@moene.indiv.nluug.nl>
7087
7088 * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
7089 * optabs.c (have_add2_insn): Check whether the add insn chosen
7090 really accepts the operands. (have_sub2_insn): Ditto for sub insn.
7091 * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
7092
0b47e4c1
JL
7093Mon Jul 9 13:26:40 2001 Jeffrey A Law (law@cygnus.com)
7094
7095 * Makefile.in (OBJS): Add ssa-ccp.o
7096 (ssa-ccp.o): Add dependencies.
7097 * toplev.c (DFI_ssa_ccp): New dump file enum.
7098 (dump_file): Add entry for dumping after SSA CCP.
7099 (flag_ssa_ccp): New flag variable.
7100 (f_options): Add -fssa-ccp.
7101 (rest_of_compilation): Run SSA CCP if requested.
7102 * timevar.def (TV_SSA_CCP): New timevar.
7103 * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
7104 * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
7105 Fix minor typo in SSA DCE documentation.
7106 * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
7107 Add documentation for new dump option. Renumber dump files
7108 appropriately.
7109
5222e470
JH
7110Mon Jul 9 21:36:00 CEST 2001 Jan Hubicka <jh@suse.cz>
7111
7112 * emit-rtl.c (gen_highpart_mode): New.
7113 * rtl.h (gen_highpart_mode): Declare.
7114 * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
7115 operand can be VOIDmode constant.
7116
2b2c8b3e
JH
7117Mon Jul 9 17:23:10 CEST 2001 Jan Hubicka <jh@suse.cz>
7118
7119 * flow.c (redirect_edge_and_branch_force): New.
7120 (can_fallthru): Ensure that basic blocks are succeeding.
7121 (try_optimize_cfg): Do not delete basic block if it is the last one.
7122
7123 * flow.c (try_redirect_by_replacing_jump): Do not remove
7124 jumps with side effects, unlink chain on fallthru edge;
7125 set block for new jump instruction; avoid basic block to
7126 over by line number note.
7127
7128 * flow.c (try_simplify_condjump): Verify that the condjump
7129 is not always falling trought.
7130
7131 Re-install patch:
7132 * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
7133
7134 * flow.c (forwarder_block_p): Fix for fallthru blocks.
7135 (try_redirect_by_replacing_jump): Update properly the count
7136 and frequency information.
7137
60a97cd4
RK
7138Mon Jul 9 06:41:07 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7139
823e3574
RK
7140 * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
7141 address that is a LO_SUM specially.
7142 * explow.c (plus_constant_wide, case LO_SUM): Deleted.
7143
60a97cd4
RK
7144 * c-lang.c (start_cdtor): Remove extra parameter from start_function.
7145
7146 * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
7147 (operand_subword): Use them.
7148 (change_address_1): Renamed from change_address; new arg VALIDATE.
7149 * expr.h: Reflect above changes; change_address now macro.
7150 * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
7151 making MEM.
7152 * cselib.c (add_mem_for_addr): Likewise.
7153 * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
7154 * regmove.c (try_apply_stack_adjustment): Likewise.
7155 * reload.c (push_reload, make_memloc): Likewise.
7156 * reload1.c (eliminate_regs): Likewise.
7157 * simplify-rtx.c (simplify_replace_rtx): Likewise.
7158 * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
7159 adjust_addess.
7160 * combine.c (make_extraction, simplify_shift_const): Likewise.
7161 (gen_lowpart_for_combine): Likewise.
7162 * cse.c (gen_lowpart_if_possible): Likewise.
7163 * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
7164 * expr.c (expand_expr, case COMPONENT_REF): Likewise.
7165 * optabs.c (gen_move_insn): Likewise.
7166 * reload1.c (alter_reg): Likewise.
7167 * simplify-rtx.c (simplify_subreg): Likewise.
7168 * stmt.c (expand_anon_union_decl): Likewise.
7169 * recog.c (validate_replace_rtx_1): Likewise.
7170 (expr.h): Include.
7171 * Makefile.in (recog.o): Add $(EXPR_H).
7172 * explow.c (stabilize): Call replace_equiv_address.
7173 * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
7174 * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
7175
053a35af
AH
71762001-07-03 Andrew Haley <aph@redhat.com>
7177
7178 * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
7179 the mode of the memory location.
7180
db42058b
BT
71812001-07-09 Bo Thorsen <bo@suse.co.uk>
7182
7183 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
7184
17b53c33
NB
71852001-07-09 Neil Booth <neil@daikokuya.demon.co.uk>
7186
7187 * final.c (output_addr_const): Use target opening and
7188 closing parentheses.
7189 * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
7190 defaults, add to TARGET_ASM_OUT.
7191 * target.h (struct gcc_target): Add open_paren and close_paren.
7192 * doc/md.texi: Update.
7193 * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
7194 TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
7195 TARGET_ASM_CLOSE_PAREN.
60a97cd4 7196 * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
17b53c33 7197 Override.
60a97cd4 7198 * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
17b53c33 7199 Override.
60a97cd4
RK
7200 * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
7201 * config/a29k/a29k.h: Similarly.
7202 * config/alpha/alpha.h: Similarly.
7203 * config/arc/arc.h: Similarly.
7204 * config/arm/aof.h: Similarly.
7205 * config/arm/aout.h: Similarly.
7206 * config/avr/avr.h: Similarly.
7207 * config/c4x/c4x.h: Similarly.
7208 * config/clipper/clipper.h: Similarly.
7209 * config/convex/convex.h: Similarly.
7210 * config/d30v/d30v.h: Similarly.
7211 * config/dsp16xx/dsp16xx.h: Similarly.
7212 * config/elxsi/elxsi.h: Similarly.
7213 * config/fr30/fr30.h: Similarly.
7214 * config/h8300/h8300.h: Similarly.
7215 * config/i370/i370.h: Similarly.
7216 * config/i386/i386.h: Similarly.
7217 * config/i860/i860.h: Similarly.
7218 * config/i960/i960.h: Similarly.
7219 * config/ia64/ia64.h: Similarly.
7220 * config/m32r/m32r.h: Similarly.
7221 * config/m68hc11/m68hc11.h: Similarly.
7222 * config/m68k/m68k.h: Similarly.
7223 * config/m88k/m88k.h: Similarly.
7224 * config/mcore/mcore.h: Similarly.
7225 * config/mips/mips.h: Similarly.
7226 * config/mn10200/mn10200.h: Similarly.
7227 * config/mn10300/mn10300.h: Similarly.
7228 * config/ns32k/ns32k.h: Similarly.
7229 * config/pa/pa.h: Similarly.
7230 * config/pdp11/pdp11.h: Similarly.
7231 * config/pj/pj.h: Similarly.
7232 * config/romp/romp.h: Similarly.
7233 * config/rs6000/rs6000.h: Similarly.
7234 * config/sh/sh.h: Similarly.
7235 * config/sparc/sparc.h: Similarly.
7236 * config/v850/v850.h: Similarly.
7237 * config/vax/vax.h: Similarly.
7238 * config/we32k/we32k.h: Similarly.
17b53c33 7239
b41df7f6
JM
72402001-07-09 Joseph S. Myers <jsm28@cam.ac.uk>
7241
7242 * doc/c-tree.texi: Document representation of attributes.
7243
648c546a
JM
72442001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
7245
7246 * doc/tm.texi: Update some places for the rename of target to
7247 targetm. Fix typo.
7248
12a68f1f
JM
72492001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
7250
7251 * target.h (struct gcc_target): Add insert_attributes.
7252 * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
7253 (TARGET_INITIALIZER): Update.
7254 * tree.c, tree.h (default_insert_attributes): New function.
7255 Update comments on other default functions to refer to targetm,
7256 not target.
7257 * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
7258 TARGET_INSERT_ATTRIBUTES.
7259 (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
7260 * c-common.c (decl_attributes): Use targetm.insert_attributes.
7261 Don't use PRAGMA_INSERT_ATTRIBUTES.
7262 * Makefile.in (c-common.o): Depend on $(TARGET_H).
7263 * c-decl.c (start_decl, start_function): Don't call
7264 SET_DEFAULT_DECL_ATTRIBUTES.
7265 * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
7266 * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
7267 declare.
7268 * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
7269 (c4x_check_attribute): Avoid modifying attribute list itself.
7270 (c4x_set_default_attributes): Rename to c4x_insert_attributes.
7271 Make static.
7272 * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
7273 * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
7274 declare.
7275 * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
7276 (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
7277 Make static.
7278 * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
7279 * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
7280 declare.
7281 * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
7282 (v850_set_default_decl_attr): Rename to v850_insert_attributes.
7283 Adjust parameters. Make static.
7284
f7a4cec0
JM
72852001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
7286
7287 * c-common.c (decl_attributes): Only take a single attributes
7288 parameter.
7289 * c-common.h (decl_attributes): Update prototype.
7290 * c-decl.c (start_decl, start_function): Only take a single
7291 attributes parameter. Update calls to decl_attributes.
7292 (finish_struct, finish_enum): Update calls to decl_attributes.
7293 (push_parm_decl): Expect unified list of attributes. Update call
7294 to decl_attributes.
7295 * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
7296 notype_nested_function, component_declarator,
7297 component_notype_declarator, label): Update calls to
7298 decl_attributes.
7299 (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
7300 lists that are passed to push_parm_decl.
7301 * c-tree.h (start_function, start_decl): Update prototypes.
7302 * config/sh/sh-protos.h, config/sh/sh.c
7303 (sh_pragma_insert_attributes): Only take a single attributes
7304 parameter.
7305 * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
7306 * doc/tm.texi (INSERT_ATTRIBUTES): Update.
7307 * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
7308 build_module_descriptor, generate_static_references,
7309 generate_strings, build_selector_translation_table,
7310 generate_descriptor_table, generate_protocols,
7311 generate_ivars_list, generate_dispatch_table,
7312 generate_protocol_list, generate_category,
7313 generate_shared_structures, really_start_method, add_objc_decls,
7314 generate_classref_translation_entry): Update calls to start_decl
7315 and start_function.
7316 (build_tmp_function_decl, start_method_def): Unify attribute lists
7317 that are passed to push_parm_decl.
7318
b4c25db2
NB
73192001-07-08 Neil Booth <neil@daikokuya.demon.co.uk>
7320
7321 * final.c (no_asm_to_stream): New.
7322 (final_scan_insn): Use target structures for prologue ends
7323 and epilogue starts.
7324 * output.h (no_asm_to_stream): New.
7325 * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
7326 TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
7327 (TARGET_ASM_OUT): Update.
7328 * target.h (struct gcc_target): New members function_end_prologue
7329 and function_begin_epilogue.
60a97cd4
RK
7330 * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
7331 * config/alpha/alpha-protos.h (output_end_prologue): Delete.
7332 * config/alpha/alpha.c (output_end_prologue): Rename to
b4c25db2
NB
7333 alpha_output_function_end_prologue. Use in target struct
7334 and make static.
60a97cd4
RK
7335 * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
7336 * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
7337 * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
b4c25db2
NB
7338 ia64_output_function_end_prologue. Use in target struct
7339 and make static.
7340 (ia64_function_prologue, ia64_funciton_epilogue): Rename
7341 mistyped prototypes.
60a97cd4
RK
7342 * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
7343 * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
7344 Delete.
7345 * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
b4c25db2 7346 an use in target struct, make static.
60a97cd4
RK
7347 * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
7348 Delete.
b4c25db2 7349
45c8268d
RH
73502001-07-08 Richard Henderson <rth@redhat.com>
7351
7352 * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
7353
d5d6a58b
RH
73542001-07-08 Richard Henderson <rth@redhat.com>
7355
7356 * config/i386/i386.md: Remove constraints strings from define_split
7357 and define_peephole2 patterns.
7358 (eh_return_si, eh_return_di): Split eh_return_1 for modes.
7359 (eh_return): Use them.
7360
7c16328b
RH
73612001-07-08 Richard Henderson <rth@redhat.com>
7362
7363 * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
7364 Document MD_FALLBACK_FRAME_STATE_FOR.
7365
8dd5d49d
SC
73662001-07-07 Stephane Carrez <Stephane.Carrez@worldnet.fr>
7367
7368 * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
7369 Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
7370 elimination.
7371 * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
7372
13daf3c1
NC
73732001-07-07 Nick Clifton <nickc@cambridge.redhat.com>
7374
7375 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
7376 of the label inside NAME as opposed to just the end of NAME.
7377
8289c43b
NB
73782001-07-07 Neil Booth <neil@daikokuya.demon.co.uk>
7379
7380 * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
7381 * config/alpha/alpha.c (alpha_init_machine_status,
7382 alpha_mark_machine_status, alpha_free_machine_status): Delete.
7383 (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
7384 (vms_valid_decl_attribute_p): Make static, conditionally compile.
7385 * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
7386
f6897b10
SS
73872001-07-06 Stan Shebs <shebs@apple.com>
7388
7389 * target.h (targetm): Rename global from "target", so as not to
7390 conflict with local variables.
7391 * c-decl.c: Ditto.
7392 * c-typeck.c: Ditto.
7393 * final.c: Ditto.
7394 * tree.c: Ditto.
7395 * cp/decl.c: Ditto.
7396 * cp/decl2.c: Ditto.
7397 * cp/typeck.c: Ditto.
7398 * 1750a/1750a.c: Ditto.
7399 * a29k/a29k.c: Ditto.
7400 * arc/arc.c: Ditto.
7401 * arm/arm.c: Ditto.
7402 * avr/avr.c: Ditto.
7403 * clipper/clipper.c: Ditto.
7404 * convex/convex.c: Ditto.
7405 * d30v/d30v.c: Ditto.
7406 * dsp16xx/dsp16xx.c: Ditto.
7407 * elxsi/elxsi.c: Ditto.
7408 * fr30/fr30.c: Ditto.
7409 * h8300/h8300.c: Ditto.
7410 * i370/i370.c: Ditto.
7411 * i386/i386.c: Ditto.
7412 * i860/i860.c: Ditto.
7413 * i960/i960.c: Ditto.
7414 * ia64/ia64.c: Ditto.
7415 * m32r/m32r.c: Ditto.
7416 * m68hc11/m68hc11.c: Ditto.
7417 * m68k/m68k.c: Ditto.
7418 * m88k/m88k.c: Ditto.
7419 * mips/mips.c: Ditto.
7420 * ns32k/ns32k.c: Ditto.
7421 * pa/pa.c: Ditto.
7422 * pdp11/pdp11.c: Ditto.
7423 * romp/romp.c: Ditto.
7424 * rs6000/rs6000.c: Ditto.
7425 * sh/sh.c: Ditto.
7426 * sparc/sparc.c: Ditto.
7427 * vax/vax.c: Ditto.
7428 * we32k/we32k.c: Ditto.
7429 * doc/tm.texi: Update the manual to match.
7430
84fc8b47
RH
74312001-07-06 Richard Henderson <rth@redhat.com>
7432
7433 * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
7434 DWARF2_UNWIND_INFO not just whether it is defined.
7435
4531c1c7
DN
74362001-07-06 Diego Novillo <dnovillo@redhat.com>
7437
7438 * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
7439 call to simplify_binary_operation returns a new pattern.
7440
39bd2948
RL
74412001-07-06 Roman Lechtchinsky <rl@cs.tu-berlin.de>
7442
7443 * glimits.h (__SHRT_MAX__): New.
7444 (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
7445 (SHRT_MAX): Define in terms of __SHRT_MAX__.
7446
8fa2140d
JM
74472001-07-06 Jan van Male <jan.vanmale@fenk.wau.nl>
7448
7449 * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
7450 avoid warnings.
7451
87e08c69
RH
74522001-07-06 Richard Henderson <rth@redhat.com>
7453
7454 * bitmap.c (bitmap_release_memory): Move adjacent to the
7455 allocation functions.
7456 (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
7457 the implementation. Binary search for the set bit.
7458 (bitmap_union_of_diff): Allocate the temporary on the stack
7459 instead of using xmalloc.
7460
0dab343a
RH
74612001-07-06 Richard Henderson <rth@redhat.com>
7462
7463 * genrecog.c (validate_pattern): Warn for constraints in
7464 define_{expand,split,peephole2}. Remove strict_low_part
7465 before looking up match_dup.
7466
15c0d35d
DD
74672001-07-06 DJ Delorie <dj@redhat.com>
7468
7469 * doc/gcc.texi (Makefile): Rename to be a more general purpose
7470 chapter about various build hints and history. Add section
7471 talking about the various types of native and cross builds.
7472
00478a05
NB
74732001-07-06 Neil Booth <neil@daikokuya.demon.co.uk>
7474
7475 * Makefile.in (final.o): Depend on target.h.
7476 * final.c: Include target.h.
7477 (default_function_pro_epilogue): New.
7478 (final_start_function): Use target structure for function prologues.
7479 (final_end_function): Use target structure for function epilogues.
7480 * fold-const.c (real_hex_to_f): Constify s and p.
7481 * output.h (default_function_pro_epilogue): New.
7482 * real.h (real_hex_to_f): Update prototype.
7483 * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
7484 TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
7485 (TARGET_INITIALIZER): Update.
7486 * target.h (gcc_target): Add struct asm_out.
7487 * doc/tm.texi: Update.
7488
7489config:
7490 Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
7491 TARGET_ASM_FUNCTION_EPILOGUE. Move macro code to functions
7492 in cpu/cpu.c, or rename old functions consistently. Take
7493 a HOST_WIDE INT not an int as the SIZE parameter. Remove now
7494 redundant macros and prototypes. Make new functions static.
7495
7496 * 1750a/1750a.c: Similarly.
7497 * 1750a/1750a.h: Similarly.
7498 * a29k/a29k-protos.h: Similarly.
7499 * a29k/a29k.c: Similarly.
7500 * a29k/a29k.h: Similarly.
7501 * arc/arc-protos.h: Similarly.
7502 * arc/arc.c: Similarly.
7503 * arc/arc.h: Similarly.
7504 * arm/arm-protos.h: Similarly.
7505 * arm/arm.c: Similarly.
7506 * arm/arm.h: Similarly.
7507 * avr/avr-protos.h: Similarly.
7508 * avr/avr.c: Similarly.
7509 * avr/avr.h: Similarly.
7510 * clipper/clipper-protos.h: Similarly.
7511 * clipper/clipper.c: Similarly.
7512 * clipper/clipper.h: Similarly.
7513 * convex/convex.c: Similarly.
7514 * convex/convex.h: Similarly.
7515 * d30v/d30v-protos.h: Similarly.
7516 * d30v/d30v.c: Similarly.
7517 * d30v/d30v.h: Similarly.
7518 * d30v/d30v.md: Similarly.
7519 * dsp16xx/dsp16xx-protos.h: Similarly.
7520 * dsp16xx/dsp16xx.c: Similarly.
7521 * dsp16xx/dsp16xx.h: Similarly.
7522 * elxsi/elxsi.c: Similarly.
7523 * elxsi/elxsi.h: Similarly.
7524 * fr30/fr30.c: Similarly.
7525 * fr30/fr30.md: Similarly.
7526 * h8300/h8300-protos.h: Similarly.
7527 * h8300/h8300.c: Similarly.
7528 * h8300/h8300.h: Similarly.
7529 * i370/i370-protos.h: Similarly.
7530 * i370/i370.c: Similarly.
7531 * i370/i370.h: Similarly.
7532 * i386/i386.c: Similarly.
7533 * i386/osf1elf.h: Similarly.
7534 * i386/osfrose.h: Similarly.
7535 * i860/i860-protos.h: Similarly.
7536 * i860/i860.c: Similarly.
7537 * i860/i860.h: Similarly.
7538 * i960/i960-protos.h: Similarly.
7539 * i960/i960.c: Similarly.
7540 * i960/i960.h: Similarly.
7541 * ia64/ia64-protos.h: Similarly.
7542 * ia64/ia64.c: Similarly.
7543 * ia64/ia64.h: Similarly.
7544 * m32r/m32r-protos.h: Similarly.
7545 * m32r/m32r.c: Similarly.
7546 * m32r/m32r.h: Similarly.
7547 * m68hc11/m68hc11-protos.h: Similarly.
7548 * m68hc11/m68hc11.c: Similarly.
7549 * m68hc11/m68hc11.h: Similarly.
7550 * m68k/crds.h: Similarly.
7551 * m68k/dpx2.h: Similarly.
7552 * m68k/m68k-protos.h: Similarly.
7553 * m68k/m68k.c: Similarly.
7554 * m68k/m68k.h: Similarly.
7555 * m68k/news.h: Similarly.
7556 * m88k/m88k-protos.h: Similarly.
7557 * m88k/m88k.c: Similarly.
7558 * m88k/m88k.h: Similarly.
7559 * mips/mips-protos.h: Similarly.
7560 * mips/mips.c: Similarly.
7561 * mips/mips.h: Similarly.
7562 * ns32k/merlin.h: Similarly.
7563 * ns32k/ns32k.c: Similarly.
7564 * ns32k/ns32k.h: Similarly.
7565 * ns32k/tek6000.h: Similarly.
7566 * pa/pa-protos.h: Similarly.
7567 * pa/pa.c: Similarly.
7568 * pa/pa.h: Similarly.
7569 * pdp11/2bsd.h: Similarly.
7570 * pdp11/pdp11-protos.h: Similarly.
7571 * pdp11/pdp11.c: Similarly.
7572 * pdp11/pdp11.h: Similarly.
7573 * romp/romp-protos.h: Similarly.
7574 * romp/romp.c: Similarly.
7575 * romp/romp.h: Similarly.
7576 * rs6000/rs6000-protos.h: Similarly.
7577 * rs6000/rs6000.c: Similarly.
7578 * rs6000/rs6000.h: Similarly.
7579 * rs6000/sysv4.h: Similarly.
7580 * sh/sh-protos.h: Similarly.
7581 * sh/sh.c: Similarly.
7582 * sh/sh.h: Similarly.
7583 * sparc/sparc-protos.h: Similarly.
7584 * sparc/sparc.c: Similarly.
7585 * sparc/sparc.h: Similarly.
7586 * vax/vax.c: Similarly.
7587 * vax/vax.h: Similarly.
7588 * vax/vms.h: Similarly.
7589 * we32k/we32k.c: Similarly.
7590 * we32k/we32k.h: Similarly.
7591
b62c8881
JL
7592Fri Jul 6 11:47:59 2001 Jeffrey A Law (law@cygnus.com)
7593
7594 * basic-block.h (first_insn_after_basic_block_note): Declare.
7595 * flow.c (first_insn_after_basic_block_note): Define. Moved
7596 from...
7597 * ssa.c (first_insn_after_basic_block_note): Remove.
7598 * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
7599 necessary.
7600 (ssa_eliminate_dead_code): Properly update the CFG and PHI
7601 nodes when we find a dead conditional branch. Insert BARRIERs
7602 after any blocks with no successors, but which do not have
7603 any BARRIERs.
7604
9d99ca5b
ZW
76052001-07-06 Zack Weinberg <zackw@stanford.edu>
7606
7607 * varray.c (varray_check_failed): Use internal_error.
7608
fc6aa0a9
AH
76092001-07-05 Andrew Haley <aph@redhat.com>
7610
7611 * Makefile.in (LIB2_DIVMOD_FUNCS): New.
7612 (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
7613 * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
7614
6331d1c1
JM
76152001-07-02 Jason Merrill <jason_merrill@redhat.com>
7616
7617 * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
7618 reference if the target constant is also a SYMBOL_REF.
7619
7dac2f89
EC
76202001-07-05 Eric Christopher <echristo@redhat.com>
7621
6331d1c1
JM
7622 * config/mips/mips.h (MASK_MIPS3900): Remove.
7623 (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
7624 MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
7625 (TARGET_MIPS3900): Change to use mips_arch.
7626 (TARGET_MIPS4000): New.
7627 (TARGET_MIPS4100): New.
7628 (TARGET_MIPS4300): New.
7629 (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
7630 (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
7631 for -mipsX.
7632 (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
7633 (ISA_HAS_BRANCHLIKELY): To here.
7634 (CC1_CPU_SPEC): New.
7635 (CC1_SPEC): Use here. Remove 4650 and 3900 options.
7636 (mips_arch_string): Declare.
7637 (mips_arch): Declare.
7638 (TARGET_OPTIONS): Add -march and -mtune.
7639
7640 * config/mips/mips.c (mips_arch_string): New.
7641 (mips_arch): New.
7642 (override_options): Handle -march for codegen and -mtune
7643 for scheduling. Use mips_arch. Move tx39 target default here.
7644 (mips_parse_cpu): Move error message to override_options.
7645
7646 * config/mips/r3900.h (TARGET_DEFAULT): Remove.
7647
7648 * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
7649
7650 * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
7651 (MIPS Options): Ditto. Change mcpu entry to historical text.
7dac2f89
EC
7652
76532001-07-05 H.J. Lu (hjl@gnu.org)
7654
4e2db584
RH
7655 * config/mips/mips.c (mips_parse_cpu): New function to parse
7656 -march=*/-mcpu=*.
7dac2f89 7657
a2497896
JW
76582001-07-05 Jim Wilson <wilson@redhat.com>
7659
7660 * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
7661 * config/ia64/t-ia64: Likewise.
7662 (LIB1ASMFUNCS): Update comment.
7663
9da6e781
DE
76642001-07-05 David Edelsohn <edelsohn@gnu.org>
7665
7666 * doc/install.texi (Install GCC: Binaries): Fix typo.
7667
43a72755
SC
76682001-07-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
7669
7dac2f89
EC
7670 * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
7671 reference using the stack pointer, adjust it since we push Y
43a72755
SC
7672 temporarily.
7673 ("*ashrsi3"): Likewise.
7674 ("*lshrsi3"): Likewise.
7675
35f0a736
SC
76762001-07-05 Stephane Carrez <Stephane.Carrez@worldnet.fr>
7677
7678 * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
7679 when -fomit-frame-pointer is used.
7680
35428bb9
JO
76812001-07-05 Jeffrey Oldham <oldham@codesourcery.com>
7682
7683 * flow.c: Reverse Jan Hubicka's patch of 02July2001.
7684 (try_redirect_by_replacing_jump): Reverse updating properly the
7685 count and frequency information. Reverse removing cc0 setter.
7686 (forwarder_block_p): Reverse fixing for fallthru blocks.
7687
0259b07a
DD
76882001-07-05 DJ Delorie <dj@redhat.com>
7689
7690 * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
7691 (translate_options): If the above is defined, use it to map
7692 given options to new options.
7693 * doc/tm.texi: Document it.
7694
081ca317
BL
76952001-07-05 Brad Lucier <lucier@math.purdue.edu>
7696 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7697
7698 * doc/invoke.texi (Optimize Options): Document that -fgcse may
7699 cause programs using computed gotos to run more slowly.
7700
021c4bfd
RO
77012001-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7702
7703 * doc/install.texi (Specific): Markup, spelling and typo fixes.
7704 Fixed sorting.
7705 Consistently require binutils 2.11.2, not prereleases.
7706 (Specific, decstation-*): Canonicalize as mips-dec-*.
7707 (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
7708 always necessary.
7709 (Specific, m68k-altos): Removed reference to README.altos, deleted.
7710 (Specific, mips-*): Reword MIPS C compiler requirements.
7711 (Specific, powerpc*-*-*): New, mention --with-cpu once.
7712 (Specific, sunv5): Removed, obsolete.
7713
aafdcfcd
NS
77142001-07-05 Nathan Sidwell <nathan@codesourcery.com>
7715
7716 * dwarf2out.c (output_loc_list): Use an all ones mask for
7717 .text asm output and don't rely on long long
7718 literals. Reformat some long lines.
7719
6c7f693e
AJ
77202001-07-05 Andreas Jaeger <aj@suse.de>
7721
7722 * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
7723 section.
7724
cc260610
DB
77252001-07-04 Daniel Berlin <dan@cgsoftware.com>
7726
7727 * dwarf2out.c (dwarf2out_define): Update comment.
7728 (dwarf2out_undef): Ditto.
7729 (dwarf2out_start_source_file): Ditto.
7730 (dwarf2out_end_source_file): Ditto.
7731 (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
7732 since we never call the start/end debug hook for the primary file.
7733
cc32b876
KH
77342001-07-04 Kazu Hirata <kazu@hxi.com>
7735
7736 * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
7737 from shll.
7738
dbead49c
NS
77392001-07-04 Nathan Sidwell <nathan@codesourcery.com>
7740
7741 * cppinit.c (remove_dup_dirs): Inform if a system include
4e2db584 7742 directory is being reordered.
dbead49c
NS
7743 * doc/invoke.texi (Directory Options): GCC warns if you hide a
7744 system include.
7745 * doc/cpp.texi (Search Paths): Likewise.
7746 * doc/gcc.texi (Interoperation): Remove information about
7747 -I/usr/include.
7748
0cf97c8b
NS
77492001-07-04 Nathan Sidwell <nathan@codesourcery.com>
7750
7751 * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
7752 (VARRAY_TOP_CHAR_PTR): Likewise.
7753
bbed13b1
KG
77542001-07-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7755
7756 * gcc.c (process_command): Don't assign elements of a const char*.
7757
2b1b6bf9
RK
7758Wed Jul 4 13:40:02 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7759
7760 * emit-rtl.c (change_address): Don't abort if invalid address while
7761 reload is in progress.
7762
84a5b4f8
DB
77632001-07-04 Daniel Berlin <dan@cgsoftware.com>
7764
7765 * c-lex.c (cb_file_change): Pass line number to
6c7f693e 7766 debug_start_source_file.
84a5b4f8
DB
7767 (cb_undefine): Pass correct line number to debug_undef.
7768
7769 * toplev.c (debug_start_source_file): Add line number to
7770 parameters. Pass it along to dwarf2out_start_source_file.
7771 (decode_g_option): Stop resetting debug level back to normal when
7772 we change debug formats, unless the current level is
7773 none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
7774 3).
6c7f693e 7775
84a5b4f8
DB
7776 * toplev.h (debug_start_source_file): Add line number to
7777 parameters.
6c7f693e 7778
2b1b6bf9
RK
7779 * dwarf2out.h (dwarf2out_start_source_file): Add line number to
7780 parameters.
84a5b4f8
DB
7781
7782 * dwarf2out.c (dwarf2out_start_source_file): Add line number to
7783 parameters.
6c7f693e 7784 Output debug_macinfo data for starting file if requested.
84a5b4f8
DB
7785 (dwarf2out_end_source_file): Output debug_macinfo data for ending
7786 file if requested.
2b1b6bf9
RK
7787 (dwarf2out_define): Output debug_macinfo data for defining a macro
7788 if requested.
84a5b4f8
DB
7789 (dwarf2out_undef): Output debug_macinfo data for undefining a
7790 macro if requested.
7791 (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
7792 (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
7793 (macinfo_section_label): New. DWARF2 macro info section label.
7794 (dwarf2out_init): If we want macro info, output the start label
7795 for the section.
7796 (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
7797 attribute to the compilation unit die pointing to the macro info.
7798
77992001-07-04 Daniel Berlin <dan@cgsoftware.com>
7800
7801 * dwarf2out.c (new_loc_list): Move to inside #ifdef
7802 DWARF2_DEBUGGING_INFO.
7803 (add_loc_descr_to_loc_list): Ditto.
7804 (output_loc_list): Ditto.
7805 Also, fix thinko in curr not being initialized.
7806 (gen_internal_sym): Ditto.
6c7f693e 7807
792760b9
RK
7808Wed Jul 4 13:40:02 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7809
7810 * emit-rtl.c (replace_equiv_address): New function.
7811 * expr.h (replace_equiv_address): New declaration.
7812 * explow.c (validize_mem): Call it instead of change_address and
7813 also call if -fforce-addr and address is constant.
7814 * expr.c: Replace more calls to change_address with adjust_address
7815 and/or replace_equiv_address or to validize_mem.
7816 * function.c, regmove.c, config/alpha/alpha.c: Likewise.
7817 * config/arm/arm.md, config/clipper/clipper.md: Likewise.
7818 * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
7819 * config/i370/i370.md, config/i860/i860.md: Likewise.
7820 * config/i960/i960.md, config/mips/mips.c: Likewise.
7821 * config/mips/mips.md, config/pa/pa.md: Likewise.
7822 * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
7823 * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
7824
266aae9b
KG
78252001-07-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7826
7827 * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
7828
7829 * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
7830 function.
7831
0671eaf6
JM
78322001-07-04 Joseph S. Myers <jsm28@cam.ac.uk>
7833
7834 * doc/include: New directory.
7835 * doc/fdl.texi: Move to doc/include/fdl.texi.
7836 * doc/texinfo.tex: Move to doc/include/texinfo.tex.
7837 * doc/include/funding.texi, doc/include/gpl.texi: New files.
7838 * doc/gcc.texi: Use funding.texi and gpl.texi.
7839 * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
7840 $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
7841 Update dependencies and use -I $(docdir)/include.
7842
77b6797a
AG
78432001-07-04 Anthony Green <green@redhat.com>
7844
7845 * config/v850/t-v850 (v850-c.o): Add missing dependencies.
7846
e9d21442
GP
78472001-07-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7848
7849 * doc/install.texi (sparc64-*-*): Remove garbage.
7850
d2037d01
JM
7851Wed Jul 4 09:07:44 2001 Jan van Male <jan.vanmale@fenk.wau.nl>
7852
7853 * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
7854 Fix typo in last change to use adjust_address.
7855
37324a54
GP
78562001-07-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7857
7858 * doc/install.texi (Specific): Update information for *-*-solaris*.
7859
17ab7c59
RK
7860Tue Jul 3 22:33:15 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7861
7862 * explow.c (plus_constant_wide): Reinitialize Y for restart.
7863
70fb5453
SS
78642001-07-03 Stan Shebs <shebs@apple.com>
7865
0cf97c8b 7866 * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
70fb5453
SS
7867 case for flag_no_mach_text_sections.
7868 (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
0cf97c8b
NS
7869 * config/darwin.c (flag_no_mach_text_sections): Remove.
7870 * config/darwin-protos.h (darwin_init_pragma): Remove decl.
70fb5453 7871
b72f00af
RK
7872Tue Jul 3 15:35:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7873
7874 * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
7875 and avoid checking for constant as first operand.
7876 * recog.c (find_constant_term_loc): No longer static.
7877 (adj_offettable_operand): Delete.
7878 * rtl.h (adj_offsettable_operand): Delete declaration.
7879 (find_constant_term): Add declaration.
7880 * caller-save.c: Replace calls to adj_offsettable_operand with calls
7881 to adjust_address.
7882 * config/arm/arm.c, config/c4x/c4x.c: Likewise.
7883 * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
7884 * config/i386/i386.c, config/i386/i386.md: Likewise.
7885 * config/i860/i860.c, config/i960/i960.c: Likewise.
7886 * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
7887 * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
7888 * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
7889 * config/mips/mips.c, config/mips/mips.md: Likewise.
7890 * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
7891 * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
7892 * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
7893 * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
7894 * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
7895 * config/ns32k/ns32k.md: Likewise.
7896
3b324340
ZW
78972001-07-03 Zack Weinberg <zackw@stanford.edu>
7898
7899 * rtl.c (copy_rtx): Handle 'T' format letter.
7900 * gensupport.c (collect_insn_data): Likewise.
7901 * print-rtl.c (print_rtx): Print 'T' slots like 's'.
7902
bf4eebe0
NC
79032001-07-03 Nick Clifton <nickc@cambridge.redhat.com>
7904
7905 * doc/invoke.texi (Directory Options): Specifiy range for <N> in
7906 -B option. Use 'dir' not 'foo' as example directory name.
7907
c1911346
RO
79082001-07-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7909
7910 * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
7911 Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
7912
f89dec57
JM
79132001-07-03 Joseph S. Myers <jsm28@cam.ac.uk>
7914
7915 * doc/cppinternals.texi: Improve formatting and logical markup.
7916
5b7c7046
AJ
79172001-07-03 Andreas Jaeger <aj@suse.de>
7918
7919 * Makefile.in (insn-recog.o): Add dependency on reload.h.
7920
7921 * genrecog.c (write_header): Include reload.h for prototypes in
7922 insn-recog.c.
7923
f5f4be42
NB
79242001-07-03 Neil Booth <neil@daikokuya.demon.co.uk>
7925
7926config:
7927 * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
7928 VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
7929 * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
7930 i386_pe_valid_type_attribute_p): Add.
7931 * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
7932 * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
7933
ed8908e7
RK
7934Mon Jul 2 21:52:19 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7935
7936 * explow.c (plus_constant_wide, case LO_SUM): New case.
7937 (plus_constant_for_output_wide): Delete.
7938 * rtl.h (plus_constant_for_output): Delete.
7939 * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
7940 instead of plus_constant_for_output.
7941 * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
7942 * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
7943 * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
7944 * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
7945 * config/sparc/sparc.md: Likewise.
7946 Convert some change_address calls to adjust_address.
7947
aee96fe9
JM
79482001-07-03 Joseph S. Myers <jsm28@cam.ac.uk>
7949
7950 * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
7951 doc/rtl.texi, doc/tm.texi: Improve formatting. Improve
7952 documentation of -std and -Wwrite-strings.
7953
8bf4dfc2
GK
79542001-07-02 Geoffrey Keating <geoffk@redhat.com>
7955
7956 * cse.c (canon_hash): Don't register registers in very small
7957 register classes, as extending their lifetime might cause
7958 reload to fail.
7959
f8d1529b
JH
7960Mon Jul 2 23:14:00 CEST 2001 Jan Hubicka <jh@suse.cz>
7961
7962 * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
7963
7964 * flow.c (forwarder_block_p): Fix for fallthru blocks.
7965 (try_redirect_by_replacing_jump): Update properly the count
7966 and frequency information.
7967
0826f1d8
JL
7968Mon Jul 2 14:20:13 2001 Jeffrey A Law (law@cygnus.com)
7969
7970 * toplev.c (dump_file_index): Move SSA dumps just after first
7971 jump dump.
7972 (dump_file): Corresponding changes.
7973 (rest_of_compilation): Move SSA path to just after the first
7974 jump pass.
7975 * doc/gcc.texi (Passes): Update due to movement of SSA path.
7976 * doc/invoke.texi: Update dump file #s as they were completely
7977 out of date with reality.
7978
918a6124
GK
79792001-07-02 Geoffrey Keating <geoffk@redhat.com>
7980
7981 * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
7982
7983 * expr.c (emit_move_insn_1): Deal with non-default
7984 STACK_PUSH_CODE.
7985
7986 * expr.c (emit_single_push_insn): Fix warning.
7987
79882001-07-02 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
7989
7990 * expr.c (emit_move_insn_1): Avoid modifying
7991 cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
7992
f4ef873c
RK
7993Mon Jul 2 15:33:31 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7994
7995 * emit-rtl.c (adjust_address): New function.
7996 * expr.h (adjust_address): Add declaration.
7997 * builtins.c: Replace some calls to change_address with calls to it
7998 or to validize_mem.
7999 * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
8000 * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
8001 * config/arm/arm.c, config/convex/convex.c: Likewise.
8002 * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
8003 * config/i386/i386.c, config/i386/i386.md: Likewise.
8004 * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
8005 * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
8006 * config/m88k/m88k.c, config/mips/mips.md: Likewise.
8007 * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
8008 * config/sh/sh.c, config/sparc/sparc.md: Likewise.
8009
becbcf96
JW
80102001-07-02 Jim Wilson <wilson@redhat.com>
8011
8012 * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
8013
80142001-07-02 Steve Ellcey <sje@cup.hp.com>
8015
4e2db584
RH
8016 * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
8017 * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
becbcf96 8018
a01eb545
ZW
80192001-07-02 Zack Weinberg <zackw@stanford.edu>
8020
8021 * cppinit.c (lang_defaults): New table.
8022 (set_lang): Just read from lang_defaults into the live options
8023 structure.
8024
51817b10
ZW
80252001-07-02 Zack Weinberg <zackw@stanford.edu>
8026
8027 * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
8028 * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
8029 * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
8030
eea81d3e
RO
80312001-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8032
8033 * doc/install.texi: Various spelling and markup fixes.
8034 (Installing GCC): Component specific installation instructions are
8035 gone.
8036 Fix reference.
8037 Warn about removing old install dir in the presence of shared libs.
8038 (Configuration): Invoke with options target to match configure
8039 --help.
8040 Consistently refer to gas, gld pathnames.
8041 Invert --enable-multilib documentation.
8042 Remove references to old compiler versions.
8043
faf041ed
RK
8044Mon Jul 2 12:50:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8045
8046 * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
8047
213ba345
RO
80482001-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8049
8050 * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
8051 section.
8052 (Specific, mips*-sgi-irix5): Note IDO download.
8053 Reworded MIPS C hints.
8054 Use GNU as instead of GAS.
8055 Markup fixes.
8056 Removed SGI Freeware reference, IRIX 6 only.
8057 (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
8058 Note N64 library requirement/workaround.
8059 Update O32 hints.
8060 Complete list of structure passing bug victims.
8061
b9063b3d
GP
80622001-07-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8063
8064 * doc/install.texi: Remove CVS Id.
8065
766890e1
AJ
80662001-07-02 Andreas Jaeger <aj@suse.de>
8067
8068 * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
8069 (find_inherently_necessary): Remove unused variable.
8070
6be77748
NS
80712001-07-02 Nathan Sidwell <nathan@codesourcery.com>
8072
8073 * c-common.h (TDI_inlined): New ast dump phase.
8074 (dump_flag_name): New function.
8075 * c-dump.c (dump_files): Add inlined phase.
8076 (dump_flag_name): Define.
8077 * doc/invoke.texi (-fdump-ast-inlined): Document.
8078
3aa12a58
RK
8079Mon Jul 2 06:29:36 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8080
8081 * stor-layout.c (layout_decl): Revert change to handling of alignment
8082 in packed types.
8083
21266f81
RK
8084Sun Jul 1 11:53:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8085
8086 * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
8087 for FIELD_DECL.
8088
1cc5e432
GK
80892001-07-01 Geoffrey Keating <geoffk@redhat.com>
8090
8091 * doc/tm.texi (FUNCTION_ARG): Document that the last call
8092 is special.
8093
3746c4a2
NS
80942001-07-01 Nathan Sidwell <nathan@codesourcery.com>
8095
8096 * tlink.c (recompile_files): Remove COMPILER_PATH and
8097 LIBRARY_PATH from the environment.
8098
b8363a24
ZW
80992001-07-01 Zack Weinberg <zackw@stanford.edu>
8100
8101 * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
8102 RID_LAST_PQ. Move RID_FIRST_PQ down with the other FIRST/LAST
8103 enumerators.
8104 (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
8105
8106 * c-parse.in (OBJC_STRING): Kill.
8107 (objc_string): Decompose to [objc_string] '@' STRING.
8108 (reswords): Take the leading '@' off all the Objective C keywords.
8109 (objc_rid_sans_at): Kill.
8110 (init_reswords): Don't initialize it.
8111 (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
8112 (_yylex): Kill reconsider label. Look ahead one token after
8113 an '@'; if we get an identifier, check whether it's an
8114 Objective C @-keyword. If so, return the keyword. Otherwise,
8115 put back the token and return the '@' as a terminal.
8116
8117 * cpplib.c (lex_macro_node): Remove unnecessary check for
8118 leading '@' on identifier. Clarify control flow and commentary.
8119
be8ac49a
RK
8120Sun Jul 1 11:53:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8121
8122 * cse.c (new_label_ref): Variable deleted.
8123 (insert): Remove set of new_label_ref.
8124 (check_for_label_ref): New function.
8125 (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
8126
528aeb48 8127See ChangeLog.5 for earlier changes.
This page took 1.108169 seconds and 5 git commands to generate.