]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
* gnu/awt/xlib/XCanvasPeer.java (setVisible): Implement unmap.
[gcc.git] / gcc / ChangeLog
CommitLineData
b89e96ac
SB
12004-05-14 Steven Bosscher <stevenb@suse.de>
2
3 PR opt/14472
4 * tree-tailcall.c (process_assignment): Use STRIP_NOPS to
5 ignore type conversions that do not inhibit tail calling.
6 (find_tail_calls): Likewise.
7
14bc8dc2
JL
82004-05-14 Jeff Law <law@redhat.com>
9
10 * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Reorganize
11 so that it picks up more opportunities to eliminate ABS expressions
12 or turn them into negations.
13
e83f4801
SB
142004-05-14 Steven Bosscher <stevenb@suse.de>
15
16 * passes.c (rest_of_handle_null_pointer): Remove.
17 (rest_of_handle_cse): Don't call rest_of_handle_null_pointer.
18 (rest_of_compilation): Likewise.
19 * rtl.h (delete_null_pointer_checks): Remove prototype.
20 * gcse.c (rd_kill, rd_gen, reaching_defs, rd_out, ae_in, ae_out):
21 Remove declarations.
22 (get_bitmap_width, alloc_rd_mem, free_rd_mem, handle_rd_kill_set,
23 compute_kill_rd, compute_rd, alloc_avail_expr_mem,
24 free_avail_expr_mem, compute_ae_gen, expr_killed_p, compute_ae_kill,
25 expr_reaches_here_p, computing_insn, def_reaches_here_p,
26 can_disregard_other_sets, handle_avail_expr, classic_gcse,
27 one_classic_gcse_pass, invalidate_nonnull_info,
28 delete_null_pointer_checks_1, delete_null_pointer_checks,
29 expr_reached_here_p_work): Remove.
30 (gcse_main): Do not perform classic GCSE when optimizing for size.
31 (alloc_pre_mem, free_pre_mem): Don't touch ae_in and ae_out, they
32 are never used.
33
571325db
AP
342004-05-14 Andrew Pinski <pinskia@physics.uc.edu>
35
36 PR optimization/14466
37 * tree-complex.c (make_temp): Remove.
38 (gimplify_val): Replace make_temp with make_rename_temp
39 and add NULL as the second argument.
40 (expand_complex_div_wide): Likewise.
41 * tree-dfa.c (make_rename_temp): New function.
42 * tree-flow.h (make_rename_temp): Declare.
43 * tree-sra.c (make_temp): Remove.
44 (lookup_scalar): Replace make_temp with make_rename_temp.
45 (create_scalar_copies): Likewise.
46 * tree-ssa-phiopt.c (conditional_replacement): When we
47 get non gimple create a temporary variable to hold the
48 casted expression.
49
13c1cd82
PB
502004-05-14 Paul Brook <paul@codesourcery.com>
51
52 * stor-layout.c (update_alignment_for_field): Use
53 targetm.align_anon_bitfield.
54 * target-def.h (TARGET_ALIGN_ANON_BITFIELD): Define.
55 (TARGET_INITIALIZER): Use it.
56 * target.h (struct gcc_target): Add align_anon_bitfield.
57 * config/arm/arm.c (arm_align_anon_bitfield): New function.
58 (TARGET_ALIGN_ANON_BITFIELD): Define.
59 * doc/tm.texi: Document TARGET_ALIGN_ANON_BITFIELD.
60
90afe2c9
ZW
612004-05-13 Zack Weinberg <zack@codesourcery.com>
62
63 * tree.def (documentation): Remove mention of class 'b'.
64 (BLOCK): Now in class 'x'.
65 * c-common.c (verify_tree): Remove case 'b'.
66 * c-typeck.c (same_translation_unit_p): Change 'b' to 'x'.
67 * calls.c (calls_function_1): Control cannot get past the switch
68 when exp is a BLOCK.
69 * print-tree.c (print_node): Move code for class 'b' to the class
70 'c'/'x' switch, as case BLOCK.
71 * tree.c (tree_size, make_node_stat, tree_node_structure): Likewise.
72 (unsafe_for_reeval, substitute_placeholder_in_expr)
73 (stabilize_reference_1): Remove case 'b'.
74 * tree-browser.c (browse_tree): Change all tests for TREE_CODE_CLASS
75 of something being 'b' to tests for TREE_CODE of something being
76 BLOCK.
77 * tree-ssa-operands.c (get_expr_operands): Likewise.
78
eadf906f
DN
792004-05-13 Diego Novillo <dnovillo@redhat.com>
80
81 * tree-gimple.c: Rename from tree-simple.c.
82 * tree-gimple.h: Rename from tree-simple.h.
83 * c-gimplify.c: Rename from c-simplify.c
84 * Makefile.in, c-decl.c, gimple-low.c, gimplify.c,
85 langhooks.c, tree-alias-ander.c, tree-alias-common.c,
86 tree-complex.c, tree-dfa.c, tree-flow.h, tree-inline.c,
87 tree-into-ssa.c, tree-iterator.c, tree-mudflap.c,
88 tree-nested.c, tree-nomudflap.c, tree-outof-ssa.c, tree-sra.c,
89 tree-ssa-alias.c, tree-ssa-ccp.c, tree-ssa-copyrename.c,
90 tree-ssa-dce.c, tree-ssa-live.c, tree-ssa-pre.c, tree-ssa.c:
91 Update.
92
fc55c95e
RM
932004-05-14 Ranjit Mathew <rmathew@hotmail.com>
94
95 * doc/sourcebuild.texi: Mention libbanshee and libmudflap.
96
2b648957
AP
972004-05-13 Andrew Pinski <pinskia@physics.uc.edu>
98
6b9bee8e
AP
99 * tree-ssa.c (delete_tree_ssa): XFREE
100 bitmaps allocated with BITMAP_XMALLOC.
101
15342341
AP
102 * tree-ssa-pre.c (execute_pre): Free ephi_use_pool and
103 idfs_cache at the end of the function.
104
105 * tree-ssa-live.c (calculate_live_on_entry): Free saw_def
623f4556
AP
106 at the end of the function.
107
960076d9
AP
108 * tree-ssa-dce.c (perform_tree_ssa_dce): Free
109 el at the end of the function.
110
8b752086
AP
111 * tree-into-ssa.c (insert_phi_nodes_for): XFREE
112 bitmaps allocated with BITMAP_XMALLOC.
113
77e23325
AP
114 * loop-unswitch.c (unswitch_single_loop): Free bbs at
115 the end.
116
07a1f795
AP
117 * final.c (shorten_branches): Free uid_shuid before
118 reallocating it.
119
2b648957
AP
120 * bb-reoder.c (connect_traces): Free cold_traces at the end.
121
91581bcc
JL
1222004-05-13 Jeff Law <law@redhat.com>
123
02ea8d06
JL
124 * tree-ssa-live.c (calculate_live_on_entry): Ignore virtual
125 variables. Simplify slightly by using USE_OP/DEF_OP instead
126 of USE_OP_PTR/DEF_OP_PTR and dereferencing the result.
127
6c875a31
JL
128 * tree-into-ssa.c (compute_global_livein): Use EXECUTE_IF_SET_IN_BITMAP
129 rather than iterating through the blocks testing each bit in
130 livein to initialize the worklist.
131 (mark_def_sites): Remove useless checks of KILLS for virtual
132 operands.
133
91581bcc
JL
134 * tree-ssa-forwprop.c (record_single_argument_cond_exprs): Accept
135 new parameters for the statement and variable worklist as well
136 as a bitmap of interesting SSA_NAMEs. Walk over the statement
137 worklist recording interesting variables in the variable worklist
138 and bitmap. Handle casts between integral and boolean types.
139 (substitute_single_use_vars): Accept new parameters for the statement
140 and variable worklist. When a substitution is made add a new
141 entry to the statement worklist. Handle casts between integral
142 and boolean types.
143 (tree_ssa_forward_propagate_single_use_vars): Rework to pass
144 worklists to children. Iterate until the statement worklist
145 is empty.
146
0b87eff5
AP
1472004-05-13 Andrew Pinski <pinskia@physics.uc.edu>
148
520f0c48
AP
149 * tree-outof-ssa.c (rewrite_vars_out_of_ssa): Free map at
150 the end of the block.
151
f472590a
AP
152 * tree-into-ssa.c (def_blocks_free): XFREE bitmaps allocated
153 with BITMAP_XMALLOC.
154
d1f9044b
AP
155 * tree-ssa-alias.c (delete_alias_info): XFREE bitmaps allocated
156 with BITMAP_XMALLOC.
157
cfa4cb00
AP
158 * tree-ssa-dom.c (tree_ssa_dominator_optimize):
159 Free nonzero_vars at the end of the function.
160
0b87eff5
AP
161 * convert.c (convert_to_integer): Make a CONVERT_EXPR when there is a
162 need to generate code instead of a NOP_EXPR.
163
eb18fd8d
ILT
1642004-05-13 Ian Lance Taylor <ian@wasabisystems.com>
165
166 * gcc.c (default_compilers): Fill out initializers for new Fortran
167 entries.
168
d81d0bdd
PB
1692004-05-13 Paul Brook <paul@codesourcery.com>
170
171 * config/arm/arm.h (PCC_BITFIELD_TYPE_MATTERS): Define.
172
6b045785
PB
1732004-05-13 Paul Brook <paul@codesourcery.com>
174
175 * config/arm/arm.c (arm_default_short_enums): New function.
176 (TARGET_DEFAULT_SHORT_ENUMS): Define.
177
6de9cd9a
DN
1782004-05-13 Diego Novillo <dnovillo@redhat.com>
179
180 Merge from tree-ssa-20020619-branch.
181
182 * Makefile.in (reload1.o-warn): Add.
183 (tree-alias-ander.o-warn): Add.
184 (GMPLIBS): Define.
185 (GMPINC): Define.
186 (BANSHEELIB): Define.
187 (BANSHEEINC): Define.
188 (TREE_DUMP_H): Define.
189 (TREE_SIMPLE_H): Define.
190 (TREE_FLOW_H): Define.
191 (LIBDEPS): Add BANSHEELIB.
192 (INCLUDES): Add BANSHEEINC and GMPINC.
193 (C_AND_OBJC_OBJS): Add c-simplify.o, tree-mudflap.o,
194 c-mudflap.o and c-pretty-print.o.
195 (C_OBJS): Remove c-pretty-print.o.
196 (OBJS-common): Remove sibcall.o.
197 Add tree-cfg.o, tree-dfa.o, tree-eh.o,
198 tree-ssa.o, tree-optimize.o, tree-simple.o,
199 tree-alias-type.o, gimplify.o, tree-pretty-print.o,
200 tree-into-ssa.o, tree-outof-ssa.o, tree-alias-common.o,
201 tree-ssa-ccp.o, @ANDER@, tree-ssa-dce.o, tree-ssa-copy.o,
202 tree-nrv.o, tree-ssa-copyrename.o, tree-ssa-pre.o,
203 tree-ssa-live.o, tree-ssa-operands.o, tree-ssa-alias.o,
204 tree-ssa-phiopt.o, tree-ssa-forwprop.o, tree-nested.o,
205 tree-ssa-dse.o, tree-ssa-dom.o, domwalk.o,
206 tree-tailcall.o, gimple-low.o, tree-iterator.o,
207 tree-phinodes.o, tree-ssanames.o, tree-sra.o,
208 tree-complex.o, tree-ssa-loop.o, rtl-profile.o and
209 tree-profile.o.
210 (OBJC-archive): Add tree-nomudflap.o.
211 (cc1): Add dependency on @TREEBROWSER@.
212 (c-decl.o): Add dependency on TREE_DUMP_H.
213 (c-dump.o): Likewise.
214 (c-common.o): Add dependency on tree-iterator.h
215 (c-pretty-print.o): Add dependency on DIAGNOSTIC_H.
216 (gtype-desc.o): Add dependency on TREE_FLOW_H.
217 (tree.o): Add dependency on tree-iterator.h,
218 BASIC_BLOCK_H and TREE_FLOW_H.
219 (tree-dump.o): Depend on TREE_DUMP_H instead of tree-dump.h.
220 (langhooks.o): Add dependency on TREE_SIMPLE_H.
221 (tree-alias-type.o, tree-alias-ander.o,
222 tree-alias-common.o, tree-ssa.o, tree-into-ssa.o,
223 tree-outof-ssa.o, tree-ssa-dse.o, tree-ssa-forwprop.o,
224 tree-ssa-phiopt.o, tree-nrv.o, tree-ssa-copy.o,
225 tree-ssa-dom.o, tree-ssanames.o, tree-phinodes.o,
226 domwalk.o, tree-ssa-live.o, tree-ssa-copyrename.o,
227 tree-ssa-pre.o, tree-cfg.o, tree-tailcall.o,
228 tree-nested.o, tree-iterator.o, tree-dfa.o,
229 tree-ssa-operands.o, tree-eh.o, tree-ssa-loop.o,
230 tree-ssa-alias.o, tree-optimize.o, c-simplify.o,
231 gimplify.o, gimple-low.o, tree-browser.o, tree-simple.o,
232 tree-mudflap.o, c-mudflap.o, tree-nomudflap.o,
233 tree-pretty-print.o, tree-ssa-dce.o, tree-ssa-ccp.o,
234 tree-sra.o, tree-complex.o, tree-profile.o,
235 rtl-profile.o): New rules.
236 (function.o): Add dependency on basic-block.h
237 (expr.o): Add dependency on tree-iterator.h.
238 (sibcall.o): Remove.
239 (profile.o): Depend on TREE_FLOW_H instead of TREE_H.
240 (cfg.o): Add dependency on TIMEVAR_H.
241 (cfghooks.o): Add dependency on TREE_FLOW_H.
242 (reg-stack.o): Add dependency on basic-block.h.
243 (GTFILES): Add hwint.h, tree-mudflaph.c, tree-flow.h,
244 c-objc-common.c, c-common.c, c-parse.in, tree-ssanames.c,
245 tree-eh.c, tree-phinodes.c, tree-cfg.c, tree-dfa.c,
246 tree-ssa-ccp.c, tree-iterator.c, gimplify.c,
247 tree-alias-type.h, tree-alias-common.h,
248 tree-alias-type.c, tree-alias-common.c,
249 tree-ssa-operands.h, tree-ssa-operands.c, tree-profile.c,
250 rtl-profile.c and tree-nested.c.
251 (gt-tree-alias-common.h, gt-tree-mudflap.h,
252 gt-tree-ssa-ccp.h, gt-tree-eh.h, gt-tree-ssanames.h,
253 gt-tree-iterator.h, gt-gimplify.h, gt-tree-phinodes.h,
254 gt-tree-cfg.h, gt-tree-nested.h): New rules.
255 (TEXI_GCCINT_FILES): Add cfg.texi and tree-ssa.texi.
256 * basic-block.h: Include predict.h
257 (struct edge_def): Add GTY marker.
258 Change field 'insns' to be a union of tree and rtx.
259 (EDGE_TRUE_VALUE): Define.
260 (EDGE_FALSE_VALUE): Define.
261 (EDGE_EXECUTABLE): Define.
262 (struct bb_ann_d): Forward declare.
263 (struct basic_block_def): Add GTY marker.
264 Remove fields head_tree and end_tree.
265 Add fields stmt_list, rbi and tree_annotations.
266 (struct reorder_block_def): Define.
267 (basic_block_info): Add GTY marker.
268 (ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR): Change to global
269 variables instead of macros.
270 (flow_call_edges_add): Remove declaration.
271 (make_eh_edge): Remove declaration.
272 (brief_dump_cfg, find_edge, tree_predicted_by_p,
273 rtl_predicted_by_p, tree_predict_edge, rtl_predict_edge,
274 predict_edge_def, rtl_make_eh_edge, find_basic_blocks,
275 cleanup_cfg, delete_unreachable_blocks, merge_seq_blocks,
276 alloc_rbi_pool, initialize_bb_rbi, free_rbi_pool): Declare.
277 (try_redirect_by_replacing_jump): Modfiy return type to
278 edge instead of bool.
279 * bb-reorder.c (copy_bb): Call duplicate_block
280 instead of cfg_layout_duplicate_bb.
281 (copy_bb_p): Call can_duplicate_block_p instead of
282 cfg_layout_can_duplicate_bb_p.
283 * bitmap.c (bitmap_first_set_bit): Abort if word
284 wasn't found.
285 (bitmap_last_set_bit): Likewise.
286 * builtin-types.def (DEF_FUNCTION_TYPE_2): Add
287 (DEF_FUNCTION_TYPE_3): Add.
288 * builtins.c (c_strlen): Make extern.
289 (builtin_save_expr): New.
290 (expand_builtin_nonlocal_goto): New.
291 (expand_builtin_constant_p): Remove.
292 (expand_builtin_mathfn): Call builtin_save_expr instead
293 of save_expr.
294 (expand_builtin_mathfn_2): Likewise.
295 (expand_builtin_strcmp): Likewise.
296 (expand_builtin_strncmp): Likewise.
297 (expand_builtin_strcat): Likewise.
298 (fold_builtin_cabs): Likewise.
299 (expand_builtin_alloca): Don't trigger if -fmudflap is
300 given.
301 (build_string_literal): Set TREE_INVARIANT on new node.
302 (expand_builtin_profile_fun): New.
303 (round_trampoline_addr): New.
304 (expand_builtin_init_trampoline): New.
305 (expand_builtin_adjust_trampoline): New.
306 (expand_builtin) <BUILT_IN_NEXT_ARG>: Call simplify_builtin_next_arg.
307 <BUILT_IN_CONSTANT_P>: Return const0_rtx;
308 <BUILT_IN_STACK_ALLOC, BUILT_IN_STACK_SAVE,
309 BUILT_IN_STACK_RESTORE, BUILT_IN_NONLOCAL_GOTO,
310 BUILT_IN_PROFILE_FUNC_ENTER, BUILT_IN_PROFILE_FUNC_EXIT,
311 BUILT_IN_INIT_TRAMPOLINE, BUILT_IN_ADJUST_TRAMPOLINE>:
312 Handle.
313 (fold_builtin_expect): New.
314 (fold_builtin_isascii): Don't return non-constant results
315 in GIMPLE form.
316 (fold_builtin_isdigit): Likewise.
317 (fold_builtin_1): New.
318 (fold_builtin): Call it.
319 (build_function_call_expr): Update call to build a new
320 CALL_EXPR.
321 (purge_builtin_constant_p): Remove.
322 (simplify_builtin, simplify_builtin_memcmp,
323 simplify_builtin_strcmp, simplify_builtin_strncmp,
324 simplify_builtin_strpbrk, simplify_builtin_strstr,
325 simplify_builtin_strchr, simplify_builtin_strrchr,
326 simplify_builtin_strcat, simplify_builtin_strncat,
327 simplify_builtin_strspn, simplify_builtin_strcspn,
328 simplify_builtin_next_arg, simplify_builtin_va_start,
329 simplify_builtin_sprintf): New.
330 * builtins.def (BUILT_IN_STACK_ALLOC,
331 BUILT_IN_STACK_SAVE, BUILT_IN_STACK_RESTORE,
332 BUILT_IN_INIT_TRAMPOLINE, BUILT_IN_ADJUST_TRAMPOLINE,
333 BUILT_IN_NONLOCAL_GOTO, BUILT_IN_PROFILE_FUNC_ENTER,
334 BUILT_IN_PROFILE_FUNC_EXIT): Define.
335 * c-common.c: Include tree-iterator.h and hashtab.h.
336 (lang_statement_code_p): Declare.
337 (lang_gimplify_stmt): Declare.
338 (fix_string_type): Set TREE_INVARIANT for value.
339 (pointer_int_sum): Rely on build to set TREE_CONSTANT.
340 (c_type_hash): New.
341 (c_common_get_alias_set): Handle multiple type nodes
342 referring to "the same" type, currently for C90 only.
343 (c_add_case_label): Use create_artificial_label.
344 (finish_label_address_expr): Don't set TREE_CONSTANT on
345 result.
346 (c_expand_expr): Don't handle STMT_EXPR.
347 (handle_alias_attribute): Marke aliased variables to be
348 TREE_STATIC.
349 (handle_nonnull_attribute): Initialize arg_num.
350 (check_function_nonnull): Likewise.
351 (c_walk_subtrees): New.
352 (c_estimate_num_insns_1): Don't handle
353 EXPR_WITH_FILE_LOCATION nor FILE_STMT.
354 (c_decl_uninit_1): Remove.
355 (c_decl_uninit): Remove.
356 (c_warn_unused_result): New.
357 * c-common.def (ASM_STMT): Change number of operands
358 to 4.
359 (FILE_STMT): Remove.
360 * c-common.h (lang_expand_stmt, lang_expand_decl_stmt):
361 Remove.
362 (lang_gimplify_stmt): Add.
363 (expand_stmt): Remove.
364 (ASM_CV_QUAL, ASM_STRING, ASM_OUTPUTS, ASM_INPUTS,
365 ASM_CLOBBERS, STMT_EXPR_WARN_UNUSED_RESULT,
366 ASM_VOLATILE_P, FILE_STMT_FILENAME_NODE,
367 FILE_STMT_FILENAME, STMT_LINENO, STMT_LINENO_FOR_FN_P,
368 ASM_INPUT_P, DECL_C_HARD_REGISTER): Remove.
369 (genrtl_do_pushlevel, genrtl_goto_stmt, genrtl_expr_stmt,
370 genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
371 genrtl_while_stmt, genrtl_do_stmt, genrtl_return_stmt,
372 genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt,
373 genrtl_scope_stmt, genrtl_switch_stmt, genrtl_case_label,
374 genrtl_compound_stmt, genrtl_asm_stmt,
375 genrtl_cleanup_stmt, c_decl_uninit): Remove.
376 (c_do_switch_warnings, c_gimplify_expr, c_walk_subtrees,
377 c_tree_chain_matters_p, c_warn_unused_result,
378 c_genericize, c_gimplify_stmt, stmt_expr_last_stmt):
379 Declare.
380 * c-convert.c (convert): Make convert work when
381 converting to compatible types across translation unit.
382 * c-decl.c: Include langhooks.h, tree-mudflap.h,
383 tree-simple.h, diagnostic.h and tree-dump.h
384 (merge_decls): Initialize oldtype to NULL.
385 (finish_decl): Use DECL_HARD_REGISTER instead of
386 DECL_C_HARD_REGISTER.
387 (check_bitfield_type_and_width): Check for null
388 lang_type_specific when check the precision of an enum.
389 (grokdeclarator): Immediately layout an ARRAY_TYPE used
390 in a pointer-to-array declarator.
391 (finish_struct): Clear allocated struct lang_type.
392 (finish_enum): Set enum_min and enum_max. Set
393 TYPE_MIN/MAX_VALUE to the limits of the compatible type,
394 not to the enumerators.
395 (set_decl_nonlocal): New.
396 (store_parm_decls): Use it via walk_tree.
397 (c_finalize): New.
398 (finish_function): When !targetm.have_ctors_dtors,
399 record static constructors and destructors here...
400 (c_expand_body_1): ... not here.
401 (c_expand_decl): Rename from c_expand_decl_stmt.
402 Handle all C-specific expansion semantics.
403 * c-dump.c (dump_stmt): Use EXPR_LOCUS instead of
404 STMT_LINENO.
405 * c-format.c (handle_format_arg_attribute): Initialize
406 format_num.
407 * c-lang.c: Include tree-inline.h
408 (LANG_HOOKS_EXPAND_DECL,
409 LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P,
410 LANG_HOOKS_TREE_INLINING_WALK_SUBTREES,
411 LANG_HOOKS_TREE_INLINING_TREE_CHAIN_MATTERS_P,
412 LANG_HOOKS_GIMPLIFY_EXPR, LANG_HOOKS_TYPES_COMPATIBLE_P): Define.
413 (LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_STMT,
414 LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): Remove.
415 (c_types_compatible_p): New.
416 * c-mudflap.c: New file.
417 * c-objc-common.c: Include tree-mudflap.h
418 (start_cdtor, finish_cdtor): Collapse
419 together into
420 (build_cdtor): ...here. Update to construct a complete tree
421 for the function. No need to call push_scope, pop_scope, or
422 clear_last_expr, or set current_function_cannot_inline.
423 (c_missing_noreturn_ok_p): Change prototype to return
424 bool.
425 (c_objc_common_init): Don't set lang_missing_noreturn_ok_p.
426 * c-opts.c (c_common_handle_option): Move handling of -fdump- to
427 opts.c.
428 (c_common_post_options): Don't ever use rtl inlining.
429 * c-parse.in: Use EXPR_LOCUS instead of STMT_LINENO.
430 * c-pragma.c (handle_pragma_redefine_extname): Define
431 always.
432 (init_pragma): Activate #pragma redefine_extname for mudflap.
433 * c-pretty-print.c (pp_c_statement): Remove FILE_STMT.
434 (pp_c_initializer): Accept any type CONSTRUCTOR.
435 (pp_c_initializer_list): Fix code expectations for VECTOR_TYPE and
436 COMPLEX_TYPE.
437 (decl_name_str): New local function.
438 (pp_c_direct_declarator): Call it.
439 (pp_c_primary_expression): Call it.
440 (pp_c_id_expression): Call it.
441 (pp_c_statement): Call it.
442 (print_c_tree): Create new pp object.
443 * c-pretty-print.h (pp_c_tree_decl_identifier,
444 print_c_tree): Declare.
445 * c-semantics.c: Include langhooks.h
446 (lang_expand_stmt, lang_expand_decl_stmt,
447 find_reachable_label_1, find_reachable_label,
448 expand_unreachable_if_stmt, expand_unreachable_stmt,
449 genrtl_do_stmt_1): Remove.
450 (begin_stmt_tree): Don't check for changed filename.
451 Call annotate_with_locus.
452 (finish_stmt_tree): Don't set line for end of function.
453 (build_stmt): Don't check type nodes for
454 side effects.
455 (build_stmt): Set TREE_SIDE_EFFECTS.
456 Set EXPR_LOCUS instead of STMT_LINENO.
457 (lang_expand_stmt, lang_expand_decl_stmt,
458 expand_cond, genrtl_do_pushlevel, genrtl_goto_stmt, genrtl_expr_stmt,
459 genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
460 genrtl_while_stmt, genrtl_do_stmt_1, genrtl_do_stmt,
461 genrtl_return_stmt, genrtl_for_stmt, genrtl_break_stmt,
462 genrtl_continue_stmt, genrtl_scope_stmt, genrtl_switch_stmt,
463 genrtl_case_label, genrtl_compound_stmt, genrtl_asm_stmt,
464 genrtl_cleanup_stmt, expand_stmt, find_reachable_label,
465 find_reachable_label_1, expand_unreachable_if_stmt,
466 expand_unreachable_stmt): Remove.
467 (prep_stmt): Use EXPR_LOCUS instead of STMT_LINENO.
468 * c-simplify.c: New file.
469 * c-tree.h (C_LANG_TREE_NODE_CHAIN_NEXT): Define.
470 (struct lang_type): Add fields enum_min and enum_max.
471 (c_expand_decl_stmt, c_missing_noreturn_ok_p): Remove.
472 (c_expand_decl, c_missing_noreturn_ok_p,
473 c_types_compatible_p): Declare.
474 * c-typeck.c (tagged_types_tu_compatible_p): Allow for
475 compiler-generated TYPE_DECLs without a DECL_ORIGINAL_TYPE.
476 (default_function_array_conversion): Rely on build to
477 set TREE_CONSTANT.
478 (parser_build_binary_op, pointer_diff): Likewise.
479 (build_unary_op, build_binary_op): Likewise.
480 (build_array_ref):
481 (build_external_ref): Set TREE_INVARIANT.
482 (build_c_cast, pop_init_level): Likewise.
483 (process_init_element): Use ASM_VOLATILE_P.
484 (build_asm_expr): Adapt to GENERIC/GIMPLE syntax.
485 (c_finish_case): Call c_do_switch_warnings.
486 * c.opt (fdump-): Remove.
487 * calls.c (try_to_integrate): Remove.
488 (prepare_call_address): Replace fndecl arg with a
489 precomputed static chain value.
490 (emit_call_1): New argument for full call expr.
491 (flags_from_decl_or_type): Call special_function_p.
492 (initialize_argument_information): Add argument
493 may_tailcall.
494 (purge_reg_equiv_notes): New.
495 (expand_call): Do not try to expand calls inline.
496 (fixup_tail_calls): New.
497 * cfg.c: Include timevar.h and ggc.h.
498 (bb_pool, edge_pool): Remove.
499 (ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR): Declare.
500 (entry_exit_blocks): Remove.
501 (rbi_pool): Declare.
502 (init_flow): Do not create pools.
503 Allocate entry/exit block.
504 (free_edge, alloc_block, expunge_block, unchecked_make_edge): Use GGC.
505 (alloc_rbi_pool, free_rbi_pool, initialize_bb_rbi): New.
506 (unlink_block): Clear b->prev_bb and b->next_bb.
507 (compact_blocks): Clear all slots of BASIC_BLOCK array.
508 (dump_flow_info): Work on trees too.
509 (dump_cfg_bb_info): New.
510 (brief_dump_cfg): New.
511 * cfganal.c (need_fake_edge_p, flow_call_edges_add): Remove.
512 (find_edge): New.
513 * cfgbuild.c (rtl_make_eh_edge): Rename from
514 make_eh_edge. Update all users.
515 (find_basic_blocks): Don't call VARRAY_FREE on
516 basic_block_info.
517 * cfgcleanup.c (outgoing_edges_match): Initialize newpos1
518 and newpos2.
519 (delete_unreachable_blocks): Return changed status.
520 (merge_seq_blocks): New.
521 * cfghooks.c: Include tree-flow.h
522 (tree_register_cfg_hooks, ir_type): New.
523 (redirect_edge_and_branch): Change return type to edge.
524 (predict_edge, predicted_by_p, can_duplicate_block_p,
525 duplicate_block, block_ends_with_call_p,
526 block_ends_with_condjump_p, flow_call_edges_add): New.
527 * cfghooks.h (redirect_edge_and_branch): Change return
528 type to edge.
529 (predict_edge, predicted_by_p, can_duplicate_block_p,
530 duplicate_block, block_ends_with_call_p,
531 block_ends_with_condjump_p, flow_call_edges_add): Declare.
532 (redirect_edge_and_branch): Change return type to edge.
533 (struct cfg_hooks): Add fields block_ends_with_call_p,
534 block_ends_with_condjump_p, flow_call_edges_add,
535 predict_edge, predicted_by_p, can_duplicate_block_p and
536 duplicate_block.
537 (tree_cfg_hooks, ir_type, tree_register_cfg_hooks): Declare.
538 * cfglayout.c (cfg_layout_pool, cfg_layout_initialize_rbi): Removed.
539 (fixup_reorder_chain): Use initialize_bb_rbi.
540 (cfg_layout_can_duplicate_bb_p, cfg_layout_duplicate_bb): Hookized.
541 (cfg_layout_initialize): Use cfg.c rbi pool manipulation functions.
542 (can_copy_bbs_p, copy_bbs): Use cfghooks for bb duplication.
543 (insn_locators_initialize): Use new info about blocks.
544 * cfglayout.h (typedef struct reorder_block_def): Moved to
545 basic_block.h.
546 (cfg_layout_can_duplicate_bb_p, cfg_layout_duplicate_bb): Declaration
547 removed.
548 * cfgloop.c: Include tree.h and tree-flow.h.
549 * cfgloop.h (create_loop_notes): Declare.
550 * cfgloopmanip.c (create_loop_notes): New.
551 * cfgrtl.c (cfg_layout_create_basic_block): Use initialize_bb_rbi.
552 (rtl_cfg_hooks, cfg_layout_rtl_cfg_hook): Fill in can_duplicate_block_p
553 and duplicate_block fields.
554 (create_basic_block_structure): Don't look at
555 RTX_INTEGRATED_P.
556 (rtl_block_ends_with_call_p): New.
557 (rtl_block_ends_with_condjump_p): New.
558 (need_fake_edge_p): Moved from cfganal.c.
559 (rtl_flow_call_edges_add): Moved from cfganal.c (flow_call_edges_add).
560 (rtl_cfg_hooks): Add rtl_block_ends_with_call_p,
561 rtl_block_ends_with_condjump_p, rtl_flow_call_edges_add.
562 (cfg_layout_rtl_cfg_hooks): Ditto.
563 * cgraph.c (cgraph_mark_reachable_node): Don't force nested
564 functions to be reachable.
565 * cgraphunit.c (decide_is_function_needed):
566 * cgraphunit.c (decide_is_function_needed): Nested functions of extern
567 inline functions don't need to be output.
568 (cgraph_assemble_pending_functions): Don't do anything
569 special for nested functions.
570 (cgraph_mark_functions_to_output): Likewise.
571 (cgraph_finalize_function): Don't zap DECL_STRUCT_FUNCTION.
572 (cgraph_analyze_function): Use estimate_num_insns.
573 (cgraph_mark_functions_to_output): Likewise.
574 (cgraph_estimate_growth, cgraph_clone_inlined_nodes): Likewise.
575 (cgraph_expand_function): Allow functions to not be
576 emitted.
577 (cgraph_remove_unreachable_nodes):
578 (cgraph_recursive_inlining_p): Simplify.
579 (lookup_recursive_calls,
580 cgraph_decide_recursive_inlining): New.
581 (cgraph_decide_inlining_*): Update calls of
582 cgraph_mark_inline.
583 * combine.c (get_pos_from_mask): Always set *plen.
584 * common.opt (fdump-, fmudflap, fmudflapth, fmudflapir,
585 ftree-based-profiling, ftree-ccp, ftree-ch,
586 ftree-combine-temps, ftree-copyrename, ftree-dce,
587 ftree-dominator-opts, ftree-dse, ftree-loop-optimize,
588 ftree-points-to, ftree-pre, ftree-sra, ftree-ter,
589 ftree-lrs): Add.
590 * config.in (HAVE_LD_PIE, HAVE_BANSHEE, PREFIX_INCLUDE_DIR):
591 Undefine.
592 * configure.ac: Add --enable-tree-browser option.
593 Add --with-libbanshee option.
594 Add GMPLIBS and GMPINC.
595 * configure: Regenerate.
596 * coverage.c (tree_ctr_tables): New.
597 (coverage_counter_alloc): Use it.
598 (build_ctr_info_value): Ditto.
599 (coverage_counter_ref): Ditto. Rename to rtl_coverage_counter_ref.
600 (tree_coverage_counter_ref): New.
601 * coverage.h (coverage_counter_ref): Remove declaration.
602 (rtl_coverage_counter_ref): Declare.
603 (tree_coverage_counter_ref): Declare.
604 * cppexp.c (append_digit): Rearrange unsignedp/overflow setting.
605 (eval_token, num_binary_op, num_part_mul, num_div_op): Likewise.
606 * cse.c (fold_rtx): Do not handle CONSTANT_P_RTX.
607 (struct cse_basic_block_data): Rename enum values to not
608 conflict with profile.h; update all uses.
609 * dbxout.c (dbxout_symbol_location): Don't mention integrate.c
610 in comments.
611 * defaults.h (TRAMPOLINE_ALIGNMENT): Move from function.c.
612 * diagnostic.h (debug_output_buffer, dump_generic_node,
613 print_generic_stmt, print_generic_stmt_indented,
614 print_generic_expr, print_generic_decl,
615 debug_generic_expr, debug_generic_stmt, debug_c_tree):
616 Declare.
617 * dominance.c: Cache immediate dominators.
618 * domwalk.c: New file.
619 * domwalk.h: New file.
620 * dwarf2out.c (is_fortran): Support DW_LANG_Fortran95.
621 (gen_subprogram_die): Generate a DIE for a named
622 return value.
623 (loc_descriptor_from_tree): Treat RESULT_DECL like VAR_DECL.
624 (add_location_or_const_value_attribute): Likewise.
625 (add_bound_info): Likewise.
626 (gen_decl_die): Likewise.
627 * emit-rtl.c (maybe_set_first_label_num): New.
628 (copy_most_rtx): Don't copy the integrated flag.
629 Copy the new return_val flag.
630 * et-forest.c (MAX_NODES): Define.
631 (record_path_before_1): Abort if len is greater than
632 MAX_NODES.
633 * except.c (gen_eh_region, gen_eh_region_cleanup, gen_eh_region_try,
634 gen_eh_region_catch, gen_eh_region_allowed,
635 gen_eh_region_must_not_throw, get_eh_region_number,
636 get_eh_region_may_contain_throw, get_eh_region_tree_label,
637 set_eh_region_tree_label, expand_resx_expr): New.
638 (expand_eh_region_start, expand_start_catch): Use them.
639 (expand_end_catch): Tidy.
640 (note_eh_region_may_contain_throw): Take region argument.
641 (note_current_region_may_contain_throw): New.
642 (get_exception_filter): Export.
643 (collect_eh_region_array): Export.
644 (remove_unreachable_regions): Check ERT_TRY based on reachability
645 of catches, not reachability of continue_label. Never remove
646 ERT_MUST_NOT_THROW regions.
647 (collect_rtl_labels_from_trees): New.
648 (convert_from_eh_region_ranges): Use it.
649 (connect_post_landing_pads): Handle dying cleanups.
650 (struct reachable_info): Add callback data.
651 (add_reachable_handler): Invoke the callback.
652 (foreach_reachable_handler): New.
653 (reachable_handlers): Use it.
654 (arh_to_landing_pad, arh_to_label): New.
655 (can_throw_internal_1): Split out from can_throw_internal.
656 (can_throw_external_1): Similarly.
657 * except.h: Update.
658 * explow.c (emit_stack_save): Remove savearea mode check.
659 (update_nonlocal_goto_save_area): New.
660 (allocate_dynamic_stack_space): Use it.
661 (probe_stack_range): Never emit loop notes.
662 * expmed.c (extract_fixed_bit_field): Always propagate the
663 target for the shift if it is a REG.
664 * expr.c: Include tree-iterator.h
665 (is_zeros_p): Remove.
666 (categorize_ctor_elements_1, categorize_ctor_elements): New.
667 (count_type_elements): New.
668 (mostly_zeros_p): Use them.
669 (expr_wfl_stack): Remove.
670 (convert_move): Do nothing if to and from are the same.
671 (emit_block_move_via_loop): Don't emit LOOP notes.
672 (emit_move_insn): Don't handle CONSTANT_P_RTX.
673 (emit_move_insn_1): Don't generate inline warnings.
674 (expand_vars, expand_var): Split from ...
675 (expand_expr_1): ... here.
676 (expand_expr_real, expand_expr_real_1): Use new macros
677 EXPR_LOCATION and EXPR_HAS_LOCATION.
678 * expr.h (simplify_builtin_fputs,
679 simplify_builtin_strcpy, simplify_builtin_strncpy,
680 expand_var, fixup_tail_calls,
681 update_nonlocal_goto_save_area): Declare.
682 (lookup_static_chain, expand_inline_function,
683 mark_seen_cases): Remove.
684 (prepare_call_address): Change type of 2nd argument to
685 rtx.
686 * final.c (profile_function): Update static chain test.
687 (final): Don't look at RTX_INTEGRATED_P.
688 * flags.h (flag_mudflap, flag_mudflap_threads,
689 flag_mudflap_ignore_reads, flag_tree_pre, flag_tree_ccp,
690 flag_tree_dce, flag_tree_combine_temps,
691 flag_tree_live_range_split, flag_tree_dom, flag_tree_ch,
692 flag_tree_dse, flag_tree_sra, flag_tree_copyrename,
693 flag_tree_points_to): Declare.
694 (enum pta_type): Declare.
695 * flow.c (lang_missing_noreturn_ok_p): Remove.
696 (check_function_return_warnings): Remove.
697 (update_life_info): Update comments.
698 (free_basic_block_vars): Don't call VARRAY_FREE for
699 basic_block_info.
700 (regno_uninitialized): Remove.
701 * fold-const.c (int_const_binop): Make extern.
702 (non_lvalue): Rely on build to set TREE_CONSTANT.
703 (operand_equal_p): Replace only_const argument with
704 flags. Allow pure functions if OEP_PURE_SAME.
705 (fold): Use OEP_ONLY_CONST.
706 (invert_truthvalue) <NOP_EXPR> Break if argument is of
707 boolean type.
708 (fold_relational_hi_lo,
709 nondestructive_fold_binary_to_constant,
710 nondestructive_fold_unary_to_constant,
711 fold_read_from_constant_string): New.
712 * function.c (struct function): Remove calls_constant_p.
713 (current_function_calls_constant_p): Remove.
714 (inline_function_decl): Remove.
715 (put_var_into_stack): Don't use it.
716 (fix_lexical_addr): Likewise.
717 (inline_function_decl): Remove extern declaration.
718 (TRAMPOLINE_ALIGNMENT): Move to defaults.h.
719 (trampolines_created): Move to varasm.c.
720 (free_after_compilation): Update for removed fields.
721 (allocate_struct_function): Likewise.
722 (delete_handlers, lookup_static_chain): Remove.
723 (fix_lexical_addr): Don't consider non-local variable refs.
724 (trampoline_address): Remove.
725 (round_trampoline_addr): Move to builtins.c.
726 (adjust_trampoline_addr): Remove.
727 (expand_function_start): Update for changes to static chain
728 and nonlocal goto handling.
729 (initial_trampoline): Move to varasm.c.
730 (expand_function_end): Don't build trampolines or kill
731 unreferenced nonlocal goto labels.
732 (free_after_compilation): Don't set it.
733 (expand_function_end): Likewise.
734 (setjmp_vars_warning): Rename from
735 uninitialized_vars_warning, remove uninitialized vars warning.
736 (uninitialized_vars_warning): Remove old comment
737 and check for DECL_INITIAL, replace with a check of TREE_NO_WARNING
738 and do not call the langhook.
739 (expand_function_start, expand_function_end): Don't do
740 function instrumentation here.
741 (clear_block_marks): Rename from reorder_blocks_0, export.
742 (blocks_nreverse): Export.
743 (uninitialized_vars_warning): Use DECL_RTL_SET_P to test for presence
744 of rtl.
745 (reset_block_changes, record_block_change, finalize_block_changes,
746 check_block_change, free_block_changes): New functions.
747 (assign_parms): Setting of current_function_stdarg
748 moved ...
749 (allocate_struct_function): ... here.
750 * function.h (struct function): Remove x_nonlocal_labels,
751 x_nonlocal_goto_handler_slots, x_nonlocal_goto_stack_level,
752 x_context_display, x_trampoline_list, needs_context.
753 Add static_chain_decl, nonlocal_goto_save_area.
754 (struct function): Remove x_clobber_return_insn.
755 Add tail_call_emit field, last_label_uid,
756 unexpanded_var_list, dont_emit_block_notes,
757 ib_boundaries_block, function_end_locus and saved_tree/saved_args.
758 (clear_block_marks): Declare.
759 * gcc.c (MFWRAP_SPEC, MFLIB_SPEC): Add -fmudflapth support.
760 (mfwrap_spec, mflib_spec): Declare.
761 (cpp_unique_options, cc1_options): Ditto.
762 (default_compilers): Add .F and .f90.
763 (static_specs): Add mfwrap and mflib.
764 * gcse.c (want_to_gcse_p, gcse_constant_p): Don't handle
765 CONSTANT_RTX_P.
766 (reg_used_on_edge, reg_killed_on_edge, bypass_block):
767 Update to match insns field in struct edge_def.
768 * gdbinit.in (pgs, pge): Define.
769 * genattrtab.c (ATTR_PERMANENT_P): Use the return_val flag
770 instead of the integrated flag.
771 * gengtype-lex.l (IWOrD): Add HOST_WIDEST_INT
772 * gengtype-yacc.y (bitfieldlen): Add empty action.
773 (struct_fields): Accept unnamed bitfields.
774 (bitfieldlen): Split from ...
775 (bitfieldopt): ... here.
776 * gengtype.c (ifiles): Add tree-alias-type.h and
777 tree-flow.h.
778 * genrecog.c (validate_pattern): Do not handle
779 CONSTANT_P_RTX.
780 * gimple-low.c: New file.
781 * gimplify.c: New file.
782 * haifa-sched.c (priority): Do not handle CONSTANT_P_RTX.
783 (restore_line_notes): Do not set RTX_INTEGRATED_P.
784 * ifcvt.c (dead_or_predicable): Initialize local variable
785 'earliest'.
786 * input.h (expr_wfl_stack): Remove.
787 * integrate.c (INTEGRATE_THRESHOLD): Remove.
788 (setup_initial_hard_reg_value_integration): Likewise.
789 (initialize_for_inline): Likewise.
790 (note_modified_parmregs): Likewise.
791 (integrate_parm_decls): Likewise.
792 (process_reg_param): Likewise.
793 (save_parm_insns): Likewise.
794 (copy_insn_list): Likewise.
795 (copy_insn_notes): Likewise.
796 (compare_blocks): Likewise.
797 (find_block): Likewise.
798 (inlining): Likewise.
799 (function_cannot_inline_p): Likewise.
800 (parmdecl_map): Likewise.
801 (in_nonparam_insns): Likewise.
802 (save_for_inline): Likewise.
803 (FIXED_BASE_PLUS): Likewise.
804 (expand_inline_function): Likewise.
805 (copy_rtx_and_substitute): Don't look at map->integrating,
806 map->inline_target, and inlining, since we are never copying
807 for integrating.
808 Don't abort on RTX_INTEGRATED_P.
809 (old_fun): Remove.
810 (output_inline_function): Remove.
811 * integrate.h (struct inline_map): Remove fields integrating,
812 block_map, leaf_reg_map, inline_target, and local_return_label.
813 * jump.c (next_nonnote_insn_in_loop, duplicate_loop_exit_test,
814 copy_loop_headers, never_reached_warning): Removed.
815 (any_uncondjump_p): Reject nonlocal goto.
816 * langhooks-def.h (lhd_types_compatible_p,
817 lhd_expand_decl, lhd_gimplify_expr): Declare.
818 (LANG_HOOKS_EXPAND_DECL, LANG_HOOKS_TYPES_COMPATIBLE_P,
819 LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P,
820 LANG_HOOKS_FUNCTION_LEAVE_NESTED,
821 LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P,
822 LANG_HOOKS_GIMPLIFY_EXPR,
823 LANG_HOOKS_GIMPLE_BEFORE_INLINING,
824 LANG_HOOKS_EXPAND_DECL, LANG_HOOKS_TYPES_COMPATIBLE_P,
825 LANG_HOOKS_GIMPLIFY_EXPR,
826 LANG_HOOKS_GIMPLE_BEFORE_INLINING): Define.
827 (LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_START,
828 LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END,
829 LANG_HOOKS_FUNCTION_LEAVE_NESTED,
830 LANG_HOOKS_RTL_EXPAND_INITIALIZER,
831 LANG_HOOKS_DECL_UNINIT,
832 LANG_HOOKS_RTL_EXPAND_INITIALIZER): Remove.
833 * langhooks.c: Include tree-simple.h.
834 (lhd_expand_decl): New.
835 (lhd_types_compatible_p): New.
836 (lhd_decl_uninit): Remove.
837 (lhd_gimplify_expr): New.
838 * langhooks.h (struct lang_hooks_for_rtl_expansion):
839 Remove.
840 (struct lang_hooks_for_functions): Add field
841 missing_noreturn_ok_p.
842 (struct lang_hooks): Add field expand_decl,
843 types_compatible_p, gimplify_expr and
844 gimple_before_inlining.
845 Remove fields decl_uninit and rtl_expand
846 * opts.c (decode_options): Set flag_tree_ccp,
847 flag_tree_dce, flag_tree_dom, flag_tree_dse,
848 flag_tree_pre, flag_tree_ter,
849 flag_tree_live_range_split, flag_tree_sra,
850 flag_tree_copyrename and flag_tree_ch at -O1 and higher.
851 (common_handle_option): Handle OPT_fdump_, OPT_fmudflap,
852 OPT_fmudflapth, OPT_fmudflapir,
853 OPT_ftree_based_profiling, OPT_ftree_ccp, OPT_ftree_dce,
854 OPT_ftree_combine_temps, OPT_ftree_ter, OPT_ftree_lrs,
855 OPT_ftree_dominator_opts, OPT_ftree_copyrename,
856 OPT_ftree_ch, OPT_ftree_dse, OPT_ftree_sra,
857 OPT_ftree_points_to_ and OPT_ftree_pre.
858 * output.h (regno_uninitialized, find_basic_blocks,
859 cleanup_cfg, delete_unreachable_blocks,
860 check_function_return_warnings): Remove.
861 * params.def (PARAM_MAX_INLINE_INSNS_RECURSIVE,
862 PARAM_MAX_INLINE_INSNS_RECURSIVE_AUTO,
863 PARAM_MAX_INLINE_RECURSIVE_DEPTH,
864 PARAM_MAX_INLINE_RECURSIVE_DEPTH_AUTO,
865 PARAM_GLOBAL_VAR_THRESHOLD, PARAM_MAX_ALIASED_VOPS):
866 * params.h (GLOBAL_VAR_THRESHOLD, MAX_ALIASED_VOPS):
867 Define.
868 * passes.c (rest_of_decl_compilation):
869 (rest_of_handle_sibling_calls): Remove.
870 (rest_of_handle_inlining): Remove.
871 (rest_of_handle_gcse): Do not run
872 purge_builtin_constant_p.
873 (rest_of_compilation): Update.
874 Do not call copy_loop_headers.
875 Do rtl-based profiling only when
876 !flag_tree_based_profiling. Register rtl-based profiling
877 hooks.
878 * predict.c: Include tree-flow.h, ggc.h, tree-dump.h
879 (predicted_by_p): Rename to ...
880 (rtl_predicted_by_p): .. this one; make global
881 (tree_predicted_by_p): New.
882 (dump_prediction): Add FILE argument.
883 (predict_edge): Rename to ...
884 (rtl_predict_edge): .. this one.
885 (tree_predict_edge): New.
886 (combine_predictions_for_insn): Update calls of predict_edge.
887 (predict_loops): Break out from ...
888 (estimate_probability): ... here; update comments; move updating
889 of unknown probabilities from ...
890 (estimate_bb_frequencies): ... here.
891 (combine_predictions_for_bb): New.
892 (tree_predict_by_opcode): New.
893 (tree_estimate_probability): New.
894 * predict.def (PRED_TREE_POINTER, PRED_TREE_OPCODE_POSITIVE,
895 PRED_TREE_OPCODE_NONEQUAL, PRED_TREE_FPOPCODE): New predictors.
896 * predict.h: Add include guard.
897 (predict_edge, predict_edge_def): Move prototypes to basic_block.h
898 * pretty-print.c (pp_write_text_to_stream): Make extern.
899 * pretty-print.h (pp_write_text_to_stream): Declare.
900 * print-rtl.c (print_rtx): Don't print the integrated flag.
901 Print the return_val flag.
902 * print-tree.c: Use TREE_FILENAME and TREE_LINENO instead
903 of DECL_SOURCE_FILE and DECL_SOURCE_LINE respectively.
904 Remove support for EXPR_WITH_FILE_LOCATION nodes.
905 (print_node): Print TREE_INVARIANT and TREE_VISITED.
906 * profile.c: Include cfghooks.h, tree-flow.h.
907 (profile_hooks): New.
908 (profile_dump_file): New.
909 (instrument_edges): Use hooks instead of RTL-specific code.
910 (instrument_values): Ditto.
911 (get_exec_counts): Ditto.
912 (compute_branch_probabilities): Ditto.
913 (compute_value_histograms): Ditto.
914 (branch_prob): Ditto.
915 (find_spanning_tree): Ditto.
916 (end_branch_prob): Ditto.
917 (gen_edge_profiler): Move to rtl-profile.c (rtl_gen_edge_profiler).
918 (gen_interval_profiler): Ditto (rtl_gen_interval_profiler).
919 (gen_pow2_profiler): Ditto (rtl_gen_pow2_profiler).
920 (gen_one_value_profiler): Ditto (rtl_gen_one_value_profiler).
921 (tree_register_profile_hooks): New.
922 (rtl_register_profile_hooks): New.
923 * ra-rewrite.c (rewrite_program): Clear variable info.
924 * recog.c (immediate_operand): Do not handle CONSTANT_P_RTX.
925 * regs.h: Add include guards.
926 * reload.c (decompose): Clear val using memset.
927 * rtl.def (CONSTANT_P_RTX): Remove.
928 * rtl.h (CONSTANT_P): Do not handle CONSTANT_P_RTX.
929 (copy_loop_headers): Remove.
930 (struct rtx_def): Replace the integrated flag with the
931 return_val flag.
932 (maybe_set_first_label_num): Declare.
933 (init_branch_prob): Move declaration to value-prof.h.
934 (end_branch_prob): Ditto.
935 (branch_prob): Ditto.
936 (never_reached_warning): Don't declare it.
937 * rtlanal.c (get_related_value): Initialize get_jump_table_offset
938 (hoist_insn_to_edge): Update to match field insns in
939 struct edge_def.
940 * sbitmap.c (sbitmap_realloc): New.
941 * sbitmap.h (sbitmap_realloc): Declare.
942 * sibcall.c: Remove file.
943 * simplify-rtx.c (simplify_rtx): Do not handle
944 CONSTANT_P_RTX.
945 * stmt.c (parse_output_constraint): Don't warn for read-write
90afe2c9 946 memory operand.
6de9cd9a
DN
947 (tail_recursion_args): Use types_compatible_p langhook.
948 (force_label_rtx): Don't look at inline_function_decl.
949 (label_rtx): Set LABEL_PRESERVE_P appropriately.
950 (expand_label): Handle DECL_NONLOCAL and FORCED_LABEL.
951 (declare_nonlocal_label): Remove.
952 (expand_goto): Don't handle nonlocal gotos.
953 (expand_nl_handler_label): Remove.
954 (expand_nl_goto_receivers): Remove.
955 (expand_end_bindings): Don't expand_nl_goto_receivers. Use
956 update_nonlocal_goto_save_area.
957 (expand_expr_stmt_value): Check TREE_NO_WARNING.
958 (warn_if_unused_value): Likewise.
959 (expand_start_loop, expand_loop_continue_here,
960 expand_end_loop): Don't create loop notes.
961 (all_cases_count, BITARRAY_TEST, BITARRAY_SET,
962 mark_seen_cases, check_for_full_enumeration_handling): Remove.
963 (expand_end_case_type): Don't do warn_switch handling.
964 (pushcase, pushcase_range) Update add_case_node calls.
965 (add_case_node): Add dont_expand_label argument.
966 (same_case_target_p): Don't search rtl.
967 (expand_start_bindings_and_block, expand_end_bindings):
968 Don't emit block notes when dont_emit_block_notes.
969 (using_eh_for_cleanups_p): Export.
970 (expand_return): Allow any typed rhs.
971 (expand_stack_alloc): New.
972 (expand_stack_save, expand_stack_restore): New.
973 (containing_blocks_have_cleanups_or_stack_level): New
974 function.
975 (asm_op_is_mem_input): New fn.
976 (expand_asm_expr): New fn.
977 (warn_if_unused_value): Check operand 0 of SAVE_EXPR
978 nodes.
979 * stor-layout.c (layout_type): Just return if type is
980 error_mark_node.
981 (update_alignment_for_field): Export.
982 (variable_size): We don't care about global_bindings_p if
983 the frontend doesn't want a list of the expressions.
984 * system.h: Poison INTEGRATE_THRESHOLD.
985 * timevar.def (TV_TREE_GIMPLIFY, TV_TREE_EH, TV_TREE_CFG,
986 TV_TREE_CLEANUP_CFG, TV_TREE_PTA, TV_TREE_MAY_ALIAS,
987 TV_TREE_INSERT_PHI_NODES, TV_TREE_SSA_REWRITE_BLOCKS,
988 TV_TREE_SSA_OTHER, TV_TREE_OPS,
989 TV_TREE_SSA_DOMINATOR_OPTS, TV_TREE_SRA, TV_TREE_CCP,
990 TV_TREE_SPLIT_EDGES, TV_TREE_PRE, TV_TREE_PHIOPT,
991 TV_TREE_FORWPROP, TV_TREE_DCE, TV_TREE_CD_DCE,
992 TV_TREE_DSE, TV_TREE_LOOP, TV_TREE_CH,
993 TV_TREE_SSA_TO_NORMAL, TV_TREE_SSA_TO_NORMAL,
994 TV_TREE_NRV, TV_TREE_COPY_RENAME, TV_TREE_SSA_VERIFY,
995 TV_TREE_STMT_VERIFY, TV_DOM_FRONTIERS,
996 TV_CONTROL_DEPENDENCES): Define.
997 * toplev.c: Include tree-alias-common.h
998 (current_file_decl, flag_mudflap, flag_mudflap_threads,
999 flag_mudflap_ignore_reads, flag_tree_based_profiling,
1000 flag_tree_gvn, flag_tree_points_to, flag_tree_ccp,
1001 flag_tree_dce, flag_tree_ch, flag_tree_sra,
1002 flag_tree_combine_temps, flag_tree_ter,
1003 flag_tree_live_range_split, flag_tree_dom,
1004 flag_tree_copyrename, flag_tree_dse): Declare.
1005 (f_options): Add tree-based-profiling, tree-gvn,
1006 tree-pre, tree-ccp, tree-dce,
1007 tree-dominator-opts, tree-copyrename, tree-dse,
1008 tree-combine-temps, tree-ter, tree-lrs and tree-ch.
1009 (wrapup_global_declarations): Don't output nested inlined functions.
1010 (general_init): Call init_tree_optimization_passes.
1011 (process_options): Sorry for -ftree-based-profiling plus
1012 -ftest-coverage or -fprofile-values.
1013 * toplev.h (init_tree_optimization_passes,
1014 flag_tree_based_profiling): Declare.
1015 * tracer.c (tail_duplicate): Use cfghooks for bb duplication.
1016 * tree-alias-ander.c: New file.
1017 * tree-alias-ander.h: New file.
1018 * tree-alias-common.c: New file.
1019 * tree-alias-common.h: New file.
1020 * tree-alias-type.c: New file.
1021 * tree-alias-type.h: New file.
1022 * tree-browser.c: New file.
1023 * tree-browser.def: New file.
1024 * tree-cfg.c: New file.
1025 * tree-complex.c: New file.
1026 * tree-dfa.c: New file.
1027 * tree-dump.c (dump_enable_all): New.
1028 (dequeue_and_dump): Do not handle EXPR_WITH_FILE_LOCATION.
1029 (dump_node): Remove const from field suffix and swtch.
1030 (dump_files): Add null entry, .generic, .nested, .vcg,
1031 .xml and a match-all entry.
1032 (extra_dump_files, extra_dump_files_in_use,
1033 extra_dump_files_alloced): Declare
1034 (dump_option_value_info): Add raw, details, stats,
1035 blocks, vops, lineno, uid and all.
1036 (dump_register): New.
1037 (get_dump_file_info): New.
1038 (dump_begin): Call it.
1039 Do nothing for TDI_none.
1040 (dump_begin): Include phase number in dump filename.
1041 (dump_enable_all): New.
1042 (dump_switch_p_1): Split out from dump_switch_p.
1043 (dump_switch_p): Handle extra_dump_files.
1044 Start our scan at TDI_none + 1.
1045 If -fdump-tree-all was given, call dump_enable_all.
1046 * tree-dump.h: Include splay-tree.h.
1047 (dump_function, dump_function_to_file, dump_register):
1048 Declare.
1049 * tree-eh.c: New file.
1050 * tree-flow-inline.h: New file.
1051 * tree-flow.h: New file.
1052 * tree-inline.c: Re-write to handle inlining on GIMPLE.
1053 * tree-inline.h (walk_tree,
1054 walk_tree_without_duplicates): Move to tree.h.
1055 (estimate_num_insns): Declare.
1056 * tree-into-ssa.c: New file.
1057 * tree-iterator.c: New file.
1058 * tree-iterator.h: New file.
1059 * tree-mudflap.c: New file.
1060 * tree-mudflap.h: New file.
1061 * tree-nested.c: New file.
1062 * tree-nomudflap.c: New file.
1063 * tree-nrv.c: New file.
1064 * tree-optimize.c (dump_flags, vars_to_rename,
1065 in_gimple_form, all_passes, pass_gimple,
1066 pass_rebuild_bind, pass_all_optimizations, pass_del_cfg): Declare.
1067 (execute_gimple, execute_rebuild_bind,
1068 gate_all_optimizations, execute_del_cfg,
1069 register_one_dump_file, register_dump_files, dup_pass_1,
1070 init_tree_optimization_passes, execute_todo,
1071 execute_one_pass, execute_pass_list): New.
1072 (clear_decl_rtl): Remove.
1073 (tree_rest_of_compilation): Update to use tree
1074 optimizers.
1075 * tree-outof-ssa.c: New file.
1076 * tree-pass.h: New file.
1077 * tree-phinodes.c: New file.
1078 * tree-pretty-print.c: New file.
1079 * tree-profile.c: New file.
1080 * tree-simple.c: New file.
1081 * tree-simple.h: New file.
1082 * tree-sra.c: New file.
1083 * tree-ssa-alias.c: New file.
1084 * tree-ssa-ccp.c: New file.
1085 * tree-ssa-copy.c: New file.
1086 * tree-ssa-copyrename.c: New file.
1087 * tree-ssa-dce.c: New file.
1088 * tree-ssa-dom.c: New file.
1089 * tree-ssa-dse.c: New file.
1090 * tree-ssa-forwprop.c: New file.
1091 * tree-ssa-live.c: New file.
1092 * tree-ssa-live.h: New file.
1093 * tree-ssa-loop.c: New file.
1094 * tree-ssa-operands.c: New file.
1095 * tree-ssa-operands.h: New file.
1096 * tree-ssa-phiopt.c: New file.
1097 * tree-ssa-pre.c: New file.
1098 * tree-ssa.c: New file.
1099 * tree-ssanames.c: New file.
1100 * tree-tailcall.c: New file.
1101 * tree.c: Include tree-iterator.h, basic-block.h and
1102 tree-flow.h.
1103 (tree_node_kind): Add phi_nodes and ssa names.
1104 (tree_size): Handle PHI_NODE, EPHI_NODE, SSA_NAME,
1105 EUSE_NODE, EKILL_NODE, EEXIT_NODE and STATEMENT_LIST.
1106 (make_node_stat): Handle PHI_NODE and SSA_NAME.
1107 <'c'> Set TREE_INVARIANT.
1108 (copy_node_stat): Abort if trying to copy a
1109 STATEMENT_LIST.
1110 Clear TREE_VISITED.
1111 Clear annotation field.
1112 (build_constructor): Copy TREE_INVARIANT from vals.
1113 Don't clear TREE_CONSTANT.
1114 (expr_first, expr_last, expr_length): Remove.
1115 (staticp): Pass unknown component references to the language.
1116 (save_expr): Check TREE_INVARIANT instead of TREE_CONSTANT.
1117 (skip_simple_arithmetic): Likewise.
1118 (stabilize_reference_1): Likewise.
1119 (tree_node_structure): Handle PHI_NODE, EPHI_NODE,
1120 EUSE_NODE, EKILL_NODE, EEXIT_NODE, SSA_NAME and
1121 STATEMENT_LIST.
1122 (lhd_unsave_expr_now): Remove.
1123 (unsafe_for_reeval): Handle LABEL_EXPR and BIND_EXPR.
1124 (recompute_tree_invarant_for_addr_expr): New.
1125 (build1_stat): Clear EXPR_LOCUS and TREE_BLOCK.
1126 Call recompute_tree_invarant_for_addr_expr.
1127 Set TREE_INVARIANT accordingly.
1128 (build2_stat): Don't handle CALL_EXPR.
1129 (build3_stat): Don't call build2_stat for CALL_EXPRs.
1130 (build_expr_wfl): Remove.
1131 (annotate_with_file_line, annotate_with_locus): New.
1132 (simple_cst_equal): Call simple_cst_list_equal to compare
1133 CONSTRUCTOR_ELTS pointers.
1134 (iterative_hash_expr): Don't hash types associated
1135 with conversions. Instead hash on the signedness of the
1136 toplevel object and the operand of the conversion.
1137 (dump_tree_statistics): Call ssanames_print_statistics
1138 and phinodes_print_statistics.
1139 (ephi_node_elt_check_failed, phi_node_elt_check_failed,
1140 add_var_to_bind_expr, build_empty_stmt, is_essa_node,
1141 needs_to_live_in_memory): New.
1142 (initializer_zerop): Handle VECTOR_CST. Don't check
1143 AGGREGATE_TYPE_P for CONSTRUCTOR.
1144 * tree.def (FILTER_EXPR, CASE_LABEL_EXPR, RESX_EXPR,
1145 SSA_NAME, EUSE_NODE, EKILL_NODE, EPHI_NODE, EEXIT_NODE,
1146 PHI_NODE, CATCH_EXPR, EH_FILTER_EXPR, STATEMENT_LIST): Define.
1147 (GOTO_SUBROUTINE_EXPR): Change type to 's'.
1148 (CALL_EXPR): Add another operand.
1149 (EXPR_WITH_FILE_LOCATION): Remove.
1150 (SWITCH_EXPR): Add another operand.
1151 * tree.h: Update various comments.
1152 (union tree_ann_d): Forward declare.
1153 (struct tree_common): Add fields nowarning_flag,
1154 invariant_flag and visited.
1155 (EREF_NODE_CHECK, EPHI_NODE_ELT_CHECK,
1156 PHI_NODE_ELT_CHECK, EREF_NODE_CHECK, PHI_NODE_ELT_CHECK,
1157 EPHI_NODE_ELT_CHECK, TREE_BLOCK,
1158 STRIP_USELESS_TYPE_CONVERSION, CALL_EXPR_TAILCALL,
1159 TREE_NO_WARNING, FORCED_LABEL, TREE_INVARIANT,
1160 IS_EMPTY_STMT, EXPR_LOCUS, SET_EXPR_LOCUS, EXPR_FILENAME,
1161 EXPR_LINENO, EXPR_LOCATION, EXPR_HAS_LOCATION,
1162 EXIT_EXPR_COND, SWITCH_COND, SWITCH_BODY, SWITCH_LABELS,
1163 CASE_LOW, CASE_HIGH, CASE_LABEL, BIND_EXPR_VARS,
1164 BIND_EXPR_BODY, BIND_EXPR_BLOCK, GOTO_DESTINATION,
1165 ASM_STRING, ASM_OUTPUTS, ASM_INPUTS, ASM_CLOBBERS,
1166 ASM_INPUT_P, ASM_VOLATILE_P, COND_EXPR_COND,
1167 COND_EXPR_THEN, COND_EXPR_ELSE, LABEL_EXPR_LABEL,
1168 CATCH_TYPES, CATCH_BODY, EH_FILTER_TYPES,
1169 EH_FILTER_FAILURE, EH_FILTER_MUST_NOT_THROW,
1170 SSA_NAME_VAR, SSA_NAME_DEF_STMT, SSA_NAME_VERSION,
1171 SSA_NAME_OCCURS_IN_ABNORMAL_PHI, SSA_NAME_IN_FREE_LIST,
1172 PHI_RESULT, PHI_REWRITTEN, PHI_NUM_ARGS,
1173 PHI_ARG_CAPACITY, PHI_ARG_ELT, PHI_ARG_EDGE, PHI_ARG_DEF,
1174 EREF_PROCESSED, EREF_ID, EREF_NAME, EREF_STMT,
1175 EREF_RELOAD, EREF_SAVE, EREF_CLASS, EREF_INJURED,
1176 EREF_TEMP, EUSE_DEF, EUSE_PHIOP, EUSE_INSERTED,
1177 EUSE_LVAL, EPHI_NUM_ARGS, EPHI_ARG_CAPACITY,
1178 EPHI_ARG_ELT, EPHI_ARG_EDGE, EPHI_ARG_PRED, EPHI_ARG_DEF,
1179 EPHI_ARG_INJURED, EPHI_ARG_DELAYED_RENAME,
1180 EPHI_ARG_HAS_REAL_USE, EPHI_ARG_STOPS,
1181 EPHI_ARG_PROCESSED2, EPHI_IDENTITY, EPHI_IDENT_INJURED,
1182 EPHI_REP_OCCUR_KNOWN, EPHI_IDENTICAL_TO, EPHI_DOWNSAFE,
1183 EPHI_CANT_BE_AVAIL, EPHI_DEAD, EPHI_USES, EPHI_STOPS,
1184 TREE_VISITED, SSA_VAR_P, DECL_NUM_STMTS,
1185 DECL_HARD_REGISTER, DECL_PTA_ALIASVAR, LABEL_DECL_UID,
1186 DECL_NEEDS_TO_LIVE_IN_MEMORY_INTERNAL,
1187 STATEMENT_LIST_HEAD, STATEMENT_LIST_TAIL, TDF_RAW,
1188 TDF_DETAILS, TDF_STATS, TDF_BLOCKS, TDF_VOPS, TDF_LINENO,
1189 TDF_UID,): Define.
1190 (TREE_NO_UNUSED_WARNING, EXPR_WFL_EMIT_LINE_NOTE,
1191 EXPR_WFL_NODE, EXPR_WFL_FILENAME_NODE, EXPR_WFL_FILENAME,
1192 EXPR_WFL_LINECOL, EXPR_WFL_LINENO, EXPR_WFL_COLNO,
1193 EXPR_WFL_SET_LINECOL): Remove.
1194 (phi_node_elt_check_failed, ephi_node_elt_check_failed,
1195 make_phi_node, init_phinodes, fini_phinodes,
1196 release_phi_node, phinodes_print_statistics,
1197 init_ssanames, fini_ssanames, make_ssa_name,
1198 release_ssa_name, ssanames_print_statistics,
1199 annotate_with_file_line, build_empty_stmt,
1200 annotate_with_locus, expr_only, categorize_ctor_elements,
1201 count_type_elements, add_var_to_bind_expr, is_essa_node,
1202 expand_stack_alloc, expand_stack_save,
1203 expand_stack_restore, add_case_node, operand_equal_p,
1204 nondestructive_fold_unary_to_constant,
1205 nondestructive_fold_binary_to_constant,
1206 fold_read_from_constant_string, int_const_binop,
1207 strip_float_extensions, simplify_builtin, c_strlen,
1208 recompute_tree_invarant_for_addr_expr,
1209 needs_to_live_in_memory, make_vector,
1210 setjmp_vars_warning, update_alignment_for_field,
1211 expand_asm_expr, asm_op_is_mem_input,
1212 containing_blocks_have_cleanups_or_stack_level,
1213 create_artificial_label, gimplify_function_tree,
1214 get_name, unshare_expr, walk_tree,
1215 walk_tree_without_duplicates, in_gimple_form): Declare.
1216 (struct tree_exp): Add fields locus and block.
1217 (struct tree_ssa_name, struct edge_def, struct
1218 tree_phi_node, struct tree_eref_common, struct
1219 tree_euse_node, struct ephi_arg_d, struct tree_ephi_node,
1220 union alias_var_def, struct tree_statement_list_node,
1221 struct tree_statement_list, enum operand_equal_flag): Declare.
1222 (enum tree_node_structure_enum): Add TS_SSA_NAME,
1223 TS_PHI_NODE, TS_EPHI_NODE, TS_EUSE_NODE, TS_EREF_NODE,
1224 TS_STATEMENT_LIST.
1225 (union tree_node): Add fields ssa_name, phi, eref, ephi,
1226 euse and stmt_list.
1227 (function_cannot_inline_p, uninitialized_vars_warning,
1228 save_for_inline, output_inline_function, all_cases_count,
1229 check_for_full_enumeration_handling,
1230 declare_nonlocal_label): Remove.
1231 (enum tree_dump_index): Add TDI_none, TDI_tu,
1232 TDI_generic, TDI_nested, TDI_vcg, TDI_xml.
1233 * unroll.c (unroll_loop): Don't clear map->inline_target.
1234 * unwind-sjlj.c (uw_install_context): Make a proper static inline
1235 function.
1236 * value-prof.c (value_prof_hooks): New.
1237 (find_values_to_profile): Rename to rtl_find_values_to_profile.
1238 Move rtl-specific bits in from branch_prob.
1239 (value_profile_transformations): Rename to
1240 rtl_value_profile_transformations.
1241 (struct value_prof_hooks): New.
1242 (rtl_value_prof_hooks): New.
1243 (rtl_register_value_prof_hooks): New.
1244 (tree_find_values_to_profile): New stub.
1245 (tree_value_profile_transformations): New stub.
1246 (tree_value_prof_hooks): New stub.
1247 (tree_register_value_prof_hooks): New stub.
1248 (find_values_to_profile): New.
1249 (value_profile_transformations): New.
1250 * value-prof.h: Add multiple inclusion guard.
1251 (struct histogram_value): Change rtx fields to void *.
1252 (rtl_register_value_prof_hooks): New declaration.
1253 (tree_register_value_prof_hooks): New declaration.
1254 (find_values_to_profile): New declaration.
1255 (free_profiled_values): New declaration.
1256 (value_profile_transformations): New declaration.
1257 (struct profile_hooks): New declaration.
1258 (init_branch_prob): Declaration moved from rtl.h.
1259 (branch_prob): Declaration moved from rtl.h.
1260 (end_branch_prob): Declaration mooved from rtl.h.
1261 (tree_register_profile_hooks): New declaration.
1262 (rtl_register_profile_hooks): New declaration.
1263 (tree_profile_hooks): New declaration.
1264 (rtl_profile_hooks): New declaration.
1265 * varasm.c: Include tree-mudflap.h.
1266 (TRAMPOLINE_ALIGNMENT): Remove.
1267 (make_decl_rtl): Call mudflap_enqueue_decl.
1268 (assemble_static_space):
1269 (assemble_trampoline_template): Set and return
1270 TRAMPOLINE_ALIGNMENT.
1271 * varray.c (element): Add GENERIC_PTR_NOGC entry.
1272 Add entry for 'tree *'.
1273 Add entry for struct edge_def *.
1274 (varray_copy): New.
1275 * varray.h (enum varray_data_enum): Add
1276 VARRAY_DATA_GENERIC_NOGC, VARRAY_DATA_EDGE and
1277 VARRAY_DATA_TREE_PTR.
1278 (union varray_data_tag): Corresponding changes.
1279 (VARRAY_GENERIC_PTR_NOGC_INIT, VARRAY_EDGE_INIT,
1280 VARRAY_TREE_PTR_INIT, VARRAY_GENERIC_PTR_NOGC,
1281 VARRAY_EDGE, VARRAY_TREE_PTR,
1282 VARRAY_PUSH_GENERIC_PTR_NOGC, VARRAY_PUSH_EDGE,
1283 VARRAY_PUSH_TREE_PTR, VARRAY_TOP_GENERIC_PTR_NOGC,
1284 VARRAY_TOP_EDGE, VARRAY_TOP_TREE_PTR): Define.
1285
1286 * config/*/*: Various updates for changed macros, tree
1287 codes, etc. Check ChangeLog.tree-ssa.
1288
1289 * doc/cfg.texi: New file.
1290 * doc/tree-ssa.texi: New file.
1291 * doc/c-tree.texi: Document new codes.
1292 * doc/gccint.texi: Include new files.
1293 * doc/install.texi: Document new features.
1294 * doc/invoke.texi: Document new switches.
1295 * doc/passes.texi: Document new passes.
1296 * doc/rtl.texi: Update changed RTL codes.
1297 * doc/sourcebuild.texi: Update build instructions.
1298 * doc/standards.texi: Document Fortran changes.
1299 * doc/tm.texi: Update.
1300
5eaad481
PB
13012004-05-12 Paolo Bonzini <bonzini@gnu.org>
1302
1303 Replace several arrays with a struct of arrays.
90afe2c9
ZW
1304 * combine.c (struct reg_stat): New.
1305 (init_reg_last_arrays): Renamed to...
1306 (init_reg_last): ...this. Callers adjusted.
1307 (reg_stat): New.
1308 (combine_instructions): Allocate it and use it.
1309 (reg_last_death, reg_last_set, reg_last_set_value,
1310 reg_last_set_label, reg_last_set_table_tick,
1311 reg_last_set_invalid, reg_nonzero_bits, reg_sign_bit_copies,
1312 reg_last_set_mode, reg_last_set_nonzero_bits,
1313 reg_last_set_sign_bit_copies): Replace throughout
1314 with items of reg_stat.
5eaad481 1315
e51f9159
KK
13162004-05-11 Kaz Kojima <kkojima@gcc.gnu.org>
1317
1318 PR optimization/15100
1319 * combine.c (distribute_notes): Don't create a dangling
1320 REG_LIBCALL/REG_RETVAL note.
1321
6a599451
AH
13222004-05-11 Aldy Hernandez <aldyh@redhat.com>
1323
1324 * config/rs6000/spe.md (spe_evneg): Rename to negv2si2.
1325
1326 * config/rs6000/rs6000.c (bdesc_1arg): Change spe_evneg to
1327 negv2si2.
1328
425a2bde
AH
13292004-05-11 Aldy Hernandez <aldyh@redhat.com>
1330
1331 * doc/md.texi (Standard Names): Fix typo in vec_init description.
1332
bed7b8f1
GK
13332004-05-11 Geoffrey Keating <geoffk@apple.com>
1334
1335 * doc/gty.texi (GTY Options): Clarify example.
1336
7958a2a6
FJ
13372004-05-11 Fariborz Jahanian <fjahanian@apple.com>
1338
1339 * config/rs6000/rs6000.c (rs6000_handle_altivec_attribute):
1340 Add const qualifier to altivec vector type if one is needed.
1341
32770746
PB
13422004-05-11 Paul Brook <paul@codesourcery.com>
1343
1344 * flags.h (flag_short_enums): Update comment.
1345 * opts.c (decode_options): Set flag_short_enums to 2.
1346 * toplev.c (flag_short_enums): Update comment.
1347 (process_options): Call default_short_enums target hook.
1348
78f59f3e
AP
13492004-05-11 Andrew Pinski <pinskia@gcc.gnu.org>
1350
1351 PR target/14063
1352 * config/rs6000/altivec.md (altivec_dssall):
1353 Change to unspec_volatile.
1354 (altivec_dss): Likewise.
1355
39302b6a
AH
13562004-05-10 Aldy Hernandez <aldyh@redhat.com>
1357
1358 * config/rs6000/altivec.md ("one_cmplv16qi2"): Change vnot to
1359 vnor.
1360 ("one_cmplv8hi2"): Same.
1361 ("one_cmplv4si2"): Same.
1362
726d4cb7
KK
13632004-05-10 Kaz Kojima <kkojima@gcc.gnu.org>
1364
1365 PR target/15130
1366 * config/sh/sh-protos.h (sh_expand_epilogue): Change prototype.
1367 * config/sh/sh.c (output_stack_adjust): Take the sibcall epilogue
1368 into account. Compute the correct number of general registers
1369 for the return value. Generate a special push/pop sequence when
1370 failing to get a temporary register for non SHmedia epilogue.
1371 (sh_expand_epilogue): Add an argument to show whether it's for
1372 sibcall or not. Set the 3rd argument of output_stack_adjust to
1373 -1 if needed.
1374 (sh_need_epilogue): Call sh_expand_epilogue with 0.
1375 * config/sh/sh.md (sibcall_epilogue): Call sh_expand_epilogue
1376 with 1.
1377 (epilogue): Call sh_expand_epilogue with 0.
1378
0c196bf9
AP
13792004-05-10 Andrew Pinski <pinskia@physics.uc.edu>
1380
1381 * gcse.c (eliminate_partially_redundant_loads): Instead of returning early,
1382 goto a cleanup label. After the cleanup, free the allocated memory.
1383
16cfa3dc
ZL
13842004-05-10 Ziemowit Laski <zlaski@apple.com>
1385
1386 * config/rs6000/altivec.h (vec_sld): Add overloads for
1387 argument/return types of 'vector bool int', 'vector bool short'
1388 and 'vector bool char'.
1389
3358cae0
ZW
13902004-05-10 Zack Weinberg <zack@codesourcery.com>
1391
1392 * c-decl.c (store_parm_decls_newstyle): Correct test for a
1393 nested function.
1394
62d45923
RS
13952004-05-10 Richard Sandiford <rsandifo@redhat.com>
1396
1397 * read-rtl.c (read_rtx): Allow 's' and 'T' strings to be omitted,
1398 treating missing ones as "".
1399 * config/mips/mips.md: Remove constraints from match_operands and
1400 match_scratches if they appear in define_expands (except reload*),
1401 define_peephole2s, define_splits or attribute specifications.
1402 * config/mips/7000.md, config/mips/sb1.md: Remove match_operand
1403 constraint strings.
1404
b2d04ecf
AM
14052004-05-10 Alan Modra <amodra@bigpond.net.au>
1406
1407 * config/rs6000/rs6000.c (function_arg_boundary): Always align
1408 AltiVec vectors.
1409 (function_arg_advance): Pass TARGET_32BIT -mabi=no-altivec AltiVec
1410 vectors by refererence. Align the same for TARGET_64BIT to a 16
1411 byte boundary. Remove useless code. Add function comment.
1412 (function_arg): Similarly. Move gpr rs6000_mixed_function_arg
1413 call to where it belongs.
1414 (function_arg_partial_nregs): Return true for all TARGET_32BIT
1415 -mabi=no-altivec AltiVec vectors. Fix debug output.
1416 (rs6000_va_arg): Adjust for AltiVec change.
1417
b6685939
PB
14182004-05-10 Paul Brook <paul@codesourcery.com>
1419
1420 * config/arm/arm.c (arm_promote_prototypes): Use TARGET_AAPCS_BASED.
1421 * config/arm/arm.h (TARGET_AAPCS_BASED): Define.
1422 (TARGET_DOUBLEWORD_ALIGN): Use it.
1423 (WCHAR_TYPE): Define.
1424 (WCHAR_SIZE_TYPE): Define.
1425 (SIZE_TYPE): Define.
1426
4ed78545
AM
14272004-05-10 Alan Modra <amodra@bigpond.net.au>
1428
1429 * config/rs6000/rs6000.c (function_arg_boundary): Align for ABI_V4
1430 when size is 8 bytes.
1431 (function_arg_advance): Account for stack space used by AltiVec
3358cae0 1432 args when -mabi=altivec. Simplify alignment calculations. For
4ed78545
AM
1433 ABI_V4, pass AltiVec vectors by reference when -mabi=no-altivec.
1434 (function_arg): Similarly.
1435 (function_arg_pass_by_reference): True for ABI_V4 AltiVec when
1436 not AltiVec ABI.
1437 (rs6000_va_arg): Correct fp arg test. Adjust for AltiVec change.
1438 Correct alignment, and align before testing reg count. Remove
1439 TREE_THIS_VOLATILE from reg. Don't emit unused labels.
1440 (rs6000_complex_function_value): Check TARGET_HARD_FLOAT and
1441 TARGET_FPRS here..
1442 (rs6000_function_value): .. not here before call.
1443
f350ff00
AH
14442004-05-09 Aldy Hernandez <aldyh@redhat.com>
1445
1446 * config/rs6000/spe.md ("tstsflt_gpr"): Fix typo in unspec.
1447
eecec698
ZW
14482004-05-09 Zack Weinberg <zack@codesourcery.com>
1449
1450 PR 15007
1451 * c-decl.c (current_file_decl): Rename to all_translation_units,
1452 adjust comment.
1453 (pop_scope): If popping file_scope, construct a
1454 TRANSLATION_UNIT_DECL and make it the context of all the
1455 symbols in the scope.
1456 (push_file_scope): Don't construct a TRANSLATION_UNIT_DECL here.
1457 (pushdecl): Clarify comment. Do not set DECL_CONTEXT of
1458 anything to current_file_decl.
1459 (pushdecl_top_level): Likewise.
1460 (store_parm_decls_newstyle): Adjust check for nested function.
4ed78545
AM
1461 (c_write_global_declarations): Update for renamed variable.
1462
2aa4498c
AH
14632004-05-09 Aldy Hernandez <aldyh@redhat.com>
1464
1465 * config/rs6000/rs6000-protos.h
1466 (rs6000_conditional_register_usage): Protoize.
1467
1468 * config/rs6000/rs6000.c (rs6000_conditional_register_usage): New.
1469
1470 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Call
1471 function.
1472
8dc2384c
RS
14732004-05-08 Roger Sayle <roger@eyesopen.com>
1474
1475 * fold-const.c (fold_div_compare): New function to optimize X/C1 op C2
1476 where op is a comparison operator and C1 and C2 are integer constants
1477 into a range check.
1478 (fold): Call fold_div_compare.
1479
ae81c844
EB
14802004-05-08 Eric Botcazou <ebotcazou@libertysurf.fr>
1481
1482 * doc/install.texi (sparc-sun-solaris2*): Document bootstrap
1483 problems with earlier versions of the GNU compiler.
1484
0d1fbc8c
AH
14852004-05-07 Aldy Hernandez <aldyh@redhat.com>
1486
1487 * config/rs6000/rs6000-protos.h (rs6000_hard_regno_mode_ok_p):
1488 Declare.
1489
1490 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok_p): New.
1491 (rs6000_hard_regno_mode_ok): New.
1492 (rs6000_init_hard_regno_mode_ok): New.
1493 (rs6000_override_options): Call rs6000_init_hard_regno_mode_ok.
1494
1495 * config/rs6000/rs6000.h (HARD_REGNO_NREGS): Use precomputed
1496 result.
1497
f95d9272
ZL
14982004-05-07 Ziemowit Laski <zlaski@apple.com>
1499
1500 * config/rs6000/altivec.h (vector, pixel, bool): Do not
1501 define as macros #ifdef __APPLE_ALTIVEC__.
1502
15032004-05-07 Fariborz Jahanian <fjahanian@apple.com>
1504
36a454e1
FJ
1505 * config/rs6000/rs6000.c (rs6000_mixed_function_arg):
1506 Generate appropriate parallels for vector arguments
1507 passed to vararg functions. (function_arg): make the call
1508 to rs6000_mixed_function_arg for vector args as needed.
eecec698 1509
f7dbd289
RS
15102004-05-07 Richard Sandiford <rsandifo@redhat.com>
1511
1512 * config/mips/mips.c (mips_va_arg): Fix calculation of osize for
1513 EABI_FLOAT_VARARGS_P.
1514
5c8a81d5
RS
15152004-05-07 Richard Sandiford <rsandifo@redhat.com>
1516
1517 * config/mips/mips.h (ISA_HAS_BRANCHLIKELY): Remove TARGET_MIPS5500.
1518 * config/mips/mips.c (override_options): Disable branch likely
1519 instructions if TUNE_MIPS5500.
1520
9045f39a
RS
15212004-05-07 Richard Sandiford <rsandifo@redhat.com>
1522
1523 * config/mips/mips.c (override_options): Allow the hi and lo registers
1524 to store any integral mode, not just MODE_INTs.
1525
bc21b3f3
PB
15262004-05-07 Paul Brook <paul@codesourcery.com>
1527
1528 * config/arm/arm.c (arm_promote_prototypes): Use TARGET_AAPCS_BASED.
1529 * config/arm/arm.h (TARGET_AAPCS_BASED): Define.
1530 (TARGET_DOUBLEWORD_ALIGN): Use it.
1531 (WCHAR_TYPE): Define.
1532 (WCHAR_SIZE_TYPE): Define.
1533 (SIZE_TYPE): Define.
1534
2484cc35
UB
15352004-05-07 Uros Bizjak <uros@kss-loka.si>
1536
1537 * config/i386/i386.c (ix86_emit_fp_unordered_jump): Use
1538 testb $4, %ah insn instead of sahf insn if !TARGET_USE_SAHF.
1539
7600f094
AP
15402004-05-07 Andrew Pinski <pinskia@physics.uc.edu>
1541
1542 * loop-doloop.c (doloop_valid_p): Make sure that body
1543 gets freed.
1544
bfb23806
EB
15452004-05-07 Eric Botcazou <ebotcazou@act-europe.fr>
1546
1547 * config/sparc/sparc-protos.h (sparc_skip_caller_unimp): New
1548 declaration.
1549 * config/sparc/sparc.c (SKIP_CALLERS_UNIMP_P): Delete.
1550 (sparc_skip_caller_unimp): New global variable.
1551 (sparc_function_epilogue): Set 'sparc_skip_caller_unimp'.
1552 Use it instead of SKIP_CALLERS_UNIMP_P.
1553 * config/sparc/sparc.md (call expander): Add sanity check.
1554 (call_address_struct_value_sp32): Re-sync with expander.
1555 (call_symbolic_struct_value_sp32): Likewise.
1556 (return peepholes): Use 'sparc_skip_caller_unimp' instead
1557 of custom predicate.
1558
92ff0c41
EB
15592004-05-07 Eric Botcazou <ebotcazou@libertysurf.fr>
1560
1561 PR c++/14962
1562 * c-pragma.c (handle_pragma_redefine_extname): Only change
1563 the assembler name of FUNCTION_DECLs and VAR_DECLs.
1564
c2fcfa4f
UB
15652004-05-07 Uros Bizjak <uros@kss-loka.si>
1566
1567 * optabs.h (enum optab_index): Add new OTI_log1p.
1568 (log1p_optab): Define corresponding macro.
1569 * optabs.c (init_optabs): Initialize log1p_optab.
1570 * genopinit.c (optabs): Implement log1p_optab using log1p?f2
1571 patterns.
1572 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LOG1P{,F,L}
1573 using log1p_optab.
1574 (expand_builtin): Expand BUILT_IN_LOG1P{,F,L} using
1575 expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
1576
1577 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FYL2XP1.
1578
1579 * config/i386/i386.c (ix86_emit_i387_log1p): New function.
1580 * config/i386/i386-protos.h (ix86_emit_i387_log1p):
1581 Prototype here.
1582 * config/i386/i386.md (UNSPEC_FYL2XP1): New unspec to represent
1583 x87's fyl2xp1 instruction.
1584 (*fyl2x_xf3): Rename insn definition to fyl2x_xf3.
1585 (fyl2xp1_xf3): New pattern to implement fyl2xp1 x87 instruction.
1586 (log1psf2, log1pdf2, log1pxf2): New expanders to implement log1pf,
1587 log1p and log1pl built-ins as inline x87 intrinsics.
1588
4d980568
LR
15892004-05-07 Loren James Rittle <ljrittle@acm.org>
1590
3c4392aa 1591 * config/alpha/freebsd.h (SUBTARGET_EXTRA_SPECS): Proper redefinition.
4d980568
LR
1592 * config/arm/freebsd.h: Likewise.
1593 * config/ia64/freebsd.h: Likewise.
1594 * config/sparc/freebsd.h: Likewise.
1595
afce2847
HPN
15962004-05-07 Hans-Peter Nilsson <hp@axis.com>
1597
1598 PR optimization/15296
1599 * reorg.c (fill_simple_delay_slots): Use next_real_insn when
1600 getting last consecutive label at a branch.
1601 (relax_delay_slots): Similar, near top of loop.
1602
9acf97b6
JDA
16032004-05-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1604
1605 PR target/15202
1606 * pa.md (movdi, movsi, movhi, movqi): Support move from shift amount
1607 register to general register.
1608
19fb36e3
AM
16092004-05-07 Alan Modra <amodra@bigpond.net.au>
1610
1611 * config/rs6000/rs6000.h (STACK_BOUNDARY): Use 128 bit for either
1612 TARGET_ALTIVEC or TARGET_ALTIVEC_ABI.
1613 * config/rs6000/sysv4.h (ABI_STACK_BOUNDARY): Likewise.
1614 (STACK_BOUNDARY): Delete.
1615
db643b91 16162004-05-06 Stuart Hastings <stuart@apple.com>
2484cc35 1617
db643b91
SH
1618 * gcc/doc/invoke.texi: Restore -fgcse-after-reload doc from 1.421,
1619 mistakenly clobbered by 1.423.
19fb36e3 1620
dc884a86
RS
16212004-05-06 Richard Sandiford <rsandifo@redhat.com>
1622
1623 * doc/invoke.texi: Document -mvr4130-align.
1624 * config/mips/mips.h (MASK_VR4130_ALIGN, TARGET_VR4130_ALIGN)
1625 (TUNE_MIPS4120, TUNE_MIPS4130): New macros.
1626 (TUNE_MACC_CHAINS): Include TUNE_MIPS4120 and TUNE_MIPS4130.
1627 (TARGET_SWITCHES): Add -mvr4130-align and -mno-vr4130-align.
1628 * config/mips/mips.md: Include sched-int.h.
1629 (USEFUL_INSN_P, SEQ_BEGIN, SEQ_END, FOR_EACH_SUBINSN): New macros.
1630 (mips_rtx_costs): Set integer multiplication costs for TUNE_MIPS4130.
1631 (override_options): Enable -mvr4130-align at -O3 and above.
1632 (mips_sim_insn): New variable.
1633 (mips_sim): New structure.
1634 (mips_sim_reset, mips_sim_init, mips_sim_next_cycle, mips_sim_wait_reg)
1635 (mips_sim_wait_regs_2, mips_sim_wait_regs_1, mips_sim_wait_regs)
1636 (mips_sim_wait_units, mips_sim_wait_insn, mips_sim_record_set)
1637 (mips_sim_issue_insn, mips_sim_issue_nop, mips_sim_finish_insn)
1638 (vr4130_avoid_branch_rt_conflict, vr4130_align_insns): New functions.
1639 (mips_reorg): Call vr4130_align_insns.
1640 (vr4130_last_insn): New variable.
1641 (vr4130_true_reg_dependence_p_1, vr4130_true_reg_dependence_p)
1642 (vr4130_swap_insns_p, vr4130_reorder): New functions.
1643 (mips_sched_reorder, mips_variable_issue): Hook in vr4130 code.
1644 (mips_issue_rate): Return 2 for PROCESSOR_R4130.
1645 (mips_use_dfa_pipeline_interface): Return true for the same.
1646 * config/mips/4130.md: New file.
1647 * config/mips/mips.md: Include it. Add a peephole2 to convert
1648 "mult;mflo" into "mtlo;macc".
1649 (*macc, *umul_acc_di, *smul_acc_di): Use $1 rather than $0 as the
1650 target of maccs.
1651 (*msac_using_macc): New pattern.
1652
615ccdd3
RS
16532004-05-06 Richard Sandiford <rsandifo@redhat.com>
1654
1655 * config/mips/5500.md (ir_vr55_store): Set latency to 0.
1656 (ir_vr55_hilo): Split into...
1657 (ir_vr55_mfhilo, ir_vr55_mthilo): ...these new reservations.
1658 (ir_vr55_imul_si, ir_vr55_imadd): Change latency to 5.
1659 (ir_vr55_imul_di): Change latency to 9. Reserve vr55_mac for 4 cycles.
1660 Add various multiplication bypasses.
1661 * config/mips/mips.c (mips_rtx_costs): Adjust VR5500 costs for integer
1662 multiplication.
1663
152e3565
UB
16642004-05-06 Uros Bizjak <uros@kss-loka.si>
1665
1666 * config/i386/i386.md (*fscalexf4): Correct insn "mode"
1667 attribute to "XF".
1668
5ae27cfa
UB
16692004-05-05 Uros Bizjak <uros@kss-loka.si>
1670
1671 * optabs.h (enum optab_index): Add new OTI_fmod and OTI_drem.
152e3565 1672 (fmod_optab, drem_optab): Define corresponding macros.
5ae27cfa
UB
1673 * optabs.c (init_optabs): Initialize fmod_optab and drem_optab.
1674 * genopinit.c (optabs): Implement fmod_optab and drem_optab
1675 using fmod?f3 and drem?f3 patterns.
1676 * builtins.c (expand_builtin_mathfn_2): Handle BUILT_IN_FMOD{,F,L}
1677 using fmod_optab and BUILT_IN_DREM{,F,L} using drem_optab.
1678 (expand_builtin): Expand BUILT_IN_FMOD{,F,L} and
1679 BUILT_IN_DREM{,F,L} using expand_builtin_mathfn_2 if
1680 flag_unsafe_math_optimizations is set.
1681
1682 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FPREM_F,
1683 UNSPEC_FPREM_U, UNSPEC_FPREM1_F and UNSPEC_FPREM1_U.
1684
1685 * config/i386/i386.c (ix86_emit_fp_unordered_jump): New function.
1686 * config/i386/i386-protos.h (ix86_emit_fp_unordered_jump):
1687 Prototype here.
1688 * config/i386/i386.md (UNSPEC_FPREM_F, UNSPEC_FPREM_U,
1689 UNSPEC_FPREM1_F, UNSPEC_FPREM1_U): New unspecs to represent x87's
1690 fprem and fprem1 instructions.
1691 (*x86_fnstsw_1): Change input parameter to (reg:CCFP 18).
1692 Rename insn definition to x86_fnstsw_1.
1693 (fpremxf4, fprem1xf4): New patterns to implement fprem and fprem1
1694 x87 instructions.
1695 (fmodsf3, fmoddf3, fmodxf3): New expanders to implement fmodf, fmod
1696 and fmodl built-ins as inline x87 intrinsics.
1697 (dremsf3, dremdf3, dremxf3): New expanders to implement dremf, drem
1698 and dreml built-ins as inline x87 intrinsics.
1699
cf9c6ca5
RS
17002004-05-05 Roger Sayle <roger@eyesopen.com>
1701
1702 * reload1.c (inherit_piecemeal_p): Mark parameters potentially unused.
1703
32dd2dc9
ILT
17042004-05-05 Ian Lance Taylor <ian@wasabisystems.com>
1705
1706 PR driver/9822
1707 * doc/invoke.texi (Spec Files): Remove documentation of %c.
1708
4a6f766d
CD
17092004-05-05 Chris Demetriou <cgd@broadcom.com>
1710
1711 * config/mips/mips.md: Update the msub define_split for new mflo/mfhi
1712 representation.
1713
fdd695fd
PB
17142004-05-06 Paul Brook <paul@codesourcery.com>
1715
1716 * config/arm/arm-protots.h (vfp_mem_operand): Rename ...
1717 (arm_coproc_mem_operand): ... To this.
1718 * config/arm/arm.c (arm_legitimate_address_p): Allow ldrd modes.
1719 (arm_legitimate_index_p): Ditto.
1720 (vfp_mem_operand): Rename ...
1721 (arm_coproc_mem_operand): ... To this. Handle writeback modes.
1722 (vfp_secondary_reload_class): Use it.
1723 (output_move_double): Use doubleword load/store instructions.
1724 (arm_hard_regno_mode_ok): Only allow even reg pairs for ldrd.
1725 * config/arm/arm.h (TARGET_LDRD): Define.
1726 (EXTRA_CONSTRAINT_STR_ARM): Add 'Uy'.
1727 * config/gcc/arm/arm.md (arm_movdi): Allow all valid memory operands.
1728 New splitter for invalid doubleword loads.
1729 * config/arm/iwmmxt.md (iwmmxt_arm_movdi): Use Uy constraint.
1730 * config/arm/vfp.md (arm_movdi_vfp): Allow all valid memory operands.
1731 * doc/md.texi: Document Uy constraint.
1732
59af0b6a
JH
17332004-05-05 Jan Hubicka <jh@suse.cz>
1734
1735 PR opt/14980
1736 * cgraphunit.c (cgraph_remove_unreachable_nodes): Deal properly with
1737 inline clones.
1738
9953b5e1
L
17392004-05-05 H.J. Lu <hongjiu.lu@intel.com>
1740
1741 PR target/15290
1742 * config/i386/i386.c (ix86_split_to_parts): Use real_to_target
1743 instead of REAL_VALUE_TO_TARGET_LONG_DOUBLE.
1744
e3c287c9
MS
17452004-05-05 Mike Stump <mrs@apple.com>
1746
1747 * config/darwin-c.c (add_framework): Copy the directory name as it
1748 can be freed later. Also, ensure we always allocate enough room
1749 for the cached framework information.
1750 (find_subframework_header): Keep track of the directory where the
1751 subframework header was found.
1752 (framework_construct_pathname): Speed up by not trying to re-add a
1753 framework.
1754 * cppfiles.c (search_path_exhausted): Arrange for the missing
1755 header callback to be able to set the directory where the header
1756 was found.
1757 (cpp_get_dir): Add.
1758 * cpplib.h (missing_header_cb): Add a parameter.
1759 (cpp_get_dir): Add.
1760
17612004-05-03 Mike Stump <mrs@apple.com>
4bed3787
MS
1762
1763 * doc/invoke.texi (Directory Options): Document -iquote.
1764 * doc/cpp.texi: Likewise.
1765 * doc/cppopts.texi: Likewise.
1766 * c-opts.c (c_common_missing_argument): Add -iquote processing.
1767 (c_common_handle_option): Likewise.
1768 * c.opt (iquote): Add.
1769 * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -iquote.
1770 * c-incpath.c (merge_include_chains): Update comment to use -iquote.
1771
1772 * c-opts.c (case OPT_I): Deprecate -I- support.
1773 * doc/invoke.texi: Likewise.
1774 * doc/cpp.texi: Likewise.
1775 * doc/cppopts.texi: Likewise.
1776
bb8a619e
SB
17772004-05-05 Steven Bosscher <stevenb@suse.de>
1778
1779 * basic-block.h (free_basic_block_vars): Update prototype.
1780 * flow.c (free_basic_block_vars): Remove the keep_head_end_p
1781 argument.
1782 (life_analysis): Update call.
1783 * ifcvt.c (if_convert): Likewise.
1784 * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
1785 * passes.c (rest_of_handle_final): Likewise.
1786 (rest_of_compilation): Likewise.
1787 * config/sh/sh.c (sh_output_mi_thunk): Likewise.
1788
1789 * emit-rtl.c (next_real_insn): Use INSN_P.
1790 (prev_real_insn): Likewise.
1791
2e592dce
EC
17922004-05-05 Eric Christopher <echristo@redhat.com>
1793
1794 * config/mips/mips.md: Update the madd define_split for new mflo/mfhi
1795 representation.
1796
7c62e993
PB
17972004-05-05 Paolo Bonzini <bonzini@gnu.org>
1798
1799 * config/rs6000/rs6000.c (build_opaque_vector_type):
1800 New function.
1801 (rs6000_init_builtins): Use it.
1802
87fac4e3
BG
18032004-05-04 Bernard Giroud <bgiroud2@free.fr>
1804
1805 * gcc/gcc/vmsdbgout.c (vms_func_node, vms_func_ref): New.
1806 (func_table): Change type from char ** to vms_func_ref.
1807 (write_rtnbeg): Update to reflect func_table change. Use
1808 fde->funcdef_number instead of rtnnum in output.
1809 (write_rtnend, vmxdbgout_begin_function, vmsdbgout_init): Likewise.
1810
cc27e657
PB
18112004-05-04 Paolo Bonzini <bonzini@gnu.org>
1812 Richard Henderson <rth@redhat.com>
1813
1814 PR target/14899
1815
1816 * c-common.c (vector_types_convertible_p): New function.
1817 * c-typeck.c (comptypes): Recurse on vector types.
1818 (convert_for_assignment): Use vector_types_convertible_p.
1819 (digest_init): Use vector_types_convertible_p to check
1820 validness of constant vector initializers; otherwise treat
1821 them as scalars.
1822 * tree.c (make_or_reuse_type): New.
1823 (build_common_tree_nodes): Use it.
1824 * cp/call.c (standard_conversion): Likewise.
1825 * cp/typeck.c (comptypes): Recurse on vector types.
1826 (convert_for_assignment): Use vector_types_convertible_p.
cc27e657 1827
6fc8a30a
CD
18282004-05-04 Chris Demetriou <cgd@broadcom.com>
1829
1830 * config/mips/mips.c (override_options): Default to no
1831 generation of branch-likely operations when tuning for
1832 CPUs where they tend to have a negative performance impact
1833 (e.g., SB-1).
1834
6c89c39a
RK
18352004-05-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1836
1837 * expr.c (store_constructor_field): Don't call store_constructor
1838 if bitsize is not a multiple of a byte.
1839
b5ba341f
RS
18402004-05-04 Richard Sandiford <rsandifo@redhat.com>
1841
1842 * reload1.c (inherit_piecemeal_p): New function.
1843 (emit_reload_insns): When reloading a group of hard registers, use
1844 inherit_piecemeal_p to decide whether the values of individual hard
1845 registers can be inherited.
1846
c6c8779b
L
18472004-05-04 H.J. Lu <hongjiu.lu@intel.com>
1848
1849 * config/ia64/t-ia64 (LIB2ADDEH): Remove gthr-gnat.c.
1850 * config/s390/t-tpf (LIB2ADDEHDEP): Likewise.
1851 * config/t-linux (LIB2ADDEHDEP): Likewise.
1852
82c732f9
PB
18532004-05-04 Paul Brook <paul@codesourcery.com>
1854
1855 * config/arm/crti.asm: Push an even number of registers.
1856 * config/arm/crtn.asm: And restore them. Load via sp.
1857
92e838e2
PB
18582004-05-04 Paolo Bonzini <bonzini@gnu.org>
1859
1860 * ggc-zone.c (ggc_alloc_zone_1): Add MEM_STAT_DECL parameter.
1861 Collect overhead information.
1862 (ggc_alloc_stat): New name of ggc_alloc. Add MEM_STAT_DECL
1863 parameter and pass it through.
1864 (ggc_alloc_typed_stat): New name of ggc_alloc_typed. Add
1865 MEM_STAT_DECL parameter and pass it through.
1866 (ggc_alloc_zone_stat): New name of ggc_alloc_zone. Add
1867 MEM_STAT_DECL parameter and pass it through.
1868
d8ecbcdb
AH
18692004-05-03 Aldy Hernandez <aldyh@redhat.com>
1870
1871 * config/rs6000/rs6000-protos.h: Protoize rs6000_hard_regno_nregs.
1872
1873 * config/rs6000/rs6000.c (rs6000_hard_regno_nregs): New.
1874
1875 * config/rs6000/rs6000.h (HARD_REGNO_NREGS): Call
1876 rs6000_hard_regno_nregs.
1877
2f7e5a0d
EC
18782004-05-03 Eric Christopher <echristo@redhat.com>
1879
1880 * config/s390/s390.c (s390_emit_prologue): Call unspec tpf
1881 prologue insn instead of setting up call.
1882 (s390_emit_epilogue): Ditto.
1883 * config/s390/s390.md (prologue_tpf, epilogue_tpf): New patterns.
1884 (define_constants): Add numbers for above patterns.
1885
38899e29
EC
18862004-05-03 Eric Christopher <echristo@redhat.com>
1887
1888 * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Move body...
1889 * config/s390/s390.c (s390_conditional_register_usage): ...here.
1890 * config/s390/s390-protos.h: Prototype.
1891
97d62313
JB
18922004-05-03 Joe Buck <jbuck@welsh-buck.org>
1893
1894 * cppfiles.c (pchf_adder): Eliminate use of |= in d->have_once_only
1895 assignment.
1896
03a53989
EC
18972004-05-03 Eric Christopher <echristo@redhat.com>
1898
1899 * config/mips/mips.md: Fix branch length attribute definition.
1900
318fec6d
AH
19012004-05-03 Aldy Hernandez <aldyh@redhat.com>
1902
1903 * config.gcc: Remove --enable-altivec support.
1904
1905 * config/rs6000/altivec-defs.h: Remove.
1906
553cba65
RO
19072004-05-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1908
1909 * fixinc/inclhack.def (svr4_profil): Don't apply on IRIX 5/6.
1910 * fixinc/fixincl.x: Regenerate.
1911
6adcf89d
UB
19122004-05-03 Uros Bizjak <uros@kss-loka.si>
1913
1914 * config/i386/i386.md (*fyl2x_sfxf3, *fyl2x_dfxf3): Remove insn
1915 definition.
1916 (log?f2, log10?f2, log2?f2): Reimplement expanders with
1917 float_truncate insn.
1918 (*fxtractsf3, *fxtractdf3): Remove insn definition.
1919 (logb?f2): Reimplement expanders with float_truncate insn.
1920
834eb1f0
GS
19212004-05-03 Graham Stott <graham.stott@btinternet.com>
1922
1923 PR 14718
1924 * dwarf2out.c (dwarf2out_imported_module_or_decl): Use
1925 force_type_die for CONST_DECL.
1926
bb8a619e
SB
19272004-05-03 Eric Botcazou <ebotcazou@libertysurf.fr>
1928 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
178af0f3
EB
1929
1930 * config.gcc (sparc64-*-solaris2*, sparcv9-*-solaris2*): Add
1931 tm-dwarf2.h to tm_file.
1932 (sparc-*-solaris2*): Add tm-dwarf2.h to tm_file for Solaris 7+.
1933 * config/sparc/sol2-bi.h (PREFERRED_DEBUGGING_TYPE): Delete.
1934 (ASM_DEBUG_SPEC): Delete.
1935
7a8e07c7
UB
19362004-05-03 Uros Bizjak <uros@kss-loka.si>
1937
1938 * optabs.h (enum optab_index): Add new OTI_expm1.
1939 (expm1_optab): Define corresponding macro.
1940 * optabs.c (init_optabs): Initialize expm1_optab.
1941 * genopinit.c (optabs): Implement expm1_optab using expm1?f2
1942 patterns.
1943 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXPM1{,F,L}
1944 using expm1_optab.
1945 (expand_builtin): Expand BUILT_IN_EXPM1{,F,L} using
1946 expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
1947
1948 * config/i386/i386.md (expm1df2, expm1sf2, expm1xf2): New expanders
1949 to implement expm1, expm1f and expm1l built-ins as inline x87
1950 intrinsics.
1951
5f2b9599
AO
19522004-05-02 Alexandre Oliva <aoliva@redhat.com>
1953
1954 2003-11-19 Richard Sandiford <rsandifo@redhat.com>
1955 * config/frv/frv.md (*return_true, *return_false): New patterns.
1956
1e5b67ff
KH
19572004-05-02 Kazu Hirata <kazu@cs.umass.edu>
1958
1959 * rtl.h (PHI_NODE_P): Remove.
1960
cfa29a4c
EB
19612004-05-02 Eric Botcazou <ebotcazou@act-europe.fr>
1962
1963 PR middle-end/14988
1964 * function.c (assign_stack_local_1): Use BITS_PER_UNIT alignment
1965 when passed -2 as 'align'.
1966 (put_var_into_stack): Use 'bool' as the type for the three local
1967 predicates. Adjust calls to put_reg_into_stack.
1968 When passed a CONCAT, instruct put_reg_into_stack to use
1969 a consecutive stack slot for the second part.
1970 (put_reg_into_stack): Remove 'promoted_mode' parameter, add
1971 'consecutive_p' parameter. Turn the three predicates into 'bool'
1972 parameters. Retrieve the register mode from 'reg'.
1973 When consecutive_p is true, instruct assign_stack_local_1 to use
1974 BITS_PER_UNIT alignment.
1975 (put_addressof_into_stack): Use 'bool' as the type for the two
1976 local predicates. Adjust call to put_reg_into_stack.
1977
fc627530
KG
19782004-05-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1979
1980 * fold-const.c (fold_convert_const, fold): Add missing
1981 FIX_ROUND_EXPR case.
1982
afbe7e61
AO
19832004-05-02 Alexandre Oliva <aoliva@redhat.com>
1984
9850f34a
AO
1985 * configure.ac (FLEX, BISON): Only use tools from the build tree
1986 if build equals host.
1987 * configure: Rebuilt.
1988
764678d1
AO
1989 * config/frv/frv-protos.h (frv_expand_epilogue,
1990 frv_expand_fdpic_call): Add bool argument.
1991 * config/frv/frv.c (frv_function_ok_for_sibcall): New.
1992 (TARGET_FUNCTION_OK_FOR_SIBCALL): Define to it.
1993 (frv_expand_epilogue): Use new argument to decide whether to emit
1994 return instruction or copy the return address to LR.
1995 (frv_expand_fdpic_call): Inline PLT entry when emitting direct
1996 sibcalls.
1997 (sibcall_operand): New.
1998 * config/frv/frv.h (PREDICATE_CODES): call_operand doesn't match
1999 PLUS nor LABEL_REF. Add sibcall_operand.
2000 * config/frv/frv.md (call, call_value): Pass false to
2001 frv_expand_fdpic_call.
2002 (call_fdpicdi, call_value_fdpicdi): Insert %i0 in calll.
2003 (sibcall, sibcall_internal, sibcall_fdpicdi, sibcall_value,
2004 sibcall_value_internal, sibcall_value_fdpicdi): New.
2005 (return_unsigned_true, return_unsigned_false): New.
2006 (epilogue): Adjust call to frv_expand_epilogue.
2007 (sibcall_epilogue): New.
2008
afbe7e61
AO
2009 * config/frv/frv.h (ASM_SPEC): Pass -mno-fdpic as -mnopic.
2010 (CPP_SPEC, CPP_SIMPLE_SPEC): Undefine __FRV_ACC__ and __FRV_FPR__
2011 before redefining them.
2012
ca3df643
KG
20132004-05-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2014
2015 * builtins.c (fold_fixed_mathfn): New function.
2016 (fold_builtin_lround, fold_builtin): Use it.
2017
f2c0cb15
JJ
20182004-05-01 Jakub Jelinek <jakub@redhat.com>
2019
2020 * config/sparc/linux64.h (TARGET_DEFAULT): Make 64-bit by default
2021 also for TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc3.
2022
ea2637eb
KH
20232004-05-01 Kazu Hirata <kazu@cs.umass.edu>
2024
2025 * config/cris/cris.h: Revert my "fix comment typos" patch.
2026
d0cb84e9
RS
20272004-05-01 Richard Sandiford <rsandifo@redhat.com>
2028
6c3db3ab 2029 * config/mips/mips.h (TUNE_MACC_CHAINS): Fix comment.
d0cb84e9 2030
ebade076
FH
20312004-05-01 Falk Hueffner <falk@debian.org>
2032
2033 * config/alpha/alpha.md (builtin_insbl, builtin_inswl,
2034 builtin_insll): Disallow 0 as first input operand.
2035
0962c33d
FH
20362004-05-01 Falk Hueffner <falk@debian.org>
2037
2038 * config/alpha/alpha.c (alpha_rtx_costs): Fix shiftadd costs.
2039
e2655d15 20402004-05-01 Ulrich Weigand <uweigand@de.ibm.com>
03a53989 2041
e2655d15 2042 PR middle-end/15054
03a53989 2043 * expr.c (expand_expr_real): Do not call preserve_temp_slots
e2655d15
UW
2044 on a TARGET_EXPR temp.
2045 * function.c (assign_stack_temp_for_type): Set 'keep' flag for
2046 TARGET_EXPR temp slots.
2047
77306e3e
PB
20482004-05-01 Paolo Bonzini <bonzini@gnu.org>
2049
2050 * simplify-rtx.c (simplify_ternary_operation): When
2051 converting an IF_THEN_ELSE to a relational op, return
2052 correct mode.
2053
3bf05748
KG
20542004-04-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2055
2056 * builtins.c (fold_builtin_round): Fix comment typo.
2057 (fold_builtin_lround): New function.
2058 (fold_builtin): Use it.
2059
c0873231
AP
20602004-04-20 Andrew Pinski <pinskia@physics.uc.edu>
2061
2062 PR target/11608
2063 * config/sh/elf.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Update and make it
2064 more like the one in config/dbxelf.h.
2065
5c5214a9
ZW
20662004-04-30 Zack Weinberg <zack@codesourcery.com>
2067
2068 * tree.h (SET_ARRAY_OR_VECTOR_CHECK): Rename to SET_OR_ARRAY_CHECK
2069 and adjust definition accordingly.
2070 (TYPE_DOMAIN): Allow only SET_TYPE and ARRAY_TYPE.
2071 (TYPE_DEBUG_REPRESENTATION_TYPE): Allow only VECTOR_TYPE.
2072 * expr.c (store_constructor): Do not access TYPE_DOMAIN of a
2073 VECTOR_TYPE.
2074
67214984
JM
20752004-04-30 Jason Merrill <jason@redhat.com>
2076
2077 PR c++/14587
2078 * config/i386/winnt.c (associated_type): Look for attributes on
2079 the TYPE_MAIN_VARIANT of *this.
2080 * attribs.c (decl_attributes): If ATTR_FLAG_TYPE_IN_PLACE, also
2081 apply the attributes to the variants.
2082
b73f075a
PB
20832004-04-30 Paul Brook <paul@codesourcery.com>
2084
2085 * config.gcc: Simplify arm --with-{cpu,tune} test.
2086 * config/arm/arm-cores.def: Document whitespace restrictions.
2087
5076da17
RO
20882004-04-30 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2089
2090 PR other/1963
2091 * config/alpha/osf.h (SWITCHES_NEED_SPACES): Define.
2092
8a897bf9 20932004-04-30 Brian Ford <ford@vss.fsi.com>
bb8a619e
SB
2094 DJ Delorie <dj@redhat.com>
2095
2096 * config/i386/cygming.h [HAVE_GAS_PE_SECREL32_RELOC]
2097 (DWARF2_DEBUGGING_INFO): Define to enable.
2098 (DBX_REGISTER_NUMBER): Define to use the svr4 register map for
2099 DWARF2.
2100 * configure.ac (Target-specific assembler checks)
2101 <i[34567]86-*-[cygwin*|pe|mingw32*]>: New test for .secrel32
2102 relocs.
2103 * configure: Regenerate.
2104 * config.in: Likewise.
2105
2106 * config/i386/cygming.h [HAVE_GAS_PE_SECREL32_RELOC]
2107 (ASM_OUPUT_DWARF_OFFSET): Define.
8a897bf9 2108
ed9676cf
AK
21092004-04-29 Andreas Krebbel <krebbel1@de.ibm.com>
2110
2111 * config/s390/s390-protos.h (s390_emit_epilogue): Parameter added.
2112 (s390_emit_call): New function prototype added.
2113 (s390_tls_get_offset): Function removed.
2114 * config/s390/s390.c (s390_function_ok_for_sibcall,
2115 s390_call_saved_register_used_p): New functions.
2116 (TARGET_FUNCTION_OK_FOR_SIBCALL): Definition of target macro added.
2117 (s390_tls_get_offset): Function merged into s390_emit_tls_call_insn.
2118 (s390_emit_tls_call_insn): New function.
2119 (legitimize_tls_address): Call s390_emit_tls_call_insn instead of
2120 emit_call_insn.
2121 (s390_emit_prologue): Use s390_emit_call instead of emit_call_insn.
5c5214a9 2122 (s390_emit_epilogue): Like s390_emit_prologue. Parameter for sibcalls
ed9676cf 2123 added.
5c5214a9 2124 * config/s390/s390.h (SIBCALL_REGNUM): New macro representing the
ed9676cf
AK
2125 register number used to hold the target address for sibcalls.
2126 * config/s390/s390.md ("sibcall", "sibcall_value", "sibcall_epilogue"):
2127 New expanders.
5c5214a9 2128 ("*sibcall_br", "*sibcall_brc", "*sibcall_brcl", "*sibcall_value_br",
ed9676cf 2129 "*sibcall_value_brc", "*sibcall_value_brcl"): New insns.
5c5214a9 2130 ("call_exp", "call_value_exp", "call_value_tls", "call_value_tls_exp"):
ed9676cf
AK
2131 Expanders removed.
2132 ("call", "call_value"): Call s390_emit_call to emit the call patterns.
5c5214a9 2133 ("*bras", "*brasl", "*bras_r", "*brasl_r", "*bras_tls", "*brasl_tls",
ed9676cf
AK
2134 "*basr", "*basr_r", "*basr_tls"): Added constraint: !SIBLING_CALL_P.
2135 ("epilogue"): Changed the call to s390_emit_epilogue to use the
2136 new parameter.
2137
1ae58c30
KH
21382004-04-30 Kazu Hirata <kazu@cs.umass.edu>
2139
2140 * bb-reorder.c, c-opts.c, cfglayout.c, cgraph.c, cgraphunit.c,
2141 cppfiles.c, fold-const.c, ggc-zone.c, loop-doloop.c, optabs.c,
2142 reg-stack.c, varasm.c, config/alpha/ev4.md,
2143 config/alpha/ev5.md, config/alpha/ev6.md, config/arm/arm.c,
2144 config/c4x/c4x.c, config/c4x/c4x.md, config/cris/cris.c,
2145 config/cris/cris.h, config/fr30/fr30.h, config/frv/frv.c,
2146 config/frv/frv.h, config/frv/frv.md, config/h8300/h8300.c,
2147 config/i386/i386.c, config/i386/i386.md, config/i386/winnt.c,
2148 config/ia64/itanium2.md, config/ip2k/ip2k.c,
2149 config/mips/mips.c, config/mips/mips.h, config/mips/sr71k.md,
2150 config/pa/pa.c, config/s390/s390.c, config/sh/sh.c: Fix
2151 comment typos.
2152
78011587
PB
21532004-04-30 Paul Brook <paul@codesourcery.com>
2154
2d84a437 2155 * config.gcc: Default ep9312 to hard-float.
78011587
PB
2156 * config/arm/arm-cores.def: Add ARCH field.
2157 * config/arm/arm.c (FL_FOR_ARCH*): Define.
2158 (arm_arch_cirrus): New variable.
2159 (all_cores): Set and use arch.
2160 (all_architectures): Ditto.
2161 (arm_arch_name): New variable.
2162 (arm_override_options): Set it. Use [SUB]TARGET_CPU_DEFAULT.
2163 Set and use arm_arch_cirrus.
2164 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Set arch defines.
2165 (enum processor_type): Update ARM_CORE define.
2166 (enum target_cpus): Add. Replaces TARGET_CPU_* defines.
2167 (CPP_SPEC): Remove %(cpp_cpu_arch).
2168 (CPP_ARCH_DEFAULT_SPEC): Remove.
2169 (CPP_CPU_ARCH_SPEC): Remove.
2170 (EXTRA_SPECS): Don't use CPP_*ARCH*_SPEC.
2171 (FPUTYPE_DEFAULT): Don't define here.
2172
e344dbf3
R
21732004-04-30 J"orn Rennecke <joern.rennecke@superh.com>
2174
2175 * flow.c (propagate_one_insn): Call mark_set_regs for stack pointer
2176 updates too.
2177
65a939f7
PB
21782004-04-30 Paul Brook <paul@codesourcery.com>
2179
2180 * arm.c (arm_needs_doubleword_align): Use mode alignment.
2181
0bf87ea5
PB
21822004-04-30 Paolo Bonzini <bonzini@gnu.org>
2183
2184 * config/altivec/altivec.h [__cplusplus] (vec_subsubs): Rename to
2185 vec_sububs.
2186 [__cplusplus] (vec_subsuhs): Rename to vec_subuhs, without
2187 duplicates.
2188
a6bf61c7
UB
21892004-04-30 Uros Bizjak <uros@kss-loka.si>
2190
65a939f7
PB
2191 * config/i386/i386.md (atansf2, atandf2, atanxf2): Move near
2192 atan2?f3 expanders.
a6bf61c7 2193
150e407a
NC
21942004-04-29 Nick Clifton <nickc@redhat.com>
2195
2196 Bug 14093
2197 * config/sh/sh-protos.h (sh_promote_prototypes): Declare.
2198 * config/sh/sh.c (sh_promote_prototypes): Remove declaration.
2199 Delete static from definition.
2200 * config/sh/sh.h (FUNCTION_VALUE): Add sh_promote_prototypes call.
2201
6862f97f
UB
22022004-04-30 Uros Bizjak <uros@kss-loka.si>
2203
65a939f7
PB
2204 * reg-stack.c (subst_stack_regs_pat): <UNSPEC_SIN, UNSPEC_COS,
2205 UNSPEC_FRNDINT, UNSPEC_F2XM1>: abort() if src1 dies.
2206 <UNSPEC_SINCOS_COS, UNSPEC_TAN_ONE, UNSPEC_XTRACT_FRACT>: Same.
2207 <UNSPEC_SINCOS_SIN, UNSPEC_TAN_TAN, UNSPEC_XTRACT_EXP>: Same.
6862f97f 2208
c65a01af
RG
22092004-04-29 Richard Guenther <richard.guenther@uni-tuebingen.de>
2210
2211 * commom.opt (Wfatal-errors): Add it.
2212 * diagnostic.c (flag_fatal_errors): Define it.
2213 (diagnostic_action_after_output): Check for flag_fatal_errors.
2214 * flags.h (flag_fatal_errors): Declare it.
2215 * opts.c (common_handle_option): Add OPT_Wfatal_errors.
2216 * doc/invoke.texi (Warning Options): Document -Wfatal-errors.
2217
d1c6a401
JZ
22182004-04-30 Josef Zlomek <zlomekj@suse.cz>
2219
2220 * gcse.c (remove_reachable_equiv_notes): Delete notes also in
2221 blocks which have kill flag set.
2222
99c012a8
BE
22232004-04-29 Ben Elliston <bje@au.ibm.com>
2224
2225 * configure.ac (--with-as): Abort if user-supplied assembler
2226 cannot be executed.
2227 (--with-ld): Likewise for the linker.
2228 * configure: Regenerate.
2229
d2be4368
KG
22302004-04-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2231
2232 * convert.c (convert_to_integer): Ensure `long_integer_type_node'
2233 isn't NULL before using it.
2234
15a6f2c3
RS
22352004-04-29 Richard Sandiford <rsandifo@redhat.com>
2236
2237 PR target/15189
2238 * config/mips/mips.md (load_df_low): Use default length.
2239 (load_df_high, store_df_high): Likewise.
2240
effa5d5d
KH
22412004-04-29 Kazu Hirata <kazu@cs.umass.edu>
2242
2243 * config/mips/mips.md, config/mips/sb1.md,
2244 config/rs6000/rs6000.c: Fix comment typos.
2245
2b8a92de
KH
22462004-04-29 Kazu Hirata <kazu@cs.umass.edu>
2247
2248 * builtins.c, cgraph.c, cgraphunit.c, final.c, fold-const.c:
2249 Fix comment typos.
2250
8fd58397
DR
22512004-04-29 Douglas B Rupp <rupp@gnat.com>
2252
2253 * gcc.c (DELETE_IF_ORDINARY): New macro default definition.
2254 (delete_if_ordinary): Use above macro.
2255 * config/alpha/xm-vms.h (DELETE_IF_ORDINARY): New macro VMS definition.
2256 Update copyright.
2257 * doc/hostconfig.texi (DELETE_IF_ORDINARY): Document new macro.
2258
56141a6a
RE
22592004-04-29 Richard Earnshaw <rearnsha@arm.com>
2260
2261 * c-decl.c (get_parm_info): Use the correct tag keywords when
2262 warning about type declarations in prototypes.
2263
2682e19f
PB
22642004-04-29 Paul Brook <paul@codesourcery.com>
2265
2266 * config.gcc: Pull list of cores from arm-cores.def.
2267
c6fb08ad
PB
22682004-04-29 Paolo Bonzini <bonzini@gnu.org>
2269
2270 * combine.c (combine_simplify_rtx): Adjust call to use
2271 simplify_relational_operation. Do not use SELECT_CC_MODE
2272 when a comparison already has a MODE_CC mode.
0bf87ea5
PB
2273
22742004-04-29 Paolo Bonzini <bonzini@gnu.org>
2275
c6fb08ad
PB
2276 (simplify_set): simplify_relational_operation may now
2277 return another relational expression.
2278 * cse.c (fold_rtx): simplify_relational_operation now
2279 takes of computing the comparison mode.
2280 * dojump.c (compare_from_rtx): Use simplify_relational_operation,
2281 remove dead code.
2282 (do_compare_rtx_and_jump): Likewise.
2283 * integrate.c (subst_constants): simplify_relational_operation
2284 may now return another relational expression.
2285 * simplify-rtx.c (simplify_gen_relational): Move most code to
2286 the new simplify_relational_operation and
2287 simplify_relational_operation_1 functions.
2288 (simplify_relational_operation): Rewritten.
2289 (simplify_relational_operation_1): New function.
2290 (simplify_ternary_operation): simplify_relational_operation
2291 may now return another relational expression.
5c5214a9 2292 (simplify_rtx): Remove unnecessary temp variable.
c6fb08ad 2293
f964bd29
UB
22942004-04-29 Uros Bizjak <uros@kss-loka.si>
2295
2682e19f
PB
2296 * reg-stack.c (swap_to_top): New function.
2297 (subst_stack_regs_pat): UNSPEC_FPATAN, UNSPEC_FYL2X: Use
2298 swap_to_top().
2299 (subst_stack_regs_pat): UNSPEC_FSCALE: Remove.
5c5214a9 2300 (subst_stack_regs_pat): Handle UNSPEC_FSCALE_FRACT and
2682e19f 2301 UNSPEC_FSCALE_EXP.
f964bd29 2302
2682e19f
PB
2303 * config/i386/i386.md (UNSPEC_FSCALE): Remove.
2304 (*fscale_sfxf3, *fscale_dfxf3, *fscale_xf3): Remove insn pattern.
2305 (UNSPEC_FSCALE_FRACT, UNSPEC_FSCALE_EXP): New unspecs to represent
2306 x87's fscale insn.
2307 (*fscalexf4: Define new insn pattern to implement x87 fscale insn.
2308 (exp?f2, exp10?f2, exp2?f2): Use *fscalexf4 and float_truncate
2309 patterns.
f964bd29 2310
cb83302c
SB
23112004-04-28 Serge Belyshev <1319@bot.ru>
2312
2313 PR 14944
2314 * coverage.c (read_counts_file): Fix usage of warning () call.
2315 * pretty-print.c (pp_base_format_text): Fix typo in the comment.
2316
5ad7ae7f
BE
23172004-04-28 Ben Elliston <bje@au.ibm.com>
2318
2319 * doc/invoke.texi (Objective-C Dialect Options): Don't prefix
2320 options with "-" in the option index.
2321 (SPARC Options): Likewise.
2322 (M32R/D Options): Likewise.
2323
332d782c
KG
23242004-04-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2325
2326 * convert.c (convert_to_integer): Convert (long)round -> lround,
2327 etc.
2328
90f81f99
AP
23292004-04-28 Andrew Pinski <pinskia@physics.uc.edu>
2330
2331 * config/rs6000/rs6000.c (registers_ok_for_quad_peep):
2332 Return false if we do not have fp register.
2333 (addrs_ok_for_quad_peep): Rename to ...
2334 (mems_ok_for_quad_peep): this.
2335 Add check for volatile memory.
2336 * config/rs6000/rs6000-protos.h (addrs_ok_for_quad_peep):
2337 Rename to ...
2338 (mems_ok_for_quad_peep): this.
2339 * config/rs6000/rs6000.md: Change peephole's for lfq/stq
2340 to peephole2's.
2341 (lfq_power2): New instruction.
2342 (stfq_power2): Likewise.
2343
902edd36
JH
23442004-04-28 Jan Hubicka <jh@suse.cz>
2345
2346 PR c/15004
2347 * function.c (do_warn_unused_parameter): Break out form ...
2348 (expand_function_end): ... here; warn only when not using cgraphunit.
2349 * function.h (do_warn_unused_parameter): Declare.
2350 * cgraphunit.c: Include function.h.
2351 (cgraph_finalize_function): Do unused parameter warning.
2352 * Makefile.in (cgraphunit.o): Depend on function.h
2353
a89f5df3
JM
23542004-04-28 Joseph S. Myers <jsm@polyomino.org.uk>
2355
2356 * Makefile.in ($(DESTDIR)$(infodir)/%.info): Don't condition
2357 calling install-info on $(DESTDIR)$(infodir)/dir already being
2358 present.
2359
40f0b3ee
PB
23602004-04-28 Paul Brook <paul@codesourcery.com>
2361
2362 * dwarf2out.c (mem_loc_descriptor): Handle shifts.
2363
c2e2375e
UW
23642004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
2365
5c5214a9 2366 * gcse.c (find_moveable_store): Do not accept store insns with
c2e2375e
UW
2367 REG_EH_REGION note.
2368
9e1622ed
PB
23692004-04-28 Paul Brook <paul@codesourcery.com>
2370
2371 * calls.c (precompute_arguments): Remove PROMOTE_FOR_CALL_ONLY.
2372 * function.c (assign_temp): Ditto.
2373 * system.h (PROMOTE_FOR_CALL_ONLY): Poison.
2374
e0d4a859
PB
23752004-04-28 Paul Brook <paul@codesourcery.com>
2376
2377 * config/arm/lib1funcs.asm: Recognize armv5tej and armv6.
2378
83532fb7
JZ
23792004-04-28 Josef Zlomek <zlomekj@suse.cz>
2380
2381 * var-tracking.c (variable_different_p): Add a parameter
2382 compare_current_location, compare current location of variable parts
2383 if it is true.
2384 (dataflow_set_different_1): Pass compare_current_location == false.
2385 (dataflow_set_different_2): Pass compare_current_location == false.
2386 (emit_notes_for_differences_1): Pass compare_current_location == true.
2387
cfa29496
UW
23882004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
2389
2390 * config/s390/s390.md ("casesi"): Mark jump table access as
2391 non-trapping and unchanging.
2392
23959f19
JDA
23932004-04-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2394
2395 PR debug/14829
2396 * dwarf2out.c (reg_number): Rename to dbx_reg_number. Adjust all
2397 callers.
2398 (multiple_reg_loc_descriptor, reg_loc_descriptor): Use gcc register
2399 number for indexing hard_regno_nregs array.
5c5214a9 2400
2f70eed1
GK
24012004-04-27 Geoffrey Keating <geoffk@apple.com>
2402
2403 * config/darwin.h (STARTFILE_SPEC): Use %s to find crt2.o.
2404 * config/darwin-crt2.c: Only have contents on __ppc__.
2405
f1dfe704
BW
24062004-04-27 Bob Wilson <bob.wilson@acm.org>
2407
2408 * config/xtensa/xtensa.c (call_insn_operand): Check
2409 SYMBOL_REF_EXTERNAL_P in addition to SYMBOL_REF_LOCAL_P.
2410 * config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND): Likewise.
2411 * config/xtensa/xtensa.md (call, call_value): Likewise.
2412
80408cac
WY
24132004-04-27 Wu Yongwei <adah@sh163.net>
2414
2415 * gthr-win32.h (__gthread_mutex_t): Change typedef to new structure.
2416 (__GTHREAD_MUTEX_INIT_DEFAULT): Adjust.
2417 (__gthread_mutex_init_function): Replace CreateMutex with
2418 initialization of custom mutex using CreateSemaphore.
2419 (__gthread_mutex_lock): Use InterlockedIncrement.
2420 (__gthread_mutex_trylock): Use InterlockedCompareExchange.
2421 (__gthread_mutex_unlock): Use InterlockedDecrement and
2422 ReleaseSemaphore to unlock
2423 * config/i386/gthr-win32.c (__gthread_mutex_init_function,
2424 __gthread_mutex_lock, __gthread_mutex_trylock,
2425 __gthread_mutex_unlock): Adjust to match inline versions in
2426 gthr-win32.h.
2427
70301b45
PB
24282004-04-27 Paul Brook <paul@codesourcery.com>
2429
2430 * config/arm/arm.c (arm_promote_prototypes): New function.
2431 (TARGET_PROMOTE_PROTOTYPES): Use it.
2432
4b763d77
PB
24332004-04-27 Paul Brook <paul@codesourcery.com>
2434
2435 * config/arm/arm.c (arm_expand_epilogue): Count blocks of 4 regs.
2436
7053a0e2
BG
24372004-04-26 Bernard Giroud <bgiroud@free.fr>
2438
2439 * config/alpha.c (alpha_end_function): For OpenVMS gas,
2440 correctly output .pdesc directive before .end.
2441
6d7870d1
JW
24422004-04-26 James E Wilson <wilson@specifixinc.com>
2443
2444 Bug 14927
2445 * config/ia64/ia64.md (movxf): New local op0. Handle case where
2446 operands[0] is a SUBREG. Handle case where operands[1] is a GR reg.
2447
7dd7fb88
ZW
24482004-04-26 Zack Weinberg <zack@codesourcery.com>
2449
2450 * config/ia64/hpux.h: Predefine __STDCPP__ when compiling C++.
2451 * config/pa/pa-hpux10.h: Likewise.
2452 * config/pa/pa-hpux11.h: Likewise.
2453
488061c8
GK
24542004-04-26 Geoffrey Keating <geoffk@apple.com>
2455
2456 * doc/invoke.texi (Overall Options): Document default for -o
2457 for PCH files.
2458
2b92e7f5
RK
24592004-04-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2460
2461 * builtins.c (expand_builtin_update_setjmp_buf): New function.
2462 (expand_builtin, case BUILT_IN_UPDATE_SETJMP_BUF): New case.
2463 * builtins.def (BUILT_IN_UPDATE_SETJMP_BUF): New code.
2464
3657dc3e
PB
24652004-04-26 Paul Brook <paul@codesourcery.com>
2466
2467 * config/arm/arm.c (arm_legitimate_index_p): Correct iwmmxt offsets.
2468
778ebdd9
PB
24692004-04-26 Paul Brook <paul@codesourcery.com>
2470
2471 * config/arm/arm.c (arm_legitimate_index_p): Correct maverick offsets.
2472
7c95f621
RS
24732004-04-25 Roger Sayle <roger@eyesopen.com>
2474
2475 * fold-const.c (fold): Prefer fold_convert (negate_expr (...)) to
2476 fold (build1 (NEGATE_EXPR, ...)). Optimize X / -1 as -X and
2477 X % -1 as 0.
2478
29c246a7
HPN
24792004-04-26 Hans-Peter Nilsson <hp@bitrange.com>
2480
2481 PR bootstrap/15141
2482 * except.c (connect_post_landing_pads): Delete insns after the
2483 barrier when generating a unwind_resume_libfunc call.
2484
95df09f0
RK
24852004-04-25 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2486
2487 PR/c++ 15119
2488 * tree.c (substitute_placeholder_in_expr, case 4): New case,
2489 for TARGET_EXPR.
2490
24912004-04-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
060c5f00
ZD
2492
2493 * gcov-io.h (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle,
2494 __gcov_execv, __gcov_execvp, __gcov_execve): Do not declare when
2495 inhibit_libc is defined.
2496
39ba1719
RS
24972004-04-25 Richard Sandiford <rsandifo@redhat.com>
2498
2499 * config/mips/mips-protos.h (mips_linked_macc_p): Declare.
2500 * config/mips/mips.h (TUNE_MACC_CHAINS): New macro.
2501 * config/mips/mips.c (TARGET_SCHED_REORDER): Define.
2502 (TARGET_SCHED_VARIABLE_ISSUE): Define.
2503 (mips_adjust_cost): Move later in file, next to other sched hooks.
2504 (mips_macc_chains_last_hilo): New variable.
2505 (mips_linked_madd_p, mips_macc_chains_record, mips_macc_chains_reorder)
2506 (mips_promote_ready, mips_sched_reorder, mips_variable_issue): New.
2507 * config/mips/mips.md (may_clobber_hilo): New attribute.
2508
d3535e80
RS
25092004-04-24 Roger Sayle <roger@eyesopen.com>
2510 Bruce Korb <bkorb@gnu.org>
2511
2512 * fixinc/inclhack.def (aix_syswait_2): New fix.
2513 * fixinc/fixincl.x: Regenerate.
2514 * fixinc/tests/base/sys/wait.h: Update for new test.
2515
44688022
AM
25162004-04-24 Alan Modra <amodra@bigpond.net.au>
2517
2518 PR target/14960
2519 * config/rs6000/rs6000.c (rs6000_stack_info): Rename total_raw_size
2520 to non_fixed_size, and leave out fixed_size from the sum.
2521 (generate_set_vrsave): Correct clobbers.
2522 (rs6000_emit_epilogue): Test TARGET_ALTIVEC with TARGET_ALTIVEC_SAVE.
2523 (rs6000_function_value): Test TARGET_ALTIVEC and TARGET_ALTIVEC_ABI.
2524 (rs6000_libcall_value): Likewise.
2525 * config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Likewise.
2526 (FUNCTION_ARG_REGNO_P): Likewise.
2527
77278891
UW
25282004-04-24 Ulrich Weigand <uweigand@de.ibm.com>
2529
2530 * expmed.c (expand_mult_highpart_adjust): Do not assume OP1
2531 is a CONST_INT.
2532 (expand_mult_highpart_optab): Call expand_mult_highpart_adjust
2533 with NARROW_OP1 instead of OP1.
2534
170f9e63
UW
25352004-04-24 Ulrich Weigand <uweigand@de.ibm.com>
2536
2537 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for __s390__
2538 and __s390x__ hosts.
2539
d1c38823
ZD
25402004-03-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2541
2542 * Makefile.in (LIBGCOV): Add _gcov_fork, _gcov_execl, _gcov_execlp,
2543 _gcov_execle, _gcov_execv, _gcov_execvp, _gcov_execve.
2544 * builtin-types.def (BT_PID, BT_PTR_CONST_STRING, BT_FN_PID,
2545 BT_FN_INT_CONST_STRING_PTR_CONST_STRING,
2546 BT_FN_INT_CONST_STRING_PTR_CONST_STRING_PTR_CONST_STRING): New.
2547 * builtins.c (expand_builtin_fork_or_exec): New.
2548 (expand_builtin): Call it.
2549 * builtins.def (BUILT_IN_EXECL, BUILT_IN_EXECLP,BUILT_IN_EXECLE,
2550 BUILT_IN_EXECV, BUILT_IN_EXECVP, BUILT_IN_EXECVE, BUILT_IN_FORK): New.
2551 * c-common.c (PID_TYPE): New macro.
2552 (c_common_nodes_and_builtins): Initialize pid_type_node.
2553 * calls.c (special_function_p): Do not handle fork and exec.
2554 (expand_call): Do not handle ECF_FORK_OR_EXEC.
2555 * gcov-io.h (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle,
2556 __gcov_execv, __gcov_execvp, __gcov_execve): Declare.
2557 * libgcov.c (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle,
2558 __gcov_execv, __gcov_execvp, __gcov_execve): New.
2559 * tree.h (enum tree_index): Add TI_PID_TYPE.
2560 (pid_type_node): New macro.
2561 (ECF_FORK_OR_EXEC): Removed.
2562
1548580c
EB
25632004-04-23 Eric Botcazou <ebotcazou@libertysurf.fr>
2564
2565 PR optimization/13985
2566 * cfgloopmanip.c (fix_loop_placements): New prototype.
2567 Call fix_bb_placements on the preheader of loops that have
2568 been reparented.
2569 (remove_path): Adjust call to fix_loop_placements.
2570
9b2d02a0
AP
25712004-04-23 Andrew Pinski <pinskia@physics.uc.edu>
2572
2573 * config/darwin7.h: New file.
2574 * config.gcc (*-*-darwin*): Add darwin7.h if the
2575 version is greater than 6.
2576 * config/darwin.h (TARGET_C99_FUNCTIONS): Define.
2577 (MATH_LIBRARY): Wrap in ifdefs.
2578
01d4c813
DJ
25792004-04-23 Daniel Jacobowitz <drow@mvista.com>
2580
2581 * config/arm/arm.c (arm_output_epilogue): Reverse the order of
2582 loading iWMMXt registers with a frame pointer. Use post-increment
2583 without a frame pointer.
2584 (arm_expand_prologue): Reverse the order of saving iWMMXt registers.
2585
7797ff53
PB
25862004-04-23 Paolo Bonzini <bonzini@gnu.org>
2587
2588 * doc/invoke.texi (Optimize Options): Refer to "unit-at-a-time
2589 mode" rather than "-funit-at-a-time" since -O2 enables it
2590 without requiring -f* options. Refer to -fprofile-generate and
2591 -fprofile-use correctly. Move -funit-at-a-time among options
2592 enabled by -O. Add information about unit-at-a-time caveats.
2593
500bee0a
PB
25942004-04-22 Per Bothner <per@bothner.com>
2595
2596 * line-map.h (struct line_maps): New field highest_line.
2597 (linemap_position_for_column): Make non-inline function.
2598 (LINEMAP_POSITION_FOR_COLUMN): New macro.
2599 * line-map.c (linemap_init): Clear highest_line field.
2600 (linemap_add): Set highest_line field.
2601 (linemap_line_start): Minor optimization - use highest_line field.
2602 Reduce maximum column hint to 10000. Update highest_line field.
2603 (linemap_position_for_column): Moved from line-map.h. Optimize a bit.
2604 * cpphash.h (struct cpp_reader): Remove line field - instead use
2605 line_table->highest_line.
2606 (saved_line): Remove unused field.
2607 (CPP_INCREMENT_FILE): Don't do linemap_lookup - just use newest map.
2608 Use line_table's highest_line field instead of cpp_reader's line.
2609 * cpplib.c (start_directive): Likewise use highest_line field.
2610 (do_line, do_linemarker): Likewise just use newest map.
2611 (_cpp_do_file_change): Don't need to set cpp_reader's line field.
2612 * cpperror.c (cpp_error): Likewise use highest_line field.
2613 * cppfiles.c (open_file_failed: Likewise.
2614 (cpp_make_system_header): Likewise use newest map and highest_line.
2615 * cppinit.c (cpp_create_reader): Don't initialize removed field.
2616 * cpplex.c (_cpp_process_line_notes, _cpp_skip_block_comment,
2617 skip_line_comment, skip_whitespace, _cpp_get_fresh_line,
2618 _cpp_lex_direct): Likewise use highest_line.
2619 (_cpp_lex_direct): Use new LINEMAP_POSITION_FOR_COLUMN macro.
2620 * cppmacro.c (_cpp_builtin_macro_text): Likewise use highest_line,
2621 and use newest map.
2622 * cpppch.c (cpp_read_state): Don't save+restore cpp_reader's line.
2623 * cpptrad.c (_cpp_overlay_buffer): Don't save cpp_reader's line.
2624 (copy_comment, _cpp_scan_out_logical_line): Likewise use highest_line.
2625
8efcd34f
AM
26262004-04-23 Alan Modra <amodra@bigpond.net.au>
2627
9344fdb9 2628 PR bootstrap/14992
8efcd34f
AM
2629 * gcc.c (init_gcc_specs): Test USE_LD_AS_NEEDED, not HAVE_LD_AS_NEEDED.
2630 * config/linux.h (USE_LD_AS_NEEDED): Define.
2631 * gcc/config/alpha/linux.h (USE_LD_AS_NEEDED): Define.
2632 * gcc/config/arm/linux-elf.h (USE_LD_AS_NEEDED): Define.
2633 * gcc/config/rs6000/linux.h (USE_LD_AS_NEEDED): Define.
2634 * gcc/config/rs6000/linux64.h (USE_LD_AS_NEEDED): Define.
2635 * gcc/config/sh/linux.h (USE_LD_AS_NEEDED): Define.
2636 * gcc/config/sparc/linux.h (USE_LD_AS_NEEDED): Define.
2637 * gcc/config/sparc/linux64.h (USE_LD_AS_NEEDED): Define.
2638
3092d0fc
PB
26392004-04-22 Per Bothner <per@bothner.com>
2640
2641 * cppinit.c (cpp_read_main_file): Return NULL rather than false.
2642 Fixes PR preprocessor/15067.
2643
e203404e
AS
26442004-04-23 Andreas Schwab <schwab@suse.de>
2645
2646 * config/ia64/ia64intrin.h: Add intermediate cast to void * to
2647 avoid aliasing warning.
2648
bade3a00 26492004-04-22 Jan Hubicka <jh@suse.cz>
bdabb153 2650 Mostafa Hagog <mustafa@il.ibm.com>
bade3a00
JH
2651
2652 * cfgloopmanip.c (scale_bbs_frequencies): Use RDIV macro
2653 * cfgloopanal.c (expected_loop_iterations): Change the return value
2654
fb5d4a68
JJ
26552004-04-22 Jakub Jelinek <jakub@redhat.com>
2656
2657 * cselib.h (struct elt_loc_list): Remove canon_loc field.
2658 * cselib.c (new_elt_loc_list): Remove canon_loc initialization.
2659 (cselib_invalidate_mem): Remove all canon_loc and canon_x
2660 traces.
2661
b10e5b3a
JZ
26622004-04-22 Josef Zlomek <zlomekj@suse.cz>
2663
2664 Revert
2665 2004-04-20 Josef Zlomek <zlomekj@suse.cz>
2666
2667 * var-tracking.c (variable_part_different_p): Variable parts
2668 differ when the most recent locations differ.
2669
827555ea
RS
26702004-04-22 Richard Sandiford <rsandifo@redhat.com>
2671
2672 * doc/invoke.texi: Remove the MIPS -membedded-pic option.
2673 * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): Delete.
2674 (embedded_pic_offset): Delete.
2675 * config/mips/mips.h (MASK_EMBEDDED_PIC): Delete. Shuffle other
2676 MASK_* constants.
2677 (TARGET_EMBEDDED_PIC): Delete.
2678 (TARGET_SWITCHES): Remove -m{no-,}embedded-pic.
2679 (ASM_SPEC): Remove -membedded-pic.
2680 (ASM_OUTPUT_ADDR_DIFF_ELT): Remove embedded-pic handling.
2681 (ASM_OUTPUT_CASE_LABEL): Likewise.
2682 * config/mips/vxworks.h (ASM_SPEC): Remove -membedded-pic.
2683 * config/mips/windiss.h (ASM_SPEC): Likewise.
2684 * config/mips/mips.c (struct machine_function): Remove
2685 embedded_pic_fnaddr_rtx.
2686 (TARGET_ENCODE_SECTION_INFO): Remove override.
2687 (embedded_pic_fnaddr_reg, embedded_pic_offset): Delete.
2688 (override_options): Remove -membedded-pic handling.
2689 (print_operand): Remove handling of '%S'.
2690 (mips_select_section: Remove -membedded-pic handling.
2691 (mips_encode_section_info): Delete.
2692 (mips_output_conditional_branch): Remove mention of -membedded-pic.
2693 * config/mips/mips.md (define_attr length, movsi, movdi, jump): Remove
2694 -membedded-pic handling.
2695 (casesi, casesi_internal, casesi_internal_di, get_fnaddr): Delete.
2696
00ca716b
AM
26972004-04-22 Alan Modra <amodra@bigpond.net.au>
2698
2699 * var-tracking.c (frame_base_decl): Remove useless GTY.
2700
e4463bf1
AH
27012004-04-21 Aldy Hernandez <aldyh@redhat.com>
2702
2703 * config/rs6000/rs6000.c (rs6000_override_options): Error when
2704 user wants altivec and e500 instructions.
2705
e24e0aa7
L
27062004-04-21 H.J. Lu <hongjiu.lu@intel.com>
2707
2708 PR target/14813
2709 * config/ia64/crtend.asm: Move pointer to __do_global_ctors_aux
2710 in .init_array section to ...
2711 * config/ia64/crtbegin.asm: Here.
2712
2713 * config/ia64/crtend.asm: Mark __do_global_ctors_aux global
2714 and hidden if HAVE_INITFINI_ARRAY is defined.
2715
cb7761f5
JW
27162004-04-21 James E Wilson <wilson@specifixinc.com>
2717
50d32cf6
JW
2718 * config/mips/mips-protos.h (fp_register_operand, lo_operand): Declare.
2719 * config/mips/mips.c (mips_multipass_dfa_lookahead): Declare.
2720 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): New.
2721 (fp_register_operand, lo_operand): New.
2722 (mips_rtx_costs): Add TUNE_SB1 support.
2723 (mips_issue_rate): Add comment. Add PROCESSOR_SB1 support.
2724 (mips_use_dfa_pipeline_interface): Add PROCESSOR_SB1 support.
2725 (mips_multipass_dfa_lookahead): New.
2726 * config/mips/mips.h (MASK_FP_EXCEPTIONS, TARGET_FP_EXCEPTIONS,
2727 TUNE_SB1): New.
2728 (TARGET_SWITCHES): Add -mfp-exceptions support.
2729 (TARGET_FP_EXCEPTIONS_DEFAULT): New.
2730 (BRANCH_COST): Fix whitespace.
2731 * config/mips/mips.md: Include sb1.md.
2732 * config/mips/sb1.md: New file.
2733 * doc/invoke.texi: Document -mfp-exceptions.
2734
cb7761f5
JW
2735 * Makefile.in (fixinc.sh): Don't set or export WARN_CFLAGS. Fix
2736 comment.
2737 * fixinc/Makefile.in (FL_LIST): Don't mention WARN_CFLAGS.
2738 (fixincl.o-warn): Delete.
2739
a031e781
AP
27402004-04-21 Andrew Pinski <pinskia@physics.uc.edu>
2741
2742 * config/rs6000/rs6000 (print_operand) ['z']:
2743 Change ifdef of TARGET_MACHO to if TARGET_MACHO.
2744
06a6469a
DJ
27452004-04-21 Daniel Jacobowitz <drow@mvista.com>
2746
2747 * config.gcc: Support --with-arch=iwmmxt for ARM.
2748
665acd1e
RK
27492004-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2750
2751 * expmed.c (expand_mult_highpart_optab): Use narrower version of OP1
2752 in two more places; remove unneeded force_reg
2753
f9da97f0
AP
27542004-04-21 Andrew Pinski <pinskia@physics.uc.edu>
2755
2756 * config/rs6000/rs6000.c (symbol_ref_operand): Remove hack
2757 for TARGET_MACHO.
2758 (print_operand): For TARGET_MACHO check to see if we need a stub
2759 and output one if we need it.
de3c6d93
AP
2760
2761 PR debug/15033
2762 * dwarf2out.c (rtl_for_decl_location): Check for NULL
2763 rtl.
2764
75293ad6
JW
27652004-04-20 James E Wilson <wilson@specifixinc.com>
2766
2767 * config/ia64/ia64.md (call_value_nogp): Add constraints for op0.
2768 (vall_value_gp): Likewise.
2769
8b495402 27702004-04-20 DJ Delorie <dj@redhat.com>
7dd7fb88 2771
8b495402
DD
2772 * dwarf2out.c (rtl_for_decl_location): Adjust rtl for byte
2773 variables stored in word registers, then in memory.
2774
77a705e4
EC
27752004-04-20 Eric Christopher <echristo@redhat.com>
2776
2777 * cp/parser.c (cp_parser_declaration): Move translate
2778 up before tokens are lexed.
2779
c56122d8
UB
27802004-04-20 Uros Bizjak <uros@kss-loka.si>
2781
2782 * optabs.h (enum optab_index): Add new OTI_asin and OTI_acos.
2783 (asin_optab, acos_optab): Define corresponding macros.
2784 * optabs.c (init_optabs): Initialize asin_optab and acos_optab.
2785 * genopinit.c (optabs): Implement asin_optab and acos_optab
2786 using asin?f2 and acos?f2 patterns.
2787 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_ASIN{,F,L}
2788 using asin_optab, and BUILT_IN_ACOS{,F,L} using acos_optab.
2789 (expand_builtin): Expand BUILT_IN_ASIN{,F,L} and BUILT_IN_ACOS{,F,L}
2790 using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
2791
2792 * config/i386/i386.md (asindf2, asinsf2, asinxf2, acosdf2,
2793 acossf2, acosxf2): New expanders to implement asin, asinf, asinl,
2794 acos, acosf and acosl built-ins as inline x87 intrinsics.
2795
386d3a16
PB
27962004-04-20 Paul Brook <paul@codesourcery.com>
2797
2798 * config/arm/arm.c (arm_legitimate_address_p): Use rtx_equal_p.
2799
7aebacee
PB
28002004-04-20 Paul Brook <paul@codesourcery.com>
2801
2802 * config/arm/arm.c (arm_expand_prologue): Fix size calculation.
2803
a7b1dc36
PB
28042004-04-20 Paolo Bonzini <bonzini@gnu.org>
2805
2806 Revert part of 2004-04-17 change that moved -frename-registers
2807 to -O1. -frename-registers is buggy.
2808
2809 * toplev.c (flag_rename_registers): Initialize to 0.
2810 * doc/invoke.texi (Optimize options): Move -frename-registers
2811 to "Not triggered by any -O level" section. Adjust commentary
2812 accordingly.
77a705e4 2813
1548580c 28142004-04-20 Anil Paranjpe <anilp1@kpitcummins.com>
57bef48e
AP
2815
2816 * toplev.c (compile_file): Move targetm.asm_out.file_end call to end.
2817
169304de
RS
28182004-04-20 Richard Sandiford <rsandifo@redhat.com>
2819
2820 * config/mips/mips.c (mips_legitimize_move): Generate special patterns
2821 for mflo and mfhi instructions.
2822 (mips_output_move): Remove mflo and mfhi handling.
2823 * config/mips/mips.md (UNSPEC_MFHILO): New unspec.
2824 (*mulsidi3_64bit): Update for new mfhi/mflo representation.
2825 Likewise various define_peephole2s.
2826 (*movdi_32bit, *movdi_64bit, *movsi_internal): Merge x<-J and x<-d
2827 alternatives.
2828 (*movdi_64bit, *movdi_64bit_mips16, *mov[shq]i_internal)
2829 (*mov[shq]i_mips16): Remove mflo and mfhi alternatives.
2830 (mfhilo_di, mfhilo_si): New patterns.
2831
c6ca23fb
JZ
28322004-04-20 Josef Zlomek <zlomekj@suse.cz>
2833
2834 * function.c (assign_parms): Force
2835 MEM_EXPR (DECL_INCOMING_RTL (parm)) == parm.
2836
6f615a28
JZ
28372004-04-20 Josef Zlomek <zlomekj@suse.cz>
2838
2839 * var-tracking.c (variable_part_different_p): Variable parts differ
2840 when the most recent locations differ.
2841
a1bac22c
JW
28422004-04-19 James E Wilson <wilson@specifixinc.com>
2843
2844 * rtl.h (reg_set_last): Delete declaration.
2845 * rtlanal.c (reg_set_last): Delete.
2846
e419fe91
RS
28472004-04-19 Roger Sayle <roger@eyesopen.com>
2848
2849 * fold-const.c (fold_convert): Make function extern/public.
2850 * tree.h (fold_convert): Prototype here.
2851 * builtins.c (expand_builtin_strstr, expand_builtin_strchr,
2852 expand_builtin_strrchr, expand_builtin_strpbrk,
2853 expand_builtin_mempcpy, expand_builtin_bcopy,
2854 expand_builtin_bzero, expand_builtin_memcmp,
2855 expand_builtin_strcmp, expand_builtin_strncmp,
2856 stabilize_va_list, expand_builtin_sprintf,
2857 fold_trunc_transparent_mathfn, fold_builtin_logarithm,
2858 fold_builtin_exponent, fold_builtin_mempcpy,
2859 fold_builtin_strcpy, fold_builtin_strcmp, fold_builtin_strncmp,
2860 fold_builtin_signbit, fold_builtin_isdigit, fold_builtin): Prefer
2861 fold_convert to "convert" or "fold (build1 (NOP_EXPR, ...))".
2862
423c1189
AH
28632004-04-19 Aldy Hernandez <aldyh@redhat.com>
2864
7dd7fb88
ZW
2865 * config/rs6000/rs6000.md (UNSPEC_MV_CR_GT): New constant.
2866 (move_from_CR_gt_bit): New.
2867 (cceq_ior_compare): Name previously unnamed pattern. Disable for
2868 E500.
2869 (cceq_rev_compare): Name previously unnamed pattern. Allow for
2870 E500.
2871
2872 * config/rs6000/spe.md (cmpsfeq_gpr): Rewrite as unspec.
2873 (tstsfeq_gpr): Same.
2874 (cmpsfgt_gpr): Same.
2875 (tstsfgt_gpr): Same.
2876 (cmpsflt_gpr): Same.
2877 (tstsflt_gpr): Same.
2878 (e500_cceq_ior_compare): New.
2879 (e500_flip_gt_bit): New.
2880
2881 * config/rs6000/rs6000.c (ccr_bit): Remove E500 specific code.
2882 (print_operand): Add 'c' and 'D'.
2883 (rs6000_generate_compare): Rewrite to generate correct rtl.
2884 (rs6000_emit_sCOND): Handle E500.
2885 (output_cbranch): Adjust for changes in rs6000_generate_compare.
2886 (output_e500_flip_gt_bit): New.
2887
2888 * config/rs6000/rs6000-protos.h (output_e500_flip_gt_bit):
2889 Protoize.
423c1189 2890
d2beeae7
EC
28912004-04-19 Eric Christopher <echristo@redhat.com>
2892
2893 * config/mips/mips.h (DWARF2_ADDR_SIZE): New.
2894
06e7f299
DE
28952004-04-19 David Edelsohn <edelsohn@gnu.org>
2896
2897 * doc/install.texi (*-ibm-aix*): Add AIX 5.1 assembler and archiver
2898 fix information.
d2beeae7 2899
8df5a2b4
RO
29002004-04-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2901
2902 * doc/install.texi (Specific, mips-sgi-irix5): Fix IRIX 5.3 IDO
2903 download URL.
2904
9ca75f15
DJ
29052004-04-19 Daniel Jacobowitz <drow@mvista.com>
2906
2907 * stor-layout.c (layout_decl): Check DECL_PACKED before calling
2908 ADJUST_FIELD_ALIGN. Check maximum_field_alignment after.
2909
4b493aa5
AP
29102004-04-19 Andrew PInski <pinskia@physics.uc.edu>
2911
66a5d24b
AP
2912 * builtins.c (fold_builtin_cabs): Remove fndecl parameter.
2913 (fold_builtin): Update caller to match.
2914
4b493aa5
AP
2915 PR bootstrap/15009
2916 * bb-reorder.c (fix_up_fall_thru_edges): Init cond_jump.
2917
2918 PR bootstrap/14999
2919 * builtins.c (fold_builtin_cabs): Mark fndecl as unused.
2920
3d8f2528
RK
29212004-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2922
a3d71605
RK
2923 * varasm.c (compare_constant, case VIEW_CONVERT_EXPR): Add case.
2924
3d8f2528
RK
2925 * expmed.c (expand_mult_highpart_adjust): Make OP1 valid for MODE.
2926 (expand_mult_highpart_optab): Likewise.
2927 (expand_mult_highpart): Make OP1 valid for WIDER_MODE, not MODE.
2928
6f6c1f6d
PB
29292004-04-19 Paul Brook <paul@codesourcery.com>
2930
2931 * config/arm/arm.md (fixuns_truncsfsi2, fixuns_truncdfsi2,
2932 floatunssisf2, floatunssidf2): New patterns.
2933
fea77ed9
MM
29342004-04-18 Mark Mitchell <mark@codesourcery.com>
2935
33adcb6c
MM
2936 PR other/14918
2937 * doc/invoke.texi (-fprofile-generate): Document requirement to
2938 use -fprofile-generate when linking.
2939
fea77ed9
MM
2940 * doc/extend.texi (Strong Using): Warn users against using this
2941 feature.
2942
76cbf5bf
RS
29432004-04-18 Richard Sandiford <rsandifo@redhat.com>
2944
2945 * config/mips/mips-protos.h (m16_usym8_4, m16_usym5_4): Delete.
2946 * config/mips/mips.h (mips_entry, mips_string_length): Delete.
2947 (CONSTANT_POOL_BEFORE_FUNCTION, ASM_OUTPUT_POOL_EPILOGUE): Undefine.
2948 * config/mips/mips.c (struct mips16_constant): Renamed from struct
2949 constant. Propogate change throughout file.
2950 (struct machine_function): Remove insns_len.
2951 (mips_string_length, mips16_strings, string_constants): Delete.
2952 (mips_classify_symbol): Return SYMBOL_CONSTANT_POOL for LABEL_REFs
2953 when generating mips16 code. Remove special mips16 treatment of
2954 string constants.
2955 (mips_symbolic_constant_p): Allow mips16 constant pool accesses
2956 to have the form LABEL+CONSTANT.
2957 (mips_symbolic_address_p): Fix comment.
2958 (m16_usym8_4, m16_usym5_4): Delete.
2959 (mips_output_function_epilogue): Remove mips16 string handling.
2960 (mips_output_mi_thunk): Call mips16_lay_out_constants.
2961 (mips_select_section, mips_encode_section_info): Remove mips16
2962 string handling.
2963 (struct mips16_constant_pool): New.
2964 (add_constant): Take a mips16_constant_pool structure. Keep pool
2965 sorted into order of ascending mode size. Keep track of the highest
2966 possible start address, taking padding and the masking of the base PC
2967 value into account.
2968 (dump_constants_1): New function, split out from dump_constants.
2969 Handle vector constants. Use gen_consttable_{int,float} rather than
2970 separate functions for each mode.
2971 (dump_constants): Simplify. Use GET_MODE_ALIGNMENT. Use gen_align
2972 rather than separate functions for each alignment.
2973 (mips_find_symbol): Delete.
2974 (mips16_insn_length): New function, split out from
2975 mips16_lay_out_constants.
2976 (mips16_rewrite_pool_refs): New function.
2977 (mips16_lay_out_constants): Rework. Remove string handling.
2978 Always create an inline constant pool.
2979 * config/mips/mips.md (UNSPEC_CONSTTABLE_INT, UNSPEC_CONSTTABLE_FLOAT)
2980 (UNSPEC_ALIGN): New constants.
2981 (UNSPEC_CONSTTABLE_[QHSD]I, UNSPEC_CONSTTABLE_[SD]F): Delete.
2982 (UNSPEC_ALIGN_[248]): Delete.
2983 (consttable_int, consttable_float, align): New patterns.
2984 (consttable_[qhsd]i, consttable_[sd]f, align_[248]): Delete.
2985
8d33585c
AH
29862004-04-17 Aldy Hernandez <aldyh@redhat.com>
2987
2988 * config/rs6000/altivec.h (vec_any_numeric): Correct typo in
2989 __unn_args_eq.
2990
03e007d7
AM
29912004-04-17 Alan Modra <amodra@bigpond.net.au>
2992
2993 PR target/14715
2994 * config/rs6000/rs6000.c (rs6000_stack_info): Make parm_size agree
2995 with STARTING_FRAME_OFFSET.
2996
3bd06df7
RS
29972004-04-17 Richard Sandiford <rsandifo@redhat.com>
2998
2999 * config/mips/mips.h (PREDICATE_CODES): Add macc_msac_operand.
3000 * config/mips/mips.c (macc_msac_operand): New function.
3001 * config/mips/mips.md (*msac): Move after *macc.
3002 (*msac2): New. Generalize macc-related peepholes so that they apply
3003 to msac too.
3004
38d396e5
PB
30052004-04-17 Paolo Bonzini <bonzini@gnu.org>
3006
3007 * opts.c (decode_options): Do not enable flag_rename_registers
3008 and flag_web at -O3.
3009 * toplev.c (flag_rename_registers): Initialize
3010 flag_rename_registers and flag_web to
3011 AUTODETECT_FLAG_VAR_TRACKING.
3012 (default_debug_hooks): New global.
3013 (process_options): Initialize default_debug_hooks. Warn if
3014 -fvar-tracking specified but not supported by the current
3015 debug format. Do not run var tracking at -O0 or if not
3016 supported by the current debug format, even if
3017 -fvar-tracking was given. If -fno-rename-registers
3018 is not specified, always run register renaming if var
3019 tracking is supported by the default debugging information
3020 format for the target, and we are at -O1 or higher; similarly
3021 for -fweb, but only at -O2 or higher.
3022 * doc/invoke.texi (Optimize Options): Document this.
3023
82e923f6
RS
30242004-04-17 Richard Sandiford <rsandifo@redhat.com>
3025
3026 * configure.ac (gcc_cv_ld_as_needed): Use AC_CACHE_CHECK.
3027 * configure: Regenerate.
3028
f645e2bd
RS
30292004-04-17 Richard Sandiford <rsandifo@redhat.com>
3030
3031 * gcc.c (used_arg): Check whether an option has been removed.
3032
04db08db
RO
30332004-04-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3034
3035 * config.gcc (i[34567]86-*-solaris2*): Default to DWARF-2
3036 debugging on Solaris 7 and up.
3037
7e270317
RO
30382004-04-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3039
3040 * doc/install.texi (Specific, mips-sgi-irix5): Reflect working
3041 IRIX 5 port.
3042 Remove -save-temps workaround, handled automatically.
3043 Require GNU binutils 2.15 for debugging.
3044 Remove SGI make warnings since GNU make is now required.
3045 (Specific, mips-sgi-irix6): Some markup fixes.
3046 Describe MIPSpro C problems and workarounds.
3047 Mention working O32 ABI support.
3048 Recommend GNU as 2.15 for O32 with debugging.
3049 Remove description of fixed structure pass/return bug.
3050
2d49ce67
DD
30512004-04-16 DJ Delorie <dj@redhat.com>
3052
3053 * sdbout.c (sdbout_one_type): Use TYPE_VALUES for enums, not
3054 TYPE_FIELDS.
3055 (sdbout_finish): Don't free deferred_global_decls; it's GC'd.
3056
41067a2f
JDA
30572004-04-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3058
e6b75edc
JDA
3059 * pa.md: Remove unnecessary declarations for asm_out_file.
3060
7945b276
JDA
3061 * pa64-regs.h (DBX_REGISTER_NUMBER): Simplify and correct mapping of
3062 SAR register. Fix comment.
3063 (ADDITIONAL_REGISTER_NAMES): Correct register number of SAR register
3064 (%cr11).
3065
41067a2f
JDA
3066 * pa64-hpux.h (LIB_SPEC): Fix library specification used with GNU ld.
3067
c805f22e
NC
30682004-04-16 Nick Clifton <nickc@redhat.com>
3069
3070 * config/arm/arm.c (arm_override_options): Revert previous patch.
3071 * config/arm/t-xscale-elf: Disable iwmmxt multilibs until they can
3072 be safely built.
3073
8a897efe
KI
30742004-04-16 Kazuhiro Inaoka <inaoka dot kazuhiro at renesas dot com>
3075
3076 * config/m32r/m32r.h (BIG_ENDIAN_BIT): Deleted to fix endian
3077 bug.
3078 (TARGET_LITTLE_ENDIAN, TARGET_BIG_ENDIAN,
3079 TARGET_DEFAULT): Changed. Ditto.
3080 (LITTLE_ENDIAN_BIT, TARGET_CPU_DEFAULT,
3081 TARGET_ENDIAN_DEFAULT): Added. Ditto.
3082 * config/m32r/little.h (TARGET_LITTLE_ENDIAN): Deleted.
3083 (TARGET_ENDIAN_DEFAULT): Added.
3084
b069dd3f
KG
30852004-04-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3086
3087 * builtins.def (BUILT_IN_ISDIGIT, BUILT_IN_ISXDIGIT): Mark with
3088 ATTR_CONST_NOTHROW_LIST.
3089
df28deda
KG
30902004-04-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3091
3092 PR/middle-end 14915
3093 * builtins.c (expand_builtin_signbit): Test BYTES_BIG_ENDIAN, not
3094 BITS_BIG_ENDIAN.
3095
c87fbb0a
PH
30962004-04-15 Pat Haugen <pthaugen@us.ibm.com>
3097
3098 * ra-debug.c (ra_print_rtx): Add break's to case legs.
3099
ea7b98d0
JW
31002004-04-14 James E Wilson <wilson@specifixinc.com>
3101
3102 * Makefile.in (fixinc.sh): Set WARN_CFLAGS to empty string.
3103
69f9a345
NN
31042004-04-14 Nathanael Nerode <neroden@gcc.gnu.org>
3105
3106 * libada-mk.in: New file.
3107 * configure.ac: Create libada-mk from libada-mk.in.
3108 * configure: Regenerate.
3109
88b28a31
UB
31102004-04-14 Uros Bizjak <uros@kss-loka.si>
3111
3112 * optabs.h (enum optab_index): Add new OTI_logb and OTI_ilogb.
3113 (logb_optab, ilogb_optab): Define corresponding macros.
3114 * optabs.c (init_optabs): Initialize logb_optab and ilogb_optab.
3115 * genopinit.c (optabs): Implement logb_optab and ilogb_optab
3116 using logb?f2 and ilogb?i2 patterns.
3117 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LOGB{,F,L}
3118 using logb_optab, and BUILT_IN_ILOGB{,F,L} using ilogb_optab.
3119 (expand_builtin): Expand BUILT_IN_LOGB{,F,L} and BUILT_IN_ILOGB{,F,L}
3120 using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
3121
3122 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_XTRACT_FRACT
3123 and UNSPEC_XTRACT_EXP.
3124
3125 * config/i386/i386.md (*fxtractdf3, *fxtractsf3, *fxtractxf3): New
3126 patterns to implement fxtract x87 instruction.
3127 (logbdf2, logbsf2, logbxf2, ilogbsi2): New expanders to implement
3128 logb, logbf, logbl, ilogb, ilogbf and ilogbl built-ins as inline x87
3129 intrinsics.
3130 (UNSPEC_XTRACT_FRACT, UNSPEC_XTRACT_EXP): New unspecs to represent
3131 x87's fxtract insn.
3132
ec6e4092
EC
31332004-04-14 Eric Christopher <echristo@redhat.com>
3134
3135 * config/mips/t-elf: Enable multilibs by default.
3136
ef482a86
AT
31372004-04-14 Andreas Tobler <a.tobler@schweiz.ch>
3138
3139 * bb-reorder.c (fix_crossing_conditional_branches): Adjust the
3140 previous fix to check HAVE_return at runtime too.
3141
cd2b7af0
NC
31422004-04-14 Nick Clifton <nickc@redhat.com>
3143
3144 * config/arm/arm.c (arm_override_options): If the user has not
3145 specified an ABI, then default to AAPCS for the iWMMXt processor.
3146 * config/arm/t-xscale-elf: Remove redundant multilib specifications.
3147 * config/arm/t-xscale-coff: Likewise.
3148
61218d19
KG
31492004-04-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3150
3151 * builtins.c (fold_builtin_isdigit): New.
3152 (fold_builtin): Handle BUILT_IN_ISDIGIT.
3153 * defaults.h: Add TARGET_DIGIT0 and sort.
3154 * doc/tm.texi: Add TARGET_BS and TARGET_DIGIT0.
3155
a69934e0
KG
31562004-04-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3157
3158 * builtins.c (fold_builtin_cabs, fold_builtin): Use
3159 `mathfn_built_in' to determine the new builtin.
3160 * fold-const.c (fold): Likewise.
3161
74b9f2d5
RS
31622004-04-14 Richard Sandiford <rsandifo@redhat.com>
3163
3164 * doc/invoke.texi: Rename MIPS's -mfix-vr4122-bugs to -mfix-vr4120.
3165 * config/mips/mips.h (MASK_FIX_VR4120): Renamed from MASK_FIX_VR4122.
3166 (TARGET_FIX_VR4120): Likewise TARGET_FIX_VR4122.
3167 (TARGET_SWITCHES): Replace -mfix-vr4122-bugs with -mfix-vr4120.
3168 (ASM_SPEC): Update accordingly.
3169 * config/mips/mips.c: Update after above renaming.
3170 * config/mips/mips.md, config/mips/t-vr, config/mips/vr.h: Likewise.
3171 * config/mips/vr4120-div.S: Renamed from vr4122-div.S.
3172
540554f4
JW
31732004-04-13 James E Wilson <wilson@specifixinc.com>
3174
3175 * c-opt.c (c_common_post_options): If this_input_filename is NULL,
3176 increment errorcount and return false instead of true.
3177
a072d43b
UB
31782004-04-13 Uros Bizjak <uros@kss-loka.si>:
3179
3180 * optabs.c (expand_twoval_unop): Reorder function arguments.
3181 * builtins.c (expand_builtin_mathfn_3): Update calls to
3182 expand_twoval_unop.
3183
3184 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_TAN_ONE
3185 and UNSPEC_TAN_TAN. Add missing comment.
3186
3187 * config/i386/i386.md (*tandf3_1, *tansf3_1, *tanxf3_1): New
3188 patterns to implement fptan x87 instruction.
3189 (tandf2, tansf2, tanxf2): New expanders to implement tan, tanf
3190 and tanl built-ins as inline x87 intrinsics. Define corresponding
3191 peephole2 optimizers for 'fptan; fstp %st(0); fld1' sequence.
3192 (UNSPEC_TAN_ONE, UNSPEC_TAN_TAN): New unspecs to represent
3193 x87's fptan insn.
3194
b50b729d
RH
31952004-03-13 Richard Henderson <rth@redhat.com>
3196
3197 * bb-reorder.c (fix_crossing_unconditional_branches): Use Pmode
3198 for LABEL_REFs.
3199
3a4bdd05
RH
3200 * defaults.h (HOT_TEXT_SECTION_NAME): Add leading dot.
3201 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Likewise.
3202 * doc/invoke.texi: Update to match.
3203
73ad3de5
RH
3204 * varasm.c (unlikely_text_section): Use assemble_align instead of
3205 ASM_OUTPUT_ALIGN. Use it in the correct place with an approximately
3206 correct alignment argument.
3207
9532c14f
UW
32082004-04-13 Ulrich Weigand <uweigand@de.ibm.com>
3209
3210 * reload1.c (emit_reload_insns): Set reg_has_output_reload to one
3211 after setting reg_last_reload_reg for optional output reloads.
3212
3d3947a9
FJ
32132004-04-12 Fariborz Jahanian <fjahanian@apple.com>
3214
3215 * config/rs6000/altivec.h (vec_mergeh, vec_mergel):
3216 Definition of these two macros are corrected by adding
3217 matchine right paren.
3218
f778cbf0
JL
32192004-04-12 Jonathan Larmour <jifl@eCosCentric.com>
3220
3221 * fix-header.c: kill(), putenv() and tzset() are POSIX not ANSI.
3222
5ea9cb6e
RS
32232004-04-12 Roger Sayle <roger@eyesopen.com>
3224
3225 * config/i386/i386.c (output_387_reg_move): New function.
3226 * config/i386/i386-protos.h (output_387_reg_move): Prototype here.
3227 * config/i386/i386.md (*movsf_1, *movsf1_nointerunit,
3228 *movdf_nointeger, *movdf_integer, *movxf_nointeger, *movxf_integer,
3229 *extendsfdf2_1, *extendsfxf2_1, *extenddfxf2_1, truncdfsf2_noop,
3230 truncxfsf2_noop, truncxfdf2_noop): Call output_387_reg_move.
3231
1c9766da
RK
32322004-04-12 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3233
3234 * c-decl.c (finish_decl): Make a decl_stmt for a variable-sized
3235 TYPE_DECL.
3236 * c-semantics.c (genrtl_decl_stmt): Handle TYPE_DECL.
3237 * stmt.c (expand_decl): Remove redundant expansion of TYPE_DOMAIN.
3238 * stor-layout.c (variable_size): Don't check for MINUS_EXPR.
3239 Use skip_simple_arithmetic to find SAVE_EXPR.
3240 (force_type_save_exprs, force_type_save_exprs_1): New functions.
3241 * tree-inline.c (remap_type, case POINTER_TYPE, case REFERENCE_TYPE):
3242 Properly chain multiple pointers.
3243 (copy_tree_r): Copy a TYPE_DECL.
3244 * tree.c (variably_modified_type_p): Add some missing tests and
3245 make some other minor changes.
3246 * tree.h (force_type_save_exprs): New declaration.
3247
1e9b78b0
RS
32482004-04-12 Roger Sayle <roger@eyesopen.com>
3249
3250 * simplify-rtx.c (simplify_binary_operation) <UDIV, DIV, UMOD, MOD>:
3251 Remove fall throughs. Convert 0/x and 0%x into x&0 when x has
3252 side-effects. Don't convert x/1.0 into x if we honor signaling NaNs.
3253 Convert x/-1.0 into -x if we don't honor signaling NaNs. Convert
3254 x/-1 into -x. Optimize x%1 into x&0 if x has side-effects. Optimize
3255 x%-1 into 0 (or x&0 if x has side-effects).
3256
fef98bf2
AH
32572004-04-11 Aldy Hernandez <aldyh@redhat.com>
3258
3259 * config/rs6000/rs6000.md: Document why a pattern is not
3260 available.
3261
3262 * config/rs6000/rs6000.c (rs6000_emit_cmove): Disable comparisons
3263 of floats on the E500.
3264 (branch_positive_comparison_operator): Do not allow NE even on the
3265 E500.
3266
642af3be
AH
32672004-04-11 Aldy Hernandez <aldyh@redhat.com>
3268
3269 * config/rs6000/rs6000.c (rs6000_assemble_integer): Change
3270 in_text_unlikely_section to in_unlikely_text_section.
3271
b3e65ebb
RS
32722004-04-11 Roger Sayle <roger@eyesopen.com>
3273
3274 * fold-const.c (fold_binary_op_with_conditional_arg): Tweak
3275 calling convention to allow a NULL_TREE to be returned. Factor
3276 sanity checks from callers, return NULL_TREE when appropriate.
3277 (fold): Handle COMPOUND_EXPR operands of binary expressions
3278 before COND_EXPR operands. Use reorder_operands_p(a,b) to check
3279 whether a op (b,c) can be rewritten as (b, a op c). Simplify
3280 calls to fold_binary_op_with_conditional_arg.
3281
19d33948
KG
32822004-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3283
3284 * config/mips/iris5.h (current_section_flags): Add
3285 in_unlikely_executed_text and default case.
3286
cf22ce3c
AT
32872004-04-11 Andreas Tobler <a.tobler@schweiz.ch>
3288
3289 * bb-reorder.c (fix_crossing_conditional_branches): Fix bootstrap
3290 failure on solaris. Place ifdef HAVE_return around gen_ret call.
3291 * cfgrtl.c (force_nonfallthru_and_redirect): Remove ifdef
3292 HAVE_return and place it around the place where it is needed.
3293
34982294
AP
32942004-04-11 Andrew Pinski <pinskia@physics.uc.edu>
3295
3296 * varasm.c (text_section): Use TEXT_SECTION_ASM_OP and
3297 ASM_OUTPUT_ALIGN instead of SECTION_FORMAT_STRING
3298 and NORMAL_TEXT_SECTION_NAME.
3299 (unlikely_text_section): Check targetm.have_named_sections
3300 instead of TARGET_ASM_NAMED_SECTION and use TEXT_SECTION_ASM_OP
3301 instead of SECTION_FORMAT_STRING.
3302 * config/mips/iris5.h (current_section_name): Add
3303 in_unlikely_executed_text case and move the abort into the switch.
3304 * config/rs6000/sysv4.h (HOT_TEXT_SECTION_NAME): Remove.
3305 (NORMAL_TEXT_SECTION_NAME): Remove.
3306 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
3307 (SECTION_FORMAT_STRING): Remove.
3308 * defaults.h (SECTION_FORMAT_STRING): Remove.
3309 * tm.texi (NORMAL_TEXT_SECTION_NAME): Remove.
3310 (SECTION_FORMAT_STRING): Remove.
3311
c7e1876b
JM
33122004-04-10 Joseph S. Myers <jsm@polyomino.org.uk>
3313
3314 * c-typeck.c (common_type): Prefer long long to long when same
3315 precision.
3316
7c3ac422
ZW
33172004-04-09 Zack Weinberg <zack@codesourcery.com>
3318
3319 PR 14887
3320 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Look only at
3321 mode argument.
3322 * config/ia64/ia64.c (ia64_hpux_file_end): Check
3323 TREE_SYMBOL_REFERENCED on DECL_ASSEMBLER_NAME, not DECL_NAME.
3324
0b24db88
RS
33252004-04-09 Roger Sayle <roger@eyesopen.com>
3326
3327 * simplify-rtx.c (mode_signbit_p): New function to check whether
3328 an RTX is an immediate constant that represents the most significant
3329 bit of a given machine mode.
3330 (simplify_unary_operation) <NOT>: Optimize ~(X+C) as X ^ ~C, where
3331 C is the sign bit.
3332 (simplify_binary_operation) <PLUS>: Optimize (X^C1) + C2 as X^(C1^C2)
3333 when C2 is the sign bit.
3334 (simplify_binary_operation) <XOR>: Canonicalize X^C as X+C when C
3335 is the sign bit. Optimize (X+C1) ^ C2 as X^(C1^C2) when C1 is the
3336 sign bit.
3337
ce58118c
KG
33382004-04-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3339
3340 * builtins.c (mathfn_built_in): Check TYPE_MAIN_VARIANT, not
3341 TYPE_MODE.
3342
c29726e2
AP
33432004-04-09 Andrew Pinski <pinskia@physics.uc.edu>
3344
3345 * c-common.c (handle_noreturn_attribute): Use TYPE_READONLY instead
3346 of TREE_READONLY for types.
3347
750054a2
CT
33482004-04-09 Caroline Tice <ctice@apple.com>
3349
7c3ac422 3350 * basic-block.h (struct edge_def): Add new field, crossing_edge.
750054a2
CT
3351 (struct basic_block_def): Add new field, partition.
3352 (UNPARTITIONED, HOT_PARTITION, COLD_PARTITION): New constant macro
3353 definitions.
7c3ac422 3354 (partition_hot_cold_basic_blocks): Add extern function
750054a2 3355 declaration.
7c3ac422 3356 * bb-reorder.c (function.h, obstack.h, expr.h, regs.h): Add four new
750054a2
CT
3357 include statements.
3358 (N_ROUNDS): Increase the maximum number of rounds by 1.
3359 (branch_threshold): Add array value for new round.
3360 (exec_threshold): Add array value for new round.
3361 (push_to_next_round_p): New function.
3362 (add_unlikely_executed_notes): New function.
3363 (find_rarely_executed_basic_blocks_and_crossing_edges): New function.
3364 (mark_bb_for_unlikely_executed_section): New function.
3365 (add_labels_and_missing_jumps): New function.
3366 (add_reg_crossing_jump_notes): New function.
3367 (fix_up_fall_thru_edges): New function.
3368 (find_jump_block): New function.
3369 (fix_crossing_conditional_branches): New function.
3370 (fix_crossing_unconditional_branches): New function.
3371 (fix_edges_for_rarely_executed_code): New function.
3372 (partition_hot_cold_basic_blocks): New function.
3373 (find_traces): Add an extra round for partitioning hot/cold
3374 basic blocks.
3375 (find_traces_1_round): Add a parameter. Modify to push all cold blocks,
3376 and only cold blocks, into the last (extra) round of collecting traces.
7c3ac422 3377 (better_edge_p): Add a parameter. Modify to favor non-crossing edges
750054a2 3378 over crossing edges.
7c3ac422 3379 (bb_to_key): Add code to correctly identify cold blocks when
750054a2
CT
3380 doing partitioning.
3381 (connect_traces): Modify to connect all the non-cold traces first, then
3382 go back and connect up all the cold traces.
3383 (reorder_basic_blocks): Add call to add_unlikely_executed_notes.
3384 * cfg.c (entry_exit_blocks): Add initialization for partition field in
3385 entry and exit blocks.
7c3ac422 3386 * cfgbuild.c (make_edges): Update current_function_has_computed_jump
750054a2
CT
3387 if we are doing hot/cold partitioning.
3388 * cfgcleanup.c (cfglayout.h): Add new include statement.
7c3ac422 3389 (try_simplify_condjump): Modify to not attempt on blocks with jumps
750054a2
CT
3390 that cross section boundaries.
3391 (try_forward_edges): Likewise.
3392 (merge_blocks_move_predecessor_nojumps): Likewise.
3393 (merge_blocks_move_successor_nojumps): Likewise.
3394 (merge_blocks_move): Likewise.
3395 (try_crossjump_to_edge): Modify to not attempt after we have done
3396 the block partitioning.
3397 (try_crossjump_bb): Modify to not attempt on blocks with jumps that
3398 cross section boundaries.
3399 (try_optimize_cfg): Likewise.
3400 * cfghooks.c (tidy_fallthru_edges): Modify to not remove indirect
3401 jumps that cross section boundaries.
7c3ac422 3402 * cfglayout.c (flags.h): Add new include statement.
750054a2 3403 (update_unlikely_executed_notes): New function.
7c3ac422
ZW
3404 (fixup_reorder_chain): Add code so when a new jumping basic block is
3405 added, it's UNLIKELY_EXECUTED_CODE and REG_CROSSING_JUMP notes are
750054a2
CT
3406 updated appropriately.
3407 (duplicate_insn_chain): Add code to duplicate the new NOTE insn
3408 introduced by this optimization.
7c3ac422
ZW
3409 * cfglayout.h (scan_ahead_for_unlikely_executed_note): Add new
3410 extern function declaration.
750054a2
CT
3411 * cfgrtl.c (can_delete_note_p): Add NOTE_INSN_UNLIKELY_EXECUTED_CODE to
3412 list of notes that can be deleted.
3413 (create_basic_block_structure): Add initialization for partition field.
3414 (rtl_can_merge_blocks): Modify to test blocks for jumps that cross
3415 section boundaries.
3416 (try_redirect_by_replacing_jump): Modify to not attempt on jumps that
3417 cross section boundaries.
3418 (commit_one_edge_insertion): Add code so newly created basic block
7c3ac422 3419 ends up in correct (hot or cold) section. Modify to disallow
750054a2
CT
3420 insertions before NOTE_INSN_UNLIKELY_EXECUTED_CODE notes.
3421 (rtl_verify_flow_info_1): Add code to verify that no fall_thru edge
3422 crosses section boundaries.
3423 (cfg_layout_can_merge_blocks_p): Modify to test blocks for jumps that
3424 cross section boundaries.
3425 (force_nonfallthru_and_redirect): Modify to make sure new basic block
3426 ends up in correct section, with correct notes attached.
7c3ac422
ZW
3427 * common.opt (freorder-blocks-and-partition): Add new flag for this
3428 optimization.
3429 * dbxout.c (dbx_function_end): Add code to make sure scope labels at
3430 the end of functions are written into the correct (hot or cold)
3431 section.
750054a2
CT
3432 (dbx_source_file): Add code so writing debug file information
3433 doesn't incorrectly change sections.
7c3ac422 3434 * defaults.h (NORMAL_TEXT_SECTION_NAME): New constant macro, for use
750054a2 3435 in partitioning hot/cold basic blocks into separate sections.
7c3ac422 3436 (SECTION_FORMAT_STRING): New constant macro, for linux/i386 hot/cold
750054a2
CT
3437 section partitioning.
3438 (HAS_LONG_COND_BRANCH): New constant macro, indicating whether or not
3439 conditional branches can span all of memory.
3440 (HAS_LONG_UNCOND_BRANCH): New constant macro, indicationg whether or not
3441 unconditional branches can span all of memory.
7c3ac422
ZW
3442 * final.c (scan_ahead_for_unlikely_executed_note): New function.
3443 (final_scan_insn): Add code to check for NOTE instruction indicating
3444 whether basic block belongs in hot or cold section, and to make sure
3445 the current basic block is being written to the appropriate section.
3446 Also added code to ensure that jump table basic blocks end up in the
3447 correct section.
3448 * flags.h (flag_reorder_blocks_and_partition): New flag.
750054a2
CT
3449 * ifcvt.c (find_if_case_1): Modify to not attempt if conversion if
3450 one of the branches has a jump that crosses between sections.
3451 (find_if_case_2): Likewise.
7c3ac422 3452 (ifcvt): Modify to not attempt to mark loop exit edges after
750054a2 3453 hot/cold partitioning has occurred.
7c3ac422
ZW
3454 * opts.c (decode_options): Code to handle new flag,
3455 flag_reorder_blocks_and_partition; also to turn it off if
750054a2 3456 flag_exceptions is on.
7c3ac422
ZW
3457 (common_handle_option): Code to handle new flag,
3458 flag_reorder_blocks_and_partition.
3459 * output.h (unlikely_text_section): New extern function declaration.
750054a2 3460 (in_unlikely_text_section): New extern function declaration.
7c3ac422
ZW
3461 * passes.c (rest_of_handle_stack_regs): Add
3462 flag_reorder_blocks_and_partition as an 'or' condition for calling
750054a2 3463 reorder_basic_blocks.
7c3ac422 3464 (rest_of_handle_reorder_blocks): Add flag_reorder_blocks_and_partition
750054a2
CT
3465 as an 'or' condition for calling reorder_basic_blocks.
3466 (rest_of_compilation): Add call to partition_hot_cold_basic_blocks.
7c3ac422
ZW
3467 * print-rtl.c (print_rtx): Add code for handling new note,
3468 NOTE_INSN_UNLIKELY_EXECUTED_CODE
3469 * rtl.c (NOTE_INSN_UNLIKELY_EXECUTED_CODE): New note insn (see below).
750054a2
CT
3470 (REG_CROSSING_JUMP): New kind of reg_note, to mark jumps that
3471 cross between section boundaries.
7c3ac422
ZW
3472 * rtl.h (NOTE_INSN_UNLIKELY_EXECUTED_CODE): New note instruction,
3473 indicating the basic block containing it belongs in the cold section.
750054a2
CT
3474 (REG_CROSSING_JUMP): New type of reg_note, to mark jumps that cross
3475 between hot and cold sections.
7c3ac422
ZW
3476 * toplev.c (flag_reorder_blocks_and_partition): Add code to
3477 initialize this flag, and to tie it to the command-line option
3478 freorder-blocks-and-partition.
3479 * varasm.c (cfglayout.h): Add new include statement.
3480 (unlikely_section_label_printed): New global variable, used for
3481 determining when to output section name labels for cold sections.
750054a2
CT
3482 (in_section): Add in_unlikely_executed_text to enum data structure.
3483 (text_section): Modify code to use SECTION_FORMAT_STRING and
3484 NORMAL_TEXT_SECTION_NAME macros.
3485 (unlikely_text_section): New function.
3486 (in_unlikely_text_section): New function.
7c3ac422
ZW
3487 (function_section): Add code to make sure beginning of function is
3488 written into correct section (hot or cold).
3489 (assemble_start_function): Add code to make sure stuff is written to
3490 the correct section.
3491 (assemble_zeros): Add in_unlikely_text_section as an 'or' condition
3492 to an if statement that was checking 'in_text_section'.
3493 (assemble_variable): Add 'in_unlikely_text_section' as an 'or'
3494 condition to an if statement that was checking 'in_text_section'.
3495 (default_section_type_flags_1): Add check: if in cold section
3496 flags = SECTION_CODE.
750054a2
CT
3497 * config/darwin.c (darwin_asm_named_section): Modify to use
3498 SECTION_FORMAT_STRING if we are partitioning hot/cold blocks.
7c3ac422 3499 * config/i386/i386.h (HAS_LONG_COND_BRANCH): Defined this macro
750054a2
CT
3500 specifically for the i386.
3501 (HAS_LONG_UNCOND_BRANCH): Defined this macro specifically for the i386.
7c3ac422 3502 * config/rs6000/darwin.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Change
750054a2
CT
3503 text string to something more informative.
3504 (NORMAL_TEXT_SECTION_NAME): Add new definition.
3505 (SECTION_FORMAT_STRING): Add new definition.
7c3ac422
ZW
3506 * config/rs6000/rs6000.c (rs6000_assemble_integer): Add
3507 '!in_unlikely_text_section' as an 'and' condition to an if statement
3508 that was already checking '!in_text_section'.
3509 * config/rs6000/sysv4.h (HOT_TEXT_SECTION_NAME,NORMAL_TEXT_SECTION_NAME,
3510 UNLIKELY_EXECUTED_TEXT_SECTION_NAME,SECTION_FORMAT_STRING): Make
3511 sure these are properly defined for linux on ppc.
3512 * doc/invoke.texi (freorder-blocks-and-partition): Add documentation
3513 for this new flag.
750054a2
CT
3514 * doc/rtl.texi (REG_CROSSING_JUMP): Add documentation for new
3515 reg_note.
7c3ac422
ZW
3516 * doc/tm.texi (NORMAL_TEXT_SECTION_NAME, SECTION_FORMAT_STRING,
3517 HAS_LONG_COND_BRANCH, HAS_LONG_UNCOND_BRANCH): Add documentation for
750054a2
CT
3518 these new macros.
3519
88673361
RS
35202004-04-08 Roger Sayle <roger@eyesopen.com>
3521
3522 * function.c (gen_mem_addressof): When changing the RTX from a REG
3523 to a MEM, clear MEM_VOLATILE_P which was formerly REG_USERVAR_P.
3524
82a6a758
RS
35252004-04-08 Roger Sayle <roger@eyesopen.com>
3526
3527 PR target/14888
3528 * config/i386/i386.md (truncdfsf2_noop, truncxfsf2_noop,
3529 truncxfdf2_noop): Provide dummy "fmov" implementations.
3530
febc5365
ILT
35312004-04-08 Ian Lance Taylor <ian@wasabisystems.com>
3532
2a782c52
ILT
3533 * gcc.c (default_compilers): Add missing initializers.
3534
febc5365
ILT
3535 * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
3536 Return 1 if file was successfully mapped.
3537
f07e9f0f
GK
35382004-04-08 Geoffrey Keating <geoffk@apple.com>
3539
54e109ed
GK
3540 PR pch/13419
3541 PR pch/14137
3542 Radar #: 3315288
3543 * doc/invoke.texi (Precompiled Headers): Suggest -o
3544 to put an output file in a particular place. Be more detailed
3545 about which options affect PCH validity and which options
3546 might not work.
3547 * c-pch.c (pch_matching): New.
3548 (MATCH_SIZE): New.
3549 (struct c_pch_validity): New field 'match'.
3550 (pch_init): Handle pch_matching.
3551 (c_common_valid_pch): Check pch_matching.
3552
f07e9f0f
GK
3553 * explow.c: Fix typo defining default of PROMOTE_FUNCTION_MODE.
3554
f7b6f250
MM
35552004-04-08 Mark Mitchell <mark@codesourcery.com>
3556
3557 * doc/invoke.texi (Precompiled Headers): Warn about known
3558 problems.
3559
4a77e08c
DS
35602004-04-08 Danny Smith <dannysmith@users.sourceforge.net>
3561
3562 PR c++/14808
3563 * defaults.h (TARGET_USE_LOCAL_THUNK_ALIAS_P): New macro. Default
3564 to 1 if ASM_OUTPUT_DEF is defined.
3565 * doc/tm.texi (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document.
3566 * config/i386/cygming.h (TARGET_USE_LOCAL_THUNK_ALIAS_P): Define.
3567 Set to non-zero iff not a one_only decl.
3568
cc81dde8
PB
35692004-04-08 Paul Brook <paul@codesourcery.com>
3570
3571 * arm.h (CLASS_LIKELY_SPILLED_P): Define.
3572
d4453b7a
PB
35732004-04-08 Paul Brook <paul@codesourcery.com>
3574
3575 * explow.c (promote_mode): Use PROMOTE_FUNCTION_MODE instead of
3576 PROMOTE_FOR_CALL_ONLY.
3577 * config/arm/arm-protos.h (arm_function_value): Declare.
3578 * config/arm/arm.h (TARGET_PROMOTE_FUNCTION_ARGS): Define.
3579 (TARGET_PROMOTE_PROTOTYPES): Return false.
3580 (arm_function_value): New function.
3581 * config/arm/arm.h (PROMOTE_FUNCTION_MODE): Define.
3582 (FUNCTION_VALUE): Call arm_function_value.
3583 * config/cris/cris.h (PROMOTE_MODE): Rename ...
3584 (PROMOTE_FUNCTION_MODE): ... to this.
3585 (PROMOTE_FOR_CALL_ONLY): Remove.
3586 * config/mmix/mmix.h: Likewise.
3587 * config/s390/s390.h: Likewise.
3588 * config/sparc/sparc.h: Likewise.
3589 * config/sparc/sparc.c: Update comments about PROMOTE_MODE.
3590 * doc/tm.texi (PROMOTE_FUNCTION_MODE): Document.
3591 (TARGET_PROMOTE_FUNCTION_MODE, TARGET_PROMOTE_FUNCTION_RETURN): Update.
3592 (PROMOTE_FOR_CALL_ONLY): Remove.
3593
c00e272e
JS
35942004-04-08 Joel Sherrill <joel@oarcorp.com>
3595
3596 PR ada/14538
3597 * ada/5rosinte.adb: Remove fake mprotect() body.
3598 * ada/5rosinte.ads: Add SA_SIGINFO.
3599 * ada/5rtpopsp.adb: Rewrite to use new interface.
3600 * ada/init.c: Reorder so the simple single OS conditional __rtems__
3601 is tested before more complex ones which mix UNIX and embedded
3602 systems in the conditional.
3603
4afae4b9
JS
36042004-04-08 Joel Sherrill <joel@oarcorp.com>
3605
3606 PR ada/14665
3607 * ada/osint.adb (Find_Program_Name): Rework to properly handle
3608 filenames which end in .exe or have versioning suffixes like VMS.
3609
bfbdca0b
AP
36102004-04-08 Andrew Pinski <pinskia@physics.uc.edu>
3611
467f3af0 3612 PR target/10129
bfbdca0b
AP
3613 * config/darwin.c (darwin_encode_section_info): When the decl has
3614 a DECL_INITIAL, it is only defined also when it is not a common.
3615
df0785d6
KG
36162004-04-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3617
3618 * builtins.c (fold_builtin_isascii, fold_builtin_toascii): New.
3619 (fold_builtin): Handle BUILT_IN_ISASCII and BUILT_IN_TOASCII.
3620
2897f1d4
L
36212004-04-07 H.J. Lu <hongjiu.lu@intel.com>
3622
3623 * config/ia64/ia64.c (ia64_encode_section_info): Don't prod
3624 global register variables.
3625
6ed6a1b9
JM
36262004-04-07 Joseph S. Myers <jsm@polyomino.org.uk>
3627
3628 * fixinc/inclhack.def (rpc_xdr_lvalue_cast_a,
3629 rpc_xdr_lvalue_cast_b): New fixes.
3630 * fixinc/fixincl.x: Regenerate.
3631 * fixinc/tests/base/rpc/xdr.h: Add new tests.
3632
fc091c8e
DE
36332004-04-07 David Edelsohn <edelsohn@gnu.org>
3634
3635 * config/rs6000/rs6000.c (processor_target_table): Add MASK_MFCRF
3636 to power4 and power5 entries.
3637
7876228d
GK
36382004-04-06 Geoffrey Keating <geoffk@apple.com>
3639
3640 * c-common.h (pending_lang_change): Mark for PCH.
3641
b21292d0
CT
36422004-04-07 Caroline Tice <ctice@apple.com>
3643
3644 * gcc.c (main): Move 'break' in main loops (on an error)
3645 to wait until error processing has occurred.
7c3ac422 3646
615be2cf
NN
36472004-04-06 Nathanael Nerode <neroden@gcc.gnu.org>
3648
3649 * config.gcc: Stop changing enable_threads midstream.
3650 Replace uses of enable_threads_flag with enable_threads.
3651 * configure.ac: Replace uses of enable_threads_flag with
3652 enable_threads. Improve autoconf quotation in one place.
3653 * configure: Regenerate.
3654
6c7cf1f0
UB
36552004-04-06 Uros Bizjak <uros@kss-loka.si>
3656
3657 * builtins.c: Implement support for sincos function.
3658 (expand_builtin_mathfn): Remove BUILT_IN_SIN{,F,L} and
3659 BUILT_IN_COS{,F,L}.
3660 (expand_builtin_mathfn_3): New function.
3661 (expand_builtin): Expand BUILT_IN_SIN{,F,L} and
3662 BUILT_IN_COS{,F,L} using expand_builtin_mathfn_3 if
3663 flag_unsafe_math_optimization is set.
3664
3665 * optabs.h (enum optab_index): Add new OTI_sincos.
3666 (sincos_optab): Define corresponding macro.
3667
3668 * optabs.c (init_optabs): Initialize sincos_optab.
3669 (expand_twoval_unop): New function.
3670
3671 * genopinit.c (optabs): Implement sincos_optab using sincos?f3
3672 patterns.
3673
3674 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_SINCOS_COS
3675 and UNSPEC_SINCOS_SIN.
3676
3677 * config/i386/i386.md (sincosdf3, sincossf3, *sincosextendsfdf3,
3678 sincosxf3): New patterns to implement sincos, sincosf and sincosl
3679 built-ins as inline x87 intrinsics. Define splits for
3680 sindf2, sinsf2, *sinextendsfdf2, sinxf2, cosdf2,
3681 cossf2, *cosextendsfdf2 and cosxf2 patterns from corresponding
3682 sincos patterns.
3683 (sindf2, sinsf2, sinxf2): Rename to *sindf2, *sinsf2, *sinxf2.
3684 (cosdf2, cossf2, cosxf2): Rename to *cosdf2, *cossf2, *cosxf2.
3685
a072d43b
UB
3686 (UNSPEC_SINCOS_SIN, UNSPEC_SINCOS_COS): New unspecs to represent
3687 x87's fsincos insn.
6c7cf1f0 3688
23bd1514
DP
36892004-04-06 Devang Patel <dpatel@apple.com>
3690
3691 PR 14467
3692 * config/darwin.h (LINK_COMMAND_SPEC): Use c++filt instead of c++filt3.
7c3ac422 3693
c5124497
JDA
36942004-04-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3695
3696 * doc/install.texi: Update HP-UX 11 installation procedure.
3697
485d61a7
PB
36982004-04-06 Paul Brook <paul@codesourcery.com>
3699
3700 * doc/sourcebuild.texi: Remove obsolete contraint on testcases.
3701
13ecc9e0
KK
37022004-04-05 Kaz Kojima <kkojima@gcc.gnu.org>
3703
3704 * config/sh/sh.c (prepare_move_operands): Use emit_call_insn
3705 when the TLS address is generated by a function call.
3706 * config/sh/sh.md (tls_global_dynamic): Use a call expression.
3707 (tls_local_dynamic): Likewise.
3708
e0e4ac7f
AP
37092004-04-05 Andrew Pinski <pinskia@physics.uc.edu>
3710
3711 * tree.c (reconstruct_complex_type): Use TYPE_READONLY
3712 and TYPE_VOLATILE.
3713
0855eab7
CT
37142004-04-05 Caroline Tice <ctice@apple.com>
3715
485d61a7 3716 * gcc.c (combine_flag): New global variable, for new driver option.
0855eab7
CT
3717 (struct compiler): Add two new fields, to be used when
3718 combining multiple input files in a single pass (IMA).
7c3ac422
ZW
3719 (default_compilers): Add values for the new fields to all
3720 compiler entries. Modify the "@c" compiler entry for doing IMA
0855eab7
CT
3721 properly with "-save-temps" and the "combine" flag.
3722 (option_map): Add new driver option, "--combine", to tell driver
3723 to pass multiple input files to compiler at one time.
3724 (have_o_argbuf_index): New global variable.
3725 (store_arg): Modify to assign value to have_o_argbuf_index.
3726 (struct infile): Add three new fields, to help with IMA.
3727 (display_help): Add help for new "combine" option.
3728 (process_command): Remove local variable have_o; add code to check
3729 for new "combine" option; remove assignment to combine_inputs.
3730 (do_spec_1): Modify to deal with IMA better.
3731 (main): Make variable 'lang_n_infiles' local to entire function
7c3ac422
ZW
3732 rather than to a single block. Use flag combine_flag to
3733 determine whether to do IMA or not; Modify loop initializing
0855eab7
CT
3734 infiles to deal properly with linker files.
3735 Add code for doing preprocessing in presence of
3736 IMA with "-save-temps" flag. Modify "main" loop to handle
3737 multiple input files, in multiple languages, with or without
3738 preprocessing, gracefully.
3739 * toplev.c (set_src_pwd): Modify to not complain if attempting to
3740 re-set it to same directory it's previously been set to (avoid
7c3ac422 3741 irritating, meaningless warning messages when doing IMA with
0855eab7
CT
3742 save-temps).
3743 * doc/invoke.texi: Add "-combine" to list of Overall Options;
3744 remove documentation about IMA that is no longer accurate; Add
3745 documentation explaining what "-combine" does.
3746 * ada/lang-specs.h: Add initialization values for new fields in
3747 "struct compiler".
3748 * cp/lang-specs.h: Likewise.
3749 * f/lang-specs.h: Likewise.
3750 * java/lang-specs.h: Likewise.
3751 * objc/lang-specs.h: Likewise.
3752 * treelang/lang-specs.h: Likewise.
3753
26be75db
DE
37542004-04-05 David Edelsohn
3755
3756 * config/rs6000/rs6000.c (VTABLE_NAME_P): Add _ZTI to special
3757 symbol handling.
3758
fda935a2 37592004-04-05 Jakub Jelinek <jakub@redhat.com>
26be75db 3760 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
fda935a2
JJ
3761
3762 PR optimization/13424 (hppa), bootstrap/14462, c/14828
3763 * pa.md: Use replace_equiv_address to retain the attributes of the
3764 memory operands used in the split and peephole2 patterns for optimizing
3765 the pre-reload movstrsi, movstrdi, clrstrsi and clrstrdi patterns.
3766
4f976745
RK
37672004-04-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3768
3769 * c-decl.c (build_compound_literal): Use TYPE_READONLY.
3770 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
3771 * objc/objc-act.c (adorn_decl, gen_declspecs): Likewise.
3772 * c-typeck.c (decl_constant_value): Don't access DECL_INITIAL of a
3773 PARM_DECL.
3774 * calls.c (flags_from_decl_or_type): Use TYPE_READONLY and do so only
3775 for a type.
3776 * print-tree.c (print_node): Properly handle side-effects, readonly,
3777 and constant flags.
3778 * tree.c (build1_stat, build_expr_wfl): Only look at TREE_SIDE_EFFECTS
3779 and TREE_CONSTANT if not a type.
3780 * tree.h (IS_NON_TYPE_CODE_CLASS): New macro.
3781 (IS_EXPR_CODE_CLASS): Write 'E', not 'e'.
3782 (NON_TYPE_CHECK): New macro.
3783 (TREE_SIDE_EFFECT, TREE_READONLY, TREE_CONSTANT: Add check.
3784
5ffc4730
EB
37852004-04-05 Eric Botcazou <ebotcazou@libertysurf.fr>
3786
3787 * config/sparc/sol2-bi.h (PREFERRED_DEBUGGING_TYPE): Set
3788 to DWARF2_DEBUG unconditionally.
3789 (ASM_DEBUG_SPEC): Set the default to --gdwarf2 unconditionally.
3790
c38f02df
ILT
37912004-04-04 Ian Lance Taylor <ian@wasabisystems.com>
3792 Nathanael Nerode <neroden@gcc.gnu.org>
3793
3794 PR target/14548
3795 * config.host: Set the shell variable host_can_use_collect2.
3796 Set it to yes by default, and to no for alpha*-dec-*vms*,
3797 i[34567]86-*-mingw32*, and powerpc-*-beos*.
3798 * configure.ac: Set and substitute the shell variable collect2.
3799 Give an error if use_collect2 is yes and host_can_use_collect2 is
3800 no.
3801 * Makefile.in (COLLECT2): Rename from USE_COLLECT2. Change all
3802 uses. Initialize to @collect2@.
3803 (STAGESTUFF): Remove $(USE_COLLECT2).
3804 * config/alpha/x-vms (USE_COLLECT2): Don't set.
3805 * config/i386/t-mingw32 (USE_COLLECT2): Likewise.
3806 * config/rs6000/t-beos (USE_COLLECT2): Likewise.
3807 * config/pa/t-pa64: Remove commented out USE_COLLECT2.
3808 * configure: Regenerate.
3809
9d317251
RS
38102004-04-04 Roger Sayle <roger@eyesopen.com>
3811
3812 * simplify-rtx.c (simplify_binary_operation): Constant fold
3813 DIV, MOD, UDIV and UMOD using div_and_round_double.
3814
64480988
MM
38152004-04-04 Mark Mitchell <mark@codesourcery.com>
3816
3817 PR c++/14804
3818 * varasm.c (initializer_constant_valid_p): Allow NOP_EXPRs to
3819 RECORD_TYPEs.
3820
aaf3c6d9
MM
38212004-04-04 Mark Mitchell <mark@codesourcery.com>
3822
3823 * doc/invoke.texi (-mabi=o64): Create link to O64 ABI
3824 documentation.
cd3f11a6 3825
d8b7ec41
RS
38262004-04-04 Roger Sayle <roger@eyesopen.com>
3827
3828 * cse.c (cse_insn): Correct usage of simplify_replace_rtx when
3829 updating the REG_EQUAL note on an insn's libcall_insn.
3830
4012b7db
RS
38312004-04-04 Roger Sayle <roger@eyesopen.com>
3832
3833 * df.h: Tidy up whitespace in the definitions of the DF_ flags.
3834
2f63a457
RS
38352004-04-03 Roger Sayle <roger@eyesopen.com>
3836
3837 * fold-const.c (fold) <PLUS_EXPR>: Guard (-A)+B -> B-A transformation
3838 with reorder_operands_p.
3839
ef1140a9
JH
38402004-04-03 Jan Hubicka <jh@suse.cz>
3841
3842 * md.texi (vec_set, vec_extract, vec_init): Document.
3843
f736cb3e
GL
38442004-04-02 Gabor Loki <loki@inf.u-szeged.hu>
3845
3846 * opts.c (decode_options): Do function inlining with very small
3847 max-inline-insns-* parameters when optimizing for size.
3848
89c43c0a
VM
38492004-04-02 Vladimir Makarov <vmakarov@redhat.com>
3850
3851 * config/i386/i386.h (TARGET_NOCONA): New macro.
3852 (TARGET_CPU_CPP_BUILTINS): Add code for Nocona.
3853 (processor_type): Add PROCESSOR_NOCONA.
7c3ac422 3854
89c43c0a
VM
3855 * config/i386/i386.md (cpu): Add nocona to the attribute values.
3856
3857 * config/i386/i386.c (nocona_cost): New variable.
3858 (m_NOCONA): New macro.
3859 (x86_push_memory, x86_movx, x86_cmove, x86_deep_branch,
3860 x86_branch_hints, x86_use_sahf, x86_single_stringop,
3861 x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8,
3862 x86_integer_DFmode_moves, x86_partial_reg_dependency,
3863 x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
3864 x86_decompose_lea, x86_arch_always_fancy_math_387,
3865 x86_sse_partial_reg_dependency, x86_sse_load0_by_pxor,
3866 x86_ext_80387_constants, x86_four_jump_limit):
3867 (override_options): Add nocona_cost to processor_target_table.
3868 Set up PROCESSOR_NOCONA for Nocona entry in processor_alias_table.
3869 (incdec_operand): Prevent inc/dec generation for Nocona too.
3870 (ix86_issue_rate): Add PROCESSOR_NOCONA.
7c3ac422 3871
cd798543
AP
38722004-04-01 Andrew Pinski <pinskia@physics.uc.edu>
3873
3874 * rtlanal.c (find_reg_note): Manually
3875 unswitch the loop.
3876
a406f566
MM
38772004-04-01 Mark Mitchell <mark@codesourcery.com>
3878
3879 * genemit.c (gen_split): Change prototype of generated code.
3880 * genrecog.c (write_action): Adjust prototype for and calls to
3881 gen_split_*.
3882 * gensupport.c (struct queue_elem): Add split field.
3883 (queue_pattern): Return a value. Clear the split field.
3884 (process_rtx): Maintain an association between an insn and the
3885 split generated from it for a define_insn_and_split.
3886 (process_one_cond_exec): Generate a new split for a
3887 define_insn_and_split.
3888 * config/arm/arm-protos.h (arm_split_constant): Add insn
3889 parameter.
3890 (emit_constant_insn): New function.
3891 (arm_gen_constant): Use it.
3892 * config/arm/arm.md: Adjust calls to arm_split_constant.
3893
18c6ada9
JH
38942004-04-02 Jan Hubicka <jh@suse.cz>
3895
3896 * cgraph.c: Add overall comment.
3897 (cgraph_inline_hash): New global variable.
3898 (cgraph_create_node): Break out from ...
3899 (cgraph_node): ... here.
3900 (cgraph_edge): New function.
3901 (cgraph_create_edge): New CALL_EXPR argument; some sanity checking.
3902 (cgraph_remove_edge): Accept edge, intead of source and destination.
3903 (cgraph_redirect_edge_callee): New.
3904 (cgraph_remove_node): Update all new datastructures.
3905 (cgraph_record_call, cgraph_remove_call): Kill.
3906 (dump_cgraph_node): Break out from ... ; dump new datastructures.
3907 (dump_cgraph): ... here.
3908 (cgraph_function_possibly_inlined_p): Use new hashtable.
3909 (cgraph_clone_edge, cgraph_clone_node): New.
3910 * cgraph.h: Include hashtab.h
3911 (struct cgraph_global_info): Kill cloned_times, inline_once, will_be_output
3912 fields, add inlined_to pointer.
3913 (cgraph_node): Add pointer to next_clone.
3914 (cgraph_remove_edge, cgraph_create_edge): Update prototype.
3915 (cgraph_remove_call, cgraph_record_call): Kill.
3916 (cgraph_inline_hash): Declare.
3917 (dump_cgraph_node, cgraph_edge, cg4raph_clone_edge, cgraph_clone_node,
3918 cgraph_redirect_edge_callee): Declare.
3919 (cgraph_create_edges, cgraph_inline_p): Update prorotype.
3920 (cgraph_preserve_function_body_p, verify_cgraph, verify_cgraph_node,
3921 cgraph_mark_inline_edge, cgraph_clone_inlined_nodes): Declare.
3922 * cgraphunit.c: Add overall comment.
3923 (cgraph_optimize_function): Kill.
3924 (cgraph_assemble_pending_functions): Do not assemble inline clones.
3925 (cgraph_finalize_function): Update call of cgraph_remove_node
3926 (record_call_1): Record call sites.
3927 (cgraph_create_edges): Accept node instead of decl argument.
3928 (error_found): New static variable.
3929 (verify_cgraph_node_1, verify_cgraph_node, verify_cgraph): New functions.
3930 (cgraph_analyze_function): Update for new datastructures.
3931 (cgraph_finalize_compilation_unit): Plug memory leak.
3932 (cgraph_optimize_function): Kill.
3933 (cgraph_expand_function): Do not use cgraph_optimize_function.
3934 (INLINED_TIMES, SET_INLINED_TIMES, cgraph_inlined_into,
3935 cgraph_inlined_callees): Kill.
3936 (cgraph_remove_unreachable_nodes): Verify cgraph; update handling of
3937 clones.
3938 (estimate_growth): Simplify.
3939 (cgraph_clone_inlined_nodes): New function.
3940 (cgraph_mark_inline_edge): Re-implement.
3941 (cgraph_mark_inline): Likewise.
3942 (cgraph_check_inline_limits): Simplify.
3943 (cgraph_recursive_inlining_p): New.
3944 (update_callee_keys): Break out from ...
3945 (cgraph_decide_inlining_of_small_functions): ... here; simplify.
3946 (cgraph_decide_inlining, cgraph_decide_inlining_incrementally):
3947 Likewise.
3948 (cgraph_expand_all_functions): Remove inline clones from the ordered
3949 list.
3950 (cgraph_preserve_function_body_p): New predicate.
3951 (cgraph_optimize): Verify cgraph.
3952 * function.h (struct function): Add fields saved_tree/saved_args.
3953 * timevar.def (TV_CGRAPH_VERIFY): Use verifier.
3954 * toplev.c (rest_of_compilation): Do not free cfun.
3955 * tree-inline.c: Include function.h
3956 (struct inline_data): Add saving_p field; replace decl/current_decl by
3957 node/current_node.
3958 (insert_decl_map): New function.
3959 (copy_body_r): Handle saving; update cgraph datastructure.
3960 (copy_body): Handle recursive inlining.
3961 (initialize_inlined_parameters): Likewise.
3962 (expand_call_inline): Propagate node attributes; update cgraph.
3963 (optimize_inline_calls): Verify that datastructure still match.
3964 (save_body): New function.
3965 * tree-inline.h (save_body): New.
3966 * tree-optimize.c (tree_rest_of_compilation): preserve function body; do inlining.
3967 * langhooks-def.c (LANG_HOOKS_UPDATE_DECL_AFTER_SAVING): New.
3968 * langhooks.c (lang_hooks): Add update_decl_after_saving.
3969
717415ad
SB
39702004-04-01 Serge Belyshev <1319@bot.ru>
3971
7c3ac422
ZW
3972 PR target/14702
3973 * config/i386/i386.md: fix source operand constraints in
3974 mmx_pshufw, sse2_pshufd, sse2_pshuflw, sse2_pshufhw
717415ad 3975
af5bdf6a
WH
39762004-04-01 Waldek Hebisch <hebisch@math.uni.wroc.pl>
3977
3978 * fold-const.c (folda): Preserve types of comparisons.
3979
54fdc910
RH
39802004-04-01 Richard Henderson <rth@redhat.com>
3981
3982 * toplev.c (backend_init): Move init_optimization_passes call ...
3983 (lang_dependent_init): ... here.
3984
765f1bf9
AM
39852004-04-01 Alan Modra <amodra@bigpond.net.au>
3986 Jakub Jelinek <jakub@redhat.com>
3987
3988 * gcc.c (init_gcc_specs): If HAVE_LD_AS_NEEDED, link with
3989 -lgcc --as-needed -lgcc_s --no-as-needed by default.
3990 * configure.ac (HAVE_LD_AS_NEEDED): Check for ld --as-needed.
3991 * configure: Rebuilt.
3992 * config.in: Rebuilt.
3993 * Makefile.in (stage1-start): Copy also libgcc_s*$(SHLIB_EXT).
3994 (stage2-start, stage3-start, stage4-start): Likewise.
3995 (stageprofile-start, stagefeedback-start): Likewise.
3996
45dcc026
JJ
39972004-04-01 Jakub Jelinek <jakub@redhat.com>
3998
3999 * config/sparc/sparc.h (DITF_CONVERSION_LIBFUNCS): Define to 0.
4000 * config/sparc/linux.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
4001 * config/sparc/linux64.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
4002 * config/sparc/sol2.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
4003 (SOLARIS_CONVERSION_LIBFUNCS): Rename to SUN_CONVERSION_LIBFUNCS.
4004 * config/sparc/sparc.c (sparc_init_libfuncs): Initialize optabs
4005 with _Q_qtoll, _Q_qtoull and _Q_lltoq if DITF_CONVERSION_LIBFUNCS.
4006 * config.gcc (sparc-*-linux*): Revert 2004-03-23 change.
4007 * config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Likewise.
4008 * config/sparc/t-linux: Removed.
4009
0b612185
JJ
40102004-04-01 Jakub Jelinek <jakub@redhat.com>
4011
4012 PR c++/14755
4013 * fold-const.c (fold) <EQ_EXPR>: Properly compute newconst in
4014 "bitfld++ == const" to "++bitfld == const + incr" transformations.
4015
a150de29
RK
40162004-04-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4017
4018 * expr.c (get_inner_reference): Use DECL_UNSIGNED, not TREE_UNSIGNED.
4019 * stor-layout.c (layout_decl): Likewise.
4020 * tree.c (get_narrower): Likewise and also use BIT_FIELD_REF_UNSIGNED.
4021 * fold-const.c (make_bit_field_ref): Use BIT_FIELD_REF_UNSIGNED.
4022 * print-tree.c (print_node): Handle various used of unsigned_flag.
4023 * tree.def (BIT_FIELD_REF): Update comment.
4024 * tree.h (TREE_UNSIGNED): Deleted.
4025 (DECL_UNSIGNED, BIT_FIELD_REF_UNSIGNED): New macros.
4026
8df83eae
RK
40272004-03-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4028
4029 * builtins.c, c-aux-info.c, c-common.c, c-cppbuiltin.c, c-decl.c:
4030 Change most occurrences of TREE_UNSIGNED to TYPE_UNSIGNED.
4031 * c-format.c, c-opts.c, c-pretty-print.c, c-typeck.c: Likewise.
4032 * calls.c, convert.c, dbxout.c, dojump.c, dwarf2out.c: Likewise.
4033 * expmed.c, expr.c, fold-const.c, function.c, integrate.c: Likewise.
4034 * optabs.c, sdbout.c, stmt.c, stor-layout.c, tree-dump.c: Likewise.
4035 * tree.c, config/iq2000/iq2000.c, config/m32r/m32r.c: Likewise.
4036 * config/mips/mips.c, config/rs6000/rs6000.c: Likewise.
4037 * config/s390/s390.c, config/sparc/sparc.c, objc/objc-act.c: Likewise.
4038 * stor-layout.c (layout_type, case COMPLEX_TYPE): Test for
4039 REAL_TYPE, not INTEGER_TYPE.
4040 (layout_type, case VECTOR_TYPE): Simplify code.
4041 * tree.c (build_vector_type_for_mode): Remove dup unsigned setting.
4042 * tree.h: Update comments.
4043 (STRIP_NOPS): Use TYPE_UNSIGNED.
4044 (TYPE_UNSIGNED): New macro.
4045 (TYPE_TRAP_SIGNED): Remove now redundant check.
4046 (SAVE_EXPR_NOPLACEHOLDER): Don't use TREE_UNSIGNED.
4047
8465edcc
RK
40482004-03-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4049
4050 * function.c (put_var_into_stack): Properly set orig_reg for indirect.
4051
40522004-03-31 Andrew Pinski <pinskia@physics.uc.edu>
efdc5d91
AP
4053
4054 * config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA):
4055 Add darwin-fpsave.asm, darwin-vecsave.asm,
4056 and darwin-world.asm.
4057 (TARGET_LIBGCC2_CFLAGS): Add -Wa,-force_cpusubtype_ALL
4058 as the asm files contain altivec instructions.
4059 * config/rs6000/darwin-fpsave.asm: New file.
4060 * config/rs6000/darwin-vecsave.asm: New file.
4061 * config/rs6000/darwin-world.asm: New file.
4062
5fece182
ZW
40632004-03-31 Zack Weinberg <zack@codesourcery.com>
4064
4065 * gengtype-yacc.y (option, stringseq): Add missing
4066 terminating semicolon.
4067
b150f4f3
DE
40682004-03-30 David Edelsohn <edelsohn@gnu.org>
4069
4070 * config/rs6000/rs6000.md (tls_gd_32, tls_gd_64,
4071 tls_ld_32, tls_ld_64, tls_dtprel_32, tls_dtprel_64,
4072 tls_dtprel_ha_32, tls_dtprel_ha_64,
4073 tls_dtprel_lo_32, tls_dtprel_lo_64,
4074 tls_got_dtprel_64, tls_tprel_32, tls_tprel_64,
4075 tls_tprel_ha_32, tls_tprel_ha_64,
4076 tls_tprel_lo_32, tls_tprel_lo_64,
4077 tls_got_tprel_32, tls_got_tprel_64,
4078 tls_tls_32, tls_tls_64): Replace register_operand with
4079 gpc_reg_operand.
4080
40812004-03-30 Mostafa Hagog <mustafa@il.ibm.com>
4082
4083 * config/rs6000/rs6000.md (*ctrsi_internal1, *ctrsi_internal2,
4084 *ctrdi_internal1, *ctrdi_internal2, *ctrsi_internal3,
4085 *ctrsi_internal4, *ctrdi_internal3, *ctrdi_internal4,
4086 *ctrsi_internal5, *ctrsi_internal6, *ctrdi_internal5,
4087 *ctrdi_internal6): Replace register_operand with
4088 nonimmediate_operand.
4089
0af5da7f
FJ
40902004-03-29 Fariborz Jahanian <fjahanian@apple.com>
4091
5fece182
ZW
4092 * fold-const.c (fold): Reassociate multiply expression
4093 with an adjacent non-multiply expression to use
4094 architecture's multiply-add instruction.
0af5da7f 4095
1431042e
ZW
40962004-03-30 Zack Weinberg <zack@codesourcery.com>
4097
4098 * gengtype.c (create_option): New function.
4099 * gengtype.h: Prototype it.
4100 * gengtype-yacc.y (stringseq): New rule.
4101 (option): Use create_option. Add new bare ID production. Use
4102 stringseq, not STRING directly.
4103
4104 * alias.c, bitmap.c, c-decl.c, cgraph.h, cpplib.h, cselib.h
4105 * dwarf2out.c, emit-rtl.c, function.h, lists.c, tree.h
4106 * varray.h, config/alpha/alpha.c:
4107 Use new shorter form of GTY markers.
4108
4109 * doc/gty.texi: Rewrite.
4110
9ffab06b
AP
41112004-03-30 Andrew Pinski <pinskia@physics.uc.edu>
4112
4113 * config/darwin.c (machopic_function_base_name):
4114 Remove current_name and getting the name of the
4115 current function.
4116
a2246edc
NC
41172004-03-30 Nick Clifton <nickc@redhat.com>
4118
4119 * config/arm/arm.md (thumb_jump): Reduce the backward branch
4120 range, and increase the forward branch range, to allow for
4121 the fact that the PC will be off by 4.
4122
547799a7
AM
41232004-03-30 Alan Modra <amodra@bigpond.net.au>
4124
4125 * .cvsignore: Add GPATH, GRTAGS, GSYMS and GTAGS (GNU GLOBAL)
4126
452a7d36
HP
41272004-03-30 Hartmut Penner <hpenner@de.ibm.com>
4128
1431042e
ZW
4129 * config/rs6000/rs6000.c (output_vec_const_move):
4130 Find all cases of EASY_VECTOR_15_ADD_SELF.
4131 (easy_vector_constant_add_self): Accept
4132 all vector constant loadable by vsplt* and vadd*.
452a7d36
HP
4133 (easy_vector_same): Use easy_vector_splat_const.
4134 (easy_vector_const): Use easy_vector_splat_const.
1431042e 4135 (easy_vector_splat_const): New function.
452a7d36 4136 (gen_easy_vector_constant_add_self): New function.
1431042e 4137
452a7d36
HP
4138 * config/rs6000/rs6000-protos.c (gen_easy_vector_constant_add_self):
4139 New prototype.
4140
1431042e 4141 * config/rs6000/altivec.md (movv4si splitter): Change to
452a7d36
HP
4142 emit move insn with halfed vector constant.
4143 (*movv8hi splitter): Likewise.
4144 (*movv16qi splitter): Likewise.
1431042e 4145
708d2456
HP
41462004-03-30 Hartmut Penner <hpenner@de.ibm.com>
4147
1431042e
ZW
4148 PR 11591
4149 * config/rs6000/rs6000.c (rs6000_legitimate_address):
708d2456
HP
4150 Allow any offset to argument pointer in no-strict case.
4151
6868bb1c
JH
41522004-03-30 Jan Hubicka <jh@suse.cz>
4153
4154 * toplev.c (backend_init): Add missing call to inint_optimization_passes.
4155 * passes.c (init_optimization_passes, finish_optimization_passes): Output cgraph
4156 dump file in non-unit-at-a-time mode.
4157
43537bf6
HPN
41582004-03-29 Hans-Peter Nilsson <hp@axis.com>
4159
4160 * config/cris/cris.h: Correct #ifdef to test for
4161 HAVE_AS_NO_MUL_BUG_ABORT_OPTION, not
4162 HAVE_AS_MUL_BUG_ABORT_OPTION.
4163
97955d55
RK
41642004-03-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4165
4166 * function.c (put_var_into_stack): If old RTL was ADDRESSOF, update
4167 the address inside the old RTL.
4168
18d5f982
ZW
41692004-03-28 Zack Weinberg <zack@codesourcery.com>
4170
4171 * c-decl.c: Verify that C_SIZEOF_STRUCT_LANG_IDENTIFIER is correct.
4172 (struct c_binding, struct c_scope): Add chain_next
4173 attributes to GTY markers.
4174 (struct lang_identifier, struct lang_tree_node): Define
4175 here...
4176 * c-tree.h: ... not here. No longer need to declare struct
4177 c_binding either. Do define C_SIZEOF_STRUCT_LANG_IDENTIFIER.
4178 * c-lang.c, objc/objc-lang.c: Set LANG_HOOKS_IDENTIFIER_SIZE
4179 to C_SIZEOF_STRUCT_LANG_IDENTIFIER.
4180
4181 PR 14734, 11944
4182 * c-decl.c (get_parm_info): If error_mark_node is encountered
4183 in the bindings chain, unbind and discard it; don't abort.
4184
e20f3dd1 41852004-03-28 Olga Golovonevsky <olga@il.ibm.com>
18d5f982 4186 Dorit Naishlos <dorit@il.ibm.com>
e20f3dd1 4187
18d5f982
ZW
4188 * config/rs6000/altivec.md: (andvv16qi3, andv8hi3, one_cmplv16qi2,
4189 one_cmplv8hi2, one_cmplv4si2, iorv16qi3, iorv8hi3,): New modelling.
e20f3dd1 4190
d5ebbf58
SC
41912004-03-28 Stephane Carrez <stcarrez@nerim.fr>
4192
4193 * config/m68hc11/m68hc11-protos.h (m68hc11_page0_symbol_p): Declare.
4194
4195 * config/m68hc11/m68hc11.c (m68hc11_handle_page0_attribute): New.
4196 (m68hc11_attribute_table): New attribute "page0" to mark a global
4197 variable as being allocated from within page0 section.
4198 (m68hc11_encode_label): New function.
4199 (m68hc11_strip_name_encoding): New function.
4200 (m68hc11_page0_symbol_p): New function.
4201 (m68hc11_indirect_p): Accept global variables marked in page0.
4202 (m68hc11_encode_section_info): Lookup "page0" attribute.
4203
4204 * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): 'R' constraint also
4205 represents access to page0 variables.
4206
4207 * config/m68hc11/m68hc11.md ("*logicalsi3_zexthi"): Use gen_rtx_REG.
4208 ("*logicalsi3_silshl16_zext"): Likewise.
4209 ("*ashldi3_const32"): Likewise.
4210 (peephole2 ashift): Likewise.
4211
5baeaac0
JM
42122004-03-28 Joseph S. Myers <jsm@polyomino.org.uk>
4213
4214 * c-tree.h (C_DECL_REGISTER): New.
4215 * c-aux-info.c (gen_decl), c-decl.c (objc_mark_locals_volatile,
4216 finish_decl, grokdeclarator, get_parm_info), c-typeck.c
4217 (build_array_ref, c_mark_addressable): Set and use it.
4218 * c-decl.c (grokdeclarator), c-typeck.c (c_mark_addressable):
4219 Allow structures with volatile fields to be declared register.
4220 Don't check TREE_ADDRESSABLE before warning about taking address
4221 of register.
4222 * c-decl.c (finish_decl): Don't allow structures with volatile
4223 fields to be placed in named register.
4224 * doc/trouble.texi: Remove reference to structures with volatile
4225 fields in registers.
4226
84c1fa24
UW
42272004-03-27 Ulrich Weigand <uweigand@de.ibm.com>
4228
4229 * function.c (thread_prologue_and_epilogue): Move
4230 NOTE_INSN_FUNCTION_END and NOTE_INSN_FUNCTION_BEG notes
4231 before the epilogue.
4232
053ee101
UW
42332004-03-27 Ulrich Weigand <uweigand@de.ibm.com>
4234
4235 * expr.c (store_constructor): Use gen_int_mode to correctly
4236 sign-extend CONST_INT value.
4237
ca4944e1
KG
42382004-03-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4239
4240 * builtin-types.def (BT_WINT, BT_FN_INT_WINT, BT_FN_WINT_WINT): New.
4241 * builtins.def (DEF_C94_BUILTIN): New. Add wctype builtins.
4242 * doc/extend.texi: Likewise.
4243
eb1a2c88
DN
42442004-03-26 Diego Novillo <dnovillo@redhat.com>
4245
4246 * c-typeck.c (comptypes): Replace calls to TYPE_DOMAIN
4247 with TYPE_ORIG_SIZE_TYPE.
4248
eabe2b29 42492004-03-25 Aldy Hernandez <aldyh@redhat.com>
18d5f982
ZW
4250
4251 PR 14219
4252 * c-typeck.c (build_binary_op): Do not allow comparisons of
4253 vectors.
eabe2b29 4254
9e1395f1
JM
42552004-03-26 James A. Morrison <ja2morri@uwaterloo.ca>
4256
4257 * config.gcc: Remove sparc-tti-*.
4258 * config/sparc/pbd.h: Delete.
4259
4260 * config/sparc/sol2.h: Remove note about Sun OS 4.x.
4261 * config/sparc/aout.h: Likewise.
4262
4263 * config/sparc/sparc.h: Remove if 0'd code.
4264 * config/sparc/sparc.md (call): Remove if 0'd code.
4265 (call_value): Likewise.
4266 (nonlocal_goto): Likewise.
4267 (unimp_insn): Delete.
4268
22e63bd3
RS
42692004-03-25 Roger Sayle <roger@eyesopen.com>
4270
4271 * fold-const.c (tree_expr_nonnegative_p): Handle BIT_XOR_EXPR like
4272 BIT_IOR_EXPR; A^B is nonnegative when A and B are nonnegative.
4273
0066ef9c
RH
42742004-03-25 Richard Henderson <rth@redhat.com>
4275
4276 PR 11527
18d5f982
ZW
4277 * c-typeck.c (pop_init_level): Emit pending init elements earlier
4278 rather than later.
0066ef9c 4279
3a048383
KG
42802004-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4281
4282 * builtins.c (fold_builtin): Fix error in last change.
4283
0d63bf21
RS
42842004-03-25 Richard Sandiford <rsandifo@redhat.com>
4285
4286 * config/mips/mips.h: Formatting fix.
4287
740e5b6f
KG
42882004-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4289
4290 * builtins.def: Add ctype builtins.
4291 * doc/extend.texi: Likewise.
4292
e19f6bde
KG
42932004-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4294
4295 * builtins.c (fold_builtin): Add new builtin optimizations for
4296 sqrt and/or cbrt.
4297 * fold-const.c (fold): Likewise.
4298
ec507f2d
DE
42992004-03-25 David Edelsohn <edelsohn@gnu.org>
4300
4301 * config/rs6000/rs6000.c (rs6000_always_hint): New variable.
4302 (rs6000_sched_groups): New variable.
4303 (processor_target_table): Add power5.
4304 (rs6000_override_options): Set rs6000_sched_insert_nops,
4305 rs6000_sched_costly_dep and rs6000_sched_restricted_insns_priority
4306 from rs6000_sched_groups.
4307 (output_cbranch): Use rs6000_always_hint.
4308 (rs6000_variable_issue): Use rs6000_sched_groups.
4309 (rs6000_adjust_cost): Add CPU_POWER5.
4310 (is_microcoded_insn): Use rs6000_sched_groups.
4311 (is_dispatch_slot_restricted): Use rs6000_sched_groups.
4312 Return 2 for POWER5 cracked instructions.
4313 (is_cracked_insn): Use rs6000_sched_groups.
4314 (is_branch_slot_insn): Use rs6000_sched_groups.
4315 (rs6000_issue_rate): Add CPU_POWER5.
4316 (rs6000_sched_finish): Use rs6000_sched_groups.
4317 (rs6000_rtx_costs): Add PROCESSOR_POWER5.
4318 * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_POWER5.
4319 (DEFAULT_SCHED_COSTLY_DEP): Delete.
4320 (DEFAULT_RESTRICTED_INSNS_PRIORITY): Delete.
4321 (DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Delete.
4322 * config/rs6000/rs6000.md (define_attr "cpu"): Add power5.
4323 * config/rs6000/power5.md: New file.
4324 * doc/invoke.texi: Add power5 option.
4325
666c27b9
KH
43262004-03-25 Kazu Hirata <kazu@cs.umass.edu>
4327
4328 * cfgrtl.c, dbxout.c, tree.def, config/darwin.h,
4329 config/arm/arm.c, objc/objc-act.c: Fix comment typos.
4330 * doc/invoke.texi: Fix a typo.
4331
43a21dfc
KH
43322004-03-25 Kazu Hirata <kazu@cs.umass.edu>
4333
4334 PR optimization/9707.
4335 * stmt.c (emit_case_nodes): Emit equality comparisons instead
4336 of recursing if both children are single-valued cases with no
4337 children.
4338
9728c9d1
PB
43392004-03-25 Paul Brook <paul@codesourcery.com>
4340
4341 * config/arm/arm.c (vfp_print_multi): Remove.
4342 (arm_output_fldmx): New function.
4343 (vfp_emit_fstmx): Return block size, not insn. Add ARM10 VFPr1 bugfix.
4344 (arm_expand_prologue): Update to match.
4345 (arm_get_vfp_saved_size): New Function.
4346 (arm_get_frame_offsets): Use it.
4347 (arm_output_epilogue): Use new functions.
4348
bb1acb3e
RH
43492004-03-24 Richard Henderson <rth@redhat.com>
4350
4351 * alias.c (alias_invariant, alias_invariant_size): Mark GTY.
4352 (reg_known_value, reg_known_value_size): Likewise; make static.
4353 (reg_known_equiv_p): Make static.
4354 (clear_reg_alias_info): Update for new indexing.
4355 (get_reg_known_value, set_reg_known_value): New.
4356 (get_reg_known_equiv_p, set_reg_known_equiv_p): New.
4357 (canon_rtx): Use them.
4358 (init_alias_analysis): Likewise. Allocate reg_known_value with gc.
4359 Don't play queer offsetting games with reg_known_value and
4360 reg_known_equiv_p.
4361 (end_alias_analysis): Free reg_known_value with gc.
4362 * rtl.h (get_reg_known_value, get_reg_known_equiv_p): Declare.
4363 * sched-deps.c (reg_known_equiv_p, reg_known_value): Remove.
4364 (deps_may_trap_p, sched_analyze_1, sched_analyze_2): Use the new
4365 functions instead.
4366
ef335eb8
KH
43672004-03-24 Kazu Hirata <kazu@cs.umass.edu>
4368
4369 * dwarf2asm.c, loop.h, pretty-print.c, pretty-print.h,
4370 config/i386/mmintrin.h: Update copyright.
4371
09a9c095
NN
43722004-03-24 Nathanael Nerode <neroden@gcc.gnu.org>
4373
4374 * configure.ac: Add --enable-werror-always (for top level bootstrap
4375 support).
4376 * configure: Regenerate.
4377
f75963f5
ZL
43782004-03-24 Ziemowit Laski <zlaski@apple.com>
4379
4380 * objc/objc-act.c (objc_comptypes): Treat comparisons
4381 between 'Class' and '<class> *' as explicitly invalid.
4382
8d3b3fb7
DE
43832004-03-24 David Edelsohn <edelsohn@gnu.org>
4384
4385 * doc/invoke.texi (-frename-registers: Add enabled at -O3.
4386 (-fprofile-values): Add enabled with profile-{generate,use}.
4387 (-fvpt): Same.
4388 (-ftracer): Add enabled with profile-use.
4389 (-funit-at-a-time): Add enabled at -O2,-O3.
4390 (-funroll-loops): Add enabled with profile-use.
4391 (-funswitch-loops): Add enabled with profile-use. Remove duplicates.
4392 (max-gcse-passes): Mention default.
4393 (max-cse-path-length): Mention default.
4394
643d3bd2
NN
43952004-03-24 Nathanael Nerode <neroden@gcc.gnu.org>
4396
4397 * Makefile.in (STRICT2_WARN): Reorder.
4398 * configure.ac: Check for -Wold-style-definition, and use it
4399 in strict1_warn if it's available.
4400 * configure: Regnerate.
4401
5848830f
PB
44022004-03-24 Paul Brook <paul@nowt.org>
4403
4404 * config.gcc <arm>: Add --with-abi=
4405 * config/arm/arm-protos.h (arm_get_frame_size, thumb_get_frame_size,
4406 thumb_far_jump_used): Remove prototypes.
4407 (arm_needs_doubleword_align): Add prototype.
4408 (thumb_compute_initial_elimination_offset): Ditto.
4409 * config/arm/arm.c (arm_get_frame_offsets): New function.
4410 (use_return_insn, output_return_instruction, arm_output_epilogue,
4411 arm_output_function_epilogue, arm_compute_initial_elimination_offset,
4412 arm_expand_prologue, thumb_expand_epilogue): Use it.
4413 (arm_abi, target_abi_name, all_arm_abis): New variables.
4414 (arm_override_options): Set them. Set structure padding for AAPCS.
4415 (arm_return_in_memory): Update ABI check.
4416 (arm_init_cumulative_args): Initialize can_split.
4417 (arm_needs_doubleword_align): New function.
4418 (arm_function_arg): Don't split args after pushing to stack. Handle
4419 doubleword/even reg alignment.
4420 (arm_va_arg): Handle all doubleword aligned args.
4421 (add_minpoolforward ref, dump_minpool, push_minpool_fix): Align based
4422 on ABI, not CPU.
4423 (arm_compute_save_reg0_reg12_mask): Fix comment.
4424 (thumb_get_frame_size, thumb_get_frame_size): Remove.
4425 (thumb_jump_far_used_p): Remove superfluous argument. Return save
4426 value for alignment.
4427 (thumb_unexpanded_epilogue, thumb_output_function_prologue): Change
4428 to match.
4429 (thumb_compute_initial_elimination_offset): New function.
4430 (thumb_expand_prologue): Use arm_get_frame_offsets. Remove
4431 unneccessary rounding.
4432 * config/arm/arm.h (target_abi_name): Declare.
4433 (ARM_DOUBLEWORD_ALIGN, DOUBLEWORD_ALIGNMENT, TARGET_IWMMXT_ABI,
4434 arm_abi_type, ARM_DEFAULT_ABI): Define.
4435 (ARM_FLAG_ATPCS): Remove.
4436 (TARGET_OPTIONS, OPTION_DEFAULT_SPECS): Add -mabi=.
4437 (BIGGEST_ALIGNMENT, PREFERRED_STACK_BOUNDARY, STACK_BOUNDARY): Use it.
4438 (ADJUST_FIELD_ALIGN, DATA_ALIGNMENT, LOCAL_ALIGNMENT,
4439 TYPE_NEEDS_IWMMXT_ALIGNMENT): Remove.
4440 (LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P, FUNCTION_ARG_REGNO_P):
4441 Contitionalize on ABI, not CPU.
4442 (struct arm_stack_offsets): Define.
4443 (struct machine_function): Add stack_offsets. Remove frame_size.
4444 (FUNCTION_ARG_PARTIAL_NREGS): Don't split if previous args have been
4445 pushed.
4446 (FUNCTION_ARG_ADVANCE, FUNCTION_ARG_BOUNDARY): Handle general
4447 doubleword alignment.
4448 (THUMB_INITIAL_ELIMINATION_OFFSET,
4449 ARM_INITIAL_ELIMINATION_OFFSET): Remove.
4450 (INITIAL_ELIMINATION_OFFSET): Call functions directly.
4451 * config/arm/arm.md (align_8): Enable for all targets.
4452 * config/arm/netbsd-elf.h (TARGET_DEFAULT): Remove TARGET_ATPCS.
4453 (ARM_DEFAULT_ABI): Define.
4454 * doc/invoke.texi <ARM>: Document -mabi=. Update documentation for
4455 -mstructure-size-boundary.
4456
b5472e1d
NN
44572004-03-24 Nathanael Nerode <neroden@gcc.gnu.org>
4458
4459 * configure.ac: Check for -Wno-variadic-macros; don't use
4460 -pedantic (in stage 1 or a simple 'make all') unless it's available,
4461 and if it's available, use it. Also, clean up check for
4462 -Wno-long-long.
4463 * configure: Regenerate.
4464
c1077e1e
RS
44652004-03-24 Richard Sandiford <rsandifo@redhat.com>
4466
4467 * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Remove tm_defines.
4468 * config/mips/vr.h (DEFAULT_VR_ARCH): New macro, defined to vr4130.
4469 (MULTILIB_DEFAULTS): Use it.
4470 (MIPS_CPU_STRING_DEFAULT): Remove.
4471 (MIPS_ABI_DEFAULT, MIPS_MARCH_CONTROLS_SOFT_FLOAT): Define.
4472 (DRIVER_SELF_SPECS): Make -mfix-vr4122-bugs imply -march=vr4120. Make
4473 EABI64 -mlong32 the default ABI. Enforce the default architecture.
4474 * config/mips/t-vr (MULTILIB_OPTIONS): Add mfix-vr4122-bugs,
398a9492 4475 march=vr4130, march=vr4300, march=vr5000 and march=vr5500.
c1077e1e
RS
4476 (MULTILIB_MATCHES): Use -mfix-vr4122-bugs multilibs for -march=vr4120.
4477 (MULTILIB_EXCEPTIONS): Change choice of multilibs. Update comments
4478 accordingly.
4479
c235ddf2
DD
44802004-03-24 DJ Delorie <dj@redhat.com>
4481 Richard Sandiford <rsandifo@redhat.com>
4482
4483 * config/mips/mips.h (MASK_FIX_VR4122, TARGET_FIX_VR4122): New macros.
4484 (TARGET_SWITCHES): Add -mfix-vr4122-bugs and -mno-fix-vr4122-bugs.
4485 (ASM_SPEC): Pass down -mfix-vr4122-bugs.
4486 * config/mips/mips.c (mips_avoid_hazards): Don't emit whole functions
4487 in .set noreorder and .set nomacro if TARGET_FIX_VR4122.
4488 (mips_init_libfuncs): Use special functions for divsi3 and modsi3
4489 if TARGET_FIX_VR4122.
4490 * config/mips/mips.md (define_attr length): Account for nops inserted
4491 after macc and dmult when using -mfix-vr4122-bugs.
4492 (umuldi3_highpart, divmodsi4, divmoddi4): Disable if TARGET_FIX_VR4122.
4493 * config/mips/t-vr (LIB2FUNCS_STATIC_EXTRA): Define instead of
4494 LIB2FUNCS_EXTRA. Add config/mips/vr4122-div.S.
4495 * config/mips/vr4122-div.S: New file.
4496 * doc/invoke.texi: Document -mfix-vr4122-bugs.
4497
cf768d70
RS
44982004-03-24 Richard Sandiford <rsandifo@redhat.com>
4499
4500 * config/mips/mips.h (PROCESSOR_R4130): New processor_type.
4501 (TARGET_MIPS4130): New macro.
4502 (ISA_HAS_MACC): Return true if TARGET_MIPS4130 && !TARGET_MIPS16.
4503 * config/mips/mips.c (mips_cpu_info_table): Add a vr4130 entry.
4504 (override_options): Extend MIPS_MARCH_CONTROLS_SOFT_FLOAT to deal
4505 with PROCESSOR_R4130.
4506 * config/mips/mips.md (define_attr cpu): Add r4130.
4507 * doc/invoke.texi: Document vr4130 as a supported MIPS architecture.
4508
5ef1a99d
MR
45092004-03-24 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
4510 Richard Sandiford <rsandifo@redhat.com>
4511
4512 * doc/invoke.texi: Apply missed hunk from 2004-03-03 change.
4513
ae87624f
AO
45142004-03-24 Alexandre Oliva <aoliva@redhat.com>
4515
4516 PR preprocessor/14438
4517 * cpplib.c (do_pragma): Remove line_change call after pragma
4518 handler.
4519
d63851eb
ILT
45202004-03-23 Ian Lance Taylor <ian@wasabisystems.com>
4521
4522 * doc/extend.texi (ARM Built-in Functions): Replace with correct
4523 declarations.
4524
0c5faf29
RS
45252004-03-23 Roger Sayle <roger@eyesopen.com>
4526
4527 * reg-stack.c (get_true_reg): Handle FLOAT_TRUNCATE like FLOAT_EXTEND
4528 if flag_unsafe_math_optimizations.
4529 * config/i386/i386.md (truncdfsf2): If flag_unsafe_math_optimizations
4530 and TARGET_80387 expand using truncdfsf2_noop pattern.
4531 (truncxfsf2): Likewise using truncxfsf2_noop.
4532 (truncxfdf2): Likewise using truncxfdf2_noop.
4533 (truncdfsf2_noop, truncxfsf2_noop, truncxfdf2_noop): New patterns.
4534
f18eca82
ZL
45352004-03-23 Ziemowit Laski <zlaski@apple.com>
4536
4537 * hooks.c (hook_constcharptr_tree_null): New hook.
4538 * hooks.h (hook_constcharptr_tree_null): New prototype.
4539 * target-def.h (TARGET_MANGLE_FUNDAMENTAL_TYPE): New target hook.
4540 * target.h (mangle_fundamental_type): New target hook.
4541 * config/rs6000/rs6000.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Point
4542 target hook at rs6000_mangle_fundamental_type.
4543 (rs6000_mangle_fundamental_type): New function.
4544 * doc/tm.texi (TARGET_MANGLE_FUNDAMENTAL_TYPE): Document.
4545
f75fbaf7
ZW
45462004-03-23 Zack Weinberg <zack@codesourcery.com>
4547
1b1d85bd 4548 PR 12267, 12391, 12560, 13129, 14114, 14133
f75fbaf7
ZW
4549 * c-tree.h: Forward declare struct c_binding. Declare
4550 c_override_bindings_to_false. Update prototypes.
4551 (struct lang_identifier): Update comments. Change fields to be
4552 struct c_binding *.
4553 (IDENTIFIER_SYMBOL_VALUE, IDENTIFIER_TAG_VALUE)
4554 (IDENTIFIER_LABEL_VALUE, C_DECL_INVISIBLE)
4555 (KEEP_NO, KEEP_YES, KEEP_MAYBE): Delete.
4556 (C_DECL_IN_EXTERNAL_SCOPE, C_DECL_DECLARED_BUILTIN): New.
4557 * c-common.h: Update prototypes.
4558 * c-decl.c (struct c_scope): Update commentary. Remove names,
4559 names_last, parms, parms_last, tags, and shadowed fields. Add
4560 bindings and depth fields.
4561 (scope_freelist): Move to more appropriate location.
4562 (c_print_identifier): Update for changes to struct lang_identifier.
4563 (objc_mark_locals_volatile): Update for new bindings structures.
4564 (global_bindings_p): Honor c_override_global_bindings_to_false.
4565 (pushlevel): Rename to push_scope; take no arguments; use the
4566 scope_freelist; initialize scope->depth and check for overflow.
4567 (poplevel): Rename to pop_scope; totally rewritten for new bindings
4568 structures.
4569 (diagnose_mismatched_decls): Use C_DECL_DECLARED_BUILTIN, not
4570 C_DECL_INVISIBLE, for certain decisions. Adjust some diagnostics.
4571 Improve some commentary. Adjust handling of forward parm decls.
4572 (merge_decls): Set C_DECL_DECLARED_BUILTIN when appropriate.
4573 Preserve C_DECL_IN_EXTERNAL_SCOPE.
4574 (warn_if_shadowing): Correct indentation. Improve diagnostics.
4575 (pushdecl): Remove unnecessary assertion. Short-circuit anonymous
4576 decls. Rewrite for new bindings structures. Improve commentary.
4577 Eliminate the copy_node call.
4578 (implicit_decl_warning): Use the "diag" idiom (as seen in
4579 locate_old_decl) to reduce code duplication; call locate_old_decl
4580 if appropriate. Relocate to remove need for forward declaration.
4581 (implicitly_declare): Adjust for new bindings structures. Kludge
4582 around Objective-C not-really-builtin functions.
4583 (undeclared_variable): Improve diagnostics. If current_function_decl
4584 is nonnull but current_function_scope is null, use current_scope.
4585 Use bind.
4586 (lookup_tag): Adjust for new bindings structures. Kludge around
4587 Objective-C's tag declarations that wind up in the external scope.
4588 (lookup_name): Adjust for new bindings structures. Kludge around
4589 c-common.c's pseudo-typedefs that wind up in the external scope.
4590 (lookup_name_current_level): Rename lookup_name_in_scope; take a
4591 second argument indicating the scope to examine; rewrite for
4592 new bindings structures.
4593 (c_init_decl_processing): Adjust for renamed functions. Do not
4594 initialize current_file_decl, first_builtin_decl, last_builtin_decl.
4595 First scope pushed is the external scope, not the global scope.
4596 (builtin_function): Use bind, not pushdecl. Adjust other bits
4597 for new data structures. Keep track of builtins that should be
4598 made visible automatically.
4599 (start_decl): Adjust diagnostics. Remove unnecessary call to
4600 expand_decl.
4601 (grokparms): Return 0 if arg_types is error_mark_node.
4602 (get_parm_info): Rename "void_at_end" argument to "ellipsis", with
4603 reversed sense. Rewrite for new bindings structures. Do not
4604 leave any decls in the scope, to prevent pop_scope from doing
4605 contradictory things with them.
4606 (finish_struct, finish_enum): Remove redundant diagnostics.
4607 (build_enumerator): Don't cascade diagnostics for error_mark_node.
4608 Mark location where -pedantic changes the meaning of the program.
4609 (store_parm_decls_newstyle, store_parm_decls_oldstyle): Load the
4610 parameter decls into the function's scope structure using bind.
4611 Warn here about function definitions in the wrong style.
4612 Adjust diagnostics.
4613 (store_parm_decls): Correct the determination of whether a
4614 function was defined with a prototype.
4615 (c_write_global_declarations): Operate on all file decls and on
4616 the external scope. Split body of the loop to...
4617 (c_write_global_declarations_1): ... this new function, to avoid
4618 code duplication.
4619 (truly_local_externals, first_builtin_decl, last_builtin_decl)
4620 (make_scope, pop_scope, in_parm_level_p, set_block)
4621 (any_external_decl, record_external_decl, bind_label, getdecls)
4622 (link_hash_hash, link_hash_eq, merge_translation_unit_decls)
4623 (c_reset_state): Delete.
4624 (visible_builtins, c_override_global_bindings_to_false)
4625 (c_binding, I_SYMBOL_BINDING, I_SYMBOL_DECL, I_TAG_BINDING)
4626 (I_TAG_DECL, I_LABEL_BINDING, I_LABEL_DECL, file_scope)
4627 (external_scope, binding_freelist, bind, free_binding_and_advance)
4628 (push_file_scope, pop_file_scope): New.
4629 (pushtag, pushdecl_top_level, lookup_label, declare_label)
4630 (define_label, c_make_fname_decl, finish_decl)
4631 (mark_forward_parm_decls, build_compound_literal)
4632 (grokdeclarator, start_function, check_for_loop_decls)
4633 (identifier_global_value, record_builtin_type): Minor adjustments
4634 for new bindings structures. Improve diagnostics and commentary.
4635 * c-objc-common.c (start_cdtor, finish_cdtor): Adjust calls to
4636 pushlevel/poplevel respectively.
4637 (c_objc_common_finish_file): Don't call merge_translation_unit_decls.
4638 * c-opts.c (c_common_parse_file): Remove spurious ATTRIBUTE_UNUSED.
4639 Warn about YYDEBUG not being defined only if -dy. Remove no-longer-
4640 correct loop over multiple translation units; call fatal_error if
4641 requested to compile more than one file at once. (This disables
4642 IMA temporarily - an up-front error being preferable to a crash.)
4643 * c-parse.in (pushlevel, poplevel rules): Rename push_scope, pop_scope.
4644 (all actions): Adjust calls to pushlevel/poplevel.
4645 (parsing_iso_function_signature): Delete.
4646 (extdef_1): Fold into extdef.
4647 (old_style_parm_decls_1): Fold into old_style_parm_decls. Don't
4648 warn here about function definitions in the wrong style.
4649 (after_tyle_declarator, parm_declarator_starttypename)
4650 (parm_declarator_nostarttypename, notype_declarator): Remove
4651 commented-out productions.
4652 (parmlist_1, parmlist_2): Use make_node, not tree_cons, to create
4653 an empty TREE_LIST node. Adjust calls to get_parm_info.
4654 (parmlist_2 : ELLIPSIS): Tag the arg-info block with error_mark_node
4655 to suppress -Wold-style-definition after this error.
4656 (c_parse_file): Don't clear the binding stack or call
4657 finish_fname_decls here. Correct comment.
4658 * c-typeck.c (same_translation_unit_p): Export.
4659 (common_type): Use c_override_global_bindings_to_false, not
4660 pushlevel/poplevel/declare_parm_level.
4661 * c-lang.c: Override LANG_HOOKS_CLEAR_BINDING_STACK,
4662 LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK,
4663 and LANG_HOOKS_GETDECLS with do-nothing stubs.
4664 * objc/objc-lang.c: Likewise.
4665 * objc/objc-act.c: Adjust all calls to pushlevel, poplevel,
4666 get_parm_info.
4667 (OBJC_VOID_AT_END): Delete; replace all uses
4668 with void_list_node.
4669 (generate_forward_declaration_to_string_table): Delete.
4670 * objc/objc-act.h (OCTI_STRG_DECL, UOBJC_STRINGS_decl): Delete.
4671
4672 * coverage.c (create_coverage): Don't pushdecl anything.
4673 * langhooks.c (lhd_clear_binding_stack): Call
4674 lang_hooks.decls.poplevel, not poplevel.
4675 * tree.c (list_length): If ENABLE_TREE_CHECKING, abort on a
4676 circular list rather than going into an infinite loop.
4677
0c0ab0f1
OH
46782004-03-23 Olivier Hainque <hainque@act-europe.fr>
4679
f75fbaf7
ZW
4680 * optabs.c (expand_binop): When synthesizing double word rotates
4681 from single word shifts, use a new register target if the provided
4682 target is not a REG already.
0c0ab0f1 4683
22421b79
RK
46842004-03-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4685
4686 * alias.c (get_alias_set): Add support for TYPE_REF_CAN_ALIAS_ALL.
4687 * c-common.c (handle_mode_attribute): Add extra arg to
4688 build_pointer_type_for_mode and build_reference_type_for_mode.
4689 * c-typeck.c (build_c_cast): Only look at TREE_CONSTANT_OVERFLOW
4690 for INTEGER_CST.
4691 * tree.c (build_pointer_type_for_mode): Add arg CAN_ALIAS_ALL.
4692 Chain pointers via TYPE_NEXT_PTR_TO.
4693 (build_reference_type_for_mode): Similarly.
4694 (build_type_no_quals): Add extra arg to build_pointer_type_for_mode
4695 and build_reference_type_for_mode.
4696 (tree_check4_failed): New function.
4697 * tree.h (TREE_CHECK4, PTR_OR_REF_CHECK): New macros.
4698 (TYPE_REF_CAN_ALIAS_ALL, TYPE_NEXT_PTR_TO, TYPE_NEXT_REF_TO): Likewise.
4699 (TREE_NO_UNSUED_WARNING, TREE_VIA_VIRTUAL, TREE_CONSTANT_OVERFLOW):
4700 Add check.
4701
b1500d00
RS
47022004-03-23 Roger Sayle <roger@eyesopen.com>
4703
4704 * fold-const.c (tree_expr_nonnegative_p): A&B is nonnegative when
4705 A is nonnegative or B is nonnegative. Similarly A|B is nonnegative
4706 when both A and B are nonnegative.
4707 (tree_expr_nonzero_p): A|B is nonzero when A is nonzero or B is
4708 nonzero.
4709
73b91357
KH
47102004-03-23 Kazu Hirata <kazu@cs.umass.edu>
4711
4712 * fold-const.c (fold): Remove cases for INTEGER_CST, REAL_CST,
4713 VECTOR_CST, STRING_CST, COMPLEX_CST, and CONSTRUCTOR.
4714
bb3a37ac
RS
47152004-03-23 Kazu Hirata <kazu@cs.umass.edu>
4716
4717 PR optimization/14669
4718 * fold-const.c (fold): Only unwiden integer comparisons for equality
4719 and inequality operators, or when the signedness doesn't change.
4720
f2c79f80
JJ
47212004-03-23 Jakub Jelinek <jakub@redhat.com>
4722
4723 * config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file.
4724 * config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Set.
4725 * config/sparc/t-linux: New file.
4726
1707bafa
RS
47272004-03-23 Richard Sandiford <rsandifo@redhat.com>
4728
4729 * gcse.c (can_assign_to_reg_p): New function, split out from...
4730 (want_to_gcse_p): ...here.
4731 (compute_ld_motion_mems): Use can_assign_to_reg_p to validate
4732 the rhs of a store.
4733
63185fab
DN
47342004-03-22 Diego Novillo <dnovillo@redhat.com>
4735
4736 * c-typeck.c (same_translation_unit_p): Fix pasto.
4737
f72c6b56
DE
47382004-03-22 David Edelsohn <edelsohn@gnu.org>
4739
4740 * params.def (PARAM_MAX_SCHED_REGION_BLOCKS): New.
4741 (PARAM_MAX_SCHED_REGION_INSNS): New.
4742 * sched-rgn.c: Include params.h
4743 (MAX_RGN_BLOCKS): Delete.
4744 (MAX_RGN_INSNS): Delete.
4745 (too_large): Return bool. Convert to PARAM_VALUE.
0483ab6e 4746 * Makefile.in (sched-rgn.o): Depend on $(PARAMS_H).
f72c6b56
DE
4747 * doc/invoke.texi (param): Document max-sched-region-blocks and
4748 max-sched-region-insns.
4749
d6672e91
JB
47502004-03-22 Joel Brobecker <brobecker@gnat.com>
4751
4752 * dwarf2out.c (is_subrange_type): Do not emit a subrange_type DIE
4753 for base types.
4754
886de2d4
JB
47552004-03-22 Joel Brobecker <brobecker@gnat.com>
4756
4757 * dwarf2out.c (is_subrange_type): Minor code rework. No behavior
4758 change.
4759
d915eec0
JJ
47602004-03-22 Jakub Jelinek <jakub@redhat.com>
4761
4762 PR c/14069
4763 * c-decl.c (finish_struct): Change type of incorrect flexible array
4764 field into error_mark_node.
4765
aa6d25c9
AP
47662004-03-22 Andrew Pinski <pinskia@physics.uc.edu>
4767
19a03303 4768 PR target/14580
aa6d25c9
AP
4769 * config/rs6000/rs6000.c (symbol_ref_operand): Reject symbols
4770 who are not local for Darwin PIC.
4771
ead61c1d
UW
47722004-03-22 Ulrich Weigand <uweigand@de.ibm.com>
4773
4774 * regrename.c (regrename_optimize): Set regs_ever_live for all
4775 registers introduced as replacement.
4776
1bbd65cd
EB
47772004-03-22 Eric Botcazou <ebotcazou@libertysurf.fr>
4778
4779 PR middle-end/14470
4780 * expr.c (mark_queue): New function.
4781 (emit_insns_enqueued_after_mark): New function replacing
4782 emit_queue. Clear the body of emitted queued insns.
4783 (emit_queue): Call emit_insns_enqueued_after_mark.
4784 (store_expr): Mark the increment queue on entry. Emit
4785 only the incrementations queued when expanding the source.
4786
6dd297da
NN
47872004-03-22 Nathanael Nerode <neroden@gcc.gnu.org>
4788
4789 * configure.ac: Allow --disable-coverage-flags (for the future benefit
4790 of top level bootstrap, and consistency). Reindent.
4791 * configure: Regenerate.
4792
400e39e3
KH
47932004-03-21 Kazu Hirata <kazu@cs.umass.edu>
4794
4795 * bt-load.c, builtins.c, cfghooks.c, cfgrtl.c, gcse.c,
4796 ggc-page.c, integrate.c, var-tracking.c, web.c: Remove
4797 unnecessary casts.
4798
bd8ec6a7
DS
47992004-03-22 Danny Smith <dannysmith@users.sourceforge.net>
4800
4801 PR target/14291
4802 * gcov-io.h (gcov_truncate): Define ftruncate as _chsize for
4803 __MINGW32__.
4804
bd446804
UW
48052004-03-21 Ulrich Weigand <uweigand@de.ibm.com>
4806
4807 * config/s390/s390.md ("*doloop_si"): Change predicate for operand 2
4808 to nonimmediate_operand.
4809 ("*doloop_di"): Likewise.
4810
1e92bbb9
AO
48112004-03-21 Alexandre Oliva <aoliva@redhat.com>
4812
4813 * real.h (struct real_value): Use the same type for all
4814 bitfields. Rename exp to uexp.
4815 (REAL_EXP, SET_REAL_EXP): New accessor macros for uexp.
4816 Adjust all uses of exp...
4817 * builtins.c: ... here, ...
4818 * emit-rtl.c: ... here, and ...
4819 * real.c: ... and here.
4820
b9b44fb9
GDR
48212004-03-21 Gabriel Dos Reis <gdr@integrable-solutions.net>
4822
4823 * pretty-print.c (pp_base_maybe_space): New function.
4824 * pretty-print.h (pp_base_maybe_space): Declare.
4825 (pp_maybe_space): New macro.
4826
1c7b1b7e
UW
48272004-03-21 Ulrich Weigand <uweigand@de.ibm.com>
4828
4829 * config/s390/s390.md ("addti3", "subti3"): New insns and splitters.
4830
f258e38b
UW
48312004-03-21 Ulrich Weigand <uweigand@de.ibm.com>
4832
4833 * expmed.c (choose_mult_variant): Pass MULT_COST as argument instead
4834 of using register multiplication cost.
4835 (expand_mult): Adapt choose_mult_variant call.
4836 (expand_mult_highpart): Call choose_mult_variant with WIDER_MODE
4837 of MODE; pass appropriate cost bound. Adjust result when
4838 performing signed multiplication by a negative constant.
4839 Don't use intermediate modes larger than word_mode.
4840
6fce44af
RK
48412004-03-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4842
4843 * alias.c (get_alias_set): Remove handling of PLACEHOLDER_EXPR.
4844 * emit-rtl.c (component_ref_for_mem_expr): Likewise.
4845 (set_mem_attributes_minus_bitpos): Call SUBSTITUTE_PLACEHOLDER_IN_EXPR.
4846 * explow.c (expr_size): Likewise.
4847 * expr.h (placeholder_list, find_placeholder): Deleted.
4848 * expr.c (store_constructor): Likewise.
4849 (get_inner_reference): Likewise. Also don't call find_placeholder.
4850 (placeholder_list, find_placeholder): Deleted.
4851 (is_aligning_offset): Don't handle WITH_RECORD_EXPR, PLACEHOLDER_EXPR.
4852 (expand_expr_real, cases PLACEHOLDER_EXPR, WITH_RECORD_EXPR): Likewise.
4853 (highest_pow2_factor, case WITH_RECORD_EXPR): Remove.
4854 * dojump.c (do_jump, case WITH_RECORD_EXPR): Likewise.
4855 * dwarf2out.c (loc_descriptor_from_tree, case WITH_RECORD_EXPR):
4856 Likewise.
4857 * fold-const.c (invert_truthvalue, case WITH_RECORD_EXPR): Likewise.
4858 (extract_muldiv, case WITH_RECORD_EXPR): Likewise.
4859 * tree.c (expr_align, case WITH_RECORD_EXPR): Likewise.
4860 (contains_placeholder_p): Don't handle WITH_RECORD_EXPR.
4861 Clean up by using first_rtl_op.
4862 (substitute_in_expr): Use SUBSTITUTE_IN_EXPR for recursive call.
4863 (substitute_placeholder_in_expr): New function.
4864 * tree.def (WITH_RECORD_EXPR): Deleted.
4865 * tree.h (SUBSTITUTE_IN_EXPR, SUBSTITUTE_PLACEHOLDER_IN_EXPR): New.
4866 (substitute_placeholder_in_expr): New.
4867
0f005f33
AP
48682004-03-21 Andrew Pinski <pinskia@gcc.gnu.org>
4869
4870 * dojump.c (prefer_and_bit_test): Fix which part of
4871 the and_test is replaced.
4872
f80352b8
JM
48732004-03-21 Joseph S. Myers <jsm@polyomino.org.uk>
4874
4875 * frontends.texi: Add missing line.
4876
6ad79f18 48772004-03-21 Zack Weinberg <zack@codesourcery.com>
f75fbaf7
ZW
4878 Chris Devers <cdevers@pobox.com>
4879 Joseph S. Myers <jsm@polyomino.org.uk>
6ad79f18
JM
4880
4881 * doc/frontends.texi: Rewrite.
4882 * doc/gcc.texi: Update last modification date.
4883
eabd7d31
JZ
48842004-03-21 Josef Zlomek <zlomekj@suse.cz>
4885
4886 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Print the debug
4887 message before redirecting the edge.
4888
f8ad8d7c
ZD
48892004-03-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4890
4891 * emit-rtl.c (set_mem_attributes_minus_bitpos): Set MEM_POINTER
4892 flag.
4893 * explow.c (force_not_mem): Set REG_POINTER flag according to
4894 MEM_POINTER one.
4895 * rtl.h (MEM_POINTER): New macro.
4896 (struct rtx_def): Use integrated for MEM_SCALAR_P and frame_related
4897 for MEM_POINTER.
4898
8cce3d04
RS
48992004-03-20 Roger Sayle <roger@eyesopen.com>
4900
4901 PR target/13889
4902 * cse.c (fold_rtx): Avoid substituting constants into unary
687c3ea5 4903 conversion operations.
8cce3d04 4904
05fe5c67
KH
49052004-03-20 Kazu Hirata <kazu@cs.umass.edu>
4906
4907 * fold-const.c (fold): Replace "expr" with "t".
4908
dea984dc
ILT
49092004-03-20 Ian Lance Taylor <ian@wasabisystems.com>
4910
4911 PR c/12373
4912 * c-typeck.c (tagged_types_tu_compatible_p): Don't use
4913 DECL_ORIGINAL_TYPE if there isn't one.
4914
079f946d
KH
49152004-03-20 Kazu Hirata <kazu@cs.umass.edu>
4916
4917 * fold-const.c (fold): Replace "final_type" with "type".
4918 Remove variable "final_type".
4919
8d3784af
KH
49202004-03-20 Kazu Hirata <kazu@cs.umass.edu>
4921
4922 * fold-const.c (fold): Constify "type".
4923 Replace "TREE_TYPE (t)" with "type".
4924
245f1bfa
KH
49252004-03-20 Kazu Hirata <kazu@cs.umass.edu>
4926
4927 * bb-reorder.c, bt-load.c, c-decl.c, cfgcleanup.c, coverage.c,
4928 dwarf2asm.c, ifcvt.c, stor-layout.c, varasm.c: Replace calls
4929 via (*targetm.foo) () with targetm.foo ().
4930
802f6d4b
JM
49312004-03-20 Joseph S. Myers <jsm@polyomino.org.uk>
4932
4933 PR other/14630
4934 * doc/install.texi: Add info directory category and entry.
4935
ea993805
KH
49362004-03-20 Kazu Hirata <kazu@cs.umass.edu>
4937
4938 * fold-const.c (fold): Replace "t" with "tem" where it is used
4939 as a temporary variable. Remove "orig_t" and all of its uses.
4940
8e7b3a43
KH
49412004-03-20 Kazu Hirata <kazu@cs.umass.edu>
4942
4943 * fold-const.c (fold): Remove variable "invert".
4944 Move the handling of relational expressions that can be folded
4945 to a constant ...
4946 (fold_relational_const): ... here.
4947 (tree_expr_nonzero_p): New.
4948
b1c2d04a
JM
49492004-03-20 Joseph S. Myers <jsm@polyomino.org.uk>
4950
4951 PR c/14635
4952 * builtins.def (nan, nanf, nanl, nans, nansf, nansl): Change to
4953 DEF_GCC_BUILTIN.
4954
dbf833ee
RS
49552004-03-20 Richard Sandiford <rsandifo@redhat.com>
4956
4957 * Makefile.in (dojump.o): Depend on $(GGC_H) and dojump.h.
4958 (GTFILES): Add $(srcdir)/dojump.h.
4959 (gt-dojump.h): New dependency.
4960 * dojump.c (and_reg, and_test, shift_test): New static variables.
4961 (prefer_and_bit_test): New function.
4962 (do_jump): Use it to choose between (X & (1 << C)) and (X >> C) & 1.
4963
d1a6adeb
KH
49642004-03-20 Kazu Hirata <kazu@cs.umass.edu>
4965
4966 * c-common.c, cfgcleanup.c, cgraphunit.c, c-pretty-print.c,
4967 expmed.c, ggc-common.c, jump.c, passes.c, recog.c, regmove.c,
4968 reorg.c, tree.h: Fix comment typos.
4969
5fd9b178
KH
49702004-03-19 Kazu Hirata <kazu@cs.umass.edu>
4971
4972 * alias.c, attribs.c, bt-load.c, builtins.c, c-common.c,
4973 c-decl.c, c-objc-common.c, c-typeck.c, calls.c, cfglayout.c,
4974 cse.c, dbxout.c, dwarf2out.c, except.c, final.c,
4975 haifa-sched.c, integrate.c, passes.c, rtlanal.c, sched-rgn.c,
4976 sched-vis.c, simplify-rtx.c, stor-layout.c, tree.c, varasm.c,
4977 vmsdbgout.c: Replace calls via (*targetm.foo) () with
4978 targetm.foo ().
4979
86e7df90
ZL
49802004-03-19 Ziemowit Laski <zlaski@apple.com>
4981
4982 * config/rs6000/altivec.h (vec_dst, vec_dstst, vec_dststt,
4983 vec_dstt, vec_sld, vec_splat): Add prototypes, marked with
4984 always_inline attribute.
4985 * config/rs6000/rs6000.c (altivec_expand_dst_builtin):
4986 Treat expansion as completed even if literal argument is
4987 invalid (so that other expansions are not tried in vain).
4988
147d77b6
KH
49892004-03-19 Kazu Hirata <kazu@cs.umass.edu>
4990
4991 * loop-doloop.c (add_test): Replace GEN_INT (0) with
4992 const0_rtx.
4993
73c4ab99
KH
49942004-03-19 Kazu Hirata <kazu@cs.umass.edu>
4995
4996 * fold-const.c (fold) <ABS_EXPR>: Move the handling of constants
4997 ...
4998 (fold_abs_const): ... here.
4999
a6002f8d
RK
50002004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5001
5002 * tree.h (TYPE_ARRAY_MAX_SIZE): Use type.maxval directly.
5003
829bde68
DC
50042004-03-19 Denis Chertykov <denisc@overta.ru>
5005
d0aa5f10 5006 PR target/11520
829bde68
DC
5007 * config/avr/avr.md ("call_insn"): Handle explicit integer
5008 specially.
5009 (call_value_insn): Likewise.
5010
9d2a492d
RK
50112004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5012
5013 * tree.c (substitute_in_expr): Rewrite to simplify and be more generic.
5014
33d13fac
KH
50152004-03-19 Kazu Hirata <kazu@cs.umass.edu>
5016
5017 * fold-const.c (negate_expr): Move the handling of constants
5018 ...
5019 (fold_negate_const): ... here.
5020
7548281d
RK
50212004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5022
5023 * langhooks-def.h (LANG_HOOKS_HASH_TYPES): New macro and hook.
5024 * langhooks.h (struct lang_hooks_for_types): New field hash_types.
5025 * tree.c (debug_no_type_hash): Deleted.
5026 (type_hash_canon): Abort if passed a variant.
5027 Check lang_hooks.types.hash_types.
5028 (build_type_no_quals): Copy mode of POINTER_TYPE and REFERENCE_TYPE.
5029 (build_array_type): Remove unnecessary allocation of pointer type.
5030 (build_complex_type): Properly qualify resulting type.
5031
7e463bda
PB
50322004-03-19 Paolo Bonzini <bonzini@gnu.org>
5033
5034 * config/rs6000/rs6000.c (rs6000_init_builtins): Fix typo.
5035
8efc8980
RS
50362004-03-19 Richard Sandiford <rsandifo@redhat.com>
5037
5038 * expmed.c (choose_mult_variant, expand_mult_const): New, split from...
5039 (expand_mult): ...here.
5040 (extract_high_half): New, split out from expand_mult_highpart.
5041 (expand_highpart_optab): Likewise. Don't clobber target prematurely.
5042 (expand_highpart): Evaluate the cost of a shift/add sequence,
5043 then see if any of the specialized optabs are cheaper.
5044
ff3fcb8a
ILT
50452004-03-18 Ian Lance Taylor <ian@wasabisystems.com>
5046
5047 * mklibgcc.in: Remove obsolete MAYBE_USE_COLLECT2.
5048
1fb7e3af
KG
50492004-03-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5050
5051 * convert.c (convert_to_real): Add more math builtins.
5052
b3810360
KG
50532004-03-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5054
5055 * convert.c (convert_to_real): Reformat using switch stmt.
5056
9d363a56
MM
50572004-03-18 Mark Mitchell <mark@codesourcery.com>
5058
5059 * c-common.c (pointer_int_sum): Do not complain about using
5060 pointers to pointers-to-members.
5061
c3690d79
KH
50622004-03-18 Kazu Hirata <kazu@cs.umass.edu>
5063
5064 * system.h (MD_ASM_CLOBBERS): Move to "Old target macros that
5065 have moved to the target hooks structure".
5066
c3840092
JW
50672004-03-18 James E Wilson <wilson@specifixinc.com>
5068
5069 * config/mips/mips.md (type): Split move into arith and fmove. Split
5070 hilo into mthilo and mfhilo. Add trap. Delete icmp. Fix all uses.
5071 * config/mips/5400.md (ir_vr54_hilo, ir_vr54_arith, ir_vr54_fabs):
5072 Likewise.
5073 * config/mips/5500.md (ir_vr55_hilo, ir_vr55_arith, ir_vr55_fabs):
5074 Likewise.
5075 * config/mips/7000.md (rm7_int_other, rm7_mthilo, rm7_mfhilo,
5076 rm7_fp_quick): Likewise.
5077 * config/mips/9000.md (rm9k_int, rm9k_mfhilo, rm9k_mthilo,
5078 rm9k_fquick): Likewise.
5079 * config/mips/sr71k.md (ir_sr70_hilo, ir_sr70_arith, ir_sr70_fabs):
5080 Likewise.
5081 (ir_sr70_icmp): Delete.
5082
eb34af89 50832004-03-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
f75fbaf7 5084
eb34af89
RK
5085 * tree.h (TREE_CHECK2, TREE_CHECK3, TREE_CHECK5): New macros.
5086 (tree_check2_failed, tree_check3_failed, tree_check5_failed): New decl.
5087 (FUNC_OR_METHOD_CHECK, SET_ARRAY_OR_VECTOR_CHECK): New macros.
5088 (REC_OR_UNION_CHECK, NUMERICAL_TYPE_CHECK): Likewise.
5089 (TYPE_VALUES, TYPE_DOMAIN, TYPE_FIELDS, TYPE_METHODS, TYPE_VFIELD):
5090 Protect with proper check.
5091 (TYPE_ARG_TYPES, TYPE_METHOD_BASETYPE, TYPE_OFFSET_BASETYPE): Likewise.
5092 (TYPE_MIN_VALUE, TYPE_MAX_VALUE): Likewise.
5093 * tree.c (type_hash_eq): Rewrite to access proper fields for each type.
5094 (tree_check2_failed, tree_check3_failed, tree_check5_failed): New.
5095 * c-typeck.c (build_array_ref): Use TYPE_DOMAIN, not TYPE_VALUES.
5096 * dwarf2out.c (gen_enumeration_type_die): Use TYPE_VALUES,
5097 not TYPE_FIELDS.
d3b6a5fb 5098 * stor-layout.c (set_sizetype): Use TYPE_ORIG_SIZE_TYPE.
eb34af89 5099
2171cb85
MH
51002004-03-18 Mostafa Hagog <mustafa@il.ibm.com>
5101
5102 * gcse.c (eliminate_partially_redundant_loads): Reject change if
5103 dest is set between beginning and current insn.
5104
4ada538b
MM
51052004-03-18 Mark Mitchell <mark@codesourcery.com>
5106
5107 * c-decl.c (grokdeclarator): Do not complain about redeclaring
5108 visible "static" identifiers "extern" in a local scope.
5109 * dwarf2out.c (loc_descriptor_from_tree): Handle pre- and
5110 post-increments/decrements.
5111
79e9ebdc
BW
51122004-03-18 Bob Wilson <bob.wilson@acm.org>
5113
5114 * config/xtensa/xtensa.c (current_function_arg_words): Delete.
5115 (xtensa_builtin_saveregs): Use current_function_args_info.arg_words.
5116 (xtensa_va_start): Remove assignment to current_function_arg_words.
5117
5da6f168
RS
51182004-03-18 Richard Sandiford <rsandifo@redhat.com>
5119
5120 * alias.c (record_set): Detect the case where a register is assigned
5121 a new value that has the same base term as the old one.
5122
689ba89d
ZD
51232004-03-18 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5124
5125 * doloop.c: Removed.
5126 * loop-doloop.c: New file.
5127 * Makefile.in (doloop.o): Remove.
5128 (loop-doloop.o): New.
5129 * cfgloop.h (get_loop_level, doloop_optimize_loops): Declare.
5130 * cfgloopanal.c (get_loop_level): New function.
5131 * loop-iv.c (iv_number_of_iterations): Handle case when loop
5132 is leaved immediatelly.
5133 * loop.c (strength_reduce): Do not call doloop optimization.
5134 * loop.h (LOOP_BCT): Removed.
5135 * passes.c (rest_of_handle_loop_optimize): Do not use LOOP_BCT.
5136 (rest_of_handle_loop2): Call doloop_optimize_loops.
5137 (rest_of_compilation): Test for optimizations moved to
5138 rest_of_handle_loop2.
5139
327e5343
FJ
51402004-03-17 Fariborz Jahanian <fjahanian@apple.com>
5141
f75fbaf7
ZW
5142 * config/rs6000/rs6000.c (rs6000_stack_info): correct reg_size
5143 for mixed mode.
5144 (rs6000_emit_prologue): Ditto.
5145 (rs6000_emit_epilogue): Ditto.
5146 * config/rs6000/rs6000.h: Definition of DWARF_CIE_DATA_ALIGNMENT
5147 macro for mixed mode.
327e5343 5148
214ee4a2
JH
51492004-03-18 Jan Hubicka <jh@suse.cz>
5150
5151 * predict.c (propagate_freq): Compute correctly frequency of
5152 EXIT_BLOCK.
5153
33521f7d
EC
51542004-03-17 Eric Christopher <echristo@redhat.com>
5155
5156 * builtins.c (apply_args_size): Use reg_raw_mode.
5157 (apply_result_size): Ditto.
5158
d3daf7bb
RC
51592004-03-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
5160
5161 PR target/14620
5162 * config/rtems.h: Add STD_LIB_SPEC and LIB_SPEC.
5163
bb6df272
JJ
51642004-03-17 Jakub Jelinek <jakub@redhat.com>
5165
5166 * config/rs6000/t-linux64 (bispecs): Don't add -mlong-double-128 for
5167 32-bit builds when defaulting to 32-bit.
5168
7eca0767
JH
51692004-03-17 Jan Hubicka <jh@suse.cz>
5170
5171 * cfgrtl.c (rtl_create_basic_block): Pre-allocate basic_block_info
5172 array.
5173
3a3ae5e5
JW
51742004-03-17 James E Wilson <wilson@specifixinc.com>
5175
5176 * config/mips/mips.md (zero_extendsidi2): Add length attribute.
5177 (hazard_nop): Change type to nop.
5178 (type): Split arith into arith, shift, slt, clz. Delete darith.
5179 Fix all uses. Change arith to multi if more than one insn emitted.
5180 * config/mips/5400.md (ir_vr54_arith): Likewise.
5181 * config/mips/5500.md (ir_vr55_arith): Likewise.
5182 * config/mips/7000.md (rm7_int_other): Likewise.
5183 * config/mips/9000.md (rm9k_int): Likewise.
5184 * config/mips/sr71k.md (ir_sr70_arith): Likewise.
5185
6582c808
JB
51862004-03-17 Joel Brobecker <brobecker@gnat.com>
5187
5188 * dwarf2out.c (subrange_type_die): Define new variable "subtype"
5189 to hold the subtype tree instead of recomputing it several times.
5190
7ae4afcb
KH
51912004-03-17 Kazu Hirata <kazu@cs.umass.edu>
5192
5193 * config/mn10300/mn10300.c (notice_update_cc): Don't handle
5194 CC_INVERT.
5195 * config/mn10300/mn10300.md (cc): Remove "invert".
5196
b57051b2
KG
51972004-03-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5198
d093738d
KG
5199 * builtins.c (integer_valued_real_p): Add builtin rint.
5200 (fold_builtin): Likewise.
5201 * convert.c (convert_to_real): Likewise.
5202
b57051b2
KG
5203 * convert.c (convert_to_real): Fix typos in `long double'
5204 builtins.
5205
88020bd8
MM
52062004-03-16 Mark Mitchell <mark@codesourcery.com>
5207
5208 PR c++/14481
5209 * fold-const.c (fold): Set TREE_NO_UNUSED_WARNING on implicitly
5210 generated COMPOUND_EXPRs.
5211
bf3864fe
RC
52122004-03-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
5213
5214 * config/h8300/t-rtems (h8300-*-rtems*): New.
5215
bc4c01b7
EC
52162004-03-16 Eric Christopher <echristo@redhat.com>
5217
5218 * doc/cppopts.texi(fwide-exec-charset): Fix typo.
5219
3c5cb3e4
KH
52202004-03-16 Kazu Hirata <kazu@cs.umass.edu>
5221
5222 * config/i386/i386-protos.h: Add a prototype for
5223 ix86_reverse_condition.
5224 * config/i386/i386.c (ix86_reverse_condition): New.
5225 * config/i386/i386.h (REVERSE_CONDITION): Use
5226 ix86_reverse_condition.
5227 * config/i386/i386.md: Use ix86_reverse_condition instead of
5228 REVERSE_CONDITION.
5229
fd5580cb
B
52302004-03-16 J. Brobecker <brobecker@gnat.com>
5231
5232 * dwarf2out.c (loc_descriptor_from_tree): Add handling for MIN_EXPR.
5233
78fab00f
NN
52342004-03-16 Nathanael Nerode <neroden@gcc.gnu.org>
5235
5236 PR bootstrap/12974
5237 * Makefile.in: Pass $(INCLUDES) down to libgcc.mk explicitly.
5238
4a5eab38
PB
52392004-03-16 Paolo Bonzini <bonzini@gnu.org>
5240
5241 * c-common.c (c_common_type_for_mode): Build vector types on
5242 demand.
5243 (handle_mode_attribute): Deprecate using the mode attribute
5244 to create vector types. Fix indentation.
5245 (vector_type_node_list): Remove.
5246 (handle_vector_size_attribute): Create vector types on demand.
5247 Strip a NON_LVALUE_EXPR from the attribute if there is one.
5248 * c-typeck.c (comptypes): Make vector types compatible if they
5249 have the same underlying mode.
5250 (convert_for_assignment): Use comptypes to convert between
5251 vector types.
5252 * tree.c (build_common_tree_nodes_2): Do not create vector types.
5253 * config/arm/arm.c (arm_init_iwmmxt_builtins): Create necessary
5254 vector types.
5255 * tree.h: Remove vector types.
5256 * config/i386/i386.c (i386_init_mmx_sse_builtins): Likewise.
5257 * config/rs6000/rs6000.c (rs6000_init_builtins): Likewise.
5258 (V16QI_type_node, V2SI_type_node, V2SF_type_node, V4HI_type_node,
5259 V4SI_type_node, V4SF_type_node, V8HI_type_node): New globals.
5260 * doc/extend.texi (Vector Types): Document how to use the
5261 vector_size attribute to create vectors, rather than mode.
5262
5263 * config/arm/mmintrin.h: Use vector_size attribute, not mode.
5264 * config/i386/emmintrin.h: Likewise.
5265 * config/i386/mmintrin.h: Likewise.
5266 * config/i386/xmmintrin.h: Likewise.
5267 * config/sh/ushmedia.h: Likewise.
5268
b862b3b3
KH
52692004-03-16 Kazu Hirata <kazu@cs.umass.edu>
5270
5271 * config/freebsd-spec.h, config/arc/arc-protos.h,
5272 config/arm/aout.h, config/arm/elf.h, config/arm/freebsd.h,
5273 config/arm/linux-gas.h, config/arm/semi.h,
5274 config/cris/cris-protos.h, config/i386/xm-djgpp.h,
5275 config/ia64/freebsd.h, config/mips/7000.md,
5276 config/mips/9000.md, config/ns32k/ns32k-protos.h,
5277 config/sparc/pbd.h: Update copyright.
5278
314733e2
RC
52792004-03-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
5280
5281 PR target/14577
5282 * config.gcc: Switch sh-*-rtems* to ELF. Add sh-*-rtemscoff.
5283
6621d78e
PB
52842004-03-16 Paolo Bonzini <bonzini@gnu.org>
5285
5286 * combine.c (combine_simplify_rtx): Remove the "last"
5287 parameter and its documentation. Adjust recursive calls.
5288 (simplify_logical): Always perform the only simplification
5289 controlled by "last", if the simplified expression is
5290 actually different.
5291 (try_combine): Do not pass the "last" parameter to
5292 combine_simplify_rtx.
5293
4e7edcca
RS
52942004-03-16 Richard Sandiford <rsandifo@redhat.com>
5295
5296 PR target/14599
5297 * config/mips/mips.md (UNSPEC_GP): New constant.
5298 * config/mips/mips.c (CONST_GP_P): Expect the CONST to contain
5299 an UNSPEC instead of (reg $gp).
5300 (mips16_gp_pseudo_reg): Change accordingly.
5301 (print_operand): Print $gp directly when handling CONST_GP_P.
5302
53032004-03-16 Richard Zidlicky <rz@linux-m68k.org>
3704aae9
RZ
5304
5305 * config.gcc, config/m68k/linux.h: Implement with-cpu for m68k-linux.
5306 * longlong.h: Make code 68060 clean when compiling for m68060.
5307
4e7edcca 53082004-03-16 Richard Zidlicky <rz@linux-m68k.org>
8ac658b6
RZ
5309
5310 * config/m68k/m68k.md: Fix constraints for bitfield instructions.
5311 * doc/md.texi: Clarify description of "i" constraint.
5312
1a478672
JW
53132004-03-15 James E Wilson <wilson@specifixinc.com>
5314
5315 * config/mips/mips.md (type): Split load into load, fpload, fpidxload.
5316 Split store into store, fpstore, fpidxstore. Fix all uses.
5317 * config/mips/5400.md (ir_vr54_load, ir_vr54_store, ir_vr54_fstore):
5318 Likewise.
5319 * config/mips/5500.md (ir_vr55_load, i5_vr55_store): Likewise.
5320 * config/mips/7000.md (rm7_ld, rm7_st): Likewise.
5321 * config/mips/9000.md (rm9k_load, rm9k_store): Likewise.
5322 * config/mips/sr71k.md (ir_sr70_load, ir_sr70_store, ir_sr70_fload,
5323 ir_sr70_fstore): Likewise.
5324
0977ab3a
RH
53252004-03-15 Richard Henderson <rth@redhat.com>
5326
5327 PR middle-end/14535
5328 * except.c (collect_one_action_chain): Record action for cleanup
5329 outer of exception spec.
5330
4e4083ad
ILT
53312004-03-15 Ian Lance Taylor <ian@wasabisystems.com>
5332
5333 * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
5334 Fix the check for abort and only do the mmap if we can.
5335
ed38d6fe
EB
53362004-03-15 Eric Botcazou <ebotcazou@act-europe.fr>
5337
5338 * config/sparc/sparc.h: Rework comments about the code model
5339 in 64-bit environment and the mode 'Pmode'.
5340 * doc/invoke.texi (SPARC options): Rework description of the
5341 different code models supported in 64-bit environment.
5342
1f8551b2
KH
53432004-03-15 Kazu Hirata <kazu@cs.umass.edu>
5344
5345 * defaults.h (REVERSIBLE_CC_MODE): Define.
5346 * jump.c (reversed_comparison_code_parts): Don't check if
5347 REVERSIBLE_CC_MODE is defined.
5348
ca2b05ba
KH
53492004-03-15 Kazu Hirata <kazu@cs.umass.edu>
5350
5351 * c-incpath.c, c-incpath.h, c-pch.c, c.opt, cppexp.c,
5352 et-forest.h, genattr.c, ggc-none.c, hosthooks-def.h,
5353 hosthooks.h, params.h, ra-colorize.c, web.c,
5354 config/darwin-c.c, config/alpha/freebsd.h, config/arm/pe.c,
5355 config/avr/avr-protos.h, config/avr/avr.md,
5356 config/fr30/fr30-protos.h, config/fr30/fr30.md,
5357 config/h8300/fixunssfsi.c, config/i386/darwin.h,
5358 config/i386/freebsd.h, config/i386/freebsd64.h,
5359 config/ia64/hpux.h, config/ia64/unwind-ia64.c,
5360 config/ip2k/libgcc.S, config/m32r/xm-m32r.h,
5361 config/mmix/mmix-modes.def, config/ns32k/netbsd.h,
5362 config/ns32k/ns32k.md, config/pa/pa64-hpux.h,
5363 config/pa/pa64-regs.h, config/rs6000/aix41.h,
5364 config/rs6000/aix43.h, config/rs6000/host-darwin.c,
5365 config/sparc/aout.h, config/sparc/freebsd.h,
5366 config/sparc/litecoff.h, config/vax/vax-protos.h,
5367 doc/hostconfig.texi, doc/include/gcc-common.texi: Update
5368 copyright.
5369
983e6484
PB
53702004-03-15 Paul Brook <paul@codesourcery.com>
5371
5372 * config/arm/arm.c (thumb_expand_prologue): Tie prologue insns to fp.
5373
5c3c69f4
GDR
53742004-03-15 Gabriel Dos Reis <gdr@integrable-solutions.net>
5375
5376 * c-pretty-print.c (pp_c_semicolon): Fix formatting.
5377 (pp_c_cv_qualifier): Document.
5378 (pp_c_space_for_pointer_operator): Likewise.
5379 (pp_c_integer_constant): Likewise.
5380 (pp_c_identifier): Likewise.
5381 (pp_c_init_declarator): Don't print function body.
5382
2dd76960
JM
53832004-03-14 Joseph S. Myers <jsm@polyomino.org.uk>
5384
5385 * doc/contrib.texi, doc/extend.texi, doc/gcov.texi,
5386 doc/install.texi, doc/invoke.texi, doc/makefile.texi,
5387 doc/sourcebuild.texi, doc/tm.texi, doc/trouble.texi: Capitalize
5388 "gcc", "g++" and "g77" or mark up with appropriate markup. Adjust
5389 wording and grammar.
5390
ae2bcd98
RS
53912004-03-14 Roger Sayle <roger@eyesopen.com>
5392
5393 * alias.c (get_alias_set): Replace calls via (*lang_hooks.foo) ()
5394 with lang_hooks.foo ().
5395 * builtins.c (expand_builtin_va_arg): Likewise.
5396 * c-common.c (fname_as_string, c_common_truthvalue_conversion,
5397 c_common_type_for_mode, c_common_nodes_and_builtins,
5398 handle_mode_attribute, handle_vector_size_attribute): Likewise.
5399 * c-convert.c (convert): Likewise.
5400 * c-format.c (check_format_types): Likewise.
5401 * c-objc-common.c (c_tree_printer): Likewise.
5402 * c-typeck.c (build_unary_op, build_conditional_expr,
5403 build_binary_op): Likewise.
5404 * calls.c (try_to_integrate, expand_call,
5405 emit_library_call_value_1): Likewise.
5406 * cgraph.c (cgraph_node_name, cgraph_function_possibly_inlined_p):
5407 Likewise.
5408 * cgraphunit.c (record_call_1, cgraph_analyze_function,
5409 cgraph_expand_function): Likewise.
5410 * convert.c (convert_to_pointer, convert_to_integer): Likewise.
5411 * coverage.c (build_fn_info_type, build_ctr_info_type,
5412 build_gcov_info, create_coverage): Likewise.
5413 * dbxout.c (dbxout_init): Likewise.
5414 * diagnostic.c (diagnostic_report_current_function): Likewise.
5415 * dojump.c (do_jump): Likewise.
5416 * dwarf2out.c (dwarf2_name): Likewise.
5417 * except.c (init_eh): Likewise.
5418 * explow.c (expr_size, int_expr_size): Likewise.
5419 * expmed.c (make_tree, const_mult_add_overflow_p, expand_mult_add):
5420 Likewise.
5421 * expr.c (store_expr, store_constructor, safe_from_p,
5422 expand_expr_real, do_store_flag, try_casesi): Likewise.
5423 * function.c (push_function_context_to, pop_function_context_from,
5424 free_after_parsing, assign_stack_local_1, assign_stack_temp_for_type,
5425 put_var_into_stack, allocate_struct_function, current_function_name):
5426 Likewise.
5427 * integrate.c (copy_decl_for_inlining, expand_inline_function):
5428 Likewise.
5429 * langhooks.c (lhd_clear_binding_stack, write_global_declarations,
5430 lhd_print_error_function): Likewise.
5431 * opts.c (handle_option, decode_options): Likewise.
5432 * passes.c (open_dump_file): Likewise.
5433 * print-tree.c (print_node): Likewise.
5434 * stmt.c (expand_fixup, fixup_gotos, expand_asm_operands,
5435 expand_decl_cleanup, emit_case_nodes): Likewise.
5436 * stor-layout.c (variable_size): Likewise.
5437 * toplev.c (announce_function, wrapup_global_declarations,
5438 check_global_declarations, compile_file, default_tree_printer,
5439 process_options, lang_dependent_init, finalize): Likewise.
5440 * tree-dump.c (dequeue_and_dump): Likewise.
5441 * tree-inline.c (remap_decl, remap_block, copy_body_r,
5442 initialize_inlined_parameters, declare_return_variable,
5443 inlinable_function_p, expand_call_inline, optimize_inline_calls,
5444 walk_tree, copy_tree_r): Likewise.
5445 * tree-optimize.c (tree_rest_of_compilation): Likewise.
5446 * tree.c (decl_assembler_name, tree_size, size_in_bytes, staticp,
5447 unsafe_for_reeval, get_unwidened, get_narrower, get_callee_fndecl,
5448 variably_modified_type_p, dump_tree_statistics): Likewise.
5449 * varasm.c (assemble_variable, compare_constant, copy_constant,
5450 force_const_mem, compute_reloc_for_constant, output_constant,
5451 output_addressed_constants, initializer_constant_valid_p): Likewise.
5452
89acbae0
KC
54532004-03-14 Kelley Cook <kcook@gcc.gnu.org>
5454
5455 * doc/install.texi: Make autoconf 2.13 the exception, not the rule.
5456
d01b30dc
AT
54572004-03-14 Andreas Tobler <a.tobler@schweiz.ch>
5458
5459 * doc/install.texi: Reflect autoconf and automake version for
5460 libffi. Update autoconf version to 2.59.
5461
5785c7de
RS
54622004-03-13 Roger Sayle <roger@eyesopen.com>
5463
5464 * fold-const.c (negate_expr, operand_equal_for_comparison_p,
5465 optimize_bit_field_compare, decode_field_reference, all_ones_mask_p,
5466 make_range, build_range_check, fold_range_test, unextend,
5467 constant_boolean_node, fold_binary_op_with_conditional_arg,
5468 fold_truthop, fold_mathfn_compare, fold_inf_compare,
5469 fold_single_bit_test, fold): Replace calls via (*lang_hooks.foo) ()
5470 with lang_hooks.foo ().
5471
edc62122
RE
54722004-03-14 Richard Earnshaw <rearnsha@arm.com>
5473
5474 * arm.h (EXTRA_CONSTRAINT_STR_ARM): Update comment.
5475
7db956db
DH
54762004-03-13 Dara Hazeghi <dhazeghi@yahoo.com>
5477
5478 * doc/install.texi: Note status of -fnew-ra.
5479
e6d55fd7
EB
54802004-03-13 Eric Botcazou <ebotcazou@libertysurf.fr>
5481
5482 PR middle-end/14470
5483 * expr.c (store_expr): Call emit_queue before generating the move
5484 from the temporary to the original target. Protect the temporary
5485 from emit_queue.
5486
cfbab41c
JJ
54872004-03-13 Jakub Jelinek <jakub@redhat.com>
5488
5489 PR target/14533
5490 * config/s390/s390.c (legitimize_pic_address): Don't abort on UNSPEC
5491 other than UNSPEC_GOTOFF.
5492
1e1ab407
RE
54932004-03-13 Richard Earnshaw <rearnsha@arm.com>
5494
5495 * arm.c (arm_legitimate_address_p): New argument, OUTER. Pass through
5496 to arm_legitimate_index_p. Update all callers with SET as default
5497 value.
5498 (arm_legitimate_index_p): New argument, OUTER. Restrict the index
5499 range if OUTER is a sign-extend operation on QImode. Correctly
5500 reject shift operations on sign-extended QImode addresses.
5501 (bad_signed_byte_operand): Delete.
5502 (arm_extendqisi_mem_op): New function.
5503 * arm.h (EXTRA_CONSTRAINT_ARM): Delete. Replace with...
5504 (EXTRA_CONSTRAINT_STR_ARM): ... this. Handle extended address
5505 constraints.
5506 (CONSTRAINT_LEN): New.
5507 (EXTRA_CONSTRAINT): Delete. Replace with...
5508 (EXTRA_CONSTRAINT_STR): ... this.
5509 (PREDICATE_CODES): Remove bad_signed_byte_operand.
5510 * arm.md (extendqihi_insn): Use new constraint Uq. Rework. Length
5511 is now always default.
5512 (define_splits for bad sign-extend loads): Delete.
5513 (arm_extendqisi, arm_extendqisi_v5): Likewise.
5514 * arm/vfp.md (arm_movsi_vfp, arm_movdi_vfp, movsf_vfp, movdf_vfp):
5515 Rework 'U' constraint to 'Uv'.
5516 * arm-protos.h: Remove bad_signed_byte_operand. Add
5517 arm_extendqisi_mem_op.
5518 * doc/md.texi (ARM constraints): Rename VFP constraint (now Uv).
5519 Add Uq constraint.
5520
c53bdcf5
AM
55212004-03-13 Alan Modra <amodra@bigpond.net.au>
5522
fa78dbea
AM
5523 * config/rs6000/rs6000.c (rs6000_va_arg): Replace SPLIT_COMPLEX_ARGS
5524 with targetm version.
5525
c53bdcf5
AM
5526 PR target/14567
5527 * config/rs6000/rs6000.h (UNITS_PER_ARG, RS6000_ARG_SIZE): Delete.
5528 (HARD_REGNO_MODE_OK): Disallow TFmode for fp31.
5529 * config/rs6000/rs6000.c (rs6000_arg_size): New function.
5530 Update all users of RS6000_ARG_SIZE.
5531 (function_arg_advance): Count fregno using mode size.
5532 (function_arg): Handle long double split over regs and memory.
5533 (function_arg_partial_nregs): Likewise.
5534 (rs6000_va_arg): Repackage complex args.
5535
992ab122
DF
55362004-03-13 Dean Ferreyra <dferreyra@igc.org>
5537
5538 PR target/14047
5539 * config/avr/avr.c (avr_progmem_p): Add "attributes" parameter.
5540 (avr_insert_attributes): Pass "attributes" to avr_progmem_p.
5541 * config/avr/avr-protos.h (avr_progmem_p): Change prototype.
5542
c973d557
JJ
55432004-03-12 Jakub Jelinek <jakub@redhat.com>
5544
5545 * config/rs6000/rs6000-protos.h (rs6000_output_dwarf_dtprel): Add
5546 prototype.
5547 * config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): New.
5548 * config/rs6000/rs6000.h (ASM_OUTPUT_DWARF_DTPREL): Define.
5549
4319ac92
AP
55502003-03-12 Andrew Pinski <apinski@apple.com>
5551
5552 * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
5553 Use ret instead of result. Use addr instead of base.
5554
bb674cef
DE
55552004-03-12 David Edelsohn <edelsohn@gnu.org>
5556
5557 * doc/install.texi (*-ibm-aix*): Document assembler and achiver
5558 fixes required by libstdc++ and update installation instructions
5559 for libstdc++.a.
5560
b1f123c7
DS
55612004-03-12 Danny Smith <dannysmith@users.sourceforge.net>
5562
5563 * config/i386/winnt.c (i386_pe_strip_name_encoding_full): Strip
5564 leading '@' on fastcall symbols before stripping suffix.
5565
67962db5
RS
55662004-03-12 Roger Sayle <roger@eyesopen.com>
5567
5568 * combine.c (unmentioned_reg_p): New function to check whether an
5569 expression is a "specialization" of another, i.e. that there are
5570 no registers or memory references mentioned in the first that don't
5571 appear in the second.
5572 (unmentioned_reg_p_1): New helper subroutine of unmentioned_reg_p.
5573 (combine_instructions): Also try combining instructions using the
5574 REG_EQUAL note from a preceding log-linked instruction.
5575
8937b6a2
RS
55762004-03-12 Roger Sayle <roger@eyesopen.com>
5577
5578 * config/i386/i386.c (ix86_split_ashrdi): Optimize shift by 63.
5579
4746cf84
MA
55802004-03-12 Matt Austern <austern@apple.com>
5581
5582 * target.h (struct gcc_target): New target hook, unwind_label.
5583 * target-def.h (TARGET_ASM_EMIT_UNWIND_LABEL): New hook.
5584 * output.h (default_emit_unwind_label): New function.
5585 * default.h (TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY): New macro.
5586 (TARGET_USES_WEAK_UNWIND_INFO): New target macro.
5587 (TARGET_SUPPORTS_HIDDEN): New target macro.
5588 * dwarf2out.c (struct dw_fde_struct): Add field for function decl
5589 that corresponds to this FDE.
5590 (FRAME_BEGIN_LABEL): Allow target to override default label.
5591 (output_call_frame_info): If FDEs are linknonce, then use extra
c53bdcf5 5592 indirection for FDE encoding, output a label for each FDE, and
4746cf84
MA
5593 output an empty label for each function without an FDE.
5594 (dwarf2out_begin_prologue): Set up decl field when creating an FDE.
5595 * varasm.c (globalize_decl): Call ASM_MAKE_LABEL_LINKONCE for
5596 decls with DECL_ONE_ONLY set, if that macro is defined.
5597 (make_decl_one_only): Don't use DECL_COMMON if we're compiling
5598 for a SUPPORTS_ONE_ONLY target.
5599 * config/darwin-protos.h (darwin_unique_section): Declare.
5600 (darwin_asm_named_section): Likewise.
5601 (darwin_section_type_flags): Likewise.
5602 (darwin_non_lazy_pcrel): Likewise.
5603 (darwin_emit_unwind_label): Likewise.
5604 (darwin_make_decl_one_only): Likewise.
5605 * config/darwin.c (machopic_finish): Get rid of tweak that
5606 eliminate stubs for symbols that are defined.
5607 (darwin_encode_section_info): Don't treat weak functions as defined.
5608 (darwin_make_decl_one_only): Define.
5609 (darwin_asm_named_section): Likewise.
5610 (darwin_section_type_flags): Likewise.
5611 (darwin_unique_section): Likewise.
5612 (darwin_emit_unwind_label): Likewise.
5613 (darwin_non_lazy_pcrel): Likewise.
5614 (darwin_asm_output_dwarf_delta): Difference between two labels is
5615 local only if both labels are local.
5616 * config/darwin.h (MAKE_DECL_ONE_ONLY): Define.
5617 (ASM_MAKE_LABEL_LINKONCE): Likewise.
5618 (TARGET_SUPPORTS_HIDDEN): Likewise.
5619 (TARGET_USES_WEAK_UNWIND_INFO): Likewise.
5620 (TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY): Likewise.
5621 (FRAME_BEGIN_LABEL): Likewise.
5622 (ASM_DECLARE_OBJECT_NAME): Make references to weak symbols indirect.
5623 (ASM_DECLARE_FUNCTION_NAME): Likewise.
5624 (darwin_eh_frame_section): Give __eh_frame section the coalesced flag.
5625 (TARGET_ASM_UNIQUE_SECTION): Define.
5626 (EH_FRAME_SECTION_NAME): Define.
5627 (EH_FRAME_SECTION_ATTR): Likewise.
5628 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
5629 (TARGET_ASM_NAMED_SECTION): Likewise.
5630 (TARGET_SECTION_TYPE_FLAGS): Likewise.
5631 * doc/tm.texi: Document TARGET_USES_WEAK_UNWIND_INFO,
5632 TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY, TARGET_SUPPORTS_HIDDEN,
5633 TARGET_ASM_EMIT_UNWIND_LABEL.
bc4c01b7 5634
fd0c8c8d
KG
56352004-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5636
5637 * builtins.c (expand_builtin_mathfn): Add pow10* to the
5638 existing exp10* case.
5639 (expand_builtin): Likewise.
5640
ca0b6e3b
EB
56412004-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
5642
5643 * doc/tm.texi (registers) <Values in Registers>: Add
5644 entry for REGMODE_NATURAL_SIZE.
5645
42ba5130
RH
56462004-03-12 Richard Henderson <rth@redhat.com>
5647
5648 PR target/14547
5649 * target.h (struct gcc_target): Move calls substructure before
5650 booleans. Add split_complex_arg.
5651 * function.c (assign_parms, split_complex_args): Use it.
c53bdcf5
AM
5652 * calls.c (expand_call): Likewise.
5653 (split_complex_values): Likewise. Check for splittable types
5654 before allocating memory.
5655 (split_complex_types): Likewise.
42ba5130
RH
5656 * system.h (SPLIT_COMPLEX_ARGS): Poison.
5657 * expr.h (SPLIT_COMPLEX_ARGS): Remove.
5658 * target-def.h (TARGET_SPLIT_COMPLEX_ARG): New.
5659 * config/alpha/alpha.c (alpha_split_complex_arg): New.
5660 (TARGET_SPLIT_COMPLEX_ARG): New.
5661 * config/alpha/alpha.h (SPLIT_COMPLEX_ARGS): Remove.
5662 * config/rs6000/rs6000.c (TARGET_SPLIT_COMPLEX_ARG): New.
5663 (rs6000_override_options): Zap it for non-AIX.
5664 (rs6000_function_value): Use targetm.calls.split_complex_arg.
5665 * config/rs6000/rs6000.h (SPLIT_COMPLEX_ARGS): Remove.
5666 * config/xtensa/xtensa.c (TARGET_SPLIT_COMPLEX_ARG): New.
5667 * config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Remove.
5668 * doc/tm.texi (TARGET_SPLIT_COMPLEX_ARG): Modify from old
5669 SPLIT_COMPLEX_ARGS entry.
5670
75959f0a
RH
56712004-03-11 Richard Henderson <rth@redhat.com>
5672
5673 * config/alpha/alpha.c (xfloating_ops, vax_cvt_ops): New.
5674 (alpha_lookup_xfloating_lib_func): Use them, return rtx.
5675 (alpha_emit_xfloating_arith): Update to match.
5676 (alpha_emit_xfloating_compare): Likewise.
5677 (alpha_emit_xfloating_cvt): Likewise.
5678 (alpha_emit_xfloating_libcall): Take already built symbol,
5679 mark call const.
5680 * config/alpha/alpha.md (extendsftf2, extenddftf2): Take
5681 op1 in a register.
5682
e5e10fb4
RH
56832004-03-11 Richard Henderson <rth@redhat.com>
5684
5685 PR target/14539
5686 * config/alpha/alpha.h (STACK_BOUNDARY): Set to 128.
5687
55cf9d62
RH
5688 * simplify-rtx.c (simplify_relational_operation): Fix typo.
5689
9caad63a
RH
56902004-03-11 Richard Henderson <rth@redhat.com>
5691
5692 PR middle-end/14477
5693 * except.c (remove_unreachable_regions): Look thru CALL_PLACEHOLDER.
5694
03ca1672
UW
56952004-03-11 Ulrich Weigand <uweigand@de.ibm.com>
5696
5697 PR target/14262
5698 * calls.c (load_register_parameters): If BLOCK_REG_PADDING is not
5699 defined, pass small BLKmode values in registers in the low-order part.
5700
bbe708a3
UW
57012004-03-11 Ulrich Weigand <uweigand@de.ibm.com>
5702
5703 * combine.c (if_then_else_cond): Check for NULL return value of
5704 simplify_gen_subreg.
5705
0e808055
RS
57062004-03-11 Richard Sandiford <rsandifo@redhat.com>
5707
5708 PR target/14496
5709 * config/mips/mips.h (UNITS_PER_FPVALUE): Fix value for
5710 TARGET_SINGLE_FLOAT.
5711
1f7aa7cd
SE
57122004-03-11 Steve Ellcey <sje@cup.hp.com>
5713
5714 * config/ia64/hpux.h (TARGET_INIT_LIBFUNCS): Add undef.
5715 * config/ia64/ia64.h (TARGET_INIT_LIBFUNCS): Add define.
5716 * config/ia64/ia64.c (ia64_init_libfuncs): New.
5717 (ia64_hpux_init_libfuncs): Add call to ia64_init_libfuncs.
5718
239a625e
RS
57192004-03-11 Roger Sayle <roger@eyesopen.com>
5720
5721 * fold-const.c (negate_expr_p) <RSHIFT_EXPR>: We can optimize
5722 -((int)X>>C) where C is an integer constant one bit less than the
5723 size of X into (unsigned)X>>C. Similarly for unsigned->signed.
5724 (negate_expr) <RSHIFT_EXPR>: Implement the above transformations.
5725
5726 * simplify-rtx.c (simplify_unary_operation): Also implement the
5727 above transformations at the RTL level.
5728
40131a38
AM
57292004-03-11 Alan Modra <amodra@bigpond.net.au>
5730
5731 * real.c (encode_ibm_extended): Do round low word.
5732
df8e2ad0
BE
57332004-03-11 Ben Elliston <bje@wasabisystems.com>
5734
5735 * config/arm/arm.md (is_xscale): Comment this attribute and move
5736 it a bit further up in the file, closer to related attributes.
5737
d1704a35
EB
57382004-03-11 Eric Botcazou <ebotcazou@libertysurf.fr>
5739
5740 * config/host-solaris.c (sol_gt_pch_use_address): Add
5741 missing terminating marker to comment.
5742
fc31c7ca
RS
57432004-03-11 Richard Sandiford <rsandifo@redhat.com>
5744
5745 * config/mips/mips.md: Use move_operand in splitters for 64-bit moves.
5746 (movdi, movsi, movhi, movqi, movsf, movdf): Remove predicates.
5747 (*movdi_32bit_mips16, *movsi_mips16, *movhi_mips16, *movqi_mips16)
5748 (*movsf_mips16, *movdf_mips16): Name unnamed patterns. Use
5749 move_operand as source predicate in all cases.
5750 (*movdi_32bit): Renamed from movdi_internal. Remove 'F' constraint.
5751 Test reg_or_0_operand. Use move_operand as source predicate.
5752 (*movdi_64bit): Renamed from movdi_internal2. Test reg_or_0_operand.
5753 (*movdi_64bit_mips16): Renamed from movdi_internal2_mips16.
5754 (*movsi_internal): Renamed from movsi_internal. Test reg_or_0_operand.
5755 (movhi, movqi, movsf, movdf): Use mips_legitimize_move.
5756 (*movhi_internal): Renamed from movhi_internal. Test reg_or_0_operand.
5757 Use move_operand as source predicate. Remove 'K' constraint.
5758 (*movqi_internal): Likewise movqi_internal.
5759 (*movsf_hardfloat): Renamed from movsf_internal1. Test
5760 reg_or_0_operand. Use move_operand as source predicate.
5761 (*movsf_softfloat): Likewise movsf_internal2.
5762 (*movdf_hardfloat_64bit): Likewise movsf_internal1a.
5763 (*movdf_hardfloat_32bit): Likewise movsf_internal1b.
5764 (*movdf_softfloat): Likewise movdf_internal2.
5765 * config/mips/mips.c (move_operand): Match arbitrary CONST_INTs
5766 for DImode if !TARGET_64BIT.
5767 (mips_legitimize_move): Simplify accordingly.
5768
81f2eadb
JZ
57692004-03-11 Josef Zlomek <zlomekj@suse.cz>
5770
5771 PR/14362
5772 * var-tracking.c (struct variable_def): Added field refcount.
5773 (variable_htab_free): Decrease the refcount and delete variable
5774 only if there are no more references.
5775 (unshare_variable): New function.
5776 (vars_copy_1): Increase refcount instead of copying the variable.
5777 (variable_union): Share the variables where possible, unshare
5778 the variables if needed.
5779 (variable_different_p): Return false if var1 and var2 are
5780 the same structure.
5781 (variable_was_changed): Init the refcount of new variable.
5782 (set_frame_base_location): Unshare variable if needed.
5783 (set_variable_part): Init the refcount of new variable.
5784 Unshare the variables if needed.
c53bdcf5 5785 (delete_variable_part): Unshare the variables if needed.
81f2eadb
JZ
5786 (emit_notes_for_differences_1): Init the refcount of new variable.
5787 (vt_add_function_parameters): Do not add function parameters to
5788 IN set of ENTRY_BLOCK_PTR because it is unused anyway.
5789 (vt_initialize): Do not add frame_base_decl to IN set of
5790 ENTRY_BLOCK_PTR because it is unused anyway.
5791
11599d14
JZ
57922004-03-11 Josef Zlomek <zlomekj@suse.cz>
5793
5794 * var-tracking.c (vars_copy_1): Cleanup and speedup chain operations.
5795 (vars_copy): Likewise.
5796 (variable_union): Likewise.
5797 (set_variable_part): Likewise.
5798 (delete_variable_part): Likewise.
5799
71cc389b
KH
58002004-03-11 Kazu Hirata <kazu@cs.umass.edu>
5801
5802 * c-typeck.c, combine.c, cse.c, dominance.c, et-forest.h,
5803 ggc-page.c, var-tracking.c, config/fp-bit.c, config/c4x/c4x.c,
5804 config/cris/cris.c, config/i386/ppro.md, config/i860/i860.c,
5805 config/i860/i860.h, config/m32r/m32r.h, config/m32r/xm-m32r.h,
5806 config/m68hc11/m68hc11.h, config/m68hc11/m68hc11.md,
5807 config/mips/mips.c, config/mmix/mmix.c, config/ns32k/ns32k.h,
5808 config/pa/pa.c, config/pa/pa32-regs.h, config/pa/pa64-regs.h,
5809 config/pdp11/pdp11.h, config/rs6000/rs6000.c,
5810 config/stormy16/stormy16.c: Fix comment typos and formatting.
5811
f3c9f174
NN
58122004-03-11 Nathanael Nerode <neroden@gcc.gnu.org>
5813
5814 * configure: Regenerate, since I forgot to while committing Paolo's
5815 changes.
5816
e4c9c075
PB
58172004-03-08 Paolo Bonzini <bonzini@gnu.org>
5818
5819 PR ada/14131
5820 Move language detection to the top level.
5821 * configure.ac: Remove code to detect languages,
5822 it now lives exclusively in the top level.
5823 * aclocal.m4 (gcc_AC_PROG_GNAT): Moved to the
5824 top level, renamed to ACX_PROG_GNAT.
5825
4d0c31e6
RH
58262004-03-10 Richard Henderson <rth@redhat.com>
5827
5828 * c-pch.c (c_common_no_more_pch): Update for gt_pch_use_address
5829 extra arguments.
5830 * config.host (*-*-solaris2*, *-*-linux*): Add out_host_hook_obj
5831 and host_xmake_file fragments.
5832 * ggc-common.c (gt_pch_save): Update for gt_pch_get_address change.
5833 (gt_pch_restore): Similarly for gt_pch_use_address.
5834 (default_gt_pch_get_address): New.
5835 (mmap_gt_pch_get_address): Split out of gt_pch_save.
5836 (default_gt_pch_use_address): Split out of gt_pch_restore.
5837 (mmap_gt_pch_use_address): Likewise.
5838 * hooks.c (hook_voidp_size_t_null): Remove.
5839 (hook_bool_voidp_size_t_false): Remove.
5840 * hooks.h: Likewise.
5841 * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): Use one of the
5842 default_ or mmap_ definitions.
5843 (HOST_HOOKS_GT_PCH_USE_ADDRESS): Likewise.
5844 * hosthooks.h (struct host_hooks): Update gt_pch_get_address
5845 and gt_pch_use_address.
5846 * config/host-linux.c, config/host-solaris.c: New files.
5847 * config/x-linux, config/x-solaris: New files.
bc4c01b7 5848 * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_get_address):
4d0c31e6
RH
5849 Update for changed definition.
5850 (darwin_rs6000_gt_pch_use_address): Likewise.
5851 * doc/hostconfig.texi: Update docs.
5852
28fca7e4
RH
58532004-03-10 Richard Henderson <rth@redhat.com>
5854
5855 PR c/14517
5856 * c-decl.c (grokdeclarator): Don't warn for duplicate qualifiers
5857 except for pedantic c90 mode.
5858
8ab705be
KC
58592004-03-10 Kelley Cook <kcook@gcc.gnu.org>
5860
5861 * configure.ac: Bump AC_PREREQ to 2.59.
5862 * configure: Regenerate.
5863
a251102e
UB
58642004-03-10 Uros Bizjak <uros@kss-loka.si>
5865
5866 * optabs.h (enum optab_index): Add new OTI_exp10 and OTI_exp2.
5867 (exp10_optab, exp2_optab): Define corresponding macros.
5868 * optabs.c (init_optabs): Initialize exp10_optab and exp2_optab.
5869 * genopinit.c (optabs): Implement exp10_optab and exp2_optab
5870 using exp10?f2 and exp2?f2 patterns.
5871 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP10{,F,L}
5872 using exp10_optab, and BUILT_IN_EXP2{,F,L} using exp2_optab.
5873 (expand_builtin): Expand BUILT_IN_EXP10{,F,L} and BUILT_IN_EXP2{,F,L}
5874 using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
5875
5876 * config/i386/i386.md (exp10sf2, exp10df2, exp10xf2, exp2sf2,
5877 exp2df2, exp2xf2): New patterns to implement exp10, exp10f, exp10l,
5878 exp2, exp2f and exp2l built-ins as inline x87 intrinsics.
5879
11f01d37
AG
58802004-03-10 Anthony Green <green@redhat.com>
5881
5882 * doc/invoke.texi (ARM Options): Fix -mpfu typo.
5883
bb904c1a
DE
58842004-03-10 David Edelsohn <edelsohn@gnu.org>
5885
5886 * config/rs6000/aix.h (TARGET_OS_CPP_BUILTINS): Rename to ...
5887 (TARGET_OS_AIX_CPP_BUILTINS): this. Conditionally define
5888 __LONGDOUBLE128.
5889 * config/rs6000/aix41.h (TARGET_OS_CPP_BUILTINS): Use
5890 TARGET_OS_AIX_CPP_BUILTINS.
5891 * config/rs6000/aix43.h (TARGET_OS_CPP_BUILTINS): Same.
5892 * config/rs6000/aix51.h (TARGET_OS_CPP_BUILTINS): Same.
5893 * config/rs6000/aix52.h (TARGET_OS_CPP_BUILTINS): Same.
5894 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Revert
5895 previous change.
5896
b45d3a36
KG
58972004-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5898
5899 * fold-const.c (tree_expr_nonnegative_p): Add more builtin cases.
5900
35ae04ba
DE
59012004-03-10 David Edelsohn <edelsohn@gnu.org>
5902
5903 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
5904 __LONGDOUBLE128 on AIX.
5905
ffad84cd
AH
59062004-03-10 Andrew Haley <aph@redhat.com>
5907
f7b48371 5908 PR optimization/14381
ffad84cd
AH
5909 * function.c (expand_function_end): Emit a blockage insn before
5910 the epilogue when -fnon-call-exceptions is used.
5911
5912 * except.c (expand_start_all_catch): Make comment more accurate.
5913
65cd26a6
JS
59142004-03-08 Joel Sherrill <joel@oarcorp.com>
5915
5916 PR target/14480
5917 * config/rs6000/t-rtems: Add missing file on branch.
5918
452c159e
UW
59192004-03-10 Ulrich Weigand <uweigand@de.ibm.com>
5920
5921 * dbxout.c (dbxout_symbol_location): Do not output references
5922 to optimized-out constant pool symbols.
5923
5f1b2068
AS
59242004-03-10 Andreas Schwab <schwab@suse.de>
5925
5926 * config/ia64/ia64.md (divsi3, udivsi3): Remove unused variable
5927 twon34_r.
5928
5399d643
JW
59292004-03-09 James E Wilson <wilson@specifixinc.com>
5930
5931 * alias.c (alias_sets_might_conflict_p): New.
5932 * c-typeck.c (build_c_cast): Call it if warn_strict_aliasing > 1.
5933 * common.opt (Wstrict-aliasing=): New.
5934 * flags.h (warn_strict_aliasing): Change type to int.
5935 * opts.c (warn_strict_aliasing): Change type to int.
5936 (common_handle_option): Handle OPT_Wstrict_aliasing_.
5937 * tree.h (alias_sets_might_conflict_p): Declare it.
5938 * doc/invoke.tex (-Wstrict-aliasing=2): Document it.
5939
a4e9467d
RZ
59402004-03-10 Roman Zippel <zippel@linux-m68k.org>
5941
5942 PR bootstrap/12371
5943 * config/m68k/m68k.h (FIXED_REGISTERS): Add arg pointer.
5944 (CALL_USED_REGISTERS): Likewise.
c53bdcf5 5945 (REG_CLASS_CONTENTS): Likewise.
a4e9467d
RZ
5946 (REG_ALLOC_ORDER): New.
5947 (REGNO_REG_CLASS): Use regno_reg_class.
5948 * config/m68k/m68k.c: Add regno_reg_class array.
5949
9aec7fb4
SE
59502004-03-09 Steve Ellcey <sje@cup.hp.com>
5951
5952 * config/ia64/ia64.md (divsi3): Fix algorithm.
5953 (udivsi3): Ditto.
5954 (setf_exp_xf): Remove '*' from name.
5955 * testsuite/gcc.dg/20040309-1.c: New test.
5956
9acd4a03
ILT
59572004-03-09 Ian Lance Taylor <ian@wasabisystems.com>
5958
5959 * system.h (SUNOS4_SHARED_LIBRARIES): Poison.
5960 * collect2.c: Remove SUNOS4_SHARED_LIBRARIES code.
5961 * config/sparc/aout.h (TARGET_ASM_SELECT_SECTION): Don't define.
5962 * config/sparc/sparc.c (sparc_aout_select_section): Remove.
5963 (sparc_aout_select_rtx_section): Don't check
5964 SUNOS4_SHARED_LIBRARIES.
5965 * config/sparc/sparc.h (SUNOS4_SHARED_LIBRARIES): Don't define.
5966
a5249a21
HPN
59672004-03-10 Hans-Peter Nilsson <hp@axis.com>
5968
5969 PR other/14474
5970 * doc/md.texi (Pattern Ordering, Dependent Patterns)
5971 (Jump Patterns, Looping Patterns): Wrap in separate "@ifset
5972 INTERNALS".
5973
e373cdb4
ZW
59742004-03-09 Zack Weinberg <zack@codesourcery.com>
5975
5976 * config/ia64/hpux.h (MULTILIB_DEFAULTS): Define.
5977 (LIBGCC_SPEC): Update to match.
5978
77dbdb57
ZW
59792004-03-09 Zack Weinberg <zack@codesourcery.com>
5980
5981 * c-decl.c (last_function_parms, last_function_parm_tags)
5982 (last_function_parm_others, current_function_parms)
5983 (current_function_parm_tags, current_function_parm_others):
5984 Delete.
5985 (ARG_INFO_PARMS, ARG_INFO_TAGS, ARG_INFO_TYPES, ARG_INFO_OTHERS):
5986 New macros.
5987 (grokdeclarator): For function definitions, save the arg-info
5988 block from the declarator in DECL_ARGUMENTS.
5989 (grokparms): Do not write to last_function_parm*. Use ARG_INFO_*
5990 macros to operate on arg-info block. Can assume ARG_INFO_PARMS
5991 contains only PARM_DECLs. Improve diagnostics.
5992 (get_parm_info): Use ARG_INFO_* macros. Improve comments and
5993 diagnostics. Disable some expensive checks if not ENABLE_CHECKING.
5994 (store_parm_decls_newstyle): Take the function to operate on,
5995 and an arg-info block, as arguments; don't get anything from
5996 current_function_* globals.
5997 (store_parm_decls_oldstyle): Likewise.
5998 (store_parm_decls): Pass fndecl and its arg-info block down to
5999 store_parm_decls_newstyle/oldstyle. Send functions with empty
6000 argument lists through store_parm_decls_newstyle to reduce
6001 overhead.
6002 (pushdecl): Comment on the problems with the call to copy_node.
6003 Clear DECL_ARGUMENTS of the old node after copying it, if it
6004 is an arg-info block instead of a chain of decls.
6005 (start_function): Do not manipulate current_function_parm* or
6006 last_function_parm*.
6007
305eeaeb
RS
60082004-03-09 Roger Sayle <roger@eyesopen.com>
6009 Andrew Pinski <pinskia@physics.uc.edu>
6010
6011 * ifcvt.c (noce_try_sign_mask): New function to transform
6012 "x = (y < 0) ? z : 0" into the equivalent "x = (y >> C) & z".
6013 (noce_process_if_block): Call noce_try_sign_mask.
6014
f38f747d
AP
60152004-03-09 Andrew Pinski <apinski@apple.com>
6016
6017 * c-typeck.c (tagged_types_tu_compatible_p):
6018 Fix typo.
6019
7ce3e360
RS
60202004-03-09 Roger Sayle <roger@eyesopen.com>
6021
6022 * simplify-rtx.c (simplify_const_relational_operation): New function
6023 renamed from simplify_relational_operation.
6024 (simplify_relational_operation): Change prototype to accept an
6025 additional mode argument. Call simplify_const_relational_operation.
6026 (simplify_gen_relational): Update simplify_relational_operation call.
6027 (simplify_ternary_operation): Update simplify_relational_operation
6028 subroutine call to use simplify_const_relational_operation instead.
6029
6030 * rtl.h (simplify_const_relational_operation): Prototype here.
6031 (simplify_relational_operation): Add addtional mode argument.
6032
6033 * combine.c (combine_simplify_rtx): Update calls to
6034 simplify_relational_operation.
6035 (simplify_set): Likewise.
6036 (gen_binary): Likewise.
6037 * cse.c (fold_rtx): Likewise.
6038 * dojump.c (compare_from_rtx): Likewise.
6039 (do_compare_rtx_and_jump): Likewise.
6040 * integrate.c (subst_constants): Likewise.
6041 * unroll.c (simplify_cmp_and_jump_insns): Likewise.
6042
c0e63064
KH
60432004-03-09 Kazu Hirata <kazu@cs.umass.edu>
6044
6045 * config/m32r/m32r.md: Remove all define_peephole's.
6046
6ae08853
AM
60472004-03-09 Alan Modra <amodra@bigpond.net.au>
6048
6049 * config/rs6000/rs6000.md: Remove trailing whitespace.
6050
5340bbea
EC
60512004-03-08 Eric Christopher <echristo@redhat.com>
6052
6053 * Makefile.in (site.exp): Add libiconv variable definition.
6054
3beb1315
HPN
60552004-03-09 Hans-Peter Nilsson <hp@axis.com>
6056
6057 * configure: Regenerate for config/accross.m4 correction.
6058
c589970a
JS
60592004-03-08 Joel Sherrill <joel@oarcorp.com>
6060
6061 PR target/14480
6062 * config/rs6000/t-rtems: Add missing file on branch.
6063
e697b20f
RS
60642004-03-08 Roger Sayle <roger@eyesopen.com>
6065
6066 PR middle-end/14289
6067 * c-typeck.c (c_mark_addressable): A register variable should
6068 be considered global if its not automatic, i.e. TREE_PUBLIC,
6069 TREE_STATIC or DECL_EXTERNAL.
6070 * function.c (put_var_into_stack): Call abort when placing a
6071 hard register into the stack, if x_parm_reg_stack_loc is NULL.
6072
59f8a8be
UW
60732004-03-08 Ulrich Weigand <uweigand@de.ibm.com>
6074
6075 * config/s390/s390.md ("*extendqidi2_short_displ"): Add CC clobber.
6076 ("*extendqisi2_short_displ"): Likewise.
6077
23bd99da
KH
60782004-03-08 Kazu Hirata <kazu@cs.umass.edu>
6079
6080 * config/pdp11/pdp11.c (comparison_operator_index): Remove.
6081 (comp_operator): Likewise.
6082 * config/pdp11/pdp11-protos.h: Remove corresponding
6083 prototypes.
6084
d50a16c4
EB
60852004-03-08 Eric Botcazou <ebotcazou@act-europe.fr>
6086
6087 * expr.c (highest_pow2_factor_for_type): Rename into
6088 highest_pow2_factor_for_target. Use DECL_ALIGN instead of
6089 TYPE_ALIGN when the target is a COMPONENT_REF.
6090 (expand_assignment): Ajust call to highest_pow2_factor_for_type.
6091
957211c3
AM
60922004-03-08 Alan Modra <amodra@bigpond.net.au>
6093
b1917422
AM
6094 * config/rs6000/rs6000.c: Formatting fix.
6095 (legitimate_offset_address_p): Correct offset range check.
6096
957211c3
AM
6097 * config/rs6000/rs6000.c (rs6000_override_options): Don't override
6098 -msoft-float by -mcpu. Consolidate similar code for MASK_MULTIPLE
6099 and MASK_STRING.
6100
97727e85 61012004-03-07 Aldy Hernandez <aldyh@redhat.com>
5340bbea 6102
77dbdb57
ZW
6103 * config/rs6000/rs6000.md (ashrdi3): Do not call ashrdi3_no_power
6104 for little endian.
6105 ("ashrdi3_no_power"): Disable for little endian.
97727e85
AH
6106 (ashrdi3): Same.
6107
280e63ec
KG
61082004-03-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6109
6110 * fold-const.c (tree_expr_nonnegative_p): Reformat checks for
6111 builtins.
6112
86da66b5
HPN
61132004-03-08 Hans-Peter Nilsson <hp@axis.com>
6114
6115 PR target/14471
6116 * configure.ac (Target-specific assembler checks) <cris-*-*>: New
6117 case, checking for -no-mul-bug-abort option.
6118 * configure, config.in: Regenerate.
6119 * doc/invoke.texi (CRIS Options): Document -mmul-bug-workaround
6120 and -mno-mul-bug-workaround.
6121 * config/cris/cris.md ("smulsi3_highpart", "umulsi3_highpart")
6122 ("mulsidi3", "umulsidi3"): Prefix output template with "%!".
6123 ("umulhisi3", "umulqihi3", "mulsi3", "mulqihi3", "mulhisi3"):
6124 Ditto. Make attribute "slottable" dependent on TARGET_MUL_BUG.
6125 * config/cris/mulsi3.asm (__Mul) [__CRIS_arch_version >= 10]: Make
6126 sure mulu.d is not last on cache-line.
6127 * config/cris/cris.h (ASM_SPEC): Translate -mno-mul-bug-workaround
6128 into -no-mul-bug-abort depending on HAVE_AS_MUL_BUG_ABORT_OPTION.
6129 (TARGET_MASK_MUL_BUG, TARGET_MUL_BUG): New macros.
6130 (TARGET_SWITCHES): New options -mmul-bug-workaround and
6131 -mno-mul-bug-workaround.
6132 (TARGET_DEFAULT): Include TARGET_MASK_MUL_BUG.
6133 (PRINT_OPERAND_PUNCT_VALID_P): Include '!'.
6134 * config/cris/cris.c (cris_operand_extend_operator): Clarify
6135 relation to MULT in head comment.
6136 (cris_op_str): Abort for MULT.
6137 (cris_print_operand) <case '!'>: New case.
6138
e7ee3914
AM
61392004-03-08 Alan Modra <amodra@bigpond.net.au>
6140
6141 PR debug/11983
6142 * dwarf2out.c (enum dw_val_class): Rename dw_val_class_float to
6143 dw_val_class_vec. Replace use throughout file.
6144 (dw_float_const): Delete.
6145 (dw_vec_const): New.
6146 (dw_val_struct_union): Rename val_float to val_vec. Replace use
6147 throughout file.
6148 (add_AT_vec): Rename from add_AT_float. Add elt_size param.
6149 (same_dw_val_p): Adjust vec comparison. Use memcmp.
6150 (size_of_die): Adjust dw_val_class_vec sizing.
6151 (output_die): Output dw_val_class_vec.
6152 (insert_int, extract_int, insert_float): New functions.
6153 (add_const_value_attribute): Use insert_float for CONST_DOUBLE.
6154 Handle CONST_VECTOR.
6155 (add_location_or_const_value_attribute): Handle CONST_VECTOR.
5cc73f91
AH
6156
61572004-03-07 Aldy Hernandez <aldyh@redhat.com>
6158
6159 * config/rs6000/rs6000.c (rs6000_parse_abi_options): SPE and
6160 AltiVec abi cannot co-exist.
6161
6162 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Same.
6163
a61bf177
JH
61642004-03-07 Jan Hubicka <jh@suse.cz>
6165
6166 * except.c (emit_to_new_bb_before): Break fallthru edges.
6167
17c60946
SC
61682004-03-07 Stephane Carrez <stcarrez@nerim.fr>
6169
6170 * config/m68hc11/m68hc11.md ("*lshrsi3_const"): Disable for 68HC12.
6171 ("*lshrsi3"): Also accept an immediate for 68HC12.
6172 ("*ashrsi3_const"): Likewise.
6173 ("*ashrsi3"): Likewise.
6174 ("*ashlsi3_const"): Likewise.
6175 ("*ashlsi3"): Likewise.
6176 ("cmphi_1_hc12"): Compare two hard register by pushing them and
6177 comparing with a pop; don't use a split for that.
6178 ("cmphi split"): Disable compare split for 68HC12.
6179
6180 * config/m68hc11/m68hc11.c (m68hc11_notice_update_cc): Invalidate
6181 the status operands if they have side effects.
6182
3e759eda
KH
61832004-03-07 Kazu Hirata <kazu@cs.umass.edu>
6184
6185 * defaults.h (LEGITIMIZE_ADDRESS): Provide a default
6186 definition.
6187 * config/arc/arc.h, config/fr30/fr30.h, config/frv/frv.h,
6188 config/h8300/h8300.h, config/ia64/ia64.h,
6189 config/mcore/mcore.h, config/mmix/mmix.h,
6190 config/ns32k/ns32k.h, config/pdp11/pdp11.h,
6191 config/stormy16/stormy16.h, config/v850/v850.h,
6192 config/vax/vax.h (LEGITIMIZE_ADDRESS): Remove.
6193 * doc/tm.texi (LEGITIMIZE_ADDRESS): Mention the default
6194 definition.
6195
cd2f1c7a
RS
61962004-03-07 Roger Sayle <roger@eyesopen.com>
6197
6198 * fold-const.c (fold) <IOR_EXPR>: Fold x | x as x.
6199 <XOR_EXPR>: Fold x ^ x as zero.
6200 <AND_EXPR>: Fold x & x as x.
6201
350f4ea8
RS
62022004-03-07 Roger Sayle <roger@eyesopen.com>
6203
6204 * fold-const.c (fold) <EQ_EXPR>: Rewrite optimization to transform
6205 "foo++ == const" into "++foo == const+incr".
6206
91455597
RS
62072004-03-07 Richard Sandiford <rsandifo@redhat.com>
6208
6209 * config/mips/mips.c (mips_in_small_data_p): Return false if
6210 TARGET_ABICALLS.
6211
a75ea627
SC
62122004-03-06 Stephane Carrez <stcarrez@nerim.fr>
6213
6214 * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Use 2,-sp to push
6215 the stack register.
6216 (expand_prologue): Don't make an interrupt or a trap handler a far
6217 symbol.
6218 (m68hc11_initial_elimination_offset): Likewise.
6219
7179b6db
RH
62202004-03-06 Richard Henderson <rth@redhat.com>
6221
6222 * config/alpha/alpha.c (alpha_in_small_data_p): False for functions.
6223
eff3c926
KH
62242004-03-06 Kazu Hirata <kazu@cs.umass.edu>
6225
6226 * config/ns32k/ns32k-protos.h: Add a prototype for
6227 ns32k_notice_update_cc.
6228 * config/ns32k/ns32k.c (ns32k_notice_update_cc): New.
6229 * config/ns32k/ns32k.h (NOTICE_UPDATE_CC): Call
6230 ns32k_notice_update_cc.
6231
22ea6b4f
UW
62322004-03-06 Ulrich Weigand <uweigand@de.ibm.com>
6233
6234 * config/s390/s390.md ("load_multiple", "*load_multiple_di",
6235 "*load_multiple_si"): Allow only if reload_completed.
6236 ("store_multiple", "*store_multiple_di", "*store_multiple_si"):
6237 Likewise.
6238
af0ec113
KH
62392004-03-06 Kazu Hirata <kazu@cs.umass.edu>
6240
6241 * config/vax/vax-protos.h: Add a prototype for
6242 vax_notice_update_cc.
6243 * config/vax/vax.c (vax_notice_update_cc): New.
6244 * config/vax/vax.h (NOTICE_UPDATE_CC): Call
6245 vax_notice_update_cc.
6246
aaef9b06
DE
62472004-03-06 David Edelsohn <edelsohn@gnu.org>
6248
6249 * collect2.c (main): Only export initfunc and finifunc if
6250 LD_INIT_SWITCH not defined.
6251 (scan_prog_file): Only export constructors and destructors if
6252 LD_INIT_SWITCH not defined. Only export symbols not found in
6253 shared objects.
6254
7a9a5a44
JDA
62552004-03-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6256
6257 * pa.md (icacheflush): Reorder operands to make match_scratch operand
6258 last.
6259 * pa.h (INITIALIZE_TRAMPOLINE): Remove unnecessary scratch argument
6260 from calls to gen_icacheflush.
6261
0f15adbd
RH
62622004-03-06 Richard Henderson <rth@redhat.com>
6263
6264 * config/alpha/alpha.h (MASK_LONG_DOUBLE_128): New.
6265 (TARGET_LONG_DOUBLE_128): New.
6266 (TARGET_SWITCHES): Add long-double-{128,64}.
6267 (TARGET_HAS_XFLOATING_LIBS): Default to TARGET_LONG_DOUBLE_128.
6268 (LONG_DOUBLE_TYPE_SIZE): Honor TARGET_LONG_DOUBLE_128.
6269 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New.
6270 (WIDEST_HARDWARE_FP_SIZE): New.
6271 (TARGET_CPU_CPP_BUILTINS): Define __LONG_DOUBLE_128__.
6272 * config/alpha/alpha.c (override_options): Clear MASK_LONG_DOUBLE_128
6273 if TARGET_VAX_FLOAT.
6274 * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): Remove.
6275 (TARGET_DEFAULT): Set MASK_LONG_DOUBLE_128.
6276
b9c685ae
RH
62772004-03-06 Richard Henderson <rth@redhat.com>
6278
6279 * config/alpha/alpha.c (alpha_swapped_comparison_operator): Fix
6280 botched rtx class conversion.
6281
82b4201f
KG
62822004-03-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6283
6284 * tree.h (BUILTIN_EXP10_P, BUILTIN_EXPONENT_P, BUILTIN_SQRT_P,
6285 BUILTIN_CBRT_P, BUILTIN_ROOT_P): New macros.
6286
6287 * builtins.c (fold_builtin_logarithm, fold_builtin): Use new
6288 macros.
6289 * fold-const.c (fold_mathfn_compare, fold): Likewise.
6290
84289c76
EB
62912004-03-06 Eric Botcazou <ebotcazou@libertysurf.fr>
6292
6293 PR target/14343
6294 * config/i386/i386.md (movv2di_internal): Conditionalize on
6295 TARGET_SSE, not TARGET_SSE2.
6296
3fdf09a1
CD
62972004-03-05 Chris Demetriou <cgd@broadcom.com>
6298
6299 * config.gcc (mips64orion-*-elf*, mips64orionel-*-elf*): Delete
6300 duplicated line.
6301
f2f4e976
KG
63022004-03-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6303
6304 * builtins.c: Consistently use logN not log* in comments.
6305
2b3493c8
AK
63062004-03-05 Andreas Krebbel <krebbel1@de.ibm.com>
6307
6308 * rtl.h (mem_expr_equal_p): Function prototype added.
6309 * cfgcleanup.c (merge_memattrs): New function.
6310 (flow_find_cross_jump): Call merge_memattrs for matching insns.
6311 * emit-rtl.c (mem_expr_equal_p): New function.
6312
1a4a7065
ZL
63132004-03-05 Ziemowit Laski <zlaski@apple.com>
6314
6315 * objc/objc-act.c (synth_module_prologue): Const-qualify
6316 objc_selector type if using the GNU runtime; fix generated
6317 signatures for objc_msg_lookup and objc_msg_lookup_super
6318 to match what GNU ObjC headers provide; reformat and clean up.
6319 (synth_self_and_ucmd_args): Use previously constructed (and
6320 hence possibly const-qualified) objc_selector type.
6321
150c9fe8
KH
63222004-03-05 Kazu Hirata <kazu@cs.umass.edu>
6323
6324 * doc/tm.texi (HARD_REGNO_RENAME_OK): Document.
6325
fd917e0d
JM
63262004-03-05 Jason Merrill <jason@redhat.com>
6327
6328 * tree.h (TYPE_HASH): Use TYPE_UID.
6329 (TREE_HASH): New macro with old definition of TYPE_HASH.
6330 * tree.c (build_type_attribute_variant): Use iterative_hash_object.
6331 (build_array_type, build_function_type): Likewise.
6332 (build_method_type_directly): Likewise.
6333 (build_offset_type, build_complex_type): Likewise.
6334 (type_hash_list, attribute_hash_list): Likewise. Now static.
6335 * except.c: s/TYPE_HASH/TREE_HASH/.
6336
822e895c
BW
63372004-03-05 Bob Wilson <bob.wilson@acm.org>
6338
6339 * config/xtensa/xtensa.c (function_arg): Handle 16-byte aligned args.
6340 (xtensa_va_start): Initialize __va_stk to ($arg_ptr - 32). Adjust
6341 __va_ndx by 2 words when referencing an argument on the stack.
6342 (xtensa_va_arg): Handle 16-byte aligned args. Adjust __va_ndx by 2
6343 words when an arg on the stack is first seen.
6344
2eb83715
PB
63452004-03-05 Paul Brook <paul@codesourcery.com>
6346
6347 * arm.h (ARM_FLAG_VFP): Remove.
6348 (ARM_FLAG_ATPCS, CIRRUS_FIX_INVALID_INSNS): Renumber.
6349 * netbsd-elf.h (ARM_FLAG_VFP): Remove.
6350
ce407aa9
PB
63512004-03-05 Paul Brook <paul@codesourcery.com>
6352
6353 * function.c (assign_parms): Include pretend alignment offset.
6354
019dd4ec
RK
63552004-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6356
6357 * stor-layout.c (layout_type, case FUNCTION_TYPE): Make size
6358 FUNCTION_BOUNDARY, not POINTER_SIZE * 2.
6359
33e70558
ILT
63602004-03-05 Ian Lance Taylor <ian@wasabisystems.com>
6361
6362 * configure.ac: When passing --enable-languages to subdir
6363 configure when host != build, make sure we don't pass an empty
6364 value.
6365 * configure: Regenerate.
6366
ab786753
NS
63672004-03-05 Nathan Sidwell <nathan@codesourcery.com>
6368
6369 PR 13577
6370 * gcc.c (cc1_options): Robustify -auxbase-strip from multiple -o
6371 options.
6372
d2782048
PB
63732004-03-05 Paolo Bonzini <bonzini@gnu.org>
6374
6375 * simplify-rtx.c (simplify_relational_operation): If
6376 flag_wrapv is set, do not move terms between the two
6377 side of a relational operator.
6378
f894b69b
PB
63792004-03-05 Paolo Bonzini <bonzini@gnu.org>
6380
6381 * rtlanal.c: Include target.h and output.h
6382 (rtx_cost, address_cost, default_address_cost): Move from...
6383 * cse.c (rtx_cost, address_cost, default_address_cost):
6384 ... this file.
6385 * rtl.h (rtx_cost, address_cost): Move under rtlanal.c.
6386 * Makefile.in: Adjust dependencies.
6387
86caf04d
PB
63882004-03-05 Paolo Bonzini <bonzini@gnu.org>
6389
6390 * cse.c (cse_end_of_basic_block): Make static.
6391 * local-alloc.c (function_invariant_p): Move to
6392 reload1.c.
6393 * loop.c (libcall_other_reg, record_excess_regs):
6394 Make static.
6395 * reload1.c (function_invariant_p): Moved here
6396 from local-alloc.c, made static.
6397 * rtl.h (cse_end_of_basic_block, function_invariant_p,
6398 libcall_other_reg, record_excess_regs): Remove
6399 declarations.
6400
d0fe265e
KH
64012004-03-05 Kazu Hirata <kazu@cs.umass.edu>
6402
6403 * config/m32r/m32r.c (signed_comparison_operator): Add a
6404 missing parenthesis.
6405
ee0d75ef
ILT
64062004-03-04 Ian Lance Taylor <ian@wasabisystems.com>
6407
6408 * ggc-common.c (gt_pch_restore): Don't unmap addr unless we are
6409 going to call mmap again. Read the file into the right place.
6410 Give a fatal error if we have to relocate.
6411
6e5ff6e7
BW
64122004-03-04 Bob Wilson <bob.wilson@acm.org>
6413
6414 * config/xtensa/xtensa.c (xtensa_return_in_msb): New function.
6415 (TARGET_RETURN_IN_MSB): Define to xtensa_return_in_msb.
6416
fc7b80e4
HPN
64172004-03-05 Hans-Peter Nilsson <hp@axis.com>
6418
fd9361f7 6419 PR other/14354
fc7b80e4
HPN
6420 * config/fp-bit.c (_fpdiv_parts): Do not round when pack_d would
6421 round the same. When rounding, clear bits that would cause a
6422 second rounding in pack_d.
6423 (_fpmul_parts): Ditto. Remove #if 0:d code.
6424
b9e4e5d1
ZL
64252004-03-04 Ziemowit Laski <zlaski@apple.com>
6426
6427 PR c++/14425, c++/14426
6428 * config/rs6000/altivec.h (vec_splat_s8, vec_splat_s16,
6429 vec_splat_s32, vec_splat_u8, vec_splat_u16, vec_splat_u32):
6430 Change C++ definitions to accept a 'const int' argument;
6431 the prototypes already do.
6432 * config/rs6000/rs6000.c (rs6000_common_init_builtins):
6433 Rename v4si_ftype_char, v8hi_ftype_char, v16qi_ftype_char,
6434 v4sf_ftype_v4si_char, v4si_ftype_v4sf_char, v4si_ftype_v4si_char,
6435 v8hi_ftype_v8hi_char, v16qi_ftype_v16qi_char,
6436 v16qi_ftype_v16qi_v16qi_char, v8hi_ftype_v8hi_v8hi_char,
6437 v4si_ftype_v4si_v4si_char and v4sf_ftype_v4sf_v4sf_char to
6438 end in ..._int; change them to accept an int instead of a char
6439 as the last parameter.
6440
8653fed7
PE
64412004-03-04 Phil Edwards <phil@codesourcery.com>
6442
6443 * genmultilib: Change '=' to '-' when translating option names
6444 to directory names.
6445
daae8185
RK
64462004-03-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6447
6448 * expr.c (expand_expr_real, case COMPONENT_REF): Get proper type of
6449 stack slot for temp used for result of BLKmode but in integral mode.
6450
f345f21a
JH
64512004-03-04 Jan Hubicka <jh@suse.cz>
6452
6453 * reload.c (find_reloads): Reorganize if seqeunce to switch.
6454
6455 * cfgrtl.c (rtl_redirect_edge_and_branch): Set the source BB as dirty.
6456 (cfglayout_redirect_edge_and_branch): Set the source BB as dirty.
6457
aa42f99d
SE
64582004-03-04 Steve Ellcey <sje@cup.hp.com>
6459
6460 * config/ia64/ia64.md (divdf3_internal_thr): Fix algorithm.
6461 * testsuite/gcc.dg/20040303-1.c: New test.
6462
56bab446
SB
64632004-03-04 Steven Bosscher <stevenb@suse.de>
6464
6465 * ppro.md: Rewrite as a DFA pipeline description.
6466 * i386.md: Remove all uses of the ppro_uops attribute.
6467 * i386.c: (ix86_safe_ppro_uops, ix86_dump_ppro_packet,
6468 ix86_reorder_insn, ix86_sched_reorder_ppro, ix86_sched_init,
6469 ix86_sched_reorder, ix86_variable_issue,
6470 struct ix86_sched_data, TARGET_SCHED_VARIABLE_ISSUE,
6471 TARGET_SCHED_INIT, TARGET_SCHED_REORDER): Remove.
6472 (ia32_use_dfa_pipeline_interface): Add TARGET_PENTIUMPRO.
6473 (ia32_multipass_dfa_lookahead): Add TARGET_PENTIUMPRO.
6474 * athlon.md (athlon_ssecmp_load): Fix comment
6475
5a26b329 64762004-03-04 Stuart Hastings <stuart@apple.com>
56bab446 6477
5a26b329
SH
6478 * gcc/doc/invoke.texi: Document -mlongcall for Darwin/PPC.
6479
2e5d2af9 64802004-03-04 Stuart Hastings <stuart@apple.com>
56bab446 6481
2e5d2af9
SH
6482 * gcc/config/i386/darwin.h: Darwin/x86 doesn't support CPUs before
6483 686, tell Darwin assembler to allow prefetch insns, non-empty def
6484 of SUBTARGET_OPTION_TRANSLATE_TABLE.
6485
58f206d6
DD
64862004-03-04 DJ Delorie <dj@redhat.com>
6487
6488 PR optimization/14282
6489 * sched-deps.c (sched_analyze_insn): Allow a stack adjustment
6490 between a call and the assignment of its return value.
6491
e9eba255
KH
64922004-03-04 Kazu Hirata <kazu@cs.umass.edu>
6493
6494 * config/h8300/h8300.c: Put a comment for every function.
6495
d3c40837
KH
64962004-03-04 Kazu Hirata <kazu@cs.umass.edu>
6497
6498 * config/h8300/h8300.md: Add comments about peephole2's.
6499
eb3d7f9d
SB
65002004-03-04 Steven Bosscher <stevenb@suse.de>
6501
6502 * i386.h (TARGET_CPU_DEFAULT_nocona): Fix value.
6503
463301c3
JH
65042004-03-04 Jan Hubicka <jh@suse.cz>
6505
6506 * cfgcleanup.c (thread_jump): Update call of cselib_init.
6507 * cselib.c (cselib_record_memory): New static variable.
6508 (cselib_lookup_mem, cselib_record_set, cselib_record_sets):
6509 Give up on memories when asked for.
6510 (cselib_init): Accept new argument.
6511 * cselib.h (cselib_init): Update prototype.
6512 * gcse.c (local_cprop_pass): Update call of cselib_init.
6513 * loop.c (load_mems): Update call of cselib_init.
6514 * postreload.c (reload_cse_regs_1): Update call of cselib_init.
6515 * sched-deps.c (sched_analyze): Update call of cselib_init.
6516
3b6ce0af
DE
65172004-03-04 David Edelsohn <edelsohn@gnu.org>
6518 GP <gp@qnx.com>
6519
6520 * config/rs6000/rs6000.c (output_function_profiler): Append @plt
6521 when compiling PIC.
6522
af931390
JZ
65232004-03-04 Josef Zlomek <zlomekj@suse.cz>
6524
6525 PR/14362
6526 * var-tracking.c (track_expr_p): Do not track variables which
6527 should be ignored for debugging purposes.
6528
ddc68564
AM
65292004-03-04 Alan Modra <amodra@bigpond.net.au>
6530
6531 * real.c (encode_ibm_extended): Don't bother rounding low double.
6532 * c-cppbuiltin.c (builtin_define_float_constants): Tweak MAX
6533 when fmt->pnan < fmt->p.
6534
ca87076c
EC
65352004-03-04 Eric Christopher <echristo@redhat.com>
6536
6537 * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Fix to check
6538 only range of valid arg registers and fixed_regs.
6539
1a402dc1
AM
65402004-03-04 Alan Modra <amodra@bigpond.net.au>
6541
6542 PR target/14406
6543 * config/rs6000/rs6000.md (abstf2, abstf2+1): Delete define_insn.
6544 (abstf2, abstf2_internal): New define_expand.
6545
6a2d136b
EB
65462004-03-04 Eric Botcazou <ebotcazou@libertysurf.fr>
6547
6548 PR optimization/14235
6549 * expr.c (convert_move): Copy the source to a new pseudo
6550 when converting from a sub-word source to a larger-than-word
6551 register which conflicts with the source.
6552
3205a71e
ZW
65532004-03-03 Zack Weinberg <zack@codesourcery.com>
6554
6555 PR 13728
6556 * c-decl.c (diagnose_mismatched_decls): Issue an error for two
6557 parameters with the same name, unless one is a forward decl.
6558 Do not issue a redundant-redeclaration warning for forward
6559 decls of parameters.
6560
e8d8a034
DE
65612004-03-04 David Edelsohn <edelsohn@gnu.org>
6562
6563 * doc/install.texi (*-ibm-aix*): Document use of Bash to speed up
6564 configuration.
6565
ebe29bbf
ILT
65662004-03-03 Ian Lance Taylor <ian@wasabisystems.com>
6567
6568 * ggc-zone.c (ggc_pch_write_object): Don't align file pointer.
6569
7cd60054
AM
65702004-03-04 Alan Modra <amodra@bigpond.net.au>
6571
6572 * target-def.h (TARGET_OPTF): Delete.
6573 * c-opts.c (TARGET_OPTF): Define.
6574
e654c19e
JH
65752004-03-04 Jan Hubicka <jh@suse.cz>
6576
6577 * cselib.c (cselib_finish): Fix another miss-application of my previous
6578 patch.
6579
94d1613b
MS
65802004-03-03 Mike Stump <mrs@apple.com>
6581
6582 Add framework support for darwin.
6583
6584 * c-incpath.c: Include target.h and machmode.h.
6585 (add_path): Use a consistent style for cpp_dir. Initialize
6586 p->construct to 0.
6587 (add_cpp_dir_path): New.
6588 (register_include_chains): Add use of extra_includes callback.
6589 (hook_void_int): Add.
6590 (target_c_incpath): Add.
6591 * c-incpath.h (add_cpp_dir_path): New.
6592 (target_c_incpath_s): Add.
6593 (target_c_incpath): Add.
6594 (C_INCPATH_INIT): Add.
6595 * c-opts.c (c_common_missing_argument,
6596 c_common_handle_option): Add -F argument processing.
6597 * c.opt: Add -F argument processing.
6598 * gcc.c (trad_capable_cpp): Add -F argument processing.
6599 * cppfiles.c (find_file_in_dir): Update to use construct
6600 callback.
6601 (search_path_exhausted, cpp_get_path, cpp_get_buffer,
6602 cpp_get_prev): New.
6603 (_cpp_find_file): Use search_path_exhausted.
6604 (make_cpp_dir): Initialize construct to 0.
6605 * cpplib.h (missing_header_cb
6606 cpp_get_path, cpp_get_buffer, cpp_get_file, cpp_get_prev): New.
6607 (cpp_callbacks): Add missing_header
6608 (cpp_dir): Add construct.
6609 * target-def.h: (TARGET_OPTF): New.
6610 * hooks.c (hook_void_int, hook_void_charptr): Add.
6611 * hooks.h (hook_void_int, hook_void_charptr): Add.
6612 * Makefile.in (c-incpath.o) : Add $(TARGET_H) and
6613 $(MACHMODE_H) dependencies.
6614 * doc/invoke.texi (Darwin Options): Document -F.
6615 * doc/tm.texi (TARGET_EXTRA_INCLUDES): Add.
6616 (TARGET_OPTF): Add.
6617 * fix-header.c (target_c_incpath): Add.
6618
6619 * config/darwin-c.c: Add c-incpath.h include.
6620 (using_frameworks, find_subframework_file,
6621 find_subframework_header, add_system_framework_path,
6622 frameworks_in_use, num_frameworks, max_frameworks,
6623 add_framework, find_framework, struct framework_header,
6624 framework_header_dirs, framework_construct_pathname,
6625 find_subframework_file, add_system_framework_path,
6626 add_framework_path, framework_defaults,
6627 darwin_register_frameworks, find_subframework_header): Add.
6628 * config/darwin.h (TARGET_EXTRA_INCLUDES, TARGET_OPTF): New.
6629 (TARGET_OPTION_TRANSLATE_TABLE): Add -framework support.
6630 (CPP_SPEC): Add __APPLE_CC__ support.
6631 * t-darwin (darwin-c.o): Add c-incpath.h dependency.
6632
0fc0c4c9
JH
66332004-03-04 Jan Hubicka <jh@suse.cz>
6634
6635 * cselib.c (cselib_finish): Fix miss-application of my previous
6636 patch.
6637
67dfe110
KH
66382004-03-03 Kazu Hirata <kazu@cs.umass.edu>
6639
6640 * hooks.c (hook_tree_tree_identity): New.
6641 * hooks.h: Add a prototype for hook_tree_tree_identity.
6642 * stmt.c (expand_asm_operands): Use targetm.md_asm_clobbers
6643 instead of MD_ASM_CLOBBERS.
6644 * system.h (MD_ASM_CLOBBERS): Poison.
6645 * target-def.h (TARGET_MD_ASM_CLOBBERS): New.
6646 (TARGET_INITIALIZER): Add TARGET_MD_ASM_CLOBBERS.
6647 * target.h (gcc_target): Add md_asm_clobbers.
6648 * config/i386/i386.c (TARGET_MD_ASM_CLOBBERS): New.
6649 (ix86_md_asm_clobbers): New.
6650 * config/i386/i386.h (MD_ASM_CLOBBERS): Remove.
6651 * doc/tm.texi (MD_ASM_CLOBBERS): Change to
6652 TARGET_MD_ASM_CLOBBERS.
6653
d79944f4 66542004-03-03 Stuart Hastings <stuart@apple.com>
67dfe110 6655
d79944f4 6656 * gcc/config.gcc: Arrange for Darwin/x86 to build libgcc_eh.a.
3205a71e 6657
fc9232c9
EB
66582004-03-03 Eric Botcazou <ebotcazou@libertysurf.fr>
6659
6660 * config/sparc/sparc.c (noov_compare64_op): Fix typo.
6661
6662 * config/sparc/sparc.h (ASM_FLOAT): Delete.
6663 (ASM_DOUBLE): Likewise.
6664 (ASM_LONGDOUBLE): Likewise.
6665 * config/sparc/pbd.h (ASM_INT_OP): Delete.
6666
b7048ab7
RH
66672003-03-03 Richard Henderson <rth@redhat.com>
6668
6669 PR opt/13862
6670 * cselib.c (cselib_record_sets): Don't record multiple sets in
6671 asm insns.
6672
f9957958
MH
66732004-03-03 Mostafa Hagog <mustafa@il.ibm.com>
6674
6675 * common.opt: Add description of the new -fgcse-after-reload flag.
6676
6677 * flags.h (flag_gcse_after_reload): Declaration of global variable.
6678
6679 * gcse.c (reg_used_on_edge ,reg_set_between_after_reload_p,
6680 reg_used_between_after_reload_p, rtx get_avail_load_store_reg,
6681 is_jump_table_basic_block, bb_has_well_behaved_predecessors,
6682 get_bb_avail_insn, hash_scan_set_after_reload,
6683 compute_hash_table_after_reload, eliminate_partially_redundant_loads,
6684 gcse_after_reload, get_bb_avail_insn): New functions to implement
6685 gcse-after-reload.
6686 (gcse_after_reload_main): New function, the main entry point to
6687 gcse-after-reload.
6688
6689 * rtl.h (gcse_after_reload_main): Declaration of the new function.
6690
6691 * opts.c (common_handle_option): Handle the -fgcse-after-reload flag.
6692
6693 * toplev.c (flag_gcse_after_reload): Initialization.
6694
6695 * passes.c (rest_of_handl_gcse2): Call gcse_after_reload_main.
6696
6697 * params.def (PARAM_GCSE_AFTER_RELOAD_PARTIAL_FRACTION,
6698 PARAM_GCSE_AFTER_RELOAD_CRITICAL_FRACTION): New parameters for tuning
6699 the gcse after reload optimization.
6700
6701 * params.h (GCSE_AFTER_RELOAD_PARTIAL_FRACTION,
6702 GCSE_AFTER_RELOAD_CRITICAL_FRACTION): Two macros to access the tuning
6703 parameters.
6704
6705 * doc/invoke.texi: Documentation for the new flag gcse-after-reload.
6706
6f6dedf5
NP
67072004-03-03 Nicolas Pitre <nico@cam.org>
6708
6709 * config/arm/ieee754-df.S (muldf3, divdf3): Fix denormalization of
6710 small negative values.
6711
6790d1ab
JH
67122004-03-03 Jan Hubicka <jh@suse.cz>
6713
6714 * cselib.c (hash_table): Remove GTY marker.
6715 (reg_values): Turn into array.
6716 (used_regs): Likewise.
6717 (n_used_regs): New static variable.
6718 (reg_values_old): Kill.
6719 (clear_table): Update uses of arrays.
6720 (cselib_lookup): Likewise.
6721 (cselib_record_set): Likewise.
6722 (cselib_init): Likewise.
6723 (cselib_finish): Likewise.
6724 (cselib_udpate_varray_sizes): Kill.
6725 * cselib.h (cselib_update_varray_sizes): Kill.
6726
33e6a97a
PB
67272004-03-03 Paul Brook <paul@codesourcery.com>
6728
6729 * flow.c (ior_reg_cond, and_reg_cond): Remove stray ")".
6730
b9dcdee4
JH
67312004-03-03 Jan Hubicka <jh@suse.cz>
6732
6733 * ggc-common.c (ggc_alloc_cleared_stat, ggc_realloc_stat):
6734 Rename from ...; make statistics transparent.
6735 (ggc_alloc_cleared, ggc_realloc_stat): ... these.
6736 (loc_descriptor): New structure.
6737 (hash_descriptor, eq_descriptor, loc_descriptor, cmp_statistics,
6738 add_statistics):
6739 New static function.
6740 (ggc_record_overhead, dump_statistics): New global function.
6741 * ggc-none.c (ggc_alloc_types_stat, ggc_alloc_stat, ggc_alloc_zone_stat,
6742 ggc_alloc_cleared_stat, ggc_realloc_stat, ggc_alloc_typed_stat): Rename
6743 from ...; accept locations
6744 (ggc_alloc_types, ggc_alloc, ggc_alloc_zone, ggc_alloc_cleared,
6745 ggc_realloc, ggc_alloc_typed): ... this one.
6746 from ...; accept locations
6747 * ggc-page.c (ggc_alloc_typed_stat, ggc_alloc_zone_stat,
6748 ggc_alloc_stat): Rename from ... ; pass locations
6749 * ggc-page.c (ggc_alloc_typed, ggc_alloc_zone, ggc_alloc):
6750 ... this one.
6751 (ggc_alloc_stat): Record overehead.
6752 * ggc.h (ggc_alloc_types, ggc_alloc, ggc_alloc_zone, ggc_alloc_cleared,
6753 ggc_realloc, ggc_alloc_typed): Turn to macros
6754 (ggc_alloc_types_stat, ggc_alloc_stat, ggc_alloc_zone_stat,
6755 ggc_alloc_cleared_stat, ggc_realloc_stat, ggc_alloc_typed_stat): Declare.
6756 (dump_ggc_loc_satistics, ggc_record_overehead): Declare.
6757 * langhooks.h (lhd_make_node): Declare.
6758 (LANG_HOOKS_MAKE_TYPE): Default to new function,
6759 * langhooks.c (lhd_make_node): New.
6760 * rtl.c (rtx_alloc_stat, swallow_copy_rtx_stat): Rename from ... ; pass
6761 locations.
6762 (rtx_alloc, swallow_copy_rtx): ... this one.
6763 * rtl.h (rtx_alloc, swallow_copy_rtx): Turn to macros.
6764 * rtl.c (rtx_alloc_stat, swallow_copy_rtx_stat): Declare.
6765 * toplpev.c (finalize): Dump stats.
6766 * tree.c (make_node_stat, copy_node_stat, make_tree_vec_stat,
6767 build_tree_list_stat, tree_cons_stat, build?_stat, build_decl_stat):
6768 Rename from ... ; pass locators.
6769 (make_node, copy_node, make_tree_vec, build_tree_list, tree_cons,
6770 build?, build_decl): Declare.
6771 * tree.h (make_node_stat, copy_node_stat, make_tree_vec_stat,
6772 build_tree_list_stat, tree_cons_stat, build?_stat, build_decl_stat):
6773 Declare.
6774 (make_node, copy_node, make_tree_vec, build_tree_list, tree_cons,
6775 build?, build_decl): New macros.
6776 * Makefile.in (RTL_H, TREE_H): Add statistics.h dependency.
6777 * statistics.h: New file.
6778
6ba7b547
MR
67792004-03-03 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
6780 Richard Sandiford <rsandifo@redhat.com>
6781
6782 * config/mips/mips.h (MASK_FIX_SB1): Bump.
6783 (MASK_FIX_R4400, TARGET_FIX_R4400): New macros.
6784 (TARGET_SWITCHES): Add -mfix-r4400 and -mno-fix-r4400.
6785 * config/mips/mips.c (mips_output_division): Fill the branch delay
6786 slot with a nop if TARGET_FIX_R4000. Extend R4000 workarounds to
6787 TARGET_FIX_R4400.
6788 (mips_output_division): Adjust accordingly.
6789 (override_options): Make -march=r4400 imply -mfix-r4400 by default.
6790 * doc/invoke.texi: Document -mfix-r4400 and new errata workarounds.
6791
ec8e098d
PB
67922004-03-03 Paolo Bonzini <bonzini@gnu.org>
6793
6794 * alias.c (rtx_equal_for_memref_p): Use predicates
6795 to test rtx classes and new rtx class codes, possibly
6796 splitting conditionals that tested against '<' and 'o'.
6797 * caller-save.c (save_call_clobbered_regs): Likewise.
6798 * combine.c (contains_muldiv, find_split_point, subst,
6799 combine_simplify_rtx, simplify_if_then_else,
6800 simplify_set, simplify_logical, expand_compound_operation,
6801 make_compound_operation, if_then_else_cond, known_cond,
6802 apply_distributive_law, cached_nonzero_bits,
6803 cached_num_sign_bit_copies, simplify_shift_const,
6804 gen_binary, simplify_comparison, update_table_tick,
6805 record_value_for_reg, get_lsat_value_validate): Likewise.
6806 * cse.c (mention_regs, find_best_addr, find_comparison_args,
6807 fold_rtx, cse_insn, invalidate_memory, cse_basic_block):
6808 Likewise.
6809 * emit-rtl.c (copy_insn_1): Likewise.
6810 * expr.c (force_operand): Likewise.
6811 * final.c (final_scan_insn, get_mem_expr_from_op): Likewise.
6812 * flow.c (notice_stack_pointer_modification_1,
6813 invalidate_mems_from_autoinc, ior_reg_cond, not_reg_cond,
6814 and_reg_cond, elim_reg_cond): Likewise.
6815 * function.c (update_epilogue_consts): Likewise.
6816 * genattrtab.c (attr_rtx_1): Likewise.
6817 * genopinit.c (gen_insn): Likewise.
6818 * integrate.c (subst_constants): Likewise.
6819 * jump.c (reversed_comparison_code_parts,
6820 reversed_comparison_code, delete_related_insns,
6821 rtx_renumbered_equal_p): Likewise.
6822 * local-alloc.c (block_alloc): Likewise.
6823 * loop.c (rtx_equal_for_prefetch_p, maybe_eliminate_biv,
6824 canonicalize_condition): Likewise.
6825 * loop-iv.c (simplify_using_conditions, iv_number_of_iterations):
6826 Likewise.
6827 * optabs.c (add_equal_node, expand_binop): Likewise.
6828 * predict.c (estimate_probability): Likewise.
6829 * ra-debug.c (ra_print_rtx_2op, ra_print_rtx): Likewise.
6830 * recog.c (validate_replace_rtx_1, comparison_operator,
6831 offsettable_address_p, constrain_operands): Likewise.
6832 * reg-stack.c (swap_rtx_condition_1, subst_stack_regs_pat):
6833 Likewise.
6834 * regclass.c (scan_one_insn): Likewise.
6835 * regmove.c (stable_and_no_regs_but_for_p): Likewise.
6836 * regrename.c (kill_autoinc_value): Likewise.
6837 * reload.c (find_reusable_reload, find_reloads,
6838 reg_overlap_mentioned_for_reload_p): Likewise.
6839 * reload1.c (gen_reload, delete_address_reloads_1): Likewise.
6840 * rtl.c (copy_rtx): Likewise.
6841 * rtl.h (CONSTANT_P, INSN_P): Likewise.
6842 * rtlanal.c (commutative_operand_precedence): Likewise.
6843 * sched-deps.c (conditions_mutex_p): Likewise.
6844 * sched-rgn.c (is_cfg_nonregular): Likewise.
6845 * simplify-rtx.c (simplify_gen_binary,
6846 simplify_gen_relational, simplify_replace_rtx,
6847 simplify_unary_operation, simplify_binary_operation,
6848 simplify_ternary_operation, simplify_rtx): Likewise.
6849 * unroll.c (reg_dead_after_loop): Likewise.
6850 * config/alpha/alpha.c (alpha_swapped_comparison_operator,
6851 print_operand): Likewise.
6852 * config/arc/arc.c (proper_comparison_operator): Likewise.
6853 * config/arm/arm.c (arm_arm_address_cost, arm_select_cc_mode):
6854 Likewise.
6855 * config/avr/avr.c (_reg_unused_after): Likewise.
6856 * config/frv/frv.c (frv_ifcvt_modify_tests,
6857 frv_ifcvt_modify_insn, frv_pack_insn): Likewise.
6858 * config/i386/i386.c (ix86_comparison_operator,
6859 ix86_carry_flag_operator, fcmov_comparison_operator,
6860 arith_or_logical_operator, print_operand,
6861 ix86_expand_binary_operator, ix86_binary_operator_ok):
6862 Likewise.
6863 * config/i386/i386.md: Likewise.
6864 * config/ia64/ia64.c (not_postinc_memory_operand,
6865 ia64_print_operand, update_set_flags, errata_emit_nops):
6866 Likewise.
6867 * config/ia64/ia64.h (PREFERRED_RELOAD_CLASS,
6868 CONSTRAINT_OK_FOR_S): Likewise.
6869 * config/ip2k/ip2k.c (mdr_resequence_xy_yx,
6870 mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
6871 ip2k_xexp_not_uses_reg_for_mem, ip2k_xexp_not_uses_reg_p,
6872 ip2k_composite_xexp_not_uses_reg_p, ip2k_unary_operator):
6873 Likewise.
6874 * config/iq2000/iq2000.c (cmp_op, symbolic_expression_p,
6875 eqne_comparison_operator, signed_comparison_operator):
6876 Likewise.
6877 * config/mips/mips.c (cmp_op, symbolic_expression_p):
6878 Likewise.
6879 * config/mmix/mmix (mmix_foldable_comparison_operator,
6880 mmix_comparison_operator): Likewise.
6881 * config/pa/pa.c (hppa_legitimize_address): Likewise.
6882 * config/rs6000/rs6000.c (stmw_operation,
6883 branch_comparison_operator, trap_comparison_operator,
6884 ccr_bit): Likewise.
6885 * config/rs6000/rs6000.h (SELECT_CC_MODE): Likewise.
6886 * config/s390/s390.c (s390_alc_comparison,
6887 s390_slb_comparison):L Likewise.
6888 * config/sh/sh.c (gen_block_redirect, reg_unused_after):
6889 Likewise.
6890 * config/sparc/sparc.c (eq_or_neq, normal_comp_operator,
6891 noov_compare_op, noov_compare64_op, v9_regcmp_op,
6892 emit_hard_tfmode_operation, reg_unused_after)
6893 * doc/md.texi, doc/rtl.texi: Likewise.
6894
6895 * ra-debug.c: Add 2004 to list of copyright years.
6896 * unroll.c: Likewise.
6897
6898 * combine.c (simplify_logical): Remove dummy test,
6899 (apply_distributive_law): Fix typo in comment.
6900 GET_CODE (x) == AND so x is a commutative binary op.
6901 * jump.c (delete_related_insns): simplify loop
6902 condition, move testing of RTX codes inside the loop.
6903 (rtx_renumbered_equal_p): do not use RTX_CODE.
6904 * rtl.c (rtx_class): Declare as enum rtx_class.
6905 * rtl.def (EQ, NE, UNEQ, LTGT, UNORDERED, ORDERED):
6906 Move to RTX_COMM_COMPARE class.
6907 (HIGH, SYMBOL_REF, LABEL_REF, CONST, CONST_INT, CONST_DOUBLE):
6908 Move to RTX_CONST_OBJ class.
6909 * rtl.h (enum rtx_class): New declaration,
6910 (RTX_OBJ_MASK, RTX_OBJ_RESULT, RTX_COMPARE_MASK,
6911 RTX_COMPARE_RESULT, RTX_ARITHMETIC_MASK, RTX_ARITHMETIC_RESULT,
6912 RTX_BINARY_MASK, RTX_BINARY_RESULT, RTX_COMMUTATIVE_MASK,
6913 RTX_COMMUTATIVE_RESULT, RTX_NON_COMMUTATIVE_RESULT,
6914 RTX_EXPR_FIRST, RTX_EXPR_LAST, UNARY_P, BINARY_P,
6915 ARITHMETIC_P, COMMUTATIVE_ARITHMETIC_P, COMPARISON_P,
6916 SWAPPABLE_OPERANDS_P, NON_COMMUTATIVE_P, COMMUTATIVE_P,
6917 OBJECT_P): New macros.
6918 * config/sparc/sparc.c (noov_compare_op): Remove register
6919 from parameter.
6920
a841ab8b
KH
69212004-03-03 Kazu Hirata <kazu@cs.umass.edu>
6922
6923 * target.h: Remove texi jargons in comments.
6924
cb36ddba
KH
69252004-03-02 Kazu Hirata <kazu@cs.umass.edu>
6926
6927 * config/h8300/lib1funcs.asm (___fixunssfsi): Change the
6928 threshold to 0x4f.
6929
6930 Revert:
6931 2004-02-27 Kazu Hirata <kazu@cs.umass.edu>
6932 * config/h8300/fixunssfsi.c (__fixunssfsi): Enable on H8/300
6933 as well.
6934 * config/h8300/lib1funcs.asm (___fixunssfsi): Remove.
6935 * config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _fixunssfsi_asm.
6936
66c87bae
KH
69372004-03-02 Kazu Hirata <kazu@cs.umass.edu>
6938
6939 * doc/md.texi (cbranchmode4): New.
6940
91e01231
EC
69412004-03-02 Eric Christopher <echristo@redhat.com>
6942
6943 * config/mips/mips16.S: Change fixsfsi and fixdfsi to
6944 fix_trunc.
6945 * config/mips/mips.c (mips_init_libfuncs): Change accordingly.
6946 * config/mips/t-elf (LIB1ASMFUNCS): Ditto.
6947 * config/mips/t-isa3264 (LIB1ASMFUNCS): Ditto.
6948 * config/mips/t-r3900 (LIB1ASMFUNCS): Ditto.
6949
27ab3e91
RH
69502004-03-02 Richard Henderson <rth@redhat.com>
6951
3205a71e
ZW
6952 PR middle-end/11767
6953 * coverage.c (coverage_counter_ref): Set MEM_NOTRAP_P.
6954 * optabs.c (prepare_cmp_insn): Force trapping memories to registers
6955 before the compare, if flag_non_call_exceptions.
27ab3e91 6956
0eadce52
RH
69572004-03-02 Richard Henderson <rth@redhat.com>
6958
6959 PR middle-end/14327
6960 * stmt.c (expand_computed_goto): Do do_pending_stack_adjust before
6961 emitting the label, not after.
6962
de70723b
SC
69632004-03-02 Stephane Carrez <stcarrez@nerim.fr>
6964
6965 * config/m68hc11/m68hc11.c (m68hc11_addr_mode): New variable.
6966 (m68hc11_mov_addr_mode): Likewise.
6967 (m68hc11_override_options): Initialize them based on target.
6968 (register_indirect_p): Allow a MEM for indirect addressing modes and
6969 use flags to control what is allowed.
6970 (m68hc11_small_indexed_indirect_p): Use m68hc11_mov_addr_mode for
6971 supported addressing modes.
6972 (m68hc11_register_indirect_p): Use m68hc11_addr_mode.
6973 (go_if_legitimate_address_internal): Likewise.
6974 (m68hc11_indirect_p): Likewise and check the mode.
6975 (print_operand): Allow a (MEM (MEM)) and generate indirect addressing.
6976
d6da68b9
KH
69772004-03-02 Kazu Hirata <kazu@cs.umass.edu>
6978
6979 * builtins.c (BUILTIN_SETJMP_FRAME_VALUE): Remove.
6980 (expand_builtin_setjmp_setup): Use
6981 targetm.builtin_setjmp_frame_value instead of
6982 BUILTIN_SETJMP_FRAME_VALUE.
6983 * system.h (BUILTIN_SETJMP_FRAME_VALUE): Poison.
6984 * target-def.h (TARGET_BUILTIN_SETJMP_FRAME_VALUE): New.
6985 (TARGET_INITIALIZER): Add TARGET_BUILTIN_SETJMP_FRAME_VALUE.
6986 * target.h (gcc_target): Add builtin_setjmp_frame_value.
6987 * targhooks.c (default_builtin_setjmp_frame_value): New.
6988 * targhooks.h: Add a prototype for
6989 default_builtin_setjmp_frame_value.
6990 * doc/tm.texi (BUILTIN_SETJMP_FRAME_VALUE): Change to
6991 TARGET_BUILTIN_SETJMP_FRAME_VALUE.
6992
d87e83b9
SC
69932004-03-02 Stephane Carrez <stcarrez@nerim.fr>
6994
6995 * config/m68hc11/m68hc11.md (move peephole2): New peepholes to optimize
6996 sequences of moves.
6997 (add peepholes): New peepholes to optimize sequences adding small
6998 constants.
6999 (bset peepholes): New peepholes to transform an OR in a bset form
7000 (bclr peepholes): Likewise for bclr form.
7001 (cmp peepholes): New peepholes to avoid register copies when comparing.
7002
d5111c9c
SC
70032004-03-02 Stephane Carrez <stcarrez@nerim.fr>
7004
7005 * config/m68hc11/m68hc11.md ("*pushdi_internal"): New insn and split
7006 to separate push from moves.
7007 ("*pushdf_internal"): Likewise.
7008 ("*pushsf_internal"): Likewise.
7009 ("*pushsi_internal"): Likewise.
7010 ("movdi_internal"): Use define_insn_and_split; non push operand.
7011 ("movdf_internal"): Likewise.
7012 ("movsf_internal"): Likewise.
7013 ("movsi_internal"): Likewise.
7014 ("*movhi_68hc12", "*addhi3_68hc12"): Fix and tune constraints
7015 ("*addhi3", "*subhi3", "*andhi3_mem", "*iorhi3_mem"): Likewise.
7016 ("*ashlsi3_const1", "*lshrsi3_const1"): Likewise.
7017
9449502d
SC
70182004-03-02 Stephane Carrez <stcarrez@nerim.fr>
7019
7020 * config/m68hc11/m68hc11.md ("tstqi_z_used"): Use define_insn_and_split.
7021 ("cmphi_z_used", "cmpqi_z_used"): Likewise.
7022 ("movstrictsi", "movstricthi", "movstrictqi"): Likewise.
7023 ("anddi3", "andsi3", "iordi3", "iorsi3"): Likewise.
7024 ("xordi3", "xorsi3", "*logicalsi3_zexthi"): Likewise.
7025 ("*logicalsi3_zextqi", "*logicalhi3_zexthi_ashift8"): Likewise.
7026 ("logicalhi3_zexthi", "*logicalsi3_silshr16"): Likewise.
7027 ("*logicalsi3_silshl16", "*logicalsi3_silshl16_zext"): Likewise.
7028 ("*ashldi3_const32", "*ashldi3_const1", "addsi_silshr16"): Likewise.
7029 ("addsi_andshr16", "*ashlsi3_const16_zexthi"): Likewise.
7030 ("*lshrdi3_const32", "*lshrdi_const1"): Likewise.
7031
b90f3299
SC
70322004-03-02 Stephane Carrez <stcarrez@nerim.fr>
7033
7034 * config/m68hc11/m68hc11.md (SOFT_TMP_REGNUM): Define.
7035 (SOFT_XY_REGNUM): Define.
7036 (cmp split): Use the above instead of hard coded numbers.
7037 (8-bit op split): No need to check the mode; allow Q_REG.
7038 (ashift split): Adjust the first operand if it uses the SP and we
7039 are pushing the shifted value.
7040 (plus shift split): Fix when a source is in register D+X.
7041 ("doloop_end"): Pass dummy arguments to gen_rtx_NE.
7042
77d2a36d
SC
70432004-03-02 Stephane Carrez <stcarrez@nerim.fr>
7044
7045 * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix when
7046 comparing with Z register.
7047
f2dca510
ZD
70482004-03-02 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7049
7050 * cfgloop.h (struct loop_desc): Removed.
7051 (struct loop): Fields simple, desc and has_desc removed.
7052 (simple_loop_p, count_loop_iterations): Declaration removed.
7053 * cfgloopanal.c (struct unmark_altered_insn_data): Removed.
7054 (unmark_altered, blocks_invariant_registers, unmark_altered_insn
7055 blocks_single_set_registers, invariant_rtx_wrto_regs_p_helper,
7056 invariant_rtx_wrto_regs_p, test_for_iteration, constant_iterations,
7057 simple_loop_exit_p, variable_initial_value, variable_initial_values,
7058 simple_condition_p, simple_increment, count_strange_loop_iterations,
7059 inverse, fits_in_mode_p, simple_loop_p, count_loop_iterations):
7060 Removed.
7061 * loop-iv.c (check_simple_exit, find_simple_exit): Update comments.
7062
87ca8b8c
KH
70632004-03-02 Kazu Hirata <kazu@cs.umass.edu>
7064
7065 * genattrtab.c: Don't handle MATCH_INSN.
7066 * genrecog.c: Likewise.
7067 * gensupport.c: Likewise.
7068 * rtl.def (match_insn): Remove.
7069 * doc/md.texi (match_insn, match_insn2): Remove.
7070
bdc2893c
MM
70712004-03-02 Mark Mitchell <mark@codesourcery.com>
7072
7073 * doc/c-tree.texi (DECL_ASSEMBLER_NAME): Mention that using this
7074 macro results in memory allocation.
7075
2de2f846
DB
70762004-03-02 David O'Brien <obrien@FreeBSD.org>
7077
7078 * config/freebsd-spec.h (FBSD_DYNAMIC_LINKER): Add.
7079 * config/alpha/freebsd.h (SUBTARGET_EXTRA_SPECS): Define
7080 %(fbsd_dynamic_linker),
7081 (LINK_SPEC): Use %(fbsd_dynamic_linker), and sync style with
7082 config/i386/freebsd.h
7083 * config/arm/freebsd.h: Ditto.
7084 * config/i386/freebsd.h: Ditto.
7085 * config/i386/freebsd64.h: Ditto.
7086 * config/ia64/freebsd.h: Ditto.
7087 * config/rs6000/sysv4.h: Ditto.
7088 * config/sparc/freebsd.h: Ditto.
7089
f08dc6c1
LR
70902004-03-02 Loren James Rittle <ljrittle@acm.org>
7091
7092 * gcc/doc/install.texi (*-*-freebsd*): Update target information.
7093
c24938d4
KH
70942004-03-02 Kazu Hirata <kazu@cs.umass.edu>
7095
7096 * rtl.def (define_combine): Remove.
7097
ba29f5de
KH
70982004-03-02 Kazu Hirata <kazu@cs.umass.edu>
7099
7100 * config/h8300/h8300.md: Tweak formatting.
7101
a5a0ab45
KH
71022004-03-02 Kazu Hirata <kazu@cs.umass.edu>
7103
7104 * config/h8300/h8300.md (*cmphi_h8300): Rename to
7105 *cmphi_h8300_znvc.
7106 (*cmphi_h8300hs): Rename to *cmphi_h8300hs_znvc.
7107
e451301f
MM
71082004-03-01 Mark Mitchell <mark@codesourcery.com>
7109
7110 PR bootstrap/14356
7111 * gcc.c (process_command): Remove const-qualification from argv.
7112 (main): Likewise.
7113
b698e58b
KH
71142004-03-02 Kazu Hirata <kazu@cs.umass.edu>
7115
7116 * config/h8300/h8300.md (pushqi1_h8300hs): Rename to
7117 pushqi1_h8300hs_advanced. Adjust its caller.
7118 (pushhi1_h8300hs): Rename to pushhi1_h8300hs_advanced.
7119 Adjust its caller.
7120
a5c40cfb 71212004-03-02 Nicolas Roche <roche@act-europe.fr>
3a41db81
NR
7122
7123 * Makefile.in (install-libgcc, install-multilib): Pass
7124 mkinstalldirs var to libgcc.mk.
7125
fdf89bf5
KH
71262004-03-01 Kazu Hirata <kazu@cs.umass.edu>
7127
7128 * system.h (DBX_OUTPUT_STANDARD_TYPES): Poison.
7129 * doc/tm.texi (DBX_OUTPUT_STANDARD_TYPES): Remove.
7130
0e26895c
KH
71312004-03-01 Kazu Hirata <kazu@cs.umass.edu>
7132
7133 * config/h8300/h8300.c (gtle_operator): Accept GT and LE.
7134 * config/h8300/h8300.md: Split several peephole2's, each into
7135 two.
7136
738ed977
ZD
71372004-03-02 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7138
7139 * dominance.c (recount_dominator): Handle postdominators.
7140
e245bd81
RS
71412004-03-01 Richard Sandiford <rsandifo@redhat.com>
7142
7143 * config/mips/mips-protos.h (enum mips_symbol_type): Move from mips.h.
7144 (NUM_SYMBOL_TYPES): Likewise.
7145 (SYMBOL_64_HIGH, SYMBOL_64_MID, SYMBOL_64_LOW): New symbol types.
7146 (mips_unspec_address): Declare.
7147 (mips_gotoff_page, mips_gotoff_global): Delete.
7148 * config/mips/mips.h (PREDICATE_CODES): Add general_symbolic_operand.
7149 * config/mips/mips.c (enum mips_symbol_type, NUM_SYMBOL_TYPES): Delete.
7150 (mips_symbolic_constant_p, mips_symbolic_address_p)
7151 (mips_symbol_insns): Handle new symbol types.
7152 (general_symbolic_operand): New predicate.
7153 (mips_unspec_address): Make extern.
7154 (mips_gotoff_page, mips_gotoff_global): Delete.
7155 (override_options): Allow -mabi=64 -mno-abicalls -mexplicit-relocs.
7156 Handle new symbol types.
7157 * config/mips/mips.md (*lea_high64, *lea64): New patterns.
7158 (*xgot_hi[sd]i, *xgot_lo[sd]i, *got_disp[sd]i, *got_disp[sd]i): Call
7159 mips_unspec_address directly.
7160 * doc/invoke.texi: Remove the -mabi=64 -mno-abicalls exception from
7161 the documentation of -mexplicit-relocs.
7162
9bf793f9
JL
71632004-03-01 Jeff Law <law@redhat.com>
7164
7165 * fold-const.c (fold): An equality comparison of a non-weak object
7166 against zero has a known result. Similarly an equality comparison
7167 of the address of two non-weak, unaliased symbols has a known result.
91e01231 7168
9bf793f9
JL
7169 * ggc-page.c (struct page_entry): New field PREV.
7170 (ggc_alloc): Update PREV field appropriately.
7171 (sweep_pages): Likewise.
7172 (ggc_free): Likewise. Use PREV field rather than loop to
7173 improve ggc_free performance.
91e01231 7174
c9e0ce37
RS
71752004-03-01 Richard Sandiford <rsandifo@redhat.com>
7176
7177 * config/mips/mips.c (mips_output_division): Use the division
7178 instruction to fill the delay slot of a zero check.
7179 (mips_idiv_insns): Adjust accordingly.
7180
65d151a7
NN
71812004-03-01 Nathanael Nerode <neroden@gcc.gnu.org>
7182
7183 * config.gcc: Create a default tmake_file for linux, and use
7184 it in all but two linux clauses. Comment those two.
7185
9a5a17f3
PB
71862004-03-01 Paolo Bonzini <bonzini@gnu.org>
7187
7188 * combine.c (try_combine): Do not refer to is_replaced.
7189 (gen_lowpart_for_combine): Perverse subregs now have a
7190 more politically correct name.
7191 * cse.c (cse_insn): Likewise.
7192 * jump.c: Fix bogus reference to delete_insn.
7193
c5b6f18e
MM
71942004-02-29 Mark Mitchell <mark@codesourcery.com>
7195
5bb2ed2c
MM
7196 PR debug/14328
7197 * dwarf2out.c (gen_enumeration_type_die): Output all enumeration
7198 constants as signed values.
7199
c5b6f18e
MM
7200 PR middle-end/13448
7201 * c-tree.h (readonly_warning): Rename to ...
7202 (readonly_error): ... this.
7203 * c-typeck.c (build_unary_op): Adjust accordingly.
7204 (readonly_warning): Rename to ...
7205 (readonly_error): ... this and issue errors, not warnings.
7206 (build_modify_expr): Call readonly_error, not readonly_warning.
7207 (c_expand_asm_operands): Likewise.
7208 * tree-inline.c (optimize_inline_calls): Do not inline functions
7209 after errors have occurred.
7210
8bb915b6
NN
72112004-02-29 Nathanael Nerode <neroden@gcc.gnu.org>
7212
7213 * configure.ac: Rearrange some threading code for clarity;
7214 add section comment.
7215 * configure: Regenerate.
7216
4ee31f1e
KH
72172004-02-29 Kazu Hirata <kazu@cs.umass.edu>
7218
7219 * passes.c, config/frv/frv.c, config/sh/sh.c: Fix comment
7220 typos.
7221 * doc/cppopts.texi: Fix a typo.
7222
15ec19b9
KH
72232004-02-29 Kazu Hirata <kazu@cs.umass.edu>
7224
7225 * config/i386/i386.md: Fix formatting.
7226
cbff2c1c
NN
72272004-02-29 Nathanael Nerode <neroden@gcc.gnu.org>
7228
630327c3
NN
7229 * configure.ac: Add some comments delineating sections of code.
7230
38fe9090
NN
7231 * doc/install.texi: Note that libada uses autoconf 2.57 also.
7232
42fce956
NN
7233 * doc/install.texi: Fix idiot typo in previous commit.
7234
cbff2c1c
NN
7235 * doc/install.texi: Update for conversion of intl to autoconf 2.57.
7236
c8574b54
KH
72372004-02-29 Kazu Hirata <kazu@cs.umass.edu>
7238
7239 * config/h8300/h8300.md: Add comments about peephole2's.
7240
2f537af9
KH
72412004-02-29 Kazu Hirata <kazu@cs.umass.edu>
7242
7243 * config/h8300/h8300.md: Tweak operand numbers of some
7244 peephole2's.
7245
a207f649
KH
72462004-02-29 Kazu Hirata <kazu@cs.umass.edu>
7247
7248 * config/h8300/h8300.md: Tweak comments about peephole2's.
7249
bc41842b
RS
72502004-02-29 Waldek Hebisch <hebisch@math.uni.wroc.pl>
7251
7252 PR middle-end/14203
7253 * function.c (uninitialized_vars_warning): Use DECL_RTL_SET_P
7254 instead of testing whether DECL_RTL is not NULL.
7255
832a3292
KH
72562004-02-28 Kazu Hirata <kazu@cs.umass.edu>
7257
7258 * config/sh/sh.c: Fix formatting.
7259
508ea1c5
KH
72602004-02-28 Kazu Hirata <kazu@cs.umass.edu>
7261
7262 * config/sh/sh.c: Convert to ISO-C.
7263
dd833c7b 72642004-02-28 Andrew Pinski <pinskia@physics.uc.edu>
91e01231 7265
8cd6bdd1
AP
7266 * c-typeck.c (tagged_types_tu_compatible_p): Fix pasto in
7267 my previous patch.
dd833c7b
AP
7268
7269 * config/darwin.h (machopic_finish): Output stub even if the
7270 symbol is already defined.
7271
5f190838
JDA
72722004-02-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7273
7274 * pa64-hpux.h (LIB_SPEC): Fix linking under HP-UX 11.00 with -p and -pg.
7275
c1a41c2f
KH
72762004-02-28 Kazu Hirata <kazu@cs.umass.edu>
7277
7278 * genattr.c (main): Don't define
7279 TRADITIONAL_PIPELINE_INTERFACE or DFA_PIPELINE_INTERFACE.
7280 * system.h (TRADITIONAL_PIPELINE_INTERFACE): Poison.
7281 (DFA_PIPELINE_INTERFACE): Likewise.
7282 * doc/tm.texi (TRADITIONAL_PIPELINE_INTERFACE): Remove.
7283 (DFA_PIPELINE_INTERFACE): Likewise.
7284
757f9053
RS
72852004-02-28 Richard Sandiford <rsandifo@redhat.com>
7286
7287 * config/mips/mips.md (tstsi, tstdi): Delete.
7288
23cf6987
MR
72892004-02-28 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
7290
91e01231 7291 * config/mips/mips.c (override_options): Remove an obsolete
23cf6987
MR
7292 duplicate definition of the "e" constraint.
7293 * config/mips/mips.h: Update a comment accordingly.
7294
bddbfe5f
MR
72952004-02-28 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
7296
7297 * config/mips/mips.md: Complete the unfinished R4000
7298 multiply/shift errata workaround. Improve documentation.
7299 (hazard): Use TARGET_FIX_R4000 to decide whether an "imul" instruction
7300 has a hilo hazard.
7301 (mulsi3, mulsi3_internal, mulsi3_r4000): Use TARGET_FIX_R4000.
7302 (muldi3, muldi3_internal): Likewise.
7303 (muldi3_internal2): Remove, replacing with...
7304 (muldi3_mult3, muldi3_r4000): ...these new patterns.
7305 (mulsidi3): Take the errata into account.
7306 (mulsidi3_32bit): Remove, replacing with...
7307 (mulsidi3_32bit_internal, mulsidi3_32bit_r4000): ...these new patterns.
7308 (mulsidi3_64bit, mulsidi3_64bit_parts): Disable if TARGET_FIX_R4000.
7309 (umulsidi3): Take the errata into account.
7310 (umulsidi3_32bit): Remove, replacing with..
7311 (umulsidi3_32bit_internal, umulsidi3_32bit_r4000): ...these patterns.
7312 (umulsi3_highpart, umulsi3_highpart_internal): Disable if
7313 TARGET_FIX_R4000.
7314 (smulsi3_highpart, smulsi3_highpart_internal): Likewise.
7315 (smuldi3_highpart, umuldi3_highpart): Likewise.
7316 * doc/invoke.texi: Document the errata workaround.
7317
46490403
MR
73182004-02-28 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
7319
7320 * config/mips/mips-protos.h (mips_idiv_insns): Declare.
7321 * config/mips/mips.h (MASK_FIX_SB1): Bump.
7322 (MASK_FIX_R4000, TARGET_FIX_R4000): New macros.
7323 (TARGET_SWITCHES): Add -mfix-r4000 and -mno-fix-r4000.
7324 * config/mips/mips.c (mips_idiv_insns): New function.
7325 (override_options): Make -march=r4000 imply -mfix-r4000 by default.
7326 (mips_output_division): Add a workaround for the R4000 divide/shift
7327 errata.
7328 * config/mips/mips.md (length): Use mips_idiv_insns() to calculate
7329 the length of an "idiv" instruction.
7330 * doc/invoke.texi: Document the new switches.
7331
1b2c3767
KH
73322004-02-28 Kazu Hirata <kazu@cs.umass.edu>
7333
7334 * doc/tm.texi (IS_COSTLY_DEPENDENCE): Change to
7335 TARGET_SCHED_IS_COSTLY_DEPENDENCE.
7336
79771cc4
ZD
73372004-02-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7338
7339 PR optimization/14229
7340 * cfgrtl.c (rtl_tidy_fallthru_edge): Do not fail for !onlyjump jump.
7341
68a1a5da
EB
73422004-02-28 Eric Botcazou <ebotcazou@act-europe.fr>
7343
7344 * fold-const.c (fold): Strip NOPs that change the signedness
7345 for RSHIFT too. Expand comment.
7346
a10016d3
ILT
73472004-02-27 Ian Lance Taylor <ian@wasabisystems.com>
7348
7349 PR optimization/7871
7350 * flow.c (mark_set_1): Don't add LOG_LINKS for global registers
68a1a5da 7351 from or to call insns.
a10016d3
ILT
7352
73532004-02-27 Eric Botcazou <ebotcazou@libertysurf.fr>
7354
7355 PR optimization/7871
7356 * flow.c (propagate_one_insn): Interpret calls as setting global
7357 registers, not merely clobbering them.
7358
b30e1617 73592004-02-27 Dale Johannesen <dalej@apple.com>
a10016d3 7360
b30e1617
DJ
7361 * config/darwin.c (machopic_output_possible_stub_label): Remove.
7362 config/darwin-protos.h: Ditto.
7363 config/darwin.h: Remove call to it.
7364 * combine.c (distribute_notes): Do not place a REG_DEAD note
7365 when value is both set and used.
7366
bbc51dc2
KH
73672004-02-27 Kazu Hirata <kazu@cs.umass.edu>
7368
7369 * config/h8300/fixunssfsi.c (__fixunssfsi): Enable on H8/300
7370 as well.
7371 * config/h8300/lib1funcs.asm (___fixunssfsi): Remove.
7372 * config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _fixunssfsi_asm.
7373
dedbabed
AP
73742004-02-27 Andrew Pinski <apinski@apple.com>
7375
7376 * c-typeck.c (tagged_types_tu_compatible_p) <ENUMERAL_TYPE>:
7377 Speedup common case of the type values being in the same order.
7378
b6b979d4
SE
73792004-02-27 Steve Ellcey <sje@cup.hp.com>
7380
7381 * config/ia64/ia64.h (no-inline-float-divide): New option.
7382 * config/ia64/ia64.h (no-inline-int-divide): New option.
7383 * config/ia64/ia64.h (no-inline-sqrt): New option.
7384 (TARGET_DEFAULT): Add MASK_INLINE_FLOAT_DIV_THR to define.
7385 * config/ia64/hpux.h (TARGET_DEFAULT): Ditto.
7386 * config/ia64/ia64.c (ia64_override_options): Modify error
7387 checking for inlined division/sqrt.
7388
88462c42
KH
73892004-02-27 Kazu Hirata <kazu@cs.umass.edu>
7390
7391 * bb-reorder.c, cfgbuild.c, diagnostic.c, explow.c, profile.c,
7392 ra-build.c, read-rtl.c, tracer.c, unwind-dw2-fde-glibc.c,
7393 value-prof.c, config/darwin-protos.h, config/frv/frv-abi.h,
7394 config/i386/pmmintrin.h, config/pa/pa-hpux.h: Update
7395 copyright.
7396
53c428d0
PB
73972004-02-27 Paul Brook <paul@codesourcery.com>
7398
7399 * function.c (assign_parms): Don't count pretend args for alignment.
7400
f6db1481
RH
74012004-02-27 Richard Henderson <rth@redhat.com>
7402
7403 * passes.c: New file.
7404 * Makefile.in (OBJS-common): Add it.
7405 * diagnostic.c (rtl_dump_and_exit): Move decl ...
7406 * flags.h (rtl_dump_and_exit): ... here.
91e01231 7407 * output.h (size_directive_output, last_assemble_variable_decl):
f6db1481
RH
7408 Move from toplev.c.
7409 * rtl.h (reg_alloc): Move from toplev.c.
7410 * toplev.c (HAVE_conditional_execution, DUMPFILE_FORMAT,
7411 struct dump_file_info, enum dump_file_index, dump_file_tbl,
7412 open_dump_file, close_dump_file, rest_of_decl_compilation,
7413 rest_of_type_compilation, rest_of_handle_final,
91e01231 7414 rest_of_handle_delay_slots, rest_of_handle_stack_regs,
f6db1481
RH
7415 rest_of_handle_variable_tracking, rest_of_handle_machine_reorg,
7416 rest_of_handle_new_regalloc, rest_of_handle_old_regalloc,
7417 rest_of_handle_regrename, rest_of_handle_reorder_blocks,
7418 rest_of_handle_sched, rest_of_handle_sched2, rest_of_handle_regmove,
91e01231 7419 rest_of_handle_tracer, rest_of_handle_if_conversion,
f6db1481
RH
7420 rest_of_handle_if_after_combine, rest_of_handle_web,
7421 rest_of_handle_branch_prob,
7422 rest_of_handle_value_profile_transformations, rest_of_handle_cfg,
91e01231 7423 rest_of_handle_addressof, rest_of_handle_sibling_calls,
f6db1481
RH
7424 rest_of_handle_jump_bypass, rest_of_handle_inlining,
7425 rest_of_handle_null_pointer, rest_of_handle_combine,
7426 rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2,
91e01231 7427 rest_of_handle_gcse, rest_of_handle_loop_optimize,
f6db1481
RH
7428 rest_of_handle_loop2, rest_of_compilation): Move to passes.c.
7429 (decode_d_option): Use enable_rtl_dump_file.
7430 (compile_file, finalize, do_compile): Move profile+combine+graph
7431 cleanup to finish_optimization_passes.
7432 * toplev.h (init_optimization_passes, finish_optimization_passes,
7433 enable_rtl_dump_file): Declare.
7434
288dc1ea 74352004-02-27 Eric Botcazou <ebotcazou@act-europe.fr>
3205a71e 7436 Roger Sayle <roger@eyesopen.com>
288dc1ea
EB
7437
7438 * fold-const.c (fold): Revert 2004-02-25 change. Use the original
7439 operands to build a tree with swapped operands.
7440 * expr.c (expand_expr_real) <MAX_EXPR>: Consistently use the
7441 'unsignedp' predicate to specify the signedness.
7442
a1105617
KH
74432004-02-27 Kazu Hirata <kazu@cs.umass.edu>
7444
7445 * c-decl.c, c-ppoutput.c, combine.c, cppfiles.c, dwarf2out.c,
7446 expr.c, fold-const.c, gcc.c, haifa-sched.c, loop-iv.c,
7447 params.def, read-rtl.c, rtl.c, rtlanal.c, toplev.c: Fix
7448 comment typos and formatting. Follow spelling conventions.
7449
d095928f
AH
74502004-02-26 Aldy Hernandez <aldyh@redhat.com>
7451
7452 * config/rs6000/rs6000.md: Add fixuns_truncsfsi2 and
7453 fix_truncsfsi2.
7454
7455 * config/rs6000/spe.md: Delete spe_efsctuiz.
7456 Add spe_fixuns_truncsfsi2.
7457 Add spe_fix_truncsfsi2.
91e01231 7458
21526606
EC
74592004-02-26 Eric Christopher <echristo@redhat.com>
7460
7461 * c-lex.c (c_lex_string_translate): New variable.
7462 (lex_string): Use to determine string translation.
7463 * c-pragma.h: Prototype.
7464 * c-parse.in (start_string_translation): New. Set above.
7465 (stop_string_translation): Ditto.
7466 (attribute, attribute_list, asm_def, asm_stmt,
7467 asm_operand): Use above functions.
7468 * cp/parser.c (cp_parser_declaration): Translate strings
7469 unless token is RID_EXTERN. Set c_lex_string_translate
7470 for recursive use.
7471 (cp_parser_asm_definition): Only translate argument strings
7472 to asms.
7473 (cp_parser_asm_operand_list): Ditto.
7474 (cp_parser_attribute_list): Do not translate attribute strings.
7475
e8eebd31
KH
74762004-02-26 Kazu Hirata <kazu@cs.umass.edu>
7477
7478 * stmt.c (expand_start_case_dummy): Remove.
7479 * tree.h: Remove the corresponding prototype.
7480
8f2de5f1
KH
74812004-02-26 Kazu Hirata <kazu@cs.umass.edu>
7482
7483 * builtins.c (apply_args_register_offset): Remove.
7484 * tree.h: Remove the corresponding prototype.
7485
c7924937
KH
74862004-02-26 Kazu Hirata <kazu@cs.umass.edu>
7487
7488 * stor-layout.c (is_pending_size): Remove.
7489 * tree.h: Remove the corresponding prototype.
7490
ca0afc29
KH
74912004-02-26 Kazu Hirata <kazu@cs.umass.edu>
7492
7493 * recog.c (validate_replace_src): Remove.
7494 * recog.h: Remove the corresponding prototype.
7495
6c5caf00
KH
74962004-02-26 Kazu Hirata <kazu@cs.umass.edu>
7497
7498 * calls.c: Don't reference FINAL_REG_PARM_STACK_SPACE or
7499 MAYBE_REG_PARM_STACK_SPACE.
7500 * function.c: Likewise.
7501 * system.h (FINAL_REG_PARM_STACK_SPACE): Poison.
7502 (MAYBE_REG_PARM_STACK_SPACE): Likewise.
7503 * doc/tm.texi (FINAL_REG_PARM_STACK_SPACE): Remove.
7504 (MAYBE_REG_PARM_STACK_SPACE): Likewise.
7505
17fd9cb9
KH
75062004-02-26 Kazu Hirata <kazu@cs.umass.edu>
7507
7508 * c-decl.c (c_expand_deferred_function): Remove.
7509 * c-tree.h: Remove the corresponding prototype.
7510
ec5de8d8
KH
75112004-02-26 Kazu Hirata <kazu@cs.umass.edu>
7512
7513 * postreload.c (reload_cse_move2add): Generate just a PLUS
7514 instead of an entire SET.
7515
5bbeea44
JH
75162004-02-26 Jan Hubicka <jh@suse.cz>
7517
7518 * config.gcc: Add support for nocoma/prescott/pentium-m/pentium3m
7519 /pentium4m.
7520 * i386.c (override_options): Add support for new CPUs.
7521 * i386.h (TARGET_CPU_DEFAULT_NAMES): New names.
7522 (TARGET_CPU_DEFAULT_pentium_m, TARGET_CPU_DEFAULT_pentium4e): New
7523 constants.
7524 * invoke.texi: Extend documentation of -mtune/-march for new CPUs.
7525
48c0150c
BW
75262004-02-26 Bob Wilson <bob.wilson@acm.org>
7527
7528 * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define __xtensa__.
7529
b178305d
EB
75302004-02-26 Eric Botcazou <ebotcazou@act-europe.fr>
7531
7532 * config/sparc/sparc-protos.h (sparc_emit_floatunsdi): Add 'mode'.
7533 (sparc_emit_fixunsdi): New prototype.
7534 * config/sparc/sparc.c (sparc_emit_floatunsdi): Use 'mode' argument.
7535 (sparc_emit_fixunsdi): New function.
7536 * config/sparc/sparc.md (floatunsdisf2): Use 'general_operand' for
7537 operand 1. Pass SFmode to sparc_emit_floatunsdi.
7538 (floatunsdidf2): Use 'general_operand' for operand 1. Pass DFmode
7539 to sparc_emit_floatunsdi.
7540 (fixuns_truncsfdi2): New expander.
7541 (fixuns_truncdfdi2): Likewise.
7542
fb643f64
AM
75432004-02-26 Alan Modra <amodra@bigpond.net.au>
7544
7545 * gcse.c (delete_null_pointer_checks_1): Do not delete CC setter
7546 unless HAVE_cc0.
7547
4a4f95d9
RH
75482004-02-25 Richard Henderson <rth@redhat.com>
7549
7550 * explow.c (force_reg): Call mark_reg_pointer as appropriate.
7551 * config/alpha/alpha.c (alpha_emit_conditional_branch): Don't
7552 use (op0-op1) == 0 if op0 is a pointer.
7553 * config/alpha/alpha.md (cmpdi): Use some_operand.
7554 (three comparison combine splits): Remove.
7555
f6a76b9f
RH
75562004-02-25 Richard Henderson <rth@redhat.com>
7557
0d593f31 7558 PR c/12794
f6a76b9f
RH
7559 * c-common.c (handle_alias_attribute): Reject the attribute if
7560 current_function_decl is set.
7561
30500d84
KC
75622004-02-25 Kelley Cook <kcook@gcc.gnu.org>
7563
7564 * config.gcc: Add comment describing extra_gcc_objs.
7565 i[34567]86-*-cygwin*): Replace host_extra_gcc_objs with extra_gcc_objs.
7566 * configure.ac (extra_gcc_objs): New substitution variable.
7567 (host_extra_gcc_objs): Don't substitute.
7568 * configure: Regenerate.
7569 * Makefile.in: Use extra_gcc_objs.
7570
ed80fa2e
KC
75712004-02-25 Kelley Cook <kcook@gcc.gnu.org>
7572
7573 * doc/contrib.texi: Add an entry for myself.
7574
12c3874e
JH
75752004-02-25 Jan Hubicka <jh@suse.cz>
7576
7577 * basic-block.h (make_eh_edge, break_superblocks): Declare.
7578 * cfgbuild.c (make_eh_edge): Make global.
7579 * cfglayout.c (break_superblocks): Likewise; fix memory leak.
7580 * except.c (build_post_landing_pads, connect_post_landing_pads,
7581 dw2_build_landing_pads, sjlj_emit_function_enter,
21526606 7582 sjlj_emit_function_exit, sjlj_emit_dispatch_table,
12c3874e
JH
7583 sjlj_build_landing_pads): Update CFG.
7584 (emit_to_new_bb_before): New function.
7585 (finish_eh_generation): Do not rebuild the CFG.
7586
7b79fe71
JDA
75872004-02-25 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7588
7589 * config.gcc (hppa*-*-*, parisc*-*-*): Add MASK_BIG_SWITCH to all
7590 target_cpu_default defines.
7591 * pa-hpux.h (TARGET_DEFAULT): Add MASK_BIG_SWITCH to define.
7592 * pa.h (TARGET_DEFAULT): Likewise.
7593
81fbecac
EB
75942004-02-25 Eric Botcazou <ebotcazou@act-europe.fr>
7595
7596 * fold-const.c (fold): Treat MAX_EXPR and MIN_EXPR like
7597 comparisons with regard to signedness.
7598
6f5b4f3e
RE
75992004-02-25 Richard Earnshaw <rearnsha@arm.com>
7600
7601 * arm.c (thumb_legitimize_address): New function.
7602 * arm-protos.h: Prototype it.
7603 * arm.h (THUMB_LEGITIMIZE_ADDRESS): Define.
7604 (LEGITIMIZE_ADDRESS): Use it.
7605
4ab51fb5
R
76062004-02-25 J"orn Rennecke <joern.rennecke@superh.com>
7607
7608 * reload1.c (reload): Only spill eliminable register with multiple
7609 adjacent elimination alternatives if all alternatives fail.
7610
e1471c91
RE
76112004-02-25 Richard Earnshaw <rearnsha@arm.com>
7612
7613 * arm.c (arm_legitimate_index_p): For QImode the range of an offset
7614 is -4095...+4095 inclusive.
7615
94b18ec1
EB
76162004-02-25 Eric Botcazou <ebotcazou@libertysurf.fr>
7617
7618 * doc/install.texi (sparc-sun-solaris2* specific notes): Document
7619 the bootstrap failure with Sun CC 5.4 and 5.5.
7620
2e802a6f
KH
76212004-02-24 Kazu Hirata <kazu@cs.umass.edu>
7622
7623 * cse.c (cse_change_cc_mode_insns): Stop at any instruction
7624 which modifies NEWREG.
7625 (cse_condition_code_reg): Update the mode of CC_REG in
7626 CC_SRC_INSN on our own.
7627
89ab2b79
MM
76282004-02-24 Michael Matz <matz@suse.de>
7629
7630 * config/i386/i386.c (ix86_comp_type_attributes): Check for
7631 regparm attributes.
7632
c263766c
RH
76332004-02-24 Richard Henderson <rth@redhat.com>
7634
7635 * toplev.c (dump_file_tbl): Rename from dump_file.
7636 * bb-reorder.c, bt-load.c, cfgcleanup.c, cfglayout.c, cfgloopanal.c,
c53bdcf5 7637 cfgloopmanip.c, cfgrtl.c, config/arm/arm.c, config/frv/frv.c,
c263766c
RH
7638 config/i386/i386.c, config/ia64/ia64.c, config/mips/mips.c,
7639 config/sh/sh.c, cse.c, flow.c, ifcvt.c, loop-iv.c, loop-unroll.c,
7640 loop-unswitch.c, output.h, predict.c, profile.c, ra-build.c,
7641 ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, regrename.c, reload1.c,
7642 toplev.c, tracer.c, value-prof.c, var-tracking.c, web.c:
7643 s/rtl_dump_file/dump_file/g.
7644
dba2921d
AH
76452004-02-24 Aldy Hernandez <aldyh@redhat.com>
7646
3205a71e
ZW
7647 * config/rs6000/spe.md (spe_fix_truncsfsi2): Delete.
7648 (spe_fixuns_truncsfsi2): Delete.
dba2921d 7649
3205a71e
ZW
7650 * config/rs6000/rs6000.md (fix_truncsfsi2): Delete.
7651 (fixuns_truncsfsi2): Delete.
dba2921d 7652
173cd571
JZ
76532004-02-24 Josef Zlomek <zlomekj@suse.cz>
7654
7655 PR/14240
7656 * rtlanal.c (replace_label): Fix replacing labels in constant pool.
7657
8db4d7a1
GK
76582004-02-24 Geoffrey Keating <geoffk@apple.com>
7659
7660 * config/darwin.h (TARGET_HAS_F_SETLKW): Define.
7661
896c3aa3
JM
76622004-02-24 Jason Merrill <jason@redhat.com>
7663
7664 * tree.c (check_qualified_type): New fn.
7665 (get_qualified_type): Use it. If type already has the desired
7666 quals, just return it.
7667 * tree.h: Declare it.
896c3aa3 7668
58565a33
SKG
76692003-02-24 Sanjiv Kumar Gupta <sanjivg@noida.hcltech.com>
7670
7671 * target-def.h (TARGET_SCHED_INIT_GLOBAL,
7672 TARGET_SCHED_FINISH_GLOBAL): New macros.
7673
7674 * target.h (md_init_global, md_finish_global): Function
7675 declarations corresponding to new target macros.
7676
7677 * haifa-sched.c (sched_init, sched_finish): Allow target to
7678 call the new schedular hooks.
7679
7680 * flow.c (recompute_reg_usage): Add PROP_DEATH_NOTES flag in
7681 call to update_life_info.
7682
7683 * config/sh/sh.h (OVERRIDE_OPTIONS): Re-enable
7684 flag_schedule_insns for SH4.
7685
7686 * config/sh/sh.c (sh_md_init_global, sh_md_finish_global,
7687 find_set_regmode_weight, find_insn_regmode_weight,
7688 find_regmode_weight), sh_md_init, sh_dfa_new_cycle,
7689 sh_variable_issue, high_pressure, ready_reorder,
7690 rank_for_reorder, swap_reorder, sh_reorder, sh_reorder2): New
7691 functions used to throttle the insn movement in first
7692 scheduling pass for SH.
7693
7694 * gcc/doc/tm.texi: Document TARGET_SCHED_INIT_GLOBAL and
7695 TARGET_SCHED_FINISH_GLOBAL.
7696
34208acf
AO
76972004-02-24 Alexandre Oliva <aoliva@redhat.com>
7698
7699 Implement FR-V FDPIC ABI support for frv-uclinux and frv-linux.
7700 2004-02-05 Alexandre Oliva <aoliva@redhat.com>
7701 * config/frv/frv.c (frv_emit_movsi): Use GOT relocations for
7702 symbols in sections named by the user.
7703 2004-01-30 Alexandre Oliva <aoliva@redhat.com>
7704 * config/frv/linux.h (TARGET_OS_CPP_BUILTINS): New.
7705 2004-01-27 Alexandre Oliva <aoliva@redhat.com>
7706 * config.gcc (frv-*-*linux*): Handle like *-*-linux*.
7707 * config/frv/t-linux (EXTRA_MULTILIB_PARTS): Remove, obviated by
7708 the above.
7709 2004-01-20 Alexandre Oliva <aoliva@redhat.com>
7710 * config/frv/frv.md (symGOT2reg_hilo, symGOTOFF2reg_hilo): Add
7711 one more pseudo to further improve code generation.
7712 2004-01-19 Alexandre Oliva <aoliva@redhat.com>
7713 * config/frv/frv.md (movdi_ldd): Introduce explicit indirection
7714 inside UNSPEC.
7715 2004-01-16 Alexandre Oliva <aoliva@redhat.com>
7716 * config/frv/frv.c (frv_legitimate_address_p): Added
7717 allow_double_reg_p argument. Adjust all callers. Use it to
7718 decide whether to enable double-register indirect addressing.
7719 (frv_funcdesc_alias_set): Remove.
7720 (frv_expand_fdpic_call): Force non-SYMBOL_REF operand into
7721 register. Emit movdi_ldd.
7722 (ldd_address_operand): New.
7723 * config/frv/frv-protos.h (frv_legitimate_address_p): Adjust.
7724 * config/frv/frv.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
7725 (PREDICATE_CODES): Add ldd_address_operand.
7726 * config/frv/frv.md (movdi_ldd): New.
7727 (symGOT2reg_hilo, symGOTOFF2reg_hilo): Use separate pseudo for
7728 intermediate computations if possible.
7729 (symGOTOFF2reg_i): Fix harmless typo.
7730 2003-12-18 Alexandre Oliva <aoliva@redhat.com>
7731 * unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Cast
7732 relocated p_vaddr to vaddr type.
7733 * config/frv/frv-protos.h (frv_expand_fdpic_call): Return void.
7734 * config/frv/frv.c (frv_get_funcdesc_alias_set): New.
7735 (frv_expand_fdpic_call): Propagate incoming MEM's expr to funcdesc
7736 MEM, or use a funcdesc alias set. Use regular move instead of
7737 ldd.
7738 (dbl_memory_one_insn_operand): Recognize function descriptors by
7739 type or by alias set, and don't split them.
7740 * config/frv/frv.md (call, call_value): Never use call_internal
7741 for fdpic.
7742 (call_internal, call_value_internal): Never match for FDPIC.
7743 (call_fdpicdi, call_fdpicsi, call_value_fdpicdi,
7744 call_value_fdpicsi): Require FDPIC.
7745 (ldd): Removed.
7746 2003-12-17 Alexandre Oliva <aoliva@redhat.com>
7747 * config/frv/frv.h (CRT_GET_RFIB_DATA): Define for __FRV_FDPIC__.
7748 * unwind-dw2-fde-glibc.c: Don't include elf-fdpic.h any more.
7749 (_Unwind_IteratePhdrCallback): Adjust type of load_base for FRV
7750 FDPIC. Compute data base address.
7751 * config/frv/linux.h (SUBTARGET_DRIVER_SELF_SPECS): Enable -mfdpic
7752 before the other self-specs are processed.
7753 * config/frv/t-linux (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS):
7754 Build with -fPIC.
7755 2003-12-15 Alexandre Oliva <aoliva@redhat.com>
7756 * unwind-dw2-fde-glibc.c: Don't include bits/elf-fdpic.h if
7757 inhibit_libc is defined.
7758 2003-12-12 Alexandre Oliva <aoliva@redhat.com>
7759 * unwind-dw2-fde-glibc.c: Include bits/elf-fdpic.h for
7760 __FRV_FDPIC__.
7761 (__RELOC_POINTER): Define.
7762 (_Unwind_IteratePhdrCallback): Use it.
7763 * config/frv/frv.h (Twrite): Define.
7764 (TRANSFER_FROM_TRAMPOLINE): Use it.
7765 * config/frv/linux.h (INVOKE__main): Undefine.
7766 (Twrite): Override.
7767 2003-12-05 Richard Sandiford <rsandifo@redhat.com>
7768 * doc/invoke.texi (-mlong-calls, -mlinked-fp): Document FRV options.
7769 (-mlibrary-pic): Emphasize that this option generates EABI code.
7770 (-mcpu): Add fr550.
7771 (-mpack): Remove.
7772 2003-11-30 Alexandre Oliva <aoliva@redhat.com>
7773 * config/frv/frv.c (int_2word_operand): Reject LABELs, SYMBOL_REFs
7774 and CONSTs in FDPIC mode.
7775 * gcc/config.gcc (with_cpu): Default to fr400 on frv-*-*linux*.
7776 2003-11-29 Richard Sandiford <rsandifo@redhat.com>
7777 * config/frv/frv.c (move_source_operand): Don't accept symbolic
7778 constants.
7779 * config/frv/frv.md (*movhi_internal, *movsi_internal): Use an 'n'
7780 rather than 'i' constraint for the 2-instruction alternative.
7781 (*movsi_2word): New, incorporating existing int_2word_operand splitter.
7782 2003-11-29 Richard Sandiford <rsandifo@redhat.com>
7783 * config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Q): Renamed from
7784 EXTRA_CONSTRAINT_FOR_Y.
7785 (EXTRA_CONSTRAINT): Remove handling of 'Y'.
7786 * config/frv/frv.md (*movsi_internal): Remove 'Q' constraint.
7787 (addsi3): Change 'Y' constraint to 'Q'.
7788 2003-11-27 Richard Sandiford <rsandifo@redhat.com>
7789 * reload.c (CONST_POOL_OK_P): New macro.
7790 (find_reloads): Use it to decide whether a constant can be forced
7791 into memory.
7792 * config/frv/frv.h (LEGITIMATE_PIC_OPERAND_P): Return true if the
7793 constant satisfies got12_operand.
7794 (frv_cannot_force_const_mem): Always return true for TARGET_FDPIC.
7795 (frv_legitimate_address_p): Check for valid unspec offsets using
7796 got12_operand rather than frv_legitimate_fdpic_operand_p.
7797 (frv_legitimate_fdpic_operand_p): Delete.
7798 (frv_emit_movsi): Abort if we try to use the FDPIC register during
7799 or after reload.
7800 (frv_legitimate_constant_p): Return LEGITIMATE_PIC_OPERAND_P if
7801 TARGET_FDPIC.
7802 * config/frv/frv.md (*movdf_double): Add alternatives for CONST_DOUBLE.
7803 2003-11-19 Richard Sandiford <rsandifo@redhat.com>
7804 * config/frv/frv-protos.h (fdpic_operand, fdpic_got12_operand)
7805 (frv_fdpic_fptr_operand): Don't declare here.
7806 * config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Y): Call got12_operand
7807 rather than fdpic_got12_operand.
7808 (PREDICATE_CODES): Remove symbolic_operand entry. Add entries for
7809 got12_operand and const_unspec_operand.
7810 * config/frv/frv.c (got12_operand): Renamed from fdpic_got12_operand.
7811 (gpr_or_int12_operand, dbl_memory_one_insn_operand): Update calls.
7812 (symbolic_operand): Remove.
7813 (const_unspec_operand): New predicate.
7814 * config/frv/frv.md (*movsi_got): Use got12_operand.
7815 (*movsi_high_got, *movsi_lo_sum_got): Use const_unspec_operand.
7816 2003-11-18 Richard Sandiford <rsandifo@redhat.com>
7817 * config/frv/frv-protos.h (frv_output_addr_const_extra): Remove.
7818 * config/frv/frv.h (OUTPUT_ADDR_CONST_EXTRA): Remove definition.
7819 * config/frv/frv.c (frv_unspec): New structure.
7820 (frv_small_data_reloc_p, frv_const_unspec_p): New functions.
7821 (frv_print_operand_memory_reference): Use frv_const_unspec_p to
7822 validate CONST indices. Use frv_output_const_unspec to print them.
7823 (frv_print_operand): Update call to unspec_got_name. Use
7824 frv_output_const_unspec to print constant unspecs.
7825 (frv_legitimate_fdpic_operand_p): Return true if frv_const_unspec_p.
7826 Reject UNSPECs otherwise.
7827 (unspec_got_name): Take the relocation number as argument, not an
7828 rtx containing it.
7829 (frv_output_addr_const_extra): Remove, replacing with...
7830 (frv_output_const_unspec): ...this new function.
7831 (frv_find_base_term): Use frv_const_unspec_p & frv_small_data_reloc_p.
7832 (gpr_or_int12_operand): Use fdpic_got12_operand.
7833 (dbl_memory_one_insn_operand): Likewise.
7834 (fdpic_got12_operand): Use frv_const_unspec_p.
7835 (frv_emit_movsi): Use frv_const_unspec_p to check for CONSTs that
7836 are already legitimate. Use frv_small_data_reloc_p when deciding
7837 whether to use HIGH/LO_SUM for R_FRV_GOTOFF12 and R_FRV_GPREL12.
7838 2003-11-18 Alexandre Oliva <aoliva@redhat.com>
7839 * config/frv/t-linux (SHLIB_MAPFILES): Override so as to export...
7840 * config/frv/libgcc-frv.ver: ... frv-specific symbols. New file.
7841 * config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
7842 label, for real this time.
7843 * config/frv/frv.c (frv_local_funcdesc_p): Update to new
7844 representation of visibility.
7845 (fdpic_got12_operand, symbolic_operand): Mark unused arguments as
7846 such.
7847 2003-11-17 Richard Sandiford <rsandifo@redhat.com>
7848 * config/frv/frv.h (MASK_LINKED_FP, TARGET_LINKED_FP): New macros.
7849 (TARGET_SWITCHES): Add -mlinked-fp and -mno-linked-fp.
7850 * config/frv/frv.c (frv_override_options): Set MASK_LINKED_FP unless
7851 it was explicitly disabled.
7852 (frv_stack_info): There is no need to save the link register in every
7853 frame unless TARGET_LINKED_FP is true.
7854 (frv_frame_pointer_required): If !TARGET_LINKED_FP, only require a
7855 frame pointer if the stack pointer might change value.
7856 (frv_return_addr_rtx): Check and process "count" argument.
7857 2003-11-14 Richard Sandiford <rsandifo@redhat.com>
7858 * config/frv/frv-protos.h (frv_legitimize_address): Remove.
7859 (frv_find_base_term): Declare.
7860 * config/frv/frv.h (LEGITIMIZE_ADDRESS): Do nothing.
7861 (FIND_BASE_TERM): Define.
7862 (PREDICATE_CODES): Remove pic_register_operand, pic_symbolic_operand,
7863 small_data_register_operand, small_data_symbolic_operand. Add
7864 symbolic_operand.
7865 * config/frv/frv.c (const_small_data_p, plus_small_data_p): Delete.
7866 (frv_print_operand_memory_reference, output_move_single): Remove
7867 special handling for unlegitimized sdata addresses.
7868 (frv_legitimate_address_p): Don't allow sums of SDA_BASE_REG
7869 and symbolic addresses.
7870 (frv_legitimize_address, frv_legitimize_fdpic_address): Delete.
7871 (frv_find_base_term): New function.
7872 (int_2word_operand): Check specifically for symbolic address constants.
7873 (pic_register_operand, pic_symbolic_operand): Delete.
7874 (small_data_register_operand, small_data_symbolic_operand): Delete.
7875 (dbl_memory_one_insn_operand): Don't call plus_small_data_p.
7876 Allow UNSPEC_GOT constants if !TARGET_FDPIC.
7877 (move_source_operand): Only accept CONSTs if they're a two-insn
7878 symbolic constant.
7879 (fdpic_got12_operand): Don't require TARGET_FDPIC.
7880 (frv_emit_movsi): Legitimize sdata and -mlibrary-pic addresses
7881 using gen_symGOTOFF2reg*.
7882 (frv_ifcvt_rewrite_mem): Remove (plus gr16 ...) special cases.
7883 (frv_rtx_costs): Give all MEM addresses a cost of 0. Give MEMs
7884 themselves a cost of 3 insns.
7885 * config/mips/mips.md (*movsi_got): Allow for !TARGET_FDPIC too.
7886 Change predicate to symbolic_operand.
7887 (*movsi_high_got, *movsi_lo_sum_got): Likewise.
7888 (*movsi_lda_sdata): Delete.
7889 (*movsi_pic, movsi_high_pic, movsi_lo_sum_pic): Delete.
7890 2003-11-05 Alexandre Oliva <aoliva@redhat.com>
7891 * config.gcc: Add t-slibgcc-elf-ver and support --with-cpu for
7892 frv-*-*linux*.
7893 * config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
7894 label.
7895 * config/frv/frv.h (DRIVER_SELF_SPECS): Add blank before
7896 -multilib-library-pic.
7897 (LINK_SPEC): Add -z text for -mfdpic.
7898 * config/frv/frvbegin.c (__ROFIXUP_LIST__): Don't define on FDPIC.
7899 * config/frv/frvend.c (__ROFIXUP_END__): Likewise.
7900 * config/frv/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC):
7901 Override.
7902 (OPTION_DEFAULT_SPECS, HAS_INIT_SECTION, INIT_SECTION_ASM_OP,
7903 FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION): Define.
7904 * config/frv/t-linux (EXTRA_MULTILIB_PARTS): Use
7905 crtstuff-generated files.
7906 2003-10-31 Alexandre Oliva <aoliva@redhat.com>
7907 * config.gcc: Add frv-*-*linux*.
7908 * config/frv/linux.h, config/frv/t-linux: New.
7909 2003-10-06 Alexandre Oliva <aoliva@redhat.com>
7910 * config/frv/frv.h (LINK_SPEC): Pass -melf32frvfd to the linker
7911 when -mfdpic even if a linker script is explicitly listed.
7912 2003-10-02 Alexandre Oliva <aoliva@redhat.com>
7913 * config/frv/frv.c (frv_override_options): Clear asm_out
7914 unaligned_op for SImode on FDPIC.
7915 (frv_emit_movsi): Use compute_reloc_for_constant to compute the
7916 argument passed to decl_readonly_section.
7917 (frv_assemble_integer): Revert 2003-09-30's change, but make the
7918 whole block run with FDPIC even with -fno-PIC.
7919 2003-10-02 Alexandre Oliva <aoliva@redhat.com>
7920 * config/frv/frv.c (frv_cannot_force_const_mem): Don't force
7921 symbol or label plus offset to memory.
7922 (frv_emit_movsi): Emit GPREL only if -mgprel-ro. Emit 32-bit
7923 GOTOFF and GPREL for LABEL_REF.
7924 * config/frv/frv.h (DRIVER_SELF_SPECS): Add -mgprel-ro with
7925 -mfdpic unless -mno-gprel-ro, -fpic or -fpie.
7926 (MASK_GPREL_RO, TARGET_GPREL_RO): New.
7927 (TARGET_SWITCHES): Added gprel-ro and no-gprel-ro.
7928 * doc/invoke.texi: Document them.
7929 2003-09-30 Alexandre Oliva <aoliva@redhat.com>
7930 * config/frv/frv-protos.h (frv_gen_GPsym2reg): Declare.
7931 (frv_splittable_got_operand): Removed.
7932 * config/frv/frv.c (frv_cannot_force_const_mem): Reject HIGH and
7933 LO_SUM. Add comments.
7934 (frv_override_options): Moved enabling of FDPIC to
7935 DRIVER_SELF_SPECS. Don't enable MASK_DWORD.
7936 (frv_local_funcdesc_p): Remove unnecessary heck for flag_pie.
7937 (frv_legitimize_fdpic_address): Don't duplicate logic in
7938 frv_emit_movsi.
7939 (frv_gen_GPsym2reg): New.
7940 (unspec_got_name): Added gprel.
7941 (frv_expand_fdpic_call): Add support for inlining PLTs.
7942 (fdpic_fptr_operand): Renamed from frv_fdpic_fptr_operand.
7943 (gpr_or_int12_operand): Added GPREL12.
7944 (pic_symbolic_operand): Match even if !flag_pic for FDPIC.
7945 (small_data_symbolic_operand): Fail if FDPIC.
7946 (fdpic_splittable_got_operand): Removed.
7947 (fdpic_got12_operand): Added GPREL12.
7948 (frv_emit_movsi): Reorganize to avoid duplication. Emit GPREL
7949 when appropriate. Fix sdata GOTOFF.
7950 (frv_legitimate_constant_p): Require legitimate PIC operand for
7951 FDPIC with pic, but only a legitimate fdpic operand for non-pic.
7952 (frv_assemble_integer): Move FDPIC funcdesc handling out of
7953 flag_pic case.
7954 (frv_asm_out_constructor, frv_asm_out_destructor): Abort if
7955 frv_assemble_integer fails.
7956 * config/frv/frv.h (DRIVER_SELF_SPECS): New.
7957 (SUBTARGET_DRIVER_SELF_SPECS): New.
7958 (ASM_SPEC): Don't pass -mno-fdpic.
7959 (LINK_SPEC): Pass -melf32frvfd for FDPIC.
7960 (MASK_INLINE_PLT, TARGET_INLINE_PLT): New.
7961 (TARGET_SWITCHES): Add -minline-plt, -mno-inline-plt and
7962 -multilib-library-pic.
7963 (PREDICATE_CODES): Added fdpic_operand, fdpic_fptr_operand,
7964 condexec_si_media_operator, condexec_sf_add_operator and
7965 condexec_sf_conv_operator. Removed condexec_sf_binary_operator
7966 and condexec_sf_unary_operator.
7967 * config/frv/frv.md (R_FRV_GPREL12, R_FRV_GPRELHI, R_FRV_GPRELLO):
7968 New.
7969 (movsi_got, movsi_high_got, movsi_lo_sum_got): Move before
7970 movsi_internal. Give them internal names. movsi_got has type
7971 int.
7972 (fdpic got splitters): Remove.
7973 (symGPREL2reg, symGPREL2reg_hilo): New.
7974 * config/frv/t-frv (MULTILIB_MATCHES): Don't map -fpic and -fPIC
7975 to -mlibrary-pic. Map -multilib-library-pic to it.
7976 * doc/invoke.texi: -mfdpic, -minline-plt, -multilib-library-pic:
7977 Document.
7978 2003-09-28 Alexandre Oliva <aoliva@redhat.com>
7979 * config/frv/frv.c (frv_function_symbol_referenced_p): Declare.
7980 (TARGET_CANNOT_FORCE_CONST_MEM): Define to...
7981 (frv_cannot_force_const_mem): New function.
7982 (const_small_data_p, plus_small_data_p): Update comments on sdata
7983 on FDPIC.
7984 (frv_override_options): Set flag_pie for FDPIC too.
7985 (frv_conditional_register_usage): Mark gr16 and gr17 as non-fixed,
7986 call-saved registers on FDPIC.
7987 (frv_stack_info): Don't preserve the PIC register on FDPIC, and
7988 don't force LR to be preserved.
7989 (frv_expand_prologue): Likewise.
7990 (frv_asm_output_mi_thunk): Use 12-bit funcdesc gotoff for -fpic.
7991 (frv_frame_pointer_required): Don't force it just because the
7992 FDPIC register is used.
7993 (frv_legitimate_address_p) <CONST>: Accept a legitimate FDPIC
7994 operand only if !condexec_p.
7995 (frv_legitimize_address): Return the FDPIC-legitimized address.
7996 Don't match small data here on FDPIC.
7997 (frv_legitimate_fdpic_operand_p): Don't accept unadorned function
7998 symbols. Use TRUE/FALSE instead of 1/0.
7999 (frv_local_funcdesc_p): New.
8000 (frv_legitimize_fdpic_address): Rewrite to use GOTOFF and 12-bit
8001 immediates when possible.
8002 (pic_symbolic_operand): Accept SYMBOL_REFs and CONSTs in FDPIC.
8003 (dbl_memory_one_insn_operand): Accept addresses that add a REG and
8004 an UNSPEC_GOT.
8005 (frv_emit_movsi): Handle FDPIC before small data. Use GOTOFF and
8006 12-bit immediates when possible.
8007 (frv_legitimate_constant_p): In FDPIC, reject SImode operands that
8008 are not legitimate pic operands.
8009 (frv_in_small_data_p): Re-enable for FDPIC.
8010 * config/frv/frv.h (SDA_BASE_REG): Remove comment about FDPIC.
8011 (FRV_GLOBAL_P): Removed.
8012 * config/frv/frv.md: Add modes to CONSTs.
8013 (movsi_got): New.
8014 (movsi_lo_sum_got): Use separate matches instead of match_dup.
8015 (movsi_high_pic, movsi_lo_sum_pic): Match on non-FDPIC only.
8016 (fdpic splittable operations): Match on flag_pic != 1.
8017 2003-09-22 Alexandre Oliva <aoliva@redhat.com>
8018 * config/frv/frv.c (frv_asm_out_constructor,
8019 frv_asm_out_destructor): Pass to frv_assemble_integer the size in
8020 bytes, not bits.
8021 2003-09-19 Alexandre Oliva <aoliva@redhat.com>
8022 * config/frv/frv.c (frv_assemble_integer): Reject complex
8023 expressions referencing function SYMBOL_REFs.
8024 * config/frv/frv.c (frv_function_symbol_referenced_p): New.
8025 (move_source_operand): Reject CONSTs that reference function
8026 SYMBOL_REFs on FDPIC.
8027 (frv_emit_movsi): If we get such a CONST, break it up.
8028 * config/frv/frv.h (CPP_SPEC): Define __FRV_FDPIC__ for -mfdpic.
8029 (TRANSFER_FROM_TRAMPOLINE): Use different definitions for FDPIC.
8030 * config/frv/frv.c (frv_print_operand) <I>: Recognize PLUS without
8031 MEM.
8032 (frv_assemble_integer): Don't use funcdesc for LABEL_REFs.
8033 (frv_trampoline_size): Increase for FDPIC.
8034 * config/frv/frv.h (TRAMPOLINE_ALIGNMENT): Bump to 64 for FDPIC.
8035 (TRANSFER_FROM_TRAMPOLINE): Handle FDPIC trampolines.
8036 * config/frv/frv.c (frv_legitimize_fdpic_address, frv_emit_movsi):
8037 Disable use of GOTOFF for now.
8038 (const_small_data_p, plus_small_data_p, frv_in_small_data_p):
8039 Disable use of small data in FDPIC for now.
8040 (frv_asm_output_mi_thunk): Implement for FDPIC.
8041 * config/frv/frv.h (SDA_BASE_REG): Set to -1 with FDPIC.
8042 * config/frv/frv.c (frv_asm_out_constructor): Use
8043 frv_assemble_integer for FDPIC pointers.
8044 (frv_asm_out_destructor): Likewise.
8045 * config/frv/frv.md (ldd): Fix order of operands. Use
8046 address_operand for input.
8047 2003-09-18 DJ Delorie <dj@redhat.com>
8048 * config/frv/frv.c (frv_legitimate_fdpic_operand_p): Remove UNSPEC_PIC.
8049 (unspec_got_name): Correct typo.
8050 (frv_emit_movsi): Pre-expand splittable GOTs.
8051 (frv_expand_fdpic_call): Rename gen_lddi to gen_ldd.
8052 * config/frv/frv.md (lddi): Fix syntax error, rename to ldd.
8053 (symGOT2reg_hilo, symGOTOFF2reg_hilo): New.
8054 * config/frv/t-frv: Add -mfdpic multilibs.
8055 * config/frv/frv.h (ASM_SPEC): Pass -mfdpic/-mno-fdpic.
8056 (TARGET_SWITCHES): Add -mno-fdpic, fix documentation.
8057 * config/frv/frv.c (frv_override_options): -mfdpic assumes
8058 flag_pic, default to 32-bit pics, require DWORD ops.
8059 (frv_override_options): Add W and Z constraints.
8060 (frv_expand_prologue): No pic prologue for -mfdpic.
8061 (frv_asm_output_mi_thunk): Support -mfdpic (soon).
8062 (frv_print_operand_memory_reference): Handle GOT constants.
8063 (frv_legitimate_address_p): Allow GOT constants.
8064 (frv_legitimize_address): Handle GOT addresses too.
8065 (frv_legitimate_fdpic_operand_p): New.
8066 (frv_legitimize_fdpic_address): New.
8067 (unspec_got_name): New.
8068 (frv_output_addr_const_extra): New.
8069 (frv_expand_fdpic_call): New.
8070 (frv_fdpic_fptr_operand): New.
8071 (gpr_or_int12_operand): Handle GOT operands.
8072 (int_2word_operand): Handle GOT operands.
8073 (fdpic_operand): New.
8074 (fdpic_splittable_got_operand): New.
8075 (fdpic_got12_operand): New.
8076 (frv_emit_movsi): Handle GOT operands.
8077 (frv_assemble_integer): -mfdpic doesn't use rofixups.
8078 (frv_print_operand): Support 'g' code for GOT operands.
8079 * config/frv/frv-protos.h: Add prototypes as needed.
8080 * config/frv/frv.md (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO,
8081 R_FRV_FUNCDESC, R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI,
8082 R_FRV_FUNCDESC_GOTLO, R_FRV_FUNCDESC_VALUE,
8083 R_FRV_FUNCDESC_GOTOFF12, R_FRV_FUNCDESC_GOTOFFHI,
8084 R_FRV_FUNCDESC_GOTOFFLO, R_FRV_GOTOFF12, R_FRV_GOTOFFHI,
8085 R_FRV_GOTOFFLO): New.
8086 (movsi_high_got, movsi_lo_sum_got): New.
8087 (*movsi_pic): Don't use this splitter for -mfdpic.
8088 (addsi3): Allow GOT references also.
8089 (call, call_value): Handle -mfdpic separately.
8090 (call_fdpicdi, call_fdpicsi, lddi, call_value_fdpicdi,
8091 call_value_fdpicsi): New.
8092 (symGOT2reg, symGOT2reg_i, got splitters, symGOTOFF2reg,
8093 symGOTOFF2reg_i): New.
8094 * config/frv/frv.h (MASK_FDPIC): New.
8095 (TARGET_FDPIC): New.
8096 (TARGET_SWITCHES): Add -mfdpic.
8097 (FDPIC_FPTR_REGNO): New.
8098 (FDPIC_REGNO): New.
8099 (OUR_FDPIC_REG): New.
8100 (enum reg_class): Add FDPIC_REGS, FDPIC_FPTR_REGS, and
8101 FDPIC_CALL_REGS.
8102 (REG_CLASS_NAMES): Likewise.
8103 (REG_CLASS_CONTENTS): Likewise.
8104 (EXTRA_CONSTRAINT_FOR_Y): New, for 12-bit GOTs.
8105 (EXTRA_CONSTRAINT): Add it here.
8106 (FRV_GLOBAL_P): New.
8107 (OUTPUT_ADDR_CONST_EXTRA): New.
8108
7e26b0e3
KH
81092004-02-24 Kazu Hirata <kazu@cs.umass.edu>
8110
8111 * config/sparc/sparc.h: Remove commented-out definitions of
8112 TARGET_EDOM and GEN_ERRNO_RTX.
8113
b57f2e10
KH
81142004-02-24 Kazu Hirata <kazu@cs.umass.edu>
8115
8116 * df.c, df.h, ra-build.c, ra-rewrite.c, ra.c, web.c: Replace
8117 df_analyse with df_analyze.
8118
cb7c3c3f
AM
81192004-02-24 Alan Modra <amodra@bigpond.net.au>
8120
8121 * gcse.c (delete_null_pointer_checks_1): Set stop_insn to end, not
8122 beginning of block.
8123
3638733b
JW
81242004-02-23 James E Wilson <wilson@specifixinc.com>
8125
238470bd 8126 * calls.c (precompute_arguments): Update comment.
3638733b 8127
fa0ac78a
KH
81282004-02-23 Kazu Hirata <kazu@cs.umass.edu>
8129
8130 * et-forest.c: Replace et_occurences with et_occurrences.
8131
6d4e0ecc
KH
81322004-02-23 Kazu Hirata <kazu@cs.umass.edu>
8133
8134 * cfgloop.h, loop-iv.c, loop-unswitch.c: Replace iv_analyse
8135 with iv_analyze.
8136
9e200aaf
KC
81372004-02-23 Kelley Cook <kcook@gcc.gnu.org>
8138
8139 * config/i386/i386.c: Rename pni to sse3.
8140 * config/i386/i386.h: Likewise.
3205a71e 8141 * config/i386/i386.md: Likewise.
9e200aaf
KC
8142 * config/i386/pmmintrin.h: Likewise.
8143 * doc/extend.texi: Likewise.
8144 * doc/invoke.texi: Likewise.
8145
3521b33c
ZW
81462004-02-23 Zack Weinberg <zack@codesourcery.com>
8147 Kazu Hirata <kazu@cs.umass.edu>
8148
8149 Remove -fwritable-strings.
8150 * c-common.c (fix_string_type): Don't check
8151 flag_writable_strings.
8152 (fix_string_type): Likewise.
8153 * c-opts.c (set_std_c89): Don't initialize
8154 flag_writable_strings.
8155 (set_std_c99): Likewise.
8156 * common.opt (fwritable-strings): Remove.
8157 * flags.h: Remove the external declaration of
8158 flag_writable_strings.
8159 * opts.c (common_handle_option) <OPT_fwritable_strings>:
8160 Remove.
8161 * toplev.c (flag_writable_strings): Remove.
8162 (f_options): Remove an entry for writable-strings.
8163 * varasm.c (const_hash_1) <STRING_CST>: Don't check
8164 flag_writable_strings.
8165 (compare_constant) <STRING_CST>: Likewise.
8166 (build_constant_desc): Likewise.
8167 * config/darwin.c (machopic_select_section): Likewise.
8168 * config/arm/arm.c (AOF_ASSEMBLER): Likewise.
8169 * config/arm/pe.c (arm_pe_encode_section_info): Likewise.
8170 * config/iq2000/iq2000.c (iq2000_select_section): Likewise.
8171 * config/mips/mips.c (mips_select_section): Likewise.
8172 (mips_encode_section_info): Likewise.
8173 * config/pa/pa.c (pa_select_section): Likewise.
8174 * config/pa/pa.h (TEXT_SPACE_P): Likewise.
8175 * config/v850/v850.c (v850_select_section): Likewise.
8176 * doc/invoke.texi (-fwritable-strings): Remove.
8177 (-fno-const-strings): Don't mention -fwritable-strings.
8178 * doc/trouble.texi: Don't mention -fwritable-strings.
8179
eb6bddf6
NN
81802003-02-23 Nathanael Nerode <neroden@gcc.gnu.org>
8181
8182 * doc/install.texi: Update for switch of boehm-gc to autoconf 2.57.
8183
e0740893
DJ
81842004-02-23 Dale Johannesen <dalej@apple.com>
8185
8186 * config/rs6000.md (movsf_hardfloat): Add POWER form of nop.
8187 (movdf_hardfloat64): Ditto.
8188 (movdf_softfloat64): Ditto.
8189
e91fa876 81902004-02-23 Fariborz Jahanian <fjahanian@apple.com>
3205a71e 8191 * config/rs6000/rs6000.c (function_arg): call to
e91fa876 8192 rs6000_mixed_function_arg for DFmode moved to allow
21526606 8193 normal DFmode incoming register assignment.
e91fa876 8194
ae6669e7
DJ
81952004-02-23 Dale Johannesen <dalej@apple.com>
8196
8197 * config/rs6000.md (movsf_hardfloat): Accept CTR-to-CTR copy.
8198 (movdf_hardfloat64): Ditto.
8199
2a9f2ad3
KH
82002004-02-23 Kazu Hirata <kazu@cs.umass.edu>
8201
8202 * convert.c, gcov-io.c, libgcov.c, sched-int.h, sibcall.c,
8203 config/rs6000/linux.h, config/rs6000/rs6000-c.c: Update
8204 copyright.
8205
aa5fa0fc
AP
82062004-02-23 Andrew Pinski <pinskia@physics.uc.edu>
8207
a2f1f4c3
AP
8208 PR c/14156
8209 * c-typeck.c (c_expand_return): Change check for VAR_DECL
8210 to use DECL_P instead.
8211
aa5fa0fc
AP
8212 * config/rs6000/linux.h (OS_MISSING_POWERPC64): Define.
8213 * config/rs6000/linux64.h (OS_MISSING_POWERPC64): Define.
8214
221ee7c9
KH
82152004-02-23 Kazu Hirata <kazu@cs.umass.edu>
8216
8217 * Makefile.in (opts.o): Depend on target.h.
8218 * opts.c (decode_options): Use targetm.default_short_enums
8219 instead of DEFAULT_SHORT_ENUMS.
8220 * system.h (DEFAULT_SHORT_ENUMS): Poison.
8221 * target-def.h (TARGET_DEFAULT_SHORT_ENUMS): New.
8222 (TARGET_INITIALIZER): Add TARGET_DEFAULT_SHORT_ENUMS.
8223 * target.h (gcc_target): Add default_short_enums.
8224 * config/cris/cris.h: Remove a comment about
8225 DEFAULT_SHORT_ENUMS.
8226 * config/ip2k/ip2k.h: Likewise.
8227 * doc/tm.texi (DEFAULT_SHORT_ENUMS): Change to
8228 TARGET_DEFAULT_SHORT_ENUMS. Update the description.
8229
bba745c1 82302004-02-23 Eric Botcazou <ebotcazou@libertysurf.fr>
3205a71e 8231 Falk Hueffner <falk@debian.org>
bba745c1
EB
8232
8233 PR c/14188
8234 * builtins.c (expand_builtin_va_arg): Emit an informative message
8235 if a trap is generated.
8236 * c-typeck.c (build_function_call): Likewise.
8237
c2cd64b5
JJ
82382004-02-22 Jakub Jelinek <jakub@redhat.com>
8239
8240 * gcov-io.c (gcov_open) [GCOV_LOCKED]: Use open + fdopen instead of
8241 fopen.
8242 * libgcov.c: Include sys/stat.h.
8243 * config/rs6000/linux.h (TARGET_HAS_F_SETLKW): Define.
8244 * config/rs6000/linux64.h (TARGET_HAS_F_SETLKW): Define.
8245 * config/sparc/linux.h (TARGET_HAS_F_SETLKW): Define.
8246 * config/sparc/linux64.h (TARGET_HAS_F_SETLKW): Define.
8247
fcfcb20e
KH
82482004-02-22 Kazu Hirata <kazu@cs.umass.edu>
8249
8250 * reorg.c: Remove comments about dead ports.
8251
56d03a40
CF
82522004-02-22 Christopher Faylor <cgf@redhat.com>
8253
8254 * config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): *Really* specify
8255 extra host object file when targetting cygwin rather than generic
8256 object files.
8257
5e20bdd7
JZ
82582004-02-22 Josef Zlomek <zlomekj@suse.cz>
8259
8260 Merge from tree-ssa:
8261 2003-11-20 Richard Henderson <rth@redhat.com>
8262
8263 * tree-inline.c (insert_decl_map): New.
8264 (remap_decl, remap_type, remap_block, copy_body_r,
8265 initialize_inlined_parameters, declare_return_variable,
8266 remap_save_expr): Use it.
8267
8268 * function.c (copy_body_r): Add mapping from id->ret_label to
8269 id->ret_label. Revert test for ret_label.
8270
4112be4a
JJ
82712004-02-22 Jakub Jelinek <jakub@redhat.com>
8272
8273 * genoutput.c (process_template): Strip trailing whitespace in @
8274 templates and issue a warning if there was any.
8275
3a6efa98 82762004-02-21 Christopher Faylor <cgf@redhat.com>
dc4a2f32
CF
8277
8278 * config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): Specify extra host
8279 object file when targetting cygwin.
8280 * config/i386/t-cygwin (EXTRA_GCC_OBJS): Remove definition since it is
8281 overridden by top-level Makefile.
8282
22cc69c4
RS
82832004-02-21 Roger Sayle <roger@eyesopen.com>
8284
8285 * config/i386/i386.c (standard_80387_constant_p): Also prefer
8286 the x87's load constant instructions when optimizing for size.
8287
bee07d3f
KH
82882004-02-21 Kazu Hirata <kazu@cs.umass.edu>
8289
8290 * combine.c (SHIFT_COUNT_TRUNCATED): Remove.
8291 * defaults.h (SHIFT_COUNT_TRUNCATED): Provide the default.
8292 * expmed.c: Assume SHIFT_COUNT_TRUNCATED is always defined.
8293 * fold-const.c: Likewise.
8294 * simplify-rtx.c: Likewise.
8295
da6fdad3
AM
82962004-02-21 Alan Modra <amodra@bigpond.net.au>
8297
8298 * combine.c (can_combine_p): Don't ignore SETs marked with
8299 REG_EH_REGION notes.
8300 (try_combine): When attemting to fix unrecognized insns, don't
8301 split a PARALLEL that contains the original i2.
8302
8bb418a3
ZL
83032004-02-21 Ziemowit Laski <zlaski@apple.com>
8304
8305 * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Refer to
8306 SUBTARGET_OPTION_TRANSLATE_TABLE for architecture-specific options.
8307 * config/i386/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): Define it.
8308 * config/rs6000/altivec.h: #error out if '-maltivec' not specified.
8309 (vector, pixel, bool): #define to __vector, __pixel and __bool.
8310 (__un_args_eq, __bin_args_eq, __tern_args_eq): Move to C-specific
8311 portion of header.
8312 (__altivec_link_error_invalid_argument): Remove prototype; will use
8313 __builtin_altivec_compiletime_error("vec_*") instead.
8314 (vec_*): Fix/complete set of available operation overloads given the
8315 existence of distinct 'vector bool ...' and 'vector pixel' types; tighten
8316 cv-correctness of pointer arguments; in C, always check for correct
8317 argument types before macro expansion.
8318 * config/rs6000/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): New macro
8319 defining Darwin/PowerPC-specific '-f[no-]altivec' and
8320 '-W[no-]altivec-long-deprecated' switches.
8321 * config/rs6000/rs6000-c (rs6000_cpu_cpp_builtins): Pre-define
8322 '__vector', '__pixel' and '__bool' macros using
8323 '__attribute__((altivec(...)))' types.
8324 * config/rs6000/rs6000.c (bool_char_type_node, bool_short_type_node,
8325 bool_int_type_node, pixel_type_node, bool_V16QI_type_node,
8326 bool_V8HI_type_node, bool_V4SI_type_node, pixel_V8HI_type_node):
8327 New type nodes.
8328 (rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): New, for
8329 handling '-W[no-]altivec-long-deprecated'.
8330 (rs6000_override_options): Handle '-W[no-]altivec-long-deprecated'.
8331 (rs6000_expand_binop_builtin, rs6000_expand_ternop_builtin,
8332 altivec_expand_dst_builtin): Remove casts from integer literals.
8333 (altivec_expand_builtin): Likewise; handle expansion of new
8334 '__builtin_altivec_compiletime_error' function.
8335 (rs6000_init_builtins): Initialize 'vector bool ...' and 'vector pixel'
8336 types, and make them distinct from other vector types; register
8337 '__builtin_altivec_compiletime_error' function.
8338 (print_operand): For 'P', print a full target register name instead of
8339 merely its number.
8340 (rs6000_attribute_table): Add "altivec" attribute.
8341 (rs6000_handle_altivec_attribute): New function.
21526606 8342 * config/rs6000/rs6000.h (TARGET_OPTIONS): Describe
8bb418a3
ZL
8343 '-m[no-]-warn-altivec-long' (which '-W[no-]altivec-long-deprecated'
8344 maps to).
8345 (rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): Forward
8346 declare.
8347 (ALTIVEC_BUILTIN_COMPILETIME_ERROR): New built-in enumeration.
8348
06a419ff
JW
83492004-02-20 James E Wilson <wilson@specifixinc.com>
8350
8351 * config/ia64/ia64.md (shift_mix4left+1): Delete reload_completed
8352 check.
8353 (shift_mix4left+2): Delete redundant pattern.
8354
d220de0e
KH
83552004-02-20 Kazu Hirata <kazu@cs.umass.edu>
8356
8357 * alias.c (OUTGOING_REGNO): Don't define the default.
8358 * builtins.c (OUTGOING_REGNO): Likewise.
8359 (INCOMING_REGNO): Likewise.
8360 (apply_args_register_offset): Always use OUTGOING_REGNO.
8361 * combine.c (OUTGOING_REGNO): Likewise.
8362 * sibcall.c (OUTGOING_REGNO): Likewise.
8363 * defaults.h (INCOMING_REGNO): Provide the default.
8364 (OUTGOING_REGNO): Likewise.
8365
701ad47e
JH
83662004-02-21 Jan Hubicka <jh@suse.cz>
8367
8368 * params.def (max-peeled-insns, max-completely-peeled-insns,
8369 max-once-peeled-insns): Set to 400.
8370
7a3e01c4
JDA
83712004-02-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8372
3205a71e 8373 PR c++/12007
7a3e01c4
JDA
8374 * dbxout.c (dbxout_parms): Check that DECL_RTL and DECL_INCOMING_RTL
8375 are set for parameters before outputing debugging information.
8376
f4d9988b
FH
83772004-02-20 Falk Hueffner <falk@debian.org>
8378
8379 PR target/14201
8380 * config/alpha/alpha.md (*fix_truncsfsi_ieee): Fix typoed operand
8381 numbers.
8382
2ae5c785
PB
83832004-02-20 Per Bothner <per@bothner.com>
8384
8385 * input.h: Don't #include line-map.h. It may cause link problems
8386 with undefined linemap_line_start when line-map.h is included but
8387 line-map.o is not linked, as currently happens with gengtype on
8388 compilers that don't support inline.
8389 * toplev.c: So we do have to explicitly #include line-map.h here.
8390
7c4d376d
RH
83912004-02-20 Richard Henderson <rth@redhat.com>
8392
8393 * doc/invoke.texi: Add -Wvariadic-macros.
8394
2c598860
KH
83952004-02-20 Kazu Hirata <kazu@cs.umass.edu>
8396
8397 * haifa-sched.c (sched_emit_insn): Remove.
8398 * sched-int.h: Remove the corresponding prototype.
8399
35afa569
KH
84002004-02-20 Kazu Hirata <kazu@cs.umass.edu>
8401
8402 Revert:
8403 2004-02-19 Kazu Hirata <kazu@cs.umass.edu>
8404 * opts.c (decode_options): Don't use DEFAULT_SHORT_ENUMS.
8405 * system.h (DEFAULT_SHORT_ENUMS): Poison.
8406 * config/cris/cris.h: Remove a comment about
8407 DEFAULT_SHORT_ENUMS.
8408 * config/ip2k/ip2k.h: Likewise.
8409 * doc/tm.texi (DEFAULT_SHORT_ENUMS): Remove.
8410
c1c3bb0c
ME
84112004-02-20 Mohan Embar <gnustuff@thisiscool.com>
8412 Tom Tromey <tromey@redhat.com>
8413
8414 * doc/install.texi: Moved --disable-libgcj and
8415 --with-system-zlib documentation to new section for
8416 Java-specific options.
8417 Added explicit Cross-Compiler-Specific Options subheading.
8418 Added section for Java-specific options.
8419
ee095310
MK
84202004-02-20 Matt Kraai <kraai@alumni.cmu.edu>
8421
8422 * doc/install.texi (Building the Ada compiler): Remove
3205a71e 8423 example.
ee095310 8424
15316a6f
JW
84252004-02-20 James E Wilson <wilson@specifixinc.com>
8426
8427 * toplev.c (dump_file_index, dump_file): Put ce3 before rnreg.
8428
9f76f909
KH
84292004-02-20 Kazu Hirata <kazu@cs.umass.edu>
8430
8431 * gcc.c (process_command): Allow translation of the copyright
8432 symbol but not the rest of the copyright message.
8433 * gcov.c (print_version): Likewise. Allow translation of the
8434 message about warranty.
8435
f38a62ff
HPN
84362004-02-20 Hans-Peter Nilsson <hp@axis.com>
8437
8438 * config/cris/cris.md ("*andsi_movu"): Correct parentheses in
8439 predicate.
8440 ("*andsi_clear"): Tweak constraints to not match postincrement.
8441 Adjust the predicate to exclude a volatile memory reference.
8442 ("*andhi_clear"): Ditto. Rename from "*andhi_clear_signed".
8443 ("*andhi_clear_unsigned"): Remove, non-matching pattern.
8444
88e3a2a3
MK
84452004-02-19 Matt Kraai <kraai@alumni.cmu.edu>
8446
8447 * move-if-change: Remove.
8448 * Makefile.in (s-mlib, c-parse.y, s-check, s-gencheck)
8449 (s-specs, s-options, s-config, s-conditions, s-flags, s-codes)
8450 (s-constants, s-emit, s-recog, s-opinit, s-extract, s-peep)
8451 (s-attr, s-attrtab, s-output, s-genrtl, s-modes, s-preds)
8452 (s-gtyp-gen, s-iov): Use the top level move-if-change.
8453 * objc/Make-lang.in (objc/objc-parse.y): Likewise.
8454
e0c34369
JW
84552004-02-19 James E Wilson <wilson@specifixinc.com>
8456
8457 * config/i386/i386.md (doloop_end_internal): Use nonimmediate_operand
8458 for operand2. Add condition that requires register_operand operand2
8459 before reload.
8460
656f37ee 84612004-02-19 Richard Sandiford <rsandifo@redhat.com>
2b5f287b 8462 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
656f37ee
RS
8463
8464 * config/mips/mips.c (mips_address_insns): Treat BLKmode specially.
8465 * config/mips/mips.md: Expand comment above unaligned loads and stores.
8466
4221057e
RH
84672004-02-19 Richard Henderson <rth@redhat.com>
8468
8469 * Makefile.in (STRICT2_WARN): Add -Wno-variadic-macros.
8470 * tree.c (build0, build1, build2, build3, build4): Split out from...
8471 (build): ... here. Call them.
8472 * tree.h (build, _buildN1, _buildN2, _buildC1, _buildC2): New.
8473
8474 * convert.c (convert_to_integer): Remove extra build argument.
8475 * tree-inline.c (expand_call_inline): Likewise.
8476
e5b79219
RH
84772004-02-19 Richard Henderson <rth@redhat.com>
8478
8479 * c-opts.c (warn_variadic_macros): New.
8480 (c_common_handle_option): Set it.
8481 (sanitize_cpp_opts): Copy it to cpp_opts.
8482 * c.opt (Wvariadic-macros): New.
8483 * cpplib.h (struct cpp_options): Add warn_variadic_macros.
8484 * cppinit.c (cpp_create_reader): Initialize it.
8485 * cppmacro.c (parse_params): Check it.
8486
18586cb7
DD
84872004-02-19 David Daney <ddaney@avtrex.com>
8488
8489 PR preprocessor/14198
8490 * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Add
8491 builtin_assert ("machine=mips")
8492
37a46828
KH
84932004-02-19 Kazu Hirata <kazu@cs.umass.edu>
8494
8495 * opts.c (decode_options): Don't use DEFAULT_SHORT_ENUMS.
8496 * system.h (DEFAULT_SHORT_ENUMS): Poison.
8497 * config/cris/cris.h: Remove a comment about
8498 DEFAULT_SHORT_ENUMS.
8499 * config/ip2k/ip2k.h: Likewise.
8500 * doc/tm.texi (DEFAULT_SHORT_ENUMS): Remove.
8501
f9c887ac
ZW
85022004-02-19 Zack Weinberg <zack@codesourcery.com>
8503
8504 * config/ia64/ia64.c (ia64_function_arg): In big-endian mode,
8505 when passing single SFmode quantities in general registers,
8506 put them in the high half.
8507
0e1d7f32 85082004-02-19 Aldy Hernandez <aldyh@redhat.com>
f9c887ac
ZW
8509
8510 * doc/md.texi (Standard Names): Document additional dependency on
8511 fix pattern.
8512
8513 * optabs.c (ftruncify): Remove.
8514 (expand_fix): Manually inline ftruncify above.
8515 (can_fix_p): Add FIXME note.
0e1d7f32 8516
c6e9f0eb 85172004-02-19 Aldy Hernandez <aldyh@redhat.com>
f9c887ac
ZW
8518
8519 * config/rs6000/spe.md (spe_fixunssfsi2): Rename to
8520 spe_fixuns_truncsfsi2.
8521
8522 * config/rs6000/rs6000.md (fixunssfsi2): Rename to
8523 fixuns_truncsfsi2.
c6e9f0eb 8524
919b531d
SE
85252004-02-19 Steve Ellcey <sje@cup.hp.com>
8526
8527 * config/ia64/ia64.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
8528 * testsuite/gcc.dg/20040219-1.c: New test.
8529
4dbb5970
UW
85302004-02-19 Ulrich Weigand <uweigand@de.ibm.com>
8531
8532 * config/s390/s390.md ("*subdf3_cc", "*subdf3_cconly", "*subsf3_cc",
8533 "*subsf3_cconly"): Subtraction is not commutative.
8534
16edbbf0
ZW
85352004-02-19 Zack Weinberg <zack@codesourcery.com>
8536
8537 * sdbout.c (preinit_symbols, sdbout_initialized): New statics.
8538 (sdbout_symbol): If called before sdbout_init, queue DECL for
8539 later and return.
8540 (sdbout_init): Set sdbout_initialized true, process decls
8541 queued earlier by sdbout_symbol.
8542 (sdbout_finish): Use size_t for index variable.
8543
f46e5baa 85442004-02-19 Jeff Law <law@redhat.com>
16edbbf0 8545
f46e5baa
JL
8546 * fold-const.c (invert_truthvalue): Do not call invert_tree_comparison
8547 for unordered comparison codes.
8548
d754127f
ILT
85492004-02-19 Ian Lance Taylor <ian@wasabisystems.com>
8550
8551 * reload1.c (reload): Correct comment.
8552 (scan_paradoxical_subregs): Remove #if 0 and old comment.
8553 * doc/extend.texi (Local Reg Vars): Remove obsolete comment that
8554 register variables are not used by reload.
8555
428eae94
HPN
85562004-02-19 Hans-Peter Nilsson <hp@axis.com>
8557
8558 PR target/14209
8559 * config/cris/cris.md ("*andsi_movu", "*andhi_movu"): Tweak
8560 constraints to not match postincrement. Adjust the predicate to
8561 exclude a volatile memory reference.
8562
a5ee8d80
KH
85632004-02-19 Kazu Hirata <kazu@cs.umass.edu>
8564
8565 * config/mcore/mcore.h (ASM_OUTPUT_EXTERNAL): Remove.
8566
45ea6431
KH
85672004-02-19 Kazu Hirata <kazu@cs.umass.edu>
8568
8569 * hooks.c (hook_void_tree_int): Remove.
8570 (hook_void_constcharptr): Likewise.
8571 (hook_int_void_0): Likewise.
8572 * hooks.h: Remove the prototypes for the above three
8573 functions.
8574 * targhooks.c (hook_bool_machine_mode_true): Remove.
8575 * targhooks.h: Remove the prototype for
8576 hook_bool_machine_mode_true.
8577
c59102b4
KH
85782004-02-19 Kazu Hirata <kazu@cs.umass.edu>
8579
8580 * emit-rtl.c (subreg_realpart_p): Remove.
8581 (reorder_insns_with_line_notes): Likewise.
8582 (end_full_sequence): Likewise.
8583 * rtl.h: Remove the prototype for the above functions.
8584
3ad17f7b
KH
85852004-02-19 Kazu Hirata <kazu@cs.umass.edu>
8586
8587 * config/arc/arc.h, config/arm/arm.h, config/frv/frv.h,
8588 config/h8300/h8300.h, config/i386/i386.h, config/i860/i860.h,
8589 config/iq2000/iq2000.h, config/m32r/m32r.h,
8590 config/pdp11/pdp11.h, config/sparc/sparc.h,
8591 config/xtensa/xtensa.h: Remove commented-out or useless
8592 definitions of CASE_VECTOR_PC_RELATIVE.
8593
a3b182a7
KH
85942004-02-19 Kazu Hirata <kazu@cs.umass.edu>
8595
8596 * loop.c (all_sets_invariant_p): Remove.
8597
1b5963f7
EB
85982004-02-19 Eric Botcazou <ebotcazou@libertysurf.fr>
8599
8600 PR target/12916
8601 * config/sparc/sparc.h (NPARM_REGS): Delete.
8602 (BASE_RETURN_VALUE_REG): Likewise.
8603 (BASE_OUTGOING_VALUE_REG): Likewise.
8604 (BASE_PASSING_ARG_REG): Likewise.
8605 (BASE_INCOMING_ARG_REG): Likewise.
8606 * config/sparc/sparc.c (sparc_strict_argument_naming): Test
8607 TARGET_ARCH64, not TARGET_V9.
8608 (function_arg_slotno): Dispatch based on the mode class.
8609 Handle vector modes like floating-point modes.
8610 (function_arg_record_value_1): Handle vector types like
8611 floating-point types.
8612 (function_arg_record_value_2): Likewise.
8613 Calculate regno after mode transformation.
8614 (function_arg): Handle vector modes like floating-point modes.
8615 (function_arg_partial_nregs): Replace NPARM_REGS by SPARC_INT_ARG_MAX.
8616 If ARCH64, do not recheck alignment.
8617 (function_arg_pass_by_reference): Reorder the conditions.
8618 (sparc_return_in_memory): Move after function_arg_padding.
8619 Implement calling conventions for vector modes.
8620 (sparc_struct_value_rtx): Move after sparc_return_in_memory.
8621 (function_value): Move scope of 'regbase'.
8622 Implement calling conventions for vector modes.
8623 (sparc_builtin_saveregs): Replace NPARM_REGS by SPARC_INT_ARG_MAX
8624 and BASE_INCOMING_ARG_REG by SPARC_INCOMING_INT_ARG_FIRST.
8625 (sparc_va_arg): Use function_arg_pass_by_reference to test whether
8626 the argument is passed by reference.
8627 (sparc_type_code): Handle vector types.
8628
196c42cd
AM
86292004-02-19 Alan Modra <amodra@bigpond.net.au>
8630
8631 * function.c (assign_parms): When building decl_rtl for
8632 SPLIT_COMPLEX_ARGS, ensure inner modes of concat match outer.
8633
c0cfc691
OH
86342004-02-19 Olivier Hainque <hainque@act-europe.fr>
8635
8636 * expr.c (is_aligning_offset): Check if we are aligning the
8637 expressions's address over BIGGEST_ALIGNMENT in bytes, not
8638 in bits.
8639
328163dc
MA
86402003-02-18 Matt Austern <austern@apple.com>
8641
8642 * gcc.c (LIBGCC_SPEC): If REAL_LIBGCC_SPEC is defined, and
8643 LIBGCC_SPEC isn't, set LIBGCC_SPEC to REAL_LIBGCC_SPEC.
8644 (init_gcc_spec): Don't define or call if REAL_LIBGCC_SPEC is
8645 defined. Instead use REAL_LIBGCC_SPEC, unmodifed, as the libgcc
8646 spec string.
8647 * doc/tm.texi (REAL_LIBGCC_SPEC): Document.
16edbbf0 8648
57d4f65c
ZW
86492004-02-18 Zack Weinberg <zack@codesourcery.com>
8650
8651 * dwarf2out.c (loclabel_num): Move outside #ifdef
8652 DWARF2_DEBUGGING_INFO and mark with GTY(()).
8653 * config/ia64/ia64.c (struct extern_func_list,extern_func_head):
8654 Mark with GTY(()).
8655 (ia64_hpux_add_extern_decl): Save the decl, not the name string.
8656 Allocate memory with ggc_alloc. No need to copy anything.
8657 (ia64_hpux_file_end): Update to match.
8658
3fec9fa9
JJ
86592004-02-18 Jakub Jelinek <jakub@redhat.com>
8660
8661 * config/i386/i386.c (override_options): Don't imply 3DNow! for -m64
8662 by default.
8663
5665e398
UW
86642004-02-18 Ulrich Weigand <uweigand@de.ibm.com>
8665
8666 * config/s390/s390.md ("divmodtidi3"): Use canonical RTL.
8667 ("divmodtisi3"): Likewise.
8668 ("udivmoddi4", "udivmodtidi3"): Likewise.
8669 ("divmodsi4", "divmoddisi3"): Likewise.
8670 ("udivmodsi4", "udivmoddisi3"): Likewise.
8671 ("udivsi3", "umodsi3"): Likewise.
8672
d76e8439
UW
86732004-02-18 Ulrich Weigand <uweigand@de.ibm.com>
8674
8675 * config/s390/s390.c (s390_mainpool_start): Delete the main pool
8676 placeholder insn when chunkifying the pool.
8677
3cf7104e
JDA
86782004-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8679
8680 * pa.h (PIC_OFFSET_TABLE_REGNUM): Define to INVALID_REGNUM when not
8681 generating PIC code.
8682
8981ecd3
KH
86832004-02-18 Kazu Hirata <kazu@cs.umass.edu>
8684
8685 * config/h8300/h8300-protos.h: Add a prototype for
8686 h8300_expand_branch.
8687 * config/h8300/h8300.c (h8300_expand_branch): New.
8688 * config/h8300/h8300.md (ble, bleu, bge, bgeu, blt, bltu, bgt,
8689 bgtu, beq, bne): Call h8300_expand_branch().
8690
07ee3b58
KH
86912004-02-18 Kazu Hirata <kazu@cs.umass.edu>
8692
8693 * config/h8300/h8300-protos.h: Add prototypes for
8694 h8300_hard_regno_nregs and h8300_hard_regno_mode_ok.
8695 * config/h8300/h8300.c (h8300_hard_regno_nregs): New.
8696 (h8300_hard_regno_mode_ok): Likewise.
8697 * config/h8300/h8300.h (HARD_REGNO_NREGS): Call
8698 h8300_hard_regno_nregs().
8699 (HARD_REGNO_MODE_OK): Call h8300_hard_regno_mode_ok().
8700
22234f56
PB
87012004-02-18 Per Bothner <per@bothner.com>
8702
8703 * cpphash.h (struct cpp_buffer): Restore return_at_eof field. This
8704 partly reverts my 2003-10-01 change, because we're back to logically
8705 including <command line> inside the main line.
8706 * cpplex.c (_cpp_get_fresh_line): Check return_at_eof field.
8707 * cppmacro.c (cpp_scan_nooutput): Set return_at_eof of current buffer.
8708 Fixes PR preprocessor/14103.
8709
8710 * cppfiles.c (_cpp_stack_include): When appropriate decrement
8711 line_table's highest_location, fixing LAST_SOURCE_LINE_LOCATION.
8712 (cpp_push_include): Don't need to increment pfile's line field.
8713 * line-map.h (LAST_SOURCE_LINE_LOCATION): Only decrement by 1.
8714
8715 * c-ppoutput.c (print struct): New first_time field.
8716 (init_pp_output): Set print.first_time.
8717 (pp_file_change): Use print.first_time, rather than MAIN_FILE_P,
8718 which is set also for (say) <command line>. Clear print.first_time.
8719
8720 * cppfiles.c (struct _cpp_file): Comment and type for pch field
8721 does not match the code, so fix both.
8722 (should_stack_file): Inline include_pch_p function.
8723 (include_pch_p): Remove pointless function.
8724
8725 * cpphash.h (struct cpp_buffer): Remove unused search_cached field.
8726
5a6d9a81
KH
87272004-02-18 Kazu Hirata <kazu@cs.umass.edu>
8728
8729 * config/h8300/h8300.md (four define_peephole2's): Use
8730 h8300_regs_ok_for_stm().
8731
3d2e90d6
KH
87322004-02-18 Kazu Hirata <kazu@cs.umass.edu>
8733
8734 * config/h8300/h8300-protos.h: Update the prototype for
8735 expand_a_rotate().
8736 * config/h8300/h8300.c (expand_a_rotate): Remove the first
8737 argument.
8738 * config/h8300/h8300.md: Update all callers.
8739
79ae63b1
JH
87402004-02-18 Jan Hubicka <jh@suse.cz>
8741
8742 * simplify-rtx.c (simplify_unary_operation): Deal with logicals on
8743 floats.
8744 (simplify_binary_operation): Deal with logicals on floats.
8745
8746 * i386.md (SSE fabs splitters): Emit new patterns.
8747 (SSE cmov splitters): Likewise.
8748 (sse_andv4sf3, sse_nandv4sf3, sse_iorv4sf3, sse_xorv4sf3
8749 (sse_andv2df3, sse_nandv2df3, sse_iorv2df3, sse_xorv2df3): Do not use
8750 subregs.
8751 (sse_andsf3, sse_nandsf3, sse_xorsf3): Kill.
8752 (sse_anddf3, sse_nanddf3, sse_xordf3): Kill.
8753
01ab5574
KH
87542004-02-18 Kazu Hirata <kazu@cs.umass.edu>
8755
8756 * config/h8300/h8300.c (expand_a_rotate): Don't generate insns
8757 by hand.
8758 (output_a_rotate): Tweak a comment.
8759 * config/h8300/h8300.md (*rotlqi3_1): Change to rotlqi3_1.
8760 (*rotlhi3_1): Change to rotlhi3_1.
8761 (*rotlsi3_1): Change to rotlsi3_1.
8762
d5f7d2d0
RE
87632004-02-18 Richard Earnshaw <rearnsha@arm.com>
8764
8765 PR target/13866
8766 * arm.c (load_multiple_operation): Don't insist that the source reg
8767 of a post-increment component is the same as the destination.
8768 (store_multiple_operation): Likewise.
8769
b0c8a821
KH
87702004-02-18 Kazu Hirata <kazu@cs.umass.edu>
8771
8772 * config/h8300/h8300.md: Move movsf patterns into one section
8773 of the file.
8774
aa335b76
KH
87752004-02-18 Kazu Hirata <kazu@cs.umass.edu>
8776
8777 * cfgloop.h, cfgloopanal.c, cpplex.c, except.h, loop-init.c,
8778 loop-unroll.c, scan-decls.c, scan.h, stor-layout.c,
8779 xcoffout.c, xcoffout.h, config/arm/mmintrin.h,
8780 config/mips/linux64.h, config/pa/pa-64.h,
8781 config/rs6000/aix51.h, config/rs6000/aix52.h,
8782 config/rs6000/spe.md, config/sparc/linux.h,
8783 config/sparc/linux64.h: Update copyright.
8784
5a64541a
KH
87852004-02-18 Kazu Hirata <kazu@cs.umass.edu>
8786
8787 * config/h8300/h8300.md: Move push patterns into one
8788 section of the file.
8789
8d04e6db
MM
87902004-02-18 Mark Mitchell <mark@codesourcery.com>
8791
8792 PR c++/11326
8793 * config/ia64/ia64.c (ia64_struct_value_rtx): Cope with NULL
8794 fntype.
8795
e978d62e
PB
87962004-02-18 Paul Brook <paul@codesourcery.com>
8797
8798 * rtlanal.c (rtx_varies_p): Return 0 for NULL_RTX
8799
cdbafce1
PB
88002004-02-18 Paul Brook <paul@codesourcery.com>
8801
c5fe5036 8802 PR debug/12934
cdbafce1
PB
8803 * dwarf2out.c (loc_descriptor_from_tree): Handle
8804 EXPR_WITH_FILE_LOCATION.
8805
5a0855a0
JJ
88062004-02-18 Jakub Jelinek <jakub@redhat.com>
8807
8808 * config/i386/i386.md (zero_extendqidi2, zero_extendqidi2,
8809 testdi_1_rex64, anddi_2, xordi_1_rex64, xordi_2_rex64): Remove
8810 trailing whitespace from instructions.
8811
9c56033f
GK
88122004-02-17 Geoffrey Keating <geoffk@apple.com>
8813
8814 * configure.ac: When generating auto-build.h, pass
8815 --enable-languages to the sub-configure.
8816 Put quotes around ${program_transform_name} when generating
8817 name of as, ld, nm, objdump.
8818 * configure: Regenerate.
8819
80bcb4d2
MK
88202004-02-17 Matt Kraai <kraai@alumni.cmu.edu>
8821
8822 * Makefile.in (s-check, s-config, s-conditions, s-flags)
8823 (s-codes, s-constants, s-emit, s-recog, s-opinit, s-extract)
8824 (s-peep, s-attr, s-attrtab, s-output, s-genrtl, s-modes)
8825 (s-preds, s-iov): Do not depend on move-if-change.
8826
ce7b36a4
JW
88272004-02-17 James E Wilson <wilson@specifixinc.com>
8828
8829 * caller-save.c (insert_restore): Pass mem through copy_rtx.
8830 (insert_save): Likewise.
8831
f8b58e56
KH
88322004-02-17 Kazu Hirata <kazu@cs.umass.edu>
8833
8834 * config/h8300/h8300.c (h8300_emit_stack_adjustment): Fix a
8835 warning.
8836
8d82e1d8
KH
88372004-02-17 Kazu Hirata <kazu@cs.umass.edu>
8838
8839 * config/h8300/h8300.md (*one_complsi2_h8300): Change to
8840 *one_cmplsi2_h8300.
8841 (*one_complsi2_h8300hs): Change to *one_cmplsi2_h8300hs.
8842
4093985c
KH
88432004-02-17 Kazu Hirata <kazu@cs.umass.edu>
8844
8845 * config/h8300/h8300-protos.h: Update the prototype of
8846 fix_bit_operand().
8847 * config/h8300/h8300.c (fix_bit_operand): Remove the second
8848 argument "what".
8849 * config/h8300/h8300.md: Update all callers.
8850
fd57a6e4
KH
88512004-02-17 Kazu Hirata <kazu@cs.umass.edu>
8852
8853 * config/h8300/h8300.c (fix_bit_operand): Change the name of
8854 the last argument to "code" from "type".
8855
6a415867
KH
88562004-02-17 Kazu Hirata <kazu@cs.umass.edu>
8857
8858 * config/h8300/h8300.c: Remove an extern declaration of
8859 rtx_equal_function_value_matters.
8860
a3579575
KH
88612004-02-17 Kazu Hirata <kazu@cs.umass.edu>
8862
8863 * config/h8300/h8300.c (fix_bit_operand): Don't generate insns
8864 by hand.
8865 * config/h8300/h8300.md (*andqi3_1): Change to andqi3_1.
8866 (*iorqi3_1): Change to iorqi3_1.
8867 (*xorqi3_1): Change to xorqi3_1.
8868
321440fd
KH
88692004-02-17 Kazu Hirata <kazu@cs.umass.edu>
8870
8871 * c-common.c, cfghooks.c, rtlanal.c, varasm.c: Fix comment
8872 typos.
8873
7b50a809
JH
88742004-02-17 Jan Hubicka <jh@suse.cz>
8875
8876 * i386.c (x86_prologue_using_move, x86_epilogue_using_move): Disable for P4.
8877
8051c2eb
AM
88782004-02-18 Alan Modra <amodra@bigpond.net.au>
8879
8880 PR optimization/14119
8881 * combine.c (try_combine): When attemting to fix unrecognized insns,
8882 don't delete SETs marked with REG_EH_REGION notes.
8883
db33236e
UW
88842004-02-17 Ulrich Weigand <uweigand@de.ibm.com>
8885
57d4f65c 8886 * combine.c (simplify_if_then_else): Do not replace
db33236e
UW
8887 (if_then_else (ne reg 0) (0) (const_int)) by (reg) if the
8888 modes differ.
8889
1da326c3
SB
88902004-02017 Steven Bosscher <stevenb@suse.de>
8891
8892 * (c-decl.c, c-semantics.c, calls.c, cgraph.c, cgraphunit.c,
8893 function.c, integrate.c, print-tree.c, toplev.c, tree-optimize.c,
8894 tree.h): Replace DECL_SAVED_INSNS with DECL_STRUCT_FUNCTION.
8895 * ada/utils.c: Likewise.
8896 * cp/decl.c: Likewise.
8897 * f/com.c: Likewise.
8898 * java/class.c: Likewise.
8899
65c07641
KH
89002004-02-17 Kazu Hirata <kazu@cs.umass.edu>
8901
8902 * config/h8300/h8300.md: Fix comment typos.
8903
3e35cb0c
RO
89042004-02-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8905
8906 * config/mips/t-iris6gld: Renamed to ...
8907 * config/mips/t-irix-gld: ... this.
8908 * config.gcc (mips-sgi-irix6*): Reflect this
8909 (mips-sgi-irix5*): Use it with GNU ld.
57d4f65c 8910
3e35cb0c
RO
8911 * config/mips/irix6-crti.asm, config/mips/irix6-crtn.asm: Renamed
8912 to ...
8913 * config/mips/irix-crti.asm, config/mips/irix-crtn.asm: ... this.
8914 * config/mips/t-irix-gld: Reflect this.
8915 * config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
57d4f65c 8916
3e35cb0c
RO
8917 * config/mips/iris5gld.h: New file.
8918 * config.gcc (mips-sgi-irix5*): Use it with GNU ld.
8919 Only use collect2 without gas.
57d4f65c 8920
3e35cb0c
RO
8921 * config/mips/iris6.h (IRIX6_STARTFILE_SPEC, IRIX6_ENDFILE_SPEC):
8922 Renamed to IRIX_STARTFILE_SPEC, IRIX_ENDFILE_SPEC.
8923 (STARTFILE_SPEC, ENDFILE_SPEC, SUBTARGET_EXTRA_SPECS): Reflect this.
8924 * config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
57d4f65c 8925
3e35cb0c
RO
8926 * config/mips/iris6.h (SUBTARGET_EXTRA_SPECS): Moved ...
8927 * config/mips/iris5.h: ... here.
8928
8929 * config/mips/iris5.h (STARTFILE_SPEC, ENDFILE_SPEC): Renamed to
57d4f65c 8930 IRIX_STARTFILE_SPEC, IRIX_ENDFILE_SPEC.
3e35cb0c 8931 (STARTFILE_SPEC, ENDFILE_SPEC): Define.
57d4f65c 8932
3e35cb0c
RO
8933 * config/mips/iris5gas.h (STARTFILE_SPEC, ENDFILE_SPEC): Simplify
8934 using irix_startfile_spec, irix_endfile_spec.
8935
1f0282cb
GN
89362004-02-16 Gunther Nikl <gni@gecko.de>
8937
8938 * config/m68k/m68k.c: Remove obsolete support for HPUX_ASM.
8939
6552458a
KH
89402004-02-17 Kazu Hirata <kazu@cs.umass.edu>
8941
8942 * config/h8300/h8300.c (h8300_expand_prologue): Don't generate
8943 insns by hand.
8944
017b3258
ZD
89452004-02-17 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8946
8947 * cfghooks.c (split_edge): Speed up updating of dominators.
8948
57782ad8
MM
89492004-02-17 Mark Mitchell <mark@codesourcery.com>
8950
8951 PR c++/11326
8952 * c-common.c (flag_abi_version): Remove.
8953 * c-common.h (flag_abi_version): Likewise.
8954 * c-opts.c (c_common_handle_option): Remove OPT_fabi_version case.
8955 * c.opt (fabi-version): Remove.
8956 * calls.c (expand_call): Always pass a function type to
8957 struct_value_rtx. Use convert_memory_address.
8958 * common.opt (fabi-version): Add it.
8959 * flags.h (flag_abi_version): Likewise.
8960 (abi_version_at_least): New macro.
8961 * opts.c (common_handle_option): Add OPT_fabi_version.
8962 * toplev.c (flag_abi_version): Define it.
8963 * config/ia64/ia64.c (ia64_struct_retval_addr_is_first_parm_p):
8964 New function.
8965 (ia64_output_mi_thunk): Use it.
8966 (ia64_struct_value_rtx): Likewise.
57d4f65c 8967
72b1de44
KH
89682004-02-17 Kazu Hirata <kazu@cs.umass.edu>
8969
8970 * config/h8300/h8300.c (h8300_emit_stack_adjustment):
8971 Don't generate insns by hand.
8972
d150ccef
AP
89732004-02-17 Andrew Pinski <pinskia@physics.uc.edu>
8974
8975 PR c++/14178
8976 * doc/invoke.texi (fabi-version): The default is 2 now.
8977
50654f6c
ZD
89782004-02-17 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8979
8980 * loop-iv.c: New file.
8981 * Makefile.in (loop-iv.o): New.
8982 * basic_block.h (FOR_BB_INSNS, FOR_BB_INSNS_REVERSE): New macros.
8983 * cfgloop.c (fill_sons_in_loop, get_loop_body_in_dom_order,
8984 num_loop_branches): New functions.
8985 * cfgloop.h (get_loop_body_in_dom_order, num_loop_branches,
8986 iv_analysis_loop_init, iv_get_reaching_def, iv_analyse, get_iv_value,
8987 find_simple_exit, iv_number_of_iterations, iv_analysis_done,
8988 get_simple_loop_desc, free_simple_loop_desc): Declare.
8989 (simple_loop_desc): New inline function.
8990 (struct rtx_iv, struct niter_desc): New.
8991 * cfgloopmanip.c (loopify): Specify semantics more precisely.
8992 * expr.c (force_operand): Handle subregs of expressions created by
8993 loop unroller.
8994 * loop-init.c (loop_optimizer_init, loop_optimizer_finalize): Move
8995 parts of the initialization to toplev.c
8996 * loop-unroll.c (loop_exit_at_end_p): New.
8997 (unroll_and_peel_loops): Call iv_analysis_done.
8998 (decide_peel_once_rolling, decide_peel_completely,
8999 decide_unroll_stupid, decide_unroll_constant_iterations,
9000 decide_unroll_runtime_iterations, decide_peel_simple,
9001 peel_loop_simple, unroll_loop_stupid, unroll_loop_constant_iterations,
9002 unroll_loop_runtime_iterations): Use new simple loop analysis.
9003 * loop-unswitch.c (compare_and_jump_seq): New.
9004 (may_unswitch_on_p): Renamed to ...
9005 (may_unswitch_on): Use new iv analysis.
9006 (reversed_condition): Export.
9007 (unswitch_single_loop, unswitch_loop): Use new iv analysis.
9008 * predict.c (estimate_probability): Use new simple loop analysis.
9009 * rtl.h (get_mode_bounds, reversed_condition,compare_and_jump_seq,
9010 canon_condition, simplify_using_condition): Declare.
9011 * stor-layout.c (get_mode_bounds): New.
9012 * toplev.c (rest_of_handle_loop2): Some parts of
9013 initialization/finalization moved here from loop-init.c.
9014
ef3f573f
KH
90152004-02-17 Kazu Hirata <kazu@cs.umass.edu>
9016
9017 * config/h8300/h8300.h (FIXED_REGISTERS): Add the soft frame
9018 pointer.
9019 (CALL_USED_REGISTERS): Likewise.
9020 (REG_ALLOC_ORDER): Likewise.
9021 (REG_CLASS) <GENERAL_REGS>: Likewise.
9022
e3d6e740
GK
90232004-02-16 Geoffrey Keating <geoffk@apple.com>
9024
9025 * doc/md.texi (Insn Canonicalizations): Document left-chaining
9026 in associative operators.
9027 * rtlanal.c (commutative_operand_precedence): Create some new
9028 variables. Prefer a commutative operand on the left, then
9029 binary expressions, then NEG and NOT.
9030
8c958ed2
MK
90312004-02-16 Matthias Klose <doko@debian.org>
9032
57d4f65c
ZW
9033 * config/t-slibgcc-elf-ver: Define SHLIB_NAME and SHLIB_SONAME
9034 in terms of SHLIB_SOVERSION.
9035 * config/m68k/t-slibgcc-elf-ver: New file.
9036 * config/pa/t-slibgcc-elf-ver: New file.
9037 * config.gcc (m68k-linux, parisc-linux): Use them when not
8c958ed2
MK
9038 sjlj exceptions are not configured.
9039
42a5f3c0
EB
90402004-02-16 Eric Botcazou <ebotcazou@libertysurf.fr>
9041
9042 * config/sparc/sparc.c (get_pc_symbol_name): Mark with GTY(()).
9043
1729e46c
ZW
90442004-02-16 Zack Weinberg <zack@codesourcery.com>
9045
9046 * sdbout.c (sdb_debug_hooks): Correct the type_decl entry.
9047
0acdc221
JM
90482004-02-16 Joseph S. Myers <jsm@polyomino.org.uk>
9049
9050 * doc/sourcebuild.texi: Mention backends.html.
9051
9ac97460
KH
90522004-02-16 Kazu Hirata <kazu@cs.umass.edu>
9053
9054 * c-decl.c, c-ppoutput.c, cpphash.h, cpplib.h, dbxout.c,
9055 line-map.c, line-map.h, var-tracking.c: Fix comment
9056 formatting.
9057
9dcb4381
RH
90582004-02-16 Richard Henderson <rth@redhat.com>
9059
9060 * cse.c (cse_insn): Don't lose REG_NON_LOCAL_GOTO note.
9061
1729e46c 9062 * fold-const.c (operand_equal_p): Fix VECTOR_CST comparison.
875427f0 9063
1472042a
KH
90642004-02-15 Kazu Hirata <kazu@cs.umass.edu>
9065
9066 * config/h8300/h8300.md: Remove unnecessary parallels from
9067 all define_insn and define_split patterns.
9068
24f29b06
KH
90692004-02-15 Kazu Hirata <kazu@cs.umass.edu>
9070
9071 * config/h8300/h8300.md: Remove explicit (set_attr "cc"
9072 "clobber").
9073
ac5f9961
BI
90742004-02-15 Bernardo Innocenti <bernie@develer.com>
9075
9076 * config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Restore support for
9077 '%#'.
9078
68776c43
KH
90792004-02-15 Kazu Hirata <kazu@cs.umass.edu>
9080
9081 * config/ia64/ia64.c, config/mips/mips.c,
9082 config/mmix/mmix-modes.def: Fix comment typos.
9083
7501c4e4
RS
90842004-02-15 Roger Sayle <roger@eyesopen.com>
9085
9086 * c-common.h (GET_DIRECTIVE_LINE): Remove unused macro.
9087 (get_directive_line): Remove unused function prototype.
9088
5852680b
JZ
90892004-02-14 Josef Zlomek <zlomekj@suse.cz>
9090
9091 * tree-inline.c (copy_body_r): Do not replace ret_label.
9092
be04394b
JH
90932004-02-14 Jan Hubicka <jh@suse.cz>
9094
9095 * i386.c (x86_four_jump_limit): New variable.
9096 (k8_avoid_jump_misspredicts): Rename to ...
9097 (ix86_avoid_jump_misspredicts): .. this one.
9098 (ix86_pad_returns): Break out from ...
9099 (ix86_reorg): ... this one; do ix86_avoid_jump_misspredicts when asked
9100 to.
9101 * i386.h (TARGET_FOUR_JUMP_LIMIT): New macro.
9102
d4afac5b
JZ
91032004-02-14 Josef Zlomek <zlomekj@suse.cz>
9104
9105 * emit-rtl.c (set_decl_incoming_rtl): Check whether the 0th element of
9106 PARALLEL is NULL.
9107
c7762b44
PB
91082004-02-14 Per Bothner <per@bothner.com>
9109
9110 * fix-header.c (line_table): Move local variable in main to global.
9111 * scan.h (line_table): Use it.
9112 * scan-decls.c (scan_decls): Need to call linemap_lookup on token's
9113 line (recently renamed to src_loc) before calling recognized_function.
9114
cb7c0b5a
MK
91152004-02-14 Matt Kraai <kraai@alumni.cmu.edu>
9116
9117 * Makefile.in: Fix comment typos.
9118
45f9877a
EB
91192004-02-14 Olivier Hainque <hainque@act-europe.fr>
9120
9121 * loop.c (check_dbra_loop): Use gen_int_mode instead of GEN_INT
9122 for start_value when it is directly moved into reg, and factorize
9123 the retrieval of GET_MODE (reg).
9124
544142d8
RS
91252004-02-14 Richard Sandiford <rsandifo@redhat.com>
9126
9127 * config/mips/mips-protos.h (mips_load_got_page): Delete.
9128 (mips_load_got_global): Delete.
9129 (mips_gotoff_page): Declare.
9130 * config/mips/mips.md (UNSPEC_LOAD_GOT): New constant.
9131 (*xgot_lo[sd]i, *got_disp[sd]i, *got_page[sd]i): Build an
9132 UNSPEC_LOAD_GOT pattern rather than a MEM.
9133 (*load_got[sd]i): New patterns.
9134 * config/mips/mips.c (mips_got_alias_set, mips_load_got): Delete.
9135 (mips_load_got_page, mips_load_got_global): Delete.
9136 (mips_gotoff_page): New function.
9137 (override_options): Don't initialize mips_got_alias_set.
9138
d2888f1d
RS
91392004-02-14 Richard Sandiford <rsandifo@redhat.com>
9140
9141 * config/mips/mips.h (MASK_DEBUG_[ABEFI], TARGET_DEBUG_[ABEFI]_MODE)
9142 (TARGET_MIPS4100, TARGET_MIPS4300, TARGET_MIPS4KC, TARGET_MIPS5KC)
9143 (TARGET_SB1, TUNE_SB1, TUNE_SR71K, BIGGEST_MAX_ARGS_IN_REGISTERS)
9144 (GO_PRINTF, GO_PRINTF2, GO_DEBUG_RTX, DFMODE_NAN, SFMODE_NAN): Delete.
9145 (TARGET_SWITCHES): Remove MASK_DEBUG_[ABEFI].
9146 * config/mips/mips.c: Fix some overly-long lines.
9147 (SINGLE_WORD_MODE_P, PIC_OFFSET_TABLE_MASK): Delete.
9148 (init_cumulative_args): Remove TARGET_DEBUG_E_MODE handling.
9149
19baba0b
RO
91502004-02-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9151
9152 * configure.ac: Search for as, ld below libexec/gcc.
9153 * configure: Regenerate.
9154
f07a6b21
BE
91552004-02-14 Ben Elliston <bje@wasabisystems.com>
9156
9157 * config/arm/mmintrin.h (_mm_setwcx): Reverse arguments in call to
9158 __builtin_arm_setwcx ().
9159 * config/arm/arm.c (arm_expand_builtin): Generate operands
9160 correctly and reverse their order in call to gen_iwmmxt_tmcr ().
9161
91622004-02-14 Ben Elliston <bje@wasabisystems.com>
9163
9164 * config/arm/arm.c (bdesc_2arg): Correct builtin names "wmulsh"
9165 and "wmuluh" to "wmulsm" and "wmulum", respectively.
9166 * config/arm/arm.h (enum arm_builtins): Rename enumerators to
9167 ARM_BUILTIN_WMULSM and ARM_BUILTIN_WMULUM.
9168 * config/arm/mmintrin.h (_mm_mulhi_pi16): Update intrinsic call.
9169 (_mm_mulhi_pu16): Likewise.
9170
f433554b
ZW
91712004-02-13 Zack Weinberg <zack@codesourcery.com>
9172
9173 * xcoffout.c (xcoff_assign_fundamental_type_number): Check
9174 DECL_NAME != 0 before dereferencing.
9175
faeb9bb6
UW
91762004-02-13 Ulrich Weigand <uweigand@de.ibm.com>
9177
9178 * config/s390/s390-protos.h (s390_output_symbolic_const): Remove.
9179 (s390_output_addr_const_extra): Declare.
9180 (s390_output_pool_entry): Remove FILE * argument.
9181 * config/s390/s390.c (s390_output_symbolic_const): Remove.
9182 (s390_output_addr_const_extra): New function.
9183 (print_operand_address): Call output_addr_const instead of
9184 s390_output_symbolic_const.
9185 (print_operand): Likewise.
9186 (s390_output_pool_entry): Use assemble_integer for symbolic constants.
9187 Remove FILE * argument.
9188 * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Define.
9189 * config/s390/s390.md ("*pool_entry"): Adapt s390_output_pool_entry
9190 call.
9191
cfbe3efe
ZD
91922004-02-13 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9193
9194 * cfgloopanal.c (mark_irreducible_loops): Rewriten.
9195 (struct edge, struct vertex, struct graph): New.
9196 (dump_graph, new_graph, add_edge, dfs, check_irred, for_each_edge,
9197 free_graph): New functions.
9198
d349192c
CD
91992004-02-12 Chris Demetriou <cgd@broadcom.com>
9200
9201 * config/mips/mips.md (casesi_internal, casesi_internal_di):
9202 Use ".set macro" to avoid warnings about multi-instruction
9203 macros, since they're intentional.
9204
52ccb3d2
GK
92052004-02-12 Geoffrey Keating <geoffk@apple.com>
9206
213c4a8a
GK
9207 * config/darwin.h: Add include guards. Remove old, now incorrect,
9208 comment about STANDARD_EXEC_PREFIX.
9209
52ccb3d2
GK
9210 * Makefile.in (install-man): Use $(CPP_INSTALL_NAME) and
9211 $(GCOV_INSTALL_NAME) to install manpages. Remove generic rule
9212 for installing .1 manpages. Add rules for installing cpp
9213 and gcov manpages under their installed names.
9214
1a543d25
AO
92152004-02-12 Alexandre Oliva <aoliva@redhat.com>
9216
9217 * configure.ac (gcc_cv_ld): Don't set to LD if target is not
9218 host, but try LD_FOR_TARGET first.
9219 * configure: Rebuilt.
9220
8507c40a
ZW
92212004-02-12 Zack Weinberg <zack@codesourcery.com>
9222
9223 * dbxout.c: Move declaration of dbxout_type_decl outside
9224 #ifdef DBX_DEBUGGING_INFO.
9225 * c-parse.in: Don't give the asmdef production a type.
9226
21d13d83
ZW
92272004-02-12 Zack Weinberg <zack@codesourcery.com>
9228
9229 * debug.h (struct gcc_debug_hooks): Add type_decl field.
9230 (debug_nothing_tree_int): Prototype.
9231 (dwarf_debug_hooks): Delete, unused.
9232 * debug.c (do_nothing_debug_hooks): Update.
9233 (debug_nothing_tree_int): New function.
9234 * langhooks.h (struct lang_hooks_for_decls):
9235 Remove builtin_type_decls field.
9236 * langhooks-def.h (LANG_HOOKS_BUILTIN_TYPE_DECLS): Delete.
9237 (LANG_HOOKS_DECLS): Update.
9238 * toplev.c (rest_of_decl_compilation, rest_of_type_compilation):
9239 Use debug_hooks->type_decl.
9240 * dbxout.c (preinit_symbols): New static.
9241 (dbx_debug_hooks, xcoff_debug_hooks): Update.
9242 (dbxout_init): Don't call DBX_OUTPUT_STANDARD_TYPES or
9243 lang_hooks.decls.builtin_type_decls. Do scan preinit_symbols
9244 for symbols to output.
9245 (dbxout_type_decl): New function.
9246 (dbxout_symbol): If called before dbxout_init has run, queue
9247 the symbol for later. Apply DBX_ASSIGN_FUNDAMENTAL_TYPE_NUMBER
9248 to TYPE_DECLs before emitting them.
9249 * xcoffout.c (assign_type_number): Delete.
9250 (xcoff_type_numbers): New static table.
9251 (xcoff_assign_fundamental_type_number): New function.
9252 * xcoffout.h: Define DBX_ASSIGN_FUNDAMENTAL_TYPE_NUMBER, not
9253 DBX_OUTPUT_STANDARD_TYPES. Remove unnecessary #ifdefs.
9254 * sdbout.c: Include varray.h.
9255 (deferred_global_decls): New static.
9256 (sdb_debug_hooks): Update.
9257 (sdbout_global_decl): If we can't emit something right now,
9258 remember it in deferred_global_decls.
9259 (sdbout_finish): Just scan deferred_global_decls; don't call getdecls.
9260 (sdbout_init): Initialize deferred_global_decls.
9261 * Makefile.in: Update dependencies of sdbout.o.
9262 * dwarf2out.c (dwarf2out_type_decl): New function.
9263 (dwarf2_debug_hooks): Update.
9264 * vmsdbgout.c (vmsdbg_debug_hooks): Update.
9265 * c-decl.c (getdecls): Just return 0.
9266 (check_for_loop_decls): Don't use getdecls.
9267 (record_builtin_type): Call debug_hooks->type_decl on the TYPE_DECL.
9268 * c-objc-common.c (c_objc_common_finish_file): Don't use getdecls.
9269
a90a16f3
UW
92702004-02-12 Ulrich Weigand <uweigand@de.ibm.com>
9271
9272 * config/s390/s390.c (s390_sched_reorder2): Remove.
9273 (TARGET_SCHED_REORDER2): Do not redefine.
9274
9f0e2d86
ZW
92752004-02-12 Zack Weinberg <zack@codesourcery.com>
9276
9277 * c-parse.in (maybe_type_qual): Delete.
9278 (maybe_volatile, simple_asm_expr, asmdef, asm_stmt)
9279 (asm_argument): New grammar rules.
9280 (extdef_1): Use asmdef.
9281 (maybeasm): Move down with other asm rules; use simple_asm_expr.
9282 (xexpr): Move up with other expression rules.
9283 (stmt): Use asm_stmt.
9284
9285 * c-typeck.c (build_asm_expr): New function - body mostly
9286 pulled from build_asm_stmt.
9287 (build_asm_stmt): Just handle tacking on the volatile qualifier.
9288 * c-tree.h (build_asm_expr, build_asm_stmt): Update prototypes.
9289
35f5add9
RS
92902004-02-12 Richard Sandiford <rsandifo@redhat.com>
9291
9292 PR bootstrap/13617
9293 * config/mips/mips-protos.h (mips_output_aligned_decl_common): Declare.
9294 (mips_declare_object): Make variadic.
9295 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use
9296 mips_output_aligned_decl_common.
9297 * config/mips/mips.c (mips_output_aligned_decl_common): New function.
9298 (mips_declare_object): Make variadic.
9299
a5e9c810
RK
93002004-02-12 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9301
8fbc67c0
RK
9302 * function.c (update_epilogue_consts): Teach about binary operations.
9303
a5e9c810
RK
9304 * emit-rtl.c (set_mem_attributes_minus_bitpos): Don't kill
9305 previous MEM_VOLATILE in REF.
9306 * function.c (fixup_var_refs): Save volatile_ok and set to 1.
9307 * expr.c (emit_block_move_via_movstr): Save and restore volatile_ok.
9308
7ea98c5a
GN
93092004-02-12 Gunther Nikl <gni@gecko.de>
9310
9311 * config.gcc: Restore support for m68k-openbsd.
9312
8f6a8d03
JH
93132004-02-12 Jan Hubicka <jh@suse.cz>
9314
9315 * tree-optimize.c (tree_rest_of_compilation): Do not release
9316 DECL_ARGUMENTS.
9317
c2910edf
MK
93182004-02-11 Matt Kraai <kraai@alumni.cmu.edu>
9319
9320 * doc/install.texi: Fix the spelling of "explicitly".
9321
423e95e2
EC
93222004-02-11 Eric Christopher <echristo@redhat.com>
9323
9324 * cppcharset.c (_cpp_interpret_string_notranslate): Rename and
9325 duplicate argument structure of cpp_interpret_string.
9326 * cpphash.h: Move prototype...
9327 * cpplib.h: Here.
9328 * cpplib.c: Fix calls to match new function signature.
9329
32e8aa9a
JM
93302004-02-11 Joseph S. Myers <jsm@polyomino.org.uk>
9331
9332 PR c/456
9333 * cppexp.c (num_binary_op): Don't allow comma operators in #if
9334 constant expressions at all outside C99 mode if pedantic.
9335
3b8e0c91
UB
93362004-02-11 Uros Bizjak <uros@kss-loka.si>
9337
9338 * optabs.h (enum optab_index): Add new OTI_log10 and OTI_log2.
9339 (log10_optab, log2_optab): Define corresponding macros.
9340 * optabs.c (init_optabs): Initialize log10_optab and log2_optab.
9341 * genopinit.c (optabs): Implement log10_optab and log2_optab
9342 using log10?f2 and log2?f2 patterns.
9343 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LOG10{,F,L}
9344 using log10_optab, and BUILT_IN_LOG2{,F,L} using log2_optab.
9345 (expand_builtin): Expand BUILT_IN_LOG10{,F,L} and BUILT_IN_LOG2{,F,L}
9346 using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
9347
9348 * config/i386/i386.md (log10sf2, log10df2, log10xf2, log2sf2,
9349 log2df2, log2xf2): New patterns to implement log10, log10f, log10l,
9350 log2, log2f and log2l built-ins as inline x87 intrinsics.
9351
a6abdce3
RH
93522004-02-11 Richard Henderson <rth@redhat.com>
9353
888ff7a1 9354 PR target/1532
a6abdce3
RH
9355 * flow.c (insn_dead_p): A clobber of a dead hard register is a
9356 dead insn after reload.
9357
05ac140e
UW
93582004-02-11 Ulrich Weigand <uweigand@de.ibm.com>
9359
9360 * tree.h (frame_base_decl): Add GTY marker.
9361 * var-tracking.c (frame_base_decl): Likewise.
9362
e193b408
DB
93632004-02-11 Daniel Berlin <dberlin@dberlin.org>
9364
9365 * dwarf2out.c (output_loc_list): Remove no longer necessary, and now
9366 incorrect, hunk.
9367 (add_location_or_const_value_attribute): Use text_section_label,
9368 not TEXT_SECTION_NAME.
12f9df4e
PB
9369
93702004-02-11 Per Bothner <per@bothner.com>
9371
9372 Represent column numbers using line-map's source_location.
9373 The "next available source_location" is now managed internally by
9374 line-maps.c rather than by clients.
9375 * line-map.h (struct line_map): New field column_bits.
9376 <from_line>: Rename field to start_location.
9377 (struct line_maps): New fields highest_location and max_column_hint.
9378 (linemap_check_files_exited): New declaration.
9379 (linemap_line_start): New declaration.
9380 (linemap_add): Remove from_line parameter; use highest_location field.
9381 (SOURCE_LINE, LAST_SOURCE_LINE): Modify to use column_bits.
9382 (SOURCE_COLUMN, LAST_SOURCE_LINE_LOCATION): New macros.
9383 (CURRENT_LINE_MAP): Remove macro.
9384 (linemap_position_for_column): New inline function.
9385 * line-map.c (linemap_init): Clear new fields.
9386 (linemap_check_files_exited): New function, extracted from ...
9387 (linemap_free): Use linemap_check_files_exited.
9388 (linemap_add): Remove from_line parameter. Various updates.
9389 (linemap_line_start): New function.
9390 (linemap_lookeup): Update for new field names.
9391 * cpphash.h (struct cpp_reader) <map>: Field removed. Because
9392 linemap_position_for_column may unpredictably change the current map,
9393 it is cleaner and simpler for us to not cache it in cpp_reader.
9394 (struct cpp_buffer): New sysp field.
9395 Changed warned_cplusplus_comments and from_stage3 to bitfields.
9396 * cppinit.c (cpp_read_min_file): pfile->map no longer exists.
9397 * cpplib.c (do_line, do_linemarker, _cpp_do_file_change): Get
9398 current map using linemap_lookup.
9399 (do_linemarker): Also set buffer's sysp field.
9400 (destringize_and_run): No longer need to decrement current line.
9401 * cppfiles.c (_cpp_stack_file): Set sysp from and in buffer.
9402 (search_path_head, open_file_failed): Use buffer's sysp.
9403 (cpp_make_system_header): Get current map using linemap_lookup.
9404 Also set buffer's sysp flag.
9405 * cppmacro.c (_cpp_builtin_macro_text): Likewise use linemap_lookup.
9406 * cpphash.h (CPP_INCREMENT_LINE): New macro.
9407 (struct cpp_buffer): Moved fields saved_cur, saved_rlimit to ...
9408 (struct cpp_reader): ... and adding saved_line_base field.
9409 * cpptrad.c (_cpp_overlay_buffer, _cpp_remove_overlay):
9410 Update accordingly. Don't adjust line.
9411 (_cpp_scan_out_logical_line): Use CPP_INCREMENT_LINE.
9412 * cpphash.c (CPP_IN_SYSTEM_HEADER): Replaced macro by ...
9413 (cpp_in_system_header): ... new inline function, using buffer's sysp.
9414 * cpperror.c (_cpp_begin_message): Update to use cpp_in_system_header.
9415 * cpplex.c (_cpp_lex_direct): Likewise.
9416 * cppmacro.c (_cpp_builtin_macro_text): Likewise.
9417 * cppmacro.c (_cpp_create_definition): Use buffer's sysp field.
9418 * cpplib.h (struct cpp_token): Rename line field to src_loc.
9419 Remove col field as it is now subsumed by src_loc.
9420 * cpperror.c: Update various field, parameter, and macro names.
9421 (print_location): If col==0, try SOURCE_COLUMN of line.
9422 (cpp_error): Use cur_token's src_loc field, rather than line+col.
9423 * cpplib.c (do_diagnostic): Token's src_loc fields replaces line+col.
9424 * cpplex.c (_cpp_process_line_notes, _cpp_lex_direct,
9425 _cpp_skip_block_comment): Use CPP_INCREMENT_LINE.
9426 (_cpp_temp_token): Replace cpp_token's line+col fields by src_loc.
9427 (_cpp_get_fresh_line): Don't need to adjust line for missing newline.
9428 (_cpp_lex_direct): Use linemap_position_for_column.
9429 * c-ppoutput.c (maybe_print_line, print_line): Don't take map
9430 parameter. Instead get it from the line_table global. Adjust callers.
9431 (print): Remove map field. Replace line field to src_line.
9432 (init_pp_output, account_for_newlines, maybe_print_line): Adjust.
9433 (cb_line_change): Use SOURCE_COLUMN. Minor optimizations.
9434 (pp_file_change): Use MAIN_FILE_P since we cannot checked print.map.
9435 Use LAST_SOURCE_LINE_LOCATION to "catch up" after #include.
9436 * cpptrad.c (copy_comment): Rename variable.
9437 * c-lex.c (map): Remove static variable, for same reason we removed
9438 cpp_reader's map field.
9439 (cb_line_change, cb_def_pragma, cb_define, cb_undef): Hence we need
9440 to call linemap_lookup.
9441 (cb_line_change): Token's line field replaced by src_loc.
9442 (fe_file_change): Use MAINFILE_P and LAST_SOURCE_LINE macros.
9443 Don't save new_map.
9444
9445 * cpphash.h, cpperror.c, cpplib.h: Some renames of fileline to
9446 source_location.
9447
e086f51d 94482004-02-11 Hartmut Penner <hpenner@de.ibm.com>
423e95e2 9449
e086f51d
HP
9450 * config/rs6000/altivec.md (*movv4si_internal): At least one
9451 operand must be register_operand.
9452 (*movv8hi_internal1): Likewise.
9453 (*movv16qi_internal1): Likewise.
9454 (*movv4sf_internal1): Likewise.
9455
e66b2fcf 94562004-02-10 Aldy Hernandez <aldyh@redhat.com>
8914b65e
AH
9457
9458 * config/rs6000/spe.md ("*movv2si_internal"): Check for register
9459 operand.
9460 (movv4hi_internal): Same.
9461 (movv2sf_internal): Same.
9462 (movv1di_internal): Same.
e66b2fcf 9463
7f9be256
TS
94642004-02-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
9465
9466 * config/mips/mips.h (TARGET_OLDABI): Define. Use TARGET_NEWABI and
c0689841 9467 TARGET_OLDABI consistently.
7f9be256
TS
9468 * config/mips/mips.c (function_arg,mips_setup_incoming_varargs,
9469 mips_va_arg,override_options,compute_frame_size,
9470 mips_initial_elimination_offset,mips16_fp_args,build_mips16_call_stub
9471 ,mips_return_in_memory,mips_strict_argument_naming): Use TARGET_NEWABI
c0689841 9472 and TARGET_OLDABI consistently.
7f9be256
TS
9473 * config/mips/mips.md (exception_receiver): Likewise.
9474 * config/mips/linux64.h: Likewise.
9475
6d0ef01e
HP
94762004-02-11 Hartmut Penner <hpenner@de.ibm.com>
9477
9478 * gcc/config/rs6000/rs6000.c (rs6000_override_options)
9479 Set AltiVec ABI and vrsave as default for ppc64 linux.
9480 (init_cumulative_args): Post error, if try to return
9481 value in AltiVec register without enable AltiVec.
423e95e2 9482 (function_arg_advance): Ditto for passing arguments.
6d0ef01e 9483
7537fc90
RS
94842004-02-11 Richard Sandiford <rsandifo@redhat.com>
9485
9486 * emit-rtl.c (mark_label_nuses): Check that a LABEL_REF refers to
9487 a label before updating its usage count.
9488
1e9f1674
MK
94892004-02-10 Matt Kraai <kraai@alumni.cmu.edu>
9490
9f0e2d86 9491 * doc/install.texi: Remove extra cd.
1e9f1674 9492
b34417a4
ZL
94932004-02-10 Ziemowit Laski <zlaski@apple.com>
9494
9495 * c-common.c (vector_size_helper): Remove; call
9496 reconstruct_complex_type() instead.
9497 * tree.c (reconstruct_complex_type): New function
9498 (formerly vector_size_helper() in c-common.c).
9499 (make_vector): Make externally visible.
9500 * tree.h (reconstruct_complex_type, make_vector): Add prototypes.
9501
a466bea3
KH
95022004-02-10 Kazu Hirata <kazu@cs.umass.edu>
9503
9504 * config/h8300/h8300-protos.h: Add a prototype for
9505 h8300_regs_ok_for_stm.
9506 * config/h8300/h8300.c (h8300_regs_ok_for_stm): New.
9507 * config/h8300/h8300.md (stm_h8300s_2_advanced,
9508 stm_h8300s_2_normal, stm_h8300s_2, stm_h8300s_3_advanced,
9509 stm_h8300s_3_normal, stm_h8300s_3, stm_h8300s_4_advanced,
9510 stm_h8300s_4_normal, stm_h8300s_4, ldm_h8300s_2_advanced,
9511 ldm_h8300s_2_normal, ldm_h8300s_2, ldm_h8300s_3_advanced,
9512 ldm_h8300s_3_normal, ldm_h8300s_3, ldm_h8300s_4_advanced,
9513 ldm_h8300s_4_normal, ldm_h8300s_4): Use
9514 h8300_regs_ok_for_stm().
9515
52bac949
DS
95162004-02-10 Danny Smith <dannysmith@users.sourceforge.net>
9517
9518 PR c/14088
896c3aa3 9519 * real.c (real_from_string): Look for 'X' as well as 'x' in
52bac949
DS
9520 hexfloat strings.
9521
2493deee
KH
95222004-02-10 Kazu Hirata <kazu@cs.umass.edu>
9523
9524 * config/h8300/h8300.md: Remove an incorrect comment about
9525 peephole2. Add comments.
9526
fbe6ec81
JZ
95272004-02-10 Josef Zlomek <zlomekj@suse.cz>
9528
9529 PR/14058
9530 * emit-rtl.c (set_decl_incoming_rtl): New.
9531 * tree.h (set_decl_incoming_rtl): New.
9532 * function.c (assign_parms): Use set_decl_incoming_rtl for setting
9533 DECL_INCOMING_RTL.
9534 * ada/misc.c (adjust_decl_rtl): Likewise.
9535
8a4baa83
PB
95362004-02-10 Per Bothner <per@bothner.com>
9537
9538 * c-opts.c (c_common_post_options): Don't emit working directory
9539 in cpp output if -P was specified.
9540
31cc6081
PB
95412004-02-10 Paolo Bonzini <bonzini@gnu.org>
9542
9543 PR c/14092
9544 * fold-const.c (fold) <NEGATE_EXPR>: Convert result of
9545 negate_expr back to the original type.
9546
d1d5c836
AM
95472004-02-10 Alan Modra <amodra@bigpond.net.au>
9548
9549 * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Don't
9550 bump retaddr here.
9551
dad822d3
PB
95522004-02-10 Paolo Bonzini <bonzini@gnu.org>
9553
9554 * rtl.h (schedule_insns, schedule_ebbs, fix_sched_param,
9555 gen_lowpart_SUBREG): Move under the file in which they
9556 are actually declared.
9557
cd271054
AC
95582004-02-10 Arnaud Charlet <charlet@act-europe.fr>
9559
9560 * doc/sourcebuild.texi: Add libada documentation.
9561
9562 * doc/install.texi: Update documentation on Ada build, now
9563 that the GNAT lib and tools are built automatically.
9564
117c5858
RS
95652004-02-10 Richard Sandiford <rsandifo@redhat.com>
9566
9567 * config/mips/mips.h (TARGET_GPWORD): Return false for TARGET_NEWABI
9568 && TARGET_IRIX.
9569
42a1b62e
ZL
95702004-02-09 Ziemowit Laski <zlaski@apple.com>
9571
9572 * objc/objc-act.c (get_super_receiver): Move '#ifdef OBJCPLUS'
9573 boundaries outside build_component_ref() call (a macro in ObjC++).
9574
997b8b4d
BW
95752004-02-09 Bob Wilson <bob.wilson@acm.org>
9576
9577 * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Update.
9578 (init_cumulative_args): Likewise.
9579 (a7_overlap_mentioned_p): Delete prototype.
9580 * config/xtensa/xtensa.c (struct machine_function): Replace
9581 incoming_a7_copied field with need_a7_copy and vararg_a7 flags.
9582 Add set_frame_ptr_insn field.
9583 (xtensa_emit_move_sequence): Update call to xtensa_copy_incoming_a7.
9584 (xtensa_copy_incoming_a7): Rewrite to check need_a7_copy flag and check
9585 if the operand is an argument in a7. If so, copy a7 to a new pseudo
9586 at the function entry and replace the operand with the pseudo.
9587 (init_cumulative_args): Remove unused arguments. Add new "incoming"
9588 argument and record this flag in CUMULATIVE_ARGS.
9589 (function_arg): Remove result_mode and special-case code to handle
9590 arguments in a7. Instead, set need_a7_copy flag when there is an
9591 incoming argument in a7.
9592 (xtensa_expand_prologue): Remove code to search for set_frame_ptr insn
9593 and use the value recorded in cfun->machine->set_frame_ptr_insn.
9594 (xtensa_builtin_saveregs): Check for negative gp_left value. Set
9595 need_a7_copy and vararg_a7 flags. Use move_block_from_reg instead of
9596 special-case code.
9597 (a7_overlap_mentioned_p): Delete.
9598 * config/xtensa/xtensa.h (CUMULATIVE_ARGS): Add "incoming" flag.
9599 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Remove useless
9600 arguments to init_cumulative_args and pass "incoming" flag instead.
9601 (BLOCK_REG_PADDING): Delete.
9602 * config/xtensa/xtensa.md (movdi, movsf, movdf): Remove unnecessary
9603 checks for reload_in_progress and reload_completed. Update calls to
9604 xtensa_copy_incoming_a7.
9605 (ashlsi3): Rename existing insn to ashlsi3_internal. Add expander
9606 to call xtensa_copy_incoming_a7.
9607
10709fbf
DD
96082004-02-09 DJ Delorie <dj@redhat.com>
9609
9610 * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): No
9611 longer modify standard_exec_prefix, standard_bindir_prefix, or
9612 standard_startfile_prefix.
9613
c76362b4
JW
96142004-02-09 James E Wilson <wilson@specifixinc.com>
9615
228ae085
JW
9616 PR c++/11295
9617 * c-common.c (c_expand_expr, case STMT_EXPR): Change expand_expr call
9618 to expand_expr_real call, and pass in alt_rtl as last argument.
9619
c76362b4
JW
9620 PR libstdc++/5625
9621 * builtin-types.def (BT_WORD, BT_FN_WORD_PTR): New.
9622 * builtins.c (expand_builtin): Handle BUILT_IN_EXTEND_POINTER.
9623 * builtins.def (BUILT_IN_EXTEND_POINTER): New.
9624 * except.c (expand_builtin_extend_pointer): New.
9625 * except.h (expand_builtin_extend_pointer): Declare.
9626
d886a041
DE
96272004-02-09 David Edelsohn <edelsohn@gnu.org>
9628
9629 * config/rs6000/rs6000.c (rs6000_emit_move): Remove splitting slow
9630 unaligned loads and stores.
9631
756f76d0
RO
96322004-02-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9633
9634 * config/mips/iris5.h (BSS_SECTION_ASM_OP): Define.
9635 * config/mips/iris6.h (BSS_SECTION_ASM_OP): Undef.
9636
9637 * config/mips/iris6.h (TARGET_ASM_NAMED_SECTION): Moved ...
9638 * config/mips/iris5.h: ... here.
9639 * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Remove.
9640
9641 * config/mips/iris6.h (EXTRA_SECTION_FUNCTIONS): Move ...
9642 * config/mips/iris5.h: ... here.
9643
426ca3ca
RO
96442004-02-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9645
9646 * configure.ac: Remove default executable files before AC_PROG_CC.
9647 * configure: Regenerate.
9648
500fc80f
KH
96492004-02-09 Kazu Hirata <kazu@cs.umass.edu>
9650
9651 PR target/13721
9652 * config/h8300/h8300.c (byte_reg): Call abort() if asked to
9653 print a operand other than a register.
9654
b83c4036
RS
96552004-02-09 Roger Sayle <roger@eyesopen.com>
9656
9657 * fold-const.c (fold) <NOP_EXPR>: Use the original type conversion
9658 tree code rather than call fold_convert, which doesn't specify a
9659 default floating point to integer conversion.
9660
3b4b85c9
BI
96612004-02-08 Bernardo Innocenti <bernie@develer.com>
9662
9663 * config/m68k/m68k.c, config/m68k/m68k.md (SGS, SGS_CMP_ORDER): Remove
9664 code to support SGS assembler. Reformat adjacent code where possible.
b83c4036
RS
9665 * config/m68k/m68k.c (switch_table_difference_label_flag): Remove
9666 definition.
9667 * config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Remove support
9668 for '%#'.
3b4b85c9 9669 * config/m68k/linux.h, config/m68k/m68k.c,
b83c4036
RS
9670 * config/m68k/math-68881.h: Replace `%#' with `#' in inline asm
9671 macros and asm_printf() format strings.
3b4b85c9
BI
9672 * config/m68k/m68kelf.h (ASM_OUTPUT_CASE_END): Remove macro definition.
9673 * config/m68k/linux.h: Update copyright.
9674 * config/m68k/linux.h, config/m68k/m68k.c: Remove traling whitespace.
9675
01bbf777 96762004-02-08 Andreas Schwab <schwab@suse.de>
9f0e2d86 9677 Bernardo Innocenti <bernie@develer.com>
01bbf777
AS
9678
9679 * config/m68k/m68k.h (REGISTER_NAMES): Prefix each name with
9680 REGISTER_PREFIX.
9681 * (M68K_FP_REG_NAME): New macro to specify an alternate name for the
9682 frame pointer register, overridable by OS targets.
9683 * (M68K_REGNAME): Macro to obtain register name for asm output,
9684 eventually replacing %a6 with M68K_FP_REG_NAME.
9685 * config/m68k/coff.h (REGISTER_NAMES): Don't redefine.
9686 * config/m68k/linux.h (REGISTER_NAMES): Likewise.
9687 * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
9688 * config/m68k/netbsd-elf.h (REGISTER_NAMES): Likewise.
9689 * config/m68k/m68k.c: Use M68K_REGNAME(x) in place of reg_names[x].
9690
1f6acb82
KH
96912004-02-08 Kazu Hirata <kazu@cs.umass.edu>
9692
9693 * target-def.h (TARGET_STRUCT_VALUE_RTX): Define as
9694 hook_rtx_tree_int_null.
9695 * targhooks.c (default_struct_value_rtx): Remove.
9696 * targhooks.h: Remove the prototype for
9697 default_struct_value_rtx.
9698 * config/alpha/alpha.c, config/arc/arc.c, config/avr/avr.c,
9699 config/fr30/fr30.c, config/h8300/h8300.c, config/i386/i386.c,
9700 config/ip2k/ip2k.c, config/iq2000/iq2000.c,
9701 config/m32r/m32r.c, config/mcore/mcore.c, config/mips/mips.c,
9702 config/mn10300/mn10300.c, config/pdp11/pdp11.c,
9703 config/rs6000/rs6000.c, config/s390/s390.c,
9704 config/stormy16/stormy16.c, config/v850/v850.c,
9705 config/xtensa/xtensa.c (TARGET_STRUCT_VALUE_RTX): Remove.
9706 * doc/tm.texi (TARGET_STRUCT_VALUE_RTX): Document the default.
9707
b46b8fb4
JM
97082004-02-08 Joseph S. Myers <jsm@polyomino.org.uk>
9709
9710 * README.Portability: Change "ISO C89" to "ISO C90".
9711 * c-parse.in (primary, initelt): Likewise.
9712
7c476bde
RS
97132004-02-08 Richard Sandiford <rsandifo@redhat.com>
9714
9715 * real.c (encode_ibm_extended): Normalize the input value before
9716 converting it to a double. Handle the case where a normal value
9717 rounds to infinity.
9718
56ae04af
KH
97192004-02-08 Kazu Hirata <kazu@cs.umass.edu>
9720
f934561e
KH
9721 * c-objc-common.c (c_cannot_inline_tree_fn): Fix a typo in a
9722 warning.
56ae04af
KH
9723 * cse.c (preferrable): Change to preferable. Update all of its
9724 callers.
9725 * genautomata.c (ainsn): Change
9726 first_ainsn_with_given_equialence_num to
9727 first_ainsn_with_given_equivalence_num. Update all of its
9728 references.
9729
ec1dbfca
JH
97302004-02-08 Jan Hubicka <jh@suse.cz>
9731
9732 * schedule-ebb.c (schedule_ebbs): Do not allocate reg life data.
9733
f276fb54
DE
97342004-02-07 David Edelsohn <edelsohn@gnu.org>
9735
9736 * function.c (assign_parms): Fix formatting.
9737
fefcb65c
KH
97382004-02-07 Kazu Hirata <kazu@cs.umass.edu>
9739
9740 * default.h (PROMOTE_PROTOTYPES): Remove.
9741 * system.h (PROMOTE_FUNCTION_RETURN, PROMOTE_PROTOTYPES,
9742 STRUCT_VALUE_REGNUM, SETUP_INCOMING_VARARGS,
9743 EXPAND_BUILTIN_SAVEREGS): Poison.
9744 * target-def.h (TARGET_PROMOTE_FUNCTION_RETURN): Define as
9745 hook_bool_tree_false.
9746 (TARGET_PROMOTE_PROTOTYPES): Likewise.
9747 * target.h: Replace SETUP_INCOMING_VARARGS with
9748 targetm.calls.setup_incoming_varargs().
9749 * targhooks.c (default_promote_function_return): Remove.
9750 (default_promote_prototypes): Likewise.
9751 (default_struct_value_rtx): Always abort().
9752 (default_expand_builtin_saveregs): Always print an error
9753 message.
9754 (default_setup_incoming_varargs): Do nothing.
9755 (default_pretend_outgoing_varargs_named): Don't depend on
9756 SETUP_INCOMING_VARARGS.
9757 * targhooks.h: Remove the prototype for
9758 default_promote_function_return and
9759 default_promote_prototypes.
9760
dc79b3b8
KH
97612004-02-07 Kazu Hirata <kazu@cs.umass.edu>
9762
9763 * system.h (SHARED_SECTION_ASM_OP): Poison.
9764 * varasm.c (data_section): Don't use SHARED_SECTION_ASM_OP.
9765 * doc/tm.texi (SHARED_SECTION_ASM_OP): Remove.
9766
a6f78652
ZW
97672004-02-07 Zack Weinberg <zack@codesourcery.com>
9768
9769 Bug 13856
9770 * c-decl.c (diagnose_mismatched_decls): Only give special
9771 treatment when olddecl is DECL_BUILT_IN, if C_DECL_INVISIBLE
9772 is also true.
9773 (merge_decls): Don't clear DECL_BUILT_IN_CLASS and
9774 DECL_FUNCTION_CODE when defining a built-in function.
9775 Don't update DECL_ESTIMATED_INSNS.
9776 * dwarf2out.c (dwarf2out_decl): Don't ignore built-in
9777 FUNCTION_DECLs.
9778 * tree.h: Delete DECL_ESTIMATED_INSNS.
9779 * tree-inline.c (struct inline_data): Delete inlined_insns field.
9780 (expand_call_inline, optimize_inline_calls): Don't update
9781 DECL_ESTIMATED_INSNS nor inlined_insns.
9782 * cgraphunit.c (cgraph_analyze_function): Don't update
9783 DECL_ESTIMATED_INSNS.
9784
97852004-02-07 Zack Weinberg <zack@codesourcery.com>
9786
9787 * c-common.c (shadow_warning): Delete.
9788 * c-common.h (free_parser_stacks, shadow_warning, sw_kind): Delete.
9789 * c-decl.c (warn_if_shadowing): Issue shadow warnings directly.
9790 * c-opts.c (c_common_parse_file): Don't call free_parser_stacks.
9791 * c-parse.in (free_parser_stacks): Delete.
9792
947c6b00
NN
97932004-02-07 Nathanael Nerode <neroden@gcc.gnu.org>
9794
9795 * Makefile.in, config/t-slibgcc-darwin, config/t-slibgcc-elf-ver,
9796 config/t-slibgcc-sld, config/mips/t-iris5-6, config/sh/t-linux:
9797 Use the top level mkinstalldirs, not the one in the gcc subdir.
9798 * mkinstalldirs: Remove (from the gcc subdir).
9799
088414c1
RS
98002004-02-07 Roger Sayle <roger@eyesopen.com>
9801
9802 PR middle-end/13696
9803 * fold-const.c (fold_convert): New function to provide type
9804 conversion to the middle-end without using convert.
9805 (negate_expr, associate_trees, size_diffop, omit_one_operand,
9806 operand_equal_for_comparison_p, pedantic_omit_one_operand,
9807 invert_truthvalue, optimize_bit_field_compare, range_binop,
9808 decode_field_reference, make_range, build_range_check, unextend,
9809 fold_truthop, extract_muldiv_1, fold_mathfn_compare,
9810 fold_binary_op_with_conditional_arg, fold_inf_compare,
9811 fold_single_bit_test, fold, multiple_of_p): Replace all calls to
9812 convert with calls to fold_convert.
9813
076963eb
JH
98142004-02-07 Jan Hubicka <jh@suse.cz>
9815
9816 * genrecog.c (find_operand): add extra argument stop.
9817 (validate_pattern): Verify that mach_dup is duplicating operand
9818 defined lexically earlier.
9819
1197924d
KH
98202004-02-07 Kazu Hirata <kazu@cs.umass.edu>
9821
9822 * config.gcc: Don't mention MAX_LONG_TYPE_SIZE.
9823 * system.h (MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
9824 MAX_WCHAR_TYPE_SIZE, GCOV_TYPE_SIZE): Poison.
9825 * config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
9826 config/ia64/ia64.h, config/ip2k/ip2k.h,
9827 config/iq2000/iq2000.h, config/mips/iris5.h,
9828 config/mips/mips.h, config/pa/pa-64.h, config/pa/pa.h,
9829 config/rs6000/aix51.h, config/rs6000/aix52.h,
9830 config/rs6000/darwin.h, config/rs6000/rs6000.h,
9831 config/s390/s390.h, config/sh/sh.h, config/sparc/freebsd.h,
9832 config/sparc/linux.h, config/sparc/linux64.h,
9833 config/sparc/netbsd-elf.h, config/sparc/sparc.h,
9834 config/xtensa/xtensa.h: Remove the definitions of
9835 MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE, and/or
9836 MAX_WCHAR_TYPE_SIZE.
9837 * doc/tm.texi (MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
9838 MAX_WCHAR_TYPE_SIZE, GCOV_TYPE_SIZE): Remove.
9839
883899ee
SC
98402004-02-07 Stephane Carrez <stcarrez@nerim.fr>
9841
9842 PR bootstrap/13990
9843 * config/m68hc11/m68hc11.md ("doloop_end"): Pass dummy arguments to
9844 gen_rtx_NE.
9845
f6e215cc
JZ
98462004-02-07 Josef Zlomek <zlomekj@suse.cz>
9847
9848 * var-tracking.c (vt_add_function_parameters): Surround checkings by
9849 #ifdef ENABLE_CHECKING and #endif.
9850
dfb36f9b
RS
98512004-02-07 Roger Sayle <roger@eyesopen.com>
9852
9853 * fold-const.c (negate_expr_p, negate_expr): Optimize -(A+B) into
9854 either (-A)-B or (-B)-A, if A or B is easily negated respectively.
9855 (fold) <MINUS_EXPR>: Optimize (A*C) - (B*C) -> (A-B)*C for both
9856 integer types and floating point with unsafe_math_optimizations.
9857 Add similar optimization for (A*C1) - (A*C2) -> A*(C1-C2).
9858 Optimize A - B as A + (-B), if B is easily negated.
9859
0ea5865c
KH
98602004-02-07 Kazu Hirata <kazu@cs.umass.edu>
9861
9862 * c-ppoutput.c, cfganal.c, diagnostic.h, print-rtl.c,
9863 config/darwin.c, config/darwin.h, config/ia64/ia64-c.c,
9864 config/m32r/linux.h, config/rs6000/ppc64-fp.c,
9865 config/sparc/openbsd.h, doc/makefile.texi, doc/passes.texi:
9866 Update copyright.
9867
fb0840fc
KH
98682004-02-07 Kazu Hirata <kazu@cs.umass.edu>
9869
9870 * c-ppoutput.c, var-tracking.c: Fix comment typos.
9871
468c45a3
JW
98722004-02-06 James E Wilson <wilson@specifixinc.com>
9873
9874 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Only define for
9875 glibc 2.3 or better.
9876
9c917669
KH
98772004-02-06 Kazu Hirata <kazu@cs.umass.edu>
9878
9879 * doc/tm.texi (TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL): Change
9880 to FLOAT_LIB_COMPARE_RETURNS_BOOL.
9881
fb7e4164
AM
98822004-02-07 Alan Modra <amodra@bigpond.net.au>
9883
9884 * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add darwin-ldouble.c.
9885 (SHLIB_MAPFILES): Add libgcc-ppc64.ver.
9886 (SHLIB_MKMAP_OPTS): Delete.
9887 (TARGET_LIBGCC2_CFLAGS): Add -specs.
9888 (bispecs): Add rule.
9889 * config/rs6000/libgcc-ppc64.ver: New file.
9890 * config/rs6000/ppc64-fp.c (__fixtfdi, __floatditf): New functions.
9891 (__floatdidf, __floatdisf): Optimize multiply.
9892 (__fixunstfdi): New function.
9893 * config/rs6000/rs6000.c (rs6000_complex_function_value): Allow for
9894 real and imag parts larger than one register.
9895 (function_arg): Correct type of reg used when fp arg split partially
9896 to stack.
9897 * config/rs6000/darwin-ldouble.c: Protect with #if !_SOFT_FLOAT
9898 and __MACH__ or __powerpc64__.
9899
254878ea
RS
99002004-02-06 Roger Sayle <roger@eyesopen.com>
9901 Ulrich Weigand <uweigand@de.ibm.com>
9902
9903 * builtins.c (expand_builtin_signbit): Use extract_bit_field instead
9904 of gen_highpart or gen_lowpart when the floating point format is
9905 wider than the result mode.
9906
b1053160
AP
99072004-02-06 Andrew Pinski <pinskia@physics.uc.edu>
9908
a6f78652 9909 * dwarf2out.c (loclabel_num): Move into #ifdef
b1053160
AP
9910 DWARF2_DEBUGGING_INFO.
9911
25fe8680
ZL
99122004-02-06 Ziemowit Laski <zlaski@apple.com>
9913
9914 * objc/objc-act.c (build_super_template) the 'class' field of
9915 'struct _objc_super' shall be named 'super_class' #ifdef OBJCPLUS.
9916 (get_super_receiver): Likewise.
9917
761fa0f7
KH
99182004-02-06 Kazu Hirata <kazu@cs.umass.edu>
9919
9920 * reload1.c (check_eliminable_occurrences): Optimize the reset
9921 of can_eliminate.
9922 (eliminate_regs_in_insn): Likewise.
9923
0a2d3d69 99242004-02-06 Daniel Berlin <dberlin@dberlin.org>
a6f78652 9925 Josef Zlomek <zlomekj@suse.cz>
0a2d3d69
DB
9926
9927 * dwarf2out.c (struct gcc_debug_hooks): Call dwarf2out_begin_function
9928 at the beginning of function, call dwarf2out_var_location for
9929 NOTE_INSN_VAR_LOCATION note.
9930 (struct var_loc_node, struct var_loc_list_def, loclabel_num,
9931 decl_loc_table): New.
9932 (lookup_decl_loc): New function.
9933 (add_var_loc_to_decl): New function.
9934 (based_loc_descr): Added parameter can_use_fbreg, DW_OP_fbreg is used
9935 only if can_use_fbreg.
9936 (mem_loc_descriptor): Added parameter can_use_fbreg, pass it to other
9937 functions.
9938 (loc_descriptor): Likewise. Process VAR_LOCATION.
9939 (concat_loc_descriptor): Call loc_descriptor with can_use_fbreg == true.
9940 (loc_descriptor_from_tree): Call mem_loc_descriptor with
9941 can_use_fbreg == true.
9942 (add_location_or_const_value_attribute): Added parameter enum
9943 dwarf_attribute attr, generate attribute ATTR. Create the location list.
9944 (add_bound_info): Call loc_descriptor with can_use_fbreg == true.
9945 (gen_formal_parameter_die): Call add_location_or_const_value_attribute
9946 with attr == DW_AT_location.
9947 (gen_subprogram_die): Generate the location list for DW_AT_frame_base
9948 if frame_base_decl is defined and has a location list.
9949 (gen_variable_die): Call add_location_or_const_value_attribute with
9950 attr == DW_AT_location.
9951 (dwarf2out_var_location): New function.
9952 (dwarf2out_begin_function): New function.
9953 (dwarf2out_init): Create decl_loc_table.
9954
1f0db3df
UW
99552004-02-06 Ulrich Weigand <uweigand@de.ibm.com>
9956
9957 * loop.c (force_movables): Transitively increase the priorities of
9958 all insns forces by an insn, not just the first one.
9959
014a1138 99602004-02-06 Josef Zlomek <zlomekj@suse.cz>
a6f78652 9961 Daniel Berlin <dberlin@dberlin.org>
014a1138
JZ
9962
9963 Josef Zlomek <zlomekj@suse.cz>
9964 * Makefile.in (var-tracking.o): New.
9965 * common.opt (fvar-tracking): New.
9966 * flags.h (flag_var_tracking): New.
9967 * gengtype.c (adjust_field_rtx_def): NOTE_INSN_VAR_LOCATION was added.
9968 * opts.c (common_handle_option): Add OPT_fvar_tracking.
9969 * print-rtl.c (print_rtx): NOTE_INSN_VAR_LOCATION was added.
a6f78652
ZW
9970 * rtl.c (note_insn_name): Likewise.
9971 * rtl.def (VAR_LOCATION): New.
9972 * rtl.h (NOTE_VAR_LOCATION): New.
9973 (NOTE_VAR_LOCATION_DECL): New.
9974 (NOTE_VAR_LOCATION_LOC): New.
9975 (enum insn_note): NOTE_INSN_VAR_LOCATION was added.
9976 (variable_tracking_main): New exported function.
9977 * timevar.def (TV_VAR_TRACKING): New.
9978 * toplev.c (enum dump_file_index): Added DFI_vartrack.
9979 (dump_file): "vartrack" was added (-dV).
9980 (flag_var_tracking): New.
9981 (f_options): "var-tracking" was added.
014a1138 9982 (rest_of_handle_variable_tracking): New function.
a6f78652 9983 (rest_of_compilation): Run variable tracking.
014a1138
JZ
9984 (process_options): If user has not specified flag_var_tracking set it
9985 according to optimize, debug_info_level and debug_hooks.
9986 * tree.h (frame_base_decl): New.
a6f78652 9987 * var-tracking.c: New file.
014a1138
JZ
9988 * config/ia64/ia64.c (ia64_flag_var_tracking): New variable.
9989 (ia64_override_options): Set flags to run variable tracking in machine
9990 dependent reorg instead of toplev.c.
9991 (ia64_reorg): Run variable tracking if wanted.
a6f78652 9992 * doc/invoke.texi: Mention variable tracking in -dV,
014a1138 9993 add and -fvar-tracking.
a6f78652 9994 * doc/passes.texi: Added variable tracking pass.
014a1138
JZ
9995
9996 Daniel Berlin <dberlin@dberlin.org>
9997 * debug.h (struct gcc_debug_hooks): Added var_location debug hook.
9998 * dbxout.c (dbx_debug_hooks): Likewise.
9999 (xcoff_debug): Likewise.
10000 * debug.c (do_nothing_debug_hooks): Likewise.
10001 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
10002 * dwarfout.c (dwarf_debug_hooks): Likewise.
10003 * sdbout.c (sdb_debug_hooks): Likewise.
10004 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
a6f78652
ZW
10005 * final.c (final_scan_insn): Call var_location debug hook for each
10006 NOTE_INSN_VAR_LOCATION.
014a1138 10007
298c28a8
JH
100082004-02-06 Jan Hubicka <jh@suse.cz>
10009
10010 * flow.c (update_life_info): Allocate reg_deaths when called from
10011 scheudler.
10012 (attempt_auto_inc): Update life ranges accordingly.
10013
3199cb41
UW
100142004-02-06 Ulrich Weigand <uweigand@de.ibm.com>
10015
10016 PR debug/11816
10017 * dwarf2out.c (gen_decl_die): Handle anonymous struct members.
10018
1a6dd8a2
UW
100192004-02-06 Ulrich Weigand <uweigand@de.ibm.com>
10020
10021 * cfganal.c (flow_call_edges_add): Never split a libcall block.
10022
1711adc2
DB
100232004-02-06 Daniel Berlin <dberlin@dberlin.org>
10024
10025 * dwarf2out.c (output_loc_list): Don't use deltas if we have
10026 a separate line info table in use.
10027 Use the correct size for terminators.
10028 (output_die): Use offset, not delta.
10029
b1e5a971
L
100302004-02-06 H.J. Lu <hongjiu.lu@intel.com>
10031
10032 * doc/invoke.texi: Remove the pni option from -mfpmath=.
10033
736b64dd
JH
100342004-02-06 Jan Hubicka <jh@suse.cz>
10035
10036 * recog.c (split_all_insns): Do not update reg info.
10037 * regrename.c (regrename_optimize): Likewise.
10038 * toplev.c (rest_of_handle_reorder_blocks): Likewise.
10039 * flow.c (struct propagate_block_info): Add insn_num field.
10040 (reg_deaths): New array.
10041 (life_analysis): Free reg_deaths info.
10042 (allocate_reg_life_data): Allocate reg_deaths array.
10043 (propagate_one_insn): Use new array.
10044 (init_propagate_block): Initialize it.
10045 (free_propagate_block_info): Finish compuation of
10046 REG_LIVE_LENGTH
10047 (attempt_auto_inc): Sanity check that REG_INFO is not
10048 computed at same time.
10049 (mark_used_regs): Update new array.
10050
10051 * reg-stack.c (subst_stack_regs): Unshare clobbers before
10052 substitution.
10053
eb457a7a
KH
100542004-02-06 Kazu Hirata <kazu@cs.umass.edu>
10055
10056 * config/s390/s390.md (*extendsiqi2_short_displ): Change to
10057 *extendqisi2_short_displ.
10058
0f6937fe
AM
100592004-02-06 Alan Modra <amodra@bigpond.net.au>
10060
10061 * doc/tm.texi (INIT_CUMULATIVE_ARGS): Update doco.
10062 * calls.c (expand_call): Pass n_named_args to INIT_CUMULATIVE_ARGS.
10063 (emit_library_call_value_1): Likewise pass nargs.
10064 * expr.c (block_move_libcall_safe_for_call_parm): Pass 3 here.
10065 * function.c (assign_parms): Pass -1 to INIT_CUMULATIVE_ARGS.
10066 * config/rs6000/rs6000.c (init_cumulative_args): Use n_named_args
10067 parameter instead of scanning TYPE_ARGS_TYPES to count args.
10068 * config/rs6000/rs6000-protos.h (init_cumulative_args): Update
10069 prototype.
10070 * config/rs6000/rs6000.h (INIT_CUMULATIVE_ARGS): Pass extra arg.
10071 (INIT_CUMULATIVE_INCOMING_ARGS): Set extra arg to 1000.
10072 (INIT_CUMULATIVE_LIBCALL_ARGS): Set extra arg to 0.
10073 * config/sh/sh.c (sh_output_mi_thunk): Pass 1 as n_named_args to
10074 INIT_CUMULATIVE_ARGS.
10075 * config/alpha/alpha.h (INIT_CUMULATIVE_ARGS): Update.
10076 * config/alpha/unicosmk.h, config/alpha/vms.h, config/arc/arc.h,
10077 config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
10078 config/cris/cris.h, config/fr30/fr30.h, config/frv/frv.h,
10079 config/h8300/h8300.h, config/i386/i386.h, config/i860/i860.h,
10080 config/ia64/ia64.h, config/ip2k/ip2k.h, config/iq2000/iq2000.h,
10081 config/iq2000/iq2000.c, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
10082 config/m68k/m68k.h, config/mcore/mcore.h, config/mips/mips.h,
10083 config/mmix/mmix.h, config/mn10300/mn10300.h, config/ns32k/ns32k.h,
07711f53 10084 config/pa/pa.h, config/pdp11/pdp11.h, config/s390/s390.h,
0f6937fe
AM
10085 config/sh/sh.h, config/sparc/sparc.h, config/stormy16/stormy16.h,
10086 config/v850/v850.h, config/vax/vax.h, config/xtensa/xtensa.h: Likewise.
10087
11b635fe
KH
100882004-02-06 Kazu Hirata <kazu@cs.umass.edu>
10089
10090 * genemit.c (gen_exp) [CONST_INT]: Use const_int_rtx whenever
10091 possible.
10092
ace3ffcd
KH
100932004-02-06 Kazu Hirata <kazu@cs.umass.edu>
10094
10095 * reload1.c (eliminate_regs_in_insn): If a set has a REG_EQUAL
10096 note containing (plus (reg) (const_int)), where reg is an
10097 eliminable reg, then perform the register elimination without
10098 depending on eliminate_regs().
10099
78bc94a2
KH
101002004-02-06 Kazu Hirata <kazu@cs.umass.edu>
10101
10102 * config/arc/arc.c (arc_return_in_memory): Check the return
10103 value of int_size_in_bytes against -1. Don't check
10104 TREE_ADDRESSABLE.
10105 * config/avr/avr.c (avr_return_in_memory): Check the return
10106 value of int_size_in_bytes against -1.
10107 * config/ip2k/ip2k.c (ip2k_return_in_memory): Likewise.
10108 * config/m68hc11/m68hc11.c (m68hc11_return_in_memory):
10109 Likewise.
10110 * config/mcore/mcore.c (mcore_return_in_memory): Likewise.
10111 * config/stormy16/stormy16.c (xstormy16_return_in_memory):
10112 Likewise.
10113
d8c2bed3
KH
101142004-02-06 Kazu Hirata <kazu@cs.umass.edu>
10115
10116 * config/frv/frv-protos.h: Remove the prototype for
10117 frv_setup_incoming_varargs.
10118 * config/frv/frv.c (TARGET_SETUP_INCOMING_VARARGS): New.
10119 (frv_setup_incoming_varargs): Make it static.
10120 * config/frv/frv.h (SETUP_INCOMING_VARARGS): Remove.
10121
3e29e2aa
KH
101222004-02-06 Kazu Hirata <kazu@cs.umass.edu>
10123
10124 * config/fr30/fr30-protos.h: Remove the prototype for
10125 fr30_setup_incoming_varargs.
10126 Update the prototypes for fr30_num_arg_regs and
10127 fr30_function_arg_partial_nregs.
10128 * config/fr30/fr30.c (TARGET_STRUCT_VALUE_RTX): New.
10129 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
10130 (fr30_setup_incoming_varargs): Make it static.
10131 Add argument second_time. Don't do anything when second_time
10132 is nonzero.
10133 (fr30_num_arg_regs): Change the type of the first argument to
10134 enum machine_mode.
10135 (fr30_function_arg_partial_nregs): Change the type of the
10136 second argument to enum machine_mode.
10137 * config/fr30/fr30.h (STRUCT_VALUE): Remove.
10138 (SETUP_INCOMING_VARARGS): Remove.
10139
07ba2efb
KH
101402004-02-06 Kazu Hirata <kazu@cs.umass.edu>
10141
10142 * config/arc/arc-protos.h: Remove the prototype for
10143 arc_setup_incoming_varargs.
10144 * config/arc/arc.c (TARGET_ASM_EXTERNAL_LIBCALL): New.
10145 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
10146 (arc_setup_incoming_varargs): Make it static.
10147 (arc_external_libcall): Likewise.
10148 * config/arc/arc.h (SETUP_INCOMING_VARARGS): Remove.
10149 Remove the commented-out definition of
10150 ASM_OUTPUT_EXTERNAL_LIBCALL.
10151
f4954ff1
ST
101522004-02-05 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
10153
10154 * config/sh/t-linux (SHLIB_INSTALL): Prepend $$(DESTDIR)
10155 to $$(slibdir) in the installation commands.
10156
403c659c
DE
101572004-02-05 David Edelsohn <edelsohn@gnu.org>
10158
10159 * reload.c (refers_to_regno_for_reload_p): Index hard_regno_nregs
10160 with inner_regno, not regno.
10161 * rtlanal.c (refers_to_regno_p): Same.
10162
5b547172
KH
101632004-02-05 Kazu Hirata <kazu@cs.umass.edu>
10164
10165 * config.gcc: Remove i370 support.
10166
ce5c1cf3
KC
101672004-02-05 Kelley Cook <kcook@gcc.gnu.org>
10168
10169 * doc/install.texi: Update automake and autoconf version
10170 requirements. Note where to find gcj automake version.
10171
101722004-02-05 Kelley Cook <kcook@gcc.gnu.org>
10173
10174 * Makefile.in (generate-manpages): Move dependencies to ...
10175 (man): here.
10176 * doc/makefile.texi: Document new targets.
10177 * doc/sourcebuild.texi (Make-lang.in): Document new langhooks.
10178
02ba6b22
KC
101792004-02-05 Kelley Cook <kcook@gcc.gnu.org>
10180
10181 PR/13485
10182 Makefile.in (srcextra): Add a level of indirection to ...
10183 (gcc.srcextra): ... here.
10184 (po-generated): Delete.
10185 (po/$(PACKAGE).pot: Use srcextra instead of po-generated. Depend on
10186 options.c.
10187 (start.encap): Remove superfluous lang.srcextra dependency.
10188 objc/Make-lang.in (po-generated): Delete.
10189
66fcab25
KH
101902004-02-05 Kazu Hirata <kazu@cs.umass.edu>
10191
10192 * config/ia64/ia64.c (REG_GP): Remove.
10193
89a95129
RO
101942004-02-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10195
10196 * config/mips/iris5gas.h (PREFERRED_DEBUGGING_TYPE): Define.
10197
9733d507
DP
101982004-02-05 Devang Patel <dpatel@apple.com>
10199
10200 * dwarf2out.c (force_type_die): Look up input type itself
10201 instead of root_type() of type.
a6f78652 10202
19796784
AK
102032004-02-05 Andreas Krebbel <krebbel1@de.ibm.com>
10204
10205 * config/s390/s390.md ("*tmqidi_ext"): New insn.
10206 ("*extendqidi2_short_displ", "*extendsiqi2_short_displ"): Old
10207 pre-reload splitters are transformed to post-reload
10208 define_insn_and_split patterns.
10209 ("*tmqisi_ext"): Renamed old "*tmqi_ext".
10210
136e64db
KH
102112004-02-05 Kazu Hirata <kazu@cs.umass.edu>
10212
10213 * config/cris/cris.h: Replace PROMOTE_PROTOTYPES with
10214 TARGET_PROMOTE_PROTOTYPES.
10215
839ee4bc
RO
102162004-02-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10217
10218 PR middle-end/13750
10219 Revert:
10220 2004-01-15 Geoffrey Keating <geoffk@apple.com>
10221 PR pch/13361
10222 * c-typeck.c (constructor_asmspec): Delete.
10223 (struct initializer_stack): Delete field 'asmspec'.
10224 (start_init): Delete saving of asmspec.
10225 (finish_init): Don't update constructor_asmspec.
10226 * dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
10227 * stmt.c (expand_asm): Duplicate strings from tree.
10228 (expand_asm_operands): Likewise.
10229 * tree.c (tree_size): Update computation of size of STRING_CST.
10230 (make_node): Don't make STRING_CST nodes.
10231 (build_string): Allocate string with tree node.
10232 * tree.def (STRING_CST): Update comment.
10233 * tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
10234 (tree_string): Place contents of string in tree node.
10235 * config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
10236 from tree.
10237
687d688e
JM
102382004-02-05 Joseph S. Myers <jsm@polyomino.org.uk>
10239
10240 * diagnostic.h (DEFINE_DIAGNOSTIC_KIND): Change parameter M to
10241 msgid.
10242
20a20bf0
DN
102432004-02-05 Dorit Naishlos <dorit@il.ibm.com>
10244
10245 * config/rs6000/altivec.md (*movv4si_internal): At least one
10246 operand must be altivec_register_operand.
10247 (*movv8hi_internal1): Likewise.
10248 (*movv16qi_internal1): Likewise.
10249 (*movv4sf_internal1): Likewise.
10250
6b37db3c
DE
102512004-02-05 David Edelsohn <edelsohn@gnu.org>
10252
10253 * configure.ac (gcc_cv_as_powerpc_mfcrf): Correct test for mfcr.
10254 * configure: Regenerate.
10255
e0b24bce
JW
102562004-02-05 Jonathan Wakely <redi@gcc.gnu.org>
10257
10258 * doc/install.texi: Update description of --gxx-include-dir to
10259 give correct default value.
10260
2dca8ddb
KH
102612004-02-05 Kazu Hirata <kazu@cs.umass.edu>
10262
10263 * config/h8300/h8300.h (REG_OK_FOR_BASE_NONSTRICT_P): Replace
10264 8 with MAC_REG.
10265
92fd5e41
KH
102662004-02-05 Kazu Hirata <kazu@cs.umass.edu>
10267
10268 * config/pa/pa.c (emit_hpdiv_const): Replace gen_rtx with
10269 gen_rtx_PARALLEL.
10270
f822fcf7
KH
102712004-02-05 Kazu Hirata <kazu@cs.umass.edu>
10272
10273 * emit-rtl.c: Update the comment about the file.
10274
4ef84575
JM
102752004-02-05 Joseph S. Myers <jsm@polyomino.org.uk>
10276
10277 * sourcebuild.texi (Test Idioms): Update testcase naming
10278 conventions.
10279
8e9ea4d7
PB
102802004-02-04 Per Bothner <per@bothner.com>
10281
10282 Partially revert/redo 2003-10-01 change; fix -fworking-directory.
10283 * c-ppoutput.c (pp_dir_change): New function.
10284 * c-common.h (pp_dir_change): New declaration.
10285 * cpplib.h (struct cpp_options): Remove working_directory field.
10286 * cppinit.c (cpp_find_main_file, cpp_push_main_file): Merge back to
10287 (cpp_read_main_file): as before 10-01. Call _cpp_stack_file.
10288 Don't handle -fworking_directory here, but in c_common_post_options.
10289 (read_original_directory): Don't back up when done.
10290 Don't clear no-longer used working_directory flag.
10291 * cpplib.h: Update declarations to match.
10292 * c-lex.c (cb_dir_change): Move to c-opts.c.
10293 (init_c_lex): Don't set dir_change callback here, since we want
10294 to set it even if flag_preprocess_only.
10295 * c-opts.c (cb_dir_change): Function moved from c-lex.c.
10296 (c_common_post_options): Set dir_change callback.
10297 Call pp_dir_change if approporiate.
10298 (finish_options): Don't call cpp_find_main_file here. Hence remove
10299 unneeded parameter and result. Do LC_RENAME for <built-in>.
10300 (c_common_post_options): Call cpp_read_main_file here instead.
10301 (c_common_init): Update accordingly.
10302 (push_command_line_include): Don't cpp_push_main_file.
10303 Do LC_RENAME rather than LC_LEASE to get back to main file.
10304 Compared to pre-10-01 version, inline cpp_rename_to_main_file.
10305 (c_common_parse_file): Call cpp_read_main_file for subsequent main
10306 files, but call finish_options for all files.
10307 * c-opts.c (sanitize_cpp_opts): Don't set cpp_opts->working_directory.
10308 * fix-header.c (read_scan_file): Call cpp_read_main_file instead of
10309 cpp_find_main_file + cpp_push_main_file.
10310 * c-lex.c (fe_file_change): Don't set main_input_filename here.
10311 * opts.c (handle_options): Only set main_input_filename first time.
10312
5384443a
ILT
103132004-02-05 Ian Lance Taylor <ian@wasabisystems.com>
10314
10315 * config/arm/arm.h (REG_CLASS_NAMES): Add missing comma.
10316
3c241c19
GK
103172004-02-04 Geoffrey Keating <geoffk@apple.com>
10318
10319 * reload.c (find_equiv_reg): When checking for register overlap,
10320 don't index hard_regno_nregs with a pseudo-reg.
10321
a322288b
UW
103222004-02-04 Ulrich Weigand <uweigand@de.ibm.com>
10323
10324 * config/s390/s390.c (s390_trampoline_template): Remove gen_rtx().
10325
859b9c1d
DE
103262004-02-04 David Edelsohn <edelsohn@gnu.org>
10327
10328 * reload.c (refers_to_regno_for_reload_p): Test regno, not inner_regno,
10329 against FIRST_PSEUDO_REGISTER.
10330
7e63a64e
RO
103312004-02-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10332
10333 * Makefile.in: Move target, host overrides after per-language
10334 fragments.
10335
10336 * config/mips/t-iris5-as (FORCE_DEBUG_ADAFLAGS): Clear.
10337 (GNATLIBCFLAGS): Remove -g.
10338
5efb1046
KH
103392004-02-04 Kazu Hirata <kazu@cs.umass.edu>
10340
10341 * config/alpha/alpha.c, config/arc/arc.c, config/avr/avr.c,
10342 config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
10343 config/ia64/ia64.c, config/ia64/unwind-ia64.c,
10344 config/m32r/m32r.c, config/ns32k/ns32k.c, config/pa/pa.c,
10345 config/pdp11/pdp11.c, config/rs6000/rs6000.c,
10346 config/sparc/sparc.c, config/vax/vax.c: Revert the
10347 replacements of "FALLTHRU" with "Fall through" done in the
10348 previous patch.
10349
ff482c8d
KH
103502004-02-04 Kazu Hirata <kazu@cs.umass.edu>
10351
10352 * config/darwin.c, config/darwin.h, config/freebsd-spec.h,
10353 config/arm/arm.c, config/arm/arm.md,
10354 config/cris/cris-protos.h, config/fr30/fr30.c,
10355 config/fr30/fr30.h, config/h8300/h8300.c, config/i386/i386.h,
10356 config/i860/i860.c, config/i860/i860.h, config/ia64/ia64-c.c,
10357 config/ia64/ia64.c, config/ia64/ia64.h, config/ip2k/ip2k.h,
10358 config/ip2k/ip2k.md, config/ip2k/libgcc.S,
10359 config/m32r/linux.h, config/m32r/m32r.c, config/m32r/m32r.h,
10360 config/m68k/m68k.c, config/m68k/netbsd-elf.h,
10361 config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.md,
10362 config/ns32k/netbsd.h, config/ns32k/ns32k.c,
10363 config/ns32k/ns32k.h, config/pdp11/pdp11.h,
10364 config/rs6000/darwin-ldouble.c, config/s390/s390.h,
10365 config/s390/s390.md, config/sparc/netbsd-elf.h,
10366 config/sparc/openbsd.h, config/sparc/sparc.c,
10367 config/xtensa/lib2funcs.S: Fix comment formatting.
10368
59b9a953
KH
103692004-02-04 Kazu Hirata <kazu@cs.umass.edu>
10370
10371 * config/alpha/alpha.c, config/arc/arc.c,
10372 config/arm/arm-cores.def, config/arm/arm.c, config/arm/arm.h,
10373 config/arm/arm1026ejs.md, config/arm/arm1136jfs.md,
10374 config/arm/arm926ejs.md, config/arm/vfp.md, config/avr/avr.c,
10375 config/c4x/c4x.c, config/cris/cris.c, config/frv/frv.md,
10376 config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
10377 config/ia64/ia64.c, config/ia64/unwind-ia64.c,
10378 config/iq2000/iq2000.c, config/m32r/m32r.c,
10379 config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
10380 config/ns32k/ns32k.c, config/pa/pa.c, config/pdp11/pdp11.c,
10381 config/rs6000/darwin-ldouble.c, config/rs6000/rs6000.c,
10382 config/rs6000/rs6000.h, config/sparc/sparc.c,
10383 config/vax/vax.c: Fix comment typos. Follow spelling
10384 conventions.
10385
e146f815
KH
103862004-02-04 Kazu Hirata <kazu@cs.umass.edu>
10387
10388 * alloc-pool.h, c-convert.c, c-lang.c, c-tree.h,
10389 caller-save.c, df.h, genconfig.c, global.c, lcm.c,
10390 ra-rewrite.c, ra.c, regclass.c, regs.h, resource.c,
10391 sched-rgn.c, config/arm/aof.h, config/arm/cirrus.md,
10392 config/arm/fpa.md, config/arm/iwmmxt.md,
10393 config/arm/netbsd-elf.h, config/arm/netbsd.h,
10394 config/m68hc11/m68hc11.md, config/mips/iris5.h,
10395 config/mn10300/mn10300.md, config/rs6000/altivec.md,
10396 config/sparc/netbsd-elf.h: Update copyright.
10397
e2a17f6e
EB
103982004-02-04 Eric Botcazou <ebotcazou@libertysurf.fr>
10399
10400 * config/sparc/sparc.c (function_arg_pass_by_reference): Return 1
10401 for all modes whose size is greater than 8 bytes if ARCH32.
10402 (sparc_va_arg): Handle all modes whose size is greater than 8 bytes
10403 by reference if ARCH32.
10404
e0cc7f73 104052004-02-04 Aldy Hernandez <aldyh@redhat.com>
a6f78652
ZW
10406
10407 * cgraphunit.c (cgraph_postorder): Fix typo in comment.
e0cc7f73 10408
7bdff56f
UW
104092004-02-04 Ulrich Weigand <uweigand@de.ibm.com>
10410
10411 * config/s390/s390.md ("*la_64" + peepholes, "reload_indi"): Move
10412 to before adddi3 insn patterns.
10413 ("*la_31" + peepholes, "*la_31_and", "*la_31_and_cc", "force_la_31",
10414 "reload_insi"): Move to before addsi3 insn patterns.
10415
dd292d0a
MM
104162004-02-04 Mark Mitchell <mark@codesourcery.com>
10417
10418 * calls.c (initialize_argument_information): Add CALL_FROM_THUNK_P
10419 parameter. Use it instead of current_function_is_thunk.
10420 * function.h (struct function): Update documentation for is_thunk.
10421 * tree.h (CALL_FROM_THUNK_P): New macro.
10422 * config/alpha/alpha.c (alpha_sa_mask): Do not check
10423 no_new_pseudos when testing current_function_is_thunk.
10424 * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Likeiwse.
10425
c2379679
KH
104262004-02-04 Kazu Hirata <kazu@cs.umass.edu>
10427
10428 * doc/tm.texi: Replace SETUP_INCOMING_VARARGS with
10429 TARGET_SETUP_INCOMING_VARARGS.
10430
a2a8cc44
KH
104312004-02-04 Kazu Hirata <kazu@cs.umass.edu>
10432
10433 * emit-rtl.c (gen_rtx): Remove.
10434 * genattrtab.c: Don't mention gen_rtx in a comment.
10435 * rtl.h: Remove the prototype for gen_rtx.
10436 * doc/md.texi: Replace gen_rtx with gen_rtx_REG.
10437
f61c92c3
KH
104382004-02-04 Kazu Hirata <kazu@cs.umass.edu>
10439
10440 * config/arc/arc.h, config/fr30/fr30.h
10441 (SETUP_INCOMING_VARARGS): Remove the target-independent
10442 comments.
10443 * doc/tm.texi: Don't mention deprecated target macros.
10444
c35c17c1
KH
104452004-02-04 Kazu Hirata <kazu@cs.umass.edu>
10446
10447 * config/fr30/fr30.h (FUNCTION_VALUE): Remove the
10448 target-independent comment.
10449
cea28603
KH
104502004-02-04 Kazu Hirata <kazu@cs.umass.edu>
10451
10452 * doc/interface.texi, doc/tm.texi, doc/trouble.texi: Don't
10453 mention deprecated target macros.
10454
a4a4b1d3
KH
104552004-02-04 Kazu Hirata <kazu@cs.umass.edu>
10456
10457 * config.gcc: Remove obsolete ports and configurations.
10458 * config/linux-aout.h, config/netware.h,
10459 config/t-linux-gnulibc1, config/d30v/abi,
10460 config/d30v/d30v-protos.h, config/d30v/d30v.c,
10461 config/d30v/d30v.h, config/d30v/d30v.md,
10462 config/d30v/libgcc1.asm, config/d30v/t-d30v,
10463 config/dsp16xx/dsp16xx-modes.def,
10464 config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
10465 config/dsp16xx/dsp16xx.h, config/dsp16xx/dsp16xx.md,
10466 config/i370/README, config/i370/i370-c.c,
10467 config/i370/i370-protos.h, config/i370/i370.c,
10468 config/i370/i370.h, config/i370/i370.md, config/i370/linux.h,
10469 config/i370/mvs.h, config/i370/oe.h, config/i370/t-i370,
10470 config/i386/freebsd-aout.h, config/i386/linux-aout.h,
10471 config/i386/moss.h, config/i386/netware.h,
10472 config/i386/svr3.ifile, config/i386/svr3dbx.h,
10473 config/i386/svr3gas.h, config/i386/svr3z.ifile,
10474 config/i386/t-udk, config/i386/udk.h, config/i386/vsta.h,
10475 config/i960/i960-c.c, config/i960/i960-coff.h,
10476 config/i960/i960-modes.def, config/i960/i960-protos.h,
10477 config/i960/i960.c, config/i960/i960.h, config/i960/i960.md,
10478 config/i960/rtems.h, config/i960/t-960bare,
10479 config/m68k/hp310.h, config/m68k/hp320.h,
10480 config/m68k/hp320base.h, config/m68k/m68kv4.h,
10481 config/m68k/netbsd.h, config/m68k/sgs.h, config/m68k/t-hp320:
10482 Remove.
10483 * doc/extend.texi, doc/install.texi, doc/invoke.texi,
10484 doc/md.texi: Remove mentions of obsolete ports.
10485
40e02b4a
JH
104862004-02-04 Jan Hubicka <jh@suse.cz>
10487
10488 * alias.c (find_base_term, get_addr): Do not dereference NULL
10489 pointer when all VALUE's locations has been invalidated.
10490 (rtx_equal_for_memref_p): Simplify checking of VALUEs.
10491
a6f78652 104922004-02-03 Wolfgang Bangerth <bangerth@dealii.org>
1c02f6f2
WB
10493
10494 * doc/invoke.texi (x86 options): Fix spelling/wording.
10495
584e5527
RS
104962004-02-03 Richard Sandiford <rsandifo@redhat.com>
10497
10498 * config/mips/iris5.h (ASM_OUTPUT_ASCII): Use mips_output_ascii to
10499 put the original string in a comment.
10500 * config/mips/mips-protos.h (mips_output_ascii): Add prefix argument.
10501 * config/mips/mips.c (mips_output_ascii): Likewise.
10502 * config/mips/mips.h (ASM_OUTPUT_ASCII): Adjust accordingly.
10503
9b2b3375
KH
105042004-02-03 Kazu Hirata <kazu@cs.umass.edu>
10505
10506 * system.h (GIV_SORT_CRITERION): Poison.
10507 * config/avr/avr.h (GIV_SORT_CRITERION): Remove.
10508 * config/ip2k/ip2k.h (GIV_SORT_CRITERION): Likewise.
10509
888d65b5
RS
105102004-02-03 Roger Sayle <roger@eyesopen.com>
10511
10512 PR target/9348
10513 * expr.c (expand_expr_real) <MULT_EXPR>: When performing widening
10514 multiplies with a multiplication of the wrong signedness, its the
10515 signedness of the multiplication that we've performed that needs to
10516 be passed to expand_mult_highpart_adjust. Avoid emitting a nop-move
10517 if expand_mult_highpart_adjust places the result in target.
10518
a8c0bbc7
RH
105192004-02-03 Richard Henderson <rth@redhat.com>
10520
10521 * varasm.c (const_desc_rtx_sym_eq): Compare symbol strings.
10522
a8f0f22e
R
105232004-02-03 J"orn Rennecke <joern.rennecke@superh.com>
10524
10525 * config.gcc (sh[234]l): Use little endian fragments.
10526
e621b588
PK
105272004-02-03 Paul Koning <pkoning@equallogic.com>
10528
10529 * config/pdp11/pdp11-modes.def: Add RESET_FLOAT_FORMAT calls.
10530 * config/pdp11/pdp11-protos.h (legitimate_const_double_p): Add.
10531 * config/pdp11/pdp11.c (encode_pdp11_f, decode_pdp11_f,
10532 encode_pdp11_d, decode_pdp11_d): New functions to handle PDP11
10533 floating point format.
10534 (pdp11_f_format, pdp11_d_format): New real_format descriptors for
10535 the above functions.
10536 (output_move_quad): Output float values in correct target format.
10537 (legitimate_const_double_p): New function.
10538 * config/pdp11/pdp11.h: Fix typos.
10539 (FLOAT_WORDS_BIG_ENDIAN): Add definition.
10540 (TARGET_FLOAT_FORMAT): Ditto.
10541 (pdp11_f_format, pdp11_d_format): Add external declarations.
10542 (MAX_REGS_PER_ADDRESS): Corrected.
10543 (LEGITIMATE_CONSTANT_P): Use legitimate_const_double_p().
10544 (PRINT_OPERAND): Output float literals in target format.
10545
5a98fa7b
MM
105462004-02-03 Mark Mitchell <mark@codesourcery.com>
10547
10548 PR c++/13975
10549 * tree.h (enum tree_index): Add TI_PUBLIC, TI_PROTECTED, and
10550 TI_PRIVATE.
10551 (access_public_node): Redefine.
10552 (access_protected_node): Likewise.
10553 (access_private_node): Likewise.
10554 * tree.c (build_common_tree_nodes): Create access_public_node,
10555 access_protected_node, and access_private_node.
10556
0263e6bf
SE
105572004-02-03 Steve Ellcey <sje@cup.hp.com>
10558
10559 * config/ia64/ia64.h (MASK_INLINE_INT_DIV_LAT): Change value.
10560 (MASK_INLINE_INT_DIV_THR): Ditto.
10561 (MASK_INLINE_SQRT_LAT): Ditto.
10562 (MASK_INLINE_SQRT_THR): Ditto.
10563 (MASK_DWARF2_ASM): Ditto.
10564 (MASK_EARLY_STOP_BITS): Ditto.
10565
9b66ebb1
PB
105662004-02-02 Paul Brook <paul@codesourcery.com>
10567
10568 Merge from csl-arm-branch.
10569
10570 2004-01-30 Paul Brook <paul@codesourcery.com>
10571
10572 * aof.h (REGISTER_NAMES): Add vfp reg names
10573 (ADDITIONAL_REGISTER_NAMES): Ditto.
10574 * aout.h (REGISTER_NAMES): Ditto.
10575 (ADDITIONAL_REGISTER_NAMES): Ditto.
10576 * arm-protos.h: Update/Add Prototypes.
10577 * arm.c (init_fp_table): Rename from init_fpa_table. Update users.
10578 Only allow 0.0 for VFP.
10579 (fp_consts_inited): Rename from fpa_consts_inited. Update users.
10580 (values_fp): Rename from values_fpa. Update Users.
10581 (arm_const_double_rtx): Rename from const_double_rtx_ok_for_fpa.
10582 Update users. Only check valid constants for this hardware.
10583 (arm_float_rhs_operand): Rename from fpa_rhs_operand. Update Users.
10584 Only allow consts for FPA.
10585 (arm_float_add_operand): Rename from fpa_add_operand. Update users.
10586 Only allow consts for FPA.
10587 (use_return_insn): Check for saved VFP regs.
10588 (arm_legitimate_address_p): Handle VFP DFmode addressing.
10589 (arm_legitimize_address): Ditto.
10590 (arm_general_register_operand): New function.
10591 (vfp_mem_operand): New function.
10592 (vfp_compare_operand): New function.
10593 (vfp_secondary_reload_class): New function.
10594 (arm_float_compare_operand): New function.
10595 (vfp_print_multi): New function.
10596 (vfp_output_fstmx): New function.
10597 (vfp_emit_fstm): New function.
10598 (arm_output_epilogue): Output VPF reg restore code.
10599 (arm_expand_prologue): Output VFP reg save code.
10600 (arm_print_operand): Add 'P'.
10601 (arm_hard_regno_mode_ok): Return modes for VFP regs.
10602 (arm_regno_class): Return classes for VFP regs.
10603 (arm_compute_initial_elimination_offset): Include space for VFP regs.
10604 (arm_get_frame_size): Ditto.
10605 * arm.h (FIXED_REGISTERS): Add VFP regs.
10606 (CALL_USED_REGISTERS): Ditto.
10607 (CONDITIONAL_REGISTER_USAGE): Enable VFP regs.
10608 (FIRST_VFP_REGNUM): Define.
10609 (LAST_VFP_REGNUM): Define.
10610 (IS_VFP_REGNUM): Define.
10611 (FIRST_PSEUDO_REGISTER): Include VFP regs.
10612 (HARD_REGNO_NREGS): Handle VFP regs.
10613 (REG_ALLOC_ORDER): Add VFP regs.
10614 (enum reg_class): Add VFP_REGS.
10615 (REG_CLASS_NAMES): Ditto.
10616 (REG_CLASS_CONTENTS): Ditto.
10617 (CANNOT_CHANGE_MODE_CLASS) Handle VFP Regs.
10618 (REG_CLASS_FROM_LETTER): Add 'w'.
10619 (EXTRA_CONSTRAINT_ARM): Add 'U'.
10620 (EXTRA_MEMORY_CONSTRAINT): Define.
10621 (SECONDARY_OUTPUT_RELOAD_CLASS): Handle VFP regs.
10622 (SECONDARY_INPUT_RELOAD_CLASS): Ditto.
10623 (REGISTER_MOVE_COST): Ditto.
10624 (PREDICATE_CODES): Add arm_general_register_operand,
10625 arm_float_compare_operand and vfp_compare_operand.
10626 * arm.md (various): Rename as above.
10627 (divsf3): Enable when TARGET_VFP.
10628 (divdf3): Ditto.
10629 (movdfcc): Ditto.
10630 (sqrtsf2): Ditto.
10631 (sqrtdf2): Ditto.
10632 (arm_movdi): Disable when TARGET_VFP.
10633 (arm_movsi_insn): Ditto.
10634 (movsi): Only split with general regs.
10635 (cmpsf): Use arm_float_compare_operand.
10636 (push_fp_multi): Restrict to TARGET_FPA.
10637 (vfp.md): Include.
10638 * vfp.md: New file.
10639 * fpa.md (various): Rename as above.
10640 * doc/md.texi: Document ARM w and U constraints.
10641
10642 2004-01-15 Paul Brook <paul@codesourcery.com>
10643
10644 * config.gcc: Add with_fpu. Allow with-float=softfp.
10645 * config/arm/arm.c (arm_override_options): Rename *-s to *s.
10646 Break out of loop when we find a float-abi. Fix typo.
10647 * config/arm/arm.h (OPTION_DEFAULT_SPECS): Add "fpu".
10648 Set -mfloat-abi=.
10649 * doc/install.texi: Document --with-fpu.
10650
10651 2003-01-14 Paul Brook <paul@codesourcery.com>
10652
10653 * config.gcc (with_arch): Add armv6.
10654 * config/arm/arm.h: Rename TARGET_CPU_*_s to TARGET_CPU_*s.
10655 * config/arm/arm.c (arm_overrride_options): Ditto.
10656
10657 2004-01-08 Richard Earnshaw <rearnsha@arm.com>
10658
10659 * arm.c (FL_ARCH3M): Renamed from FL_FAST_MULT.
10660 (FL_ARCH6): Renamed from FL_ARCH6J.
10661 (arm_arch3m): Renamed from arm_fast_multiply.
10662 (arm_arch6): Renamed from arm_arch6j.
10663 * arm.h: Update all uses of above.
10664 * arm-cores.def: Likewise.
10665 * arm.md: Likewise.
10666
10667 * arm.h (CPP_CPU_ARCH_SPEC): Emit __ARM_ARCH_6J__ define for armV6j,
10668 not arm6j. Add entry for arch armv6.
10669
10670 2004-01-07 Richard Earnshaw <rearnsha@arm.com>
10671
10672 * arm.c (arm_emit_extendsi): Delete.
10673 * arm-protos.h (arm_emit_extendsi): Delete.
10674 * arm.md (zero_extendhisi2): Also handle zero-extension of
10675 non-subregs.
10676 (zero_extendqisi2, extendhisi2, extendqisi2): Likewise.
10677 (thumb_zero_extendhisi2): Only match if not v6.
10678 (arm_zero_extendhisi2, thumb_zero_extendqisi2, arm_zero_extendqisi2)
10679 (thumb_extendhisi2, arm_extendhisi2, arm_extendqisi)
10680 (thumb_extendqisi2): Likewise.
10681 (thumb_zero_extendhisi2_v6, arm_zero_extendhisi2_v6): New patterns.
10682 (thumb_zero_extendqisi2_v6, arm_zero_extendqisi2_v6): New patterns.
10683 (thumb_extendhisi2_insn_v6, arm_extendhisi2_v6): New patterns.
10684 (thumb_extendqisi2_v6, arm_extendqisi_v6): New patterns.
10685 (arm_zero_extendhisi2_reg, arm_zero_extendqisi2_reg): Delete.
10686 (arm_extendhisi2_reg, arm_extendqisi2_reg): Delete.
10687 (arm_zero_extendhisi2addsi): Remove subreg. Add attributes.
10688 (arm_zero_extendqisi2addsi, arm_extendhisi2addsi): Likewise.
10689 (arm_extendqisi2addsi): Likewise.
10690
10691 2003-12-31 Mark Mitchell <mark@codesourcery.com>
10692
10693 Revert this change:
10694 * config/arm/arm.h (THUMB_LEGTITIMIZE_RELOAD_ADDRESS): Reload REG
10695 + REG addressing modes.
10696
10697 * config/arm/arm.h (THUMB_LEGTITIMIZE_RELOAD_ADDRESS): Reload REG
10698 + REG addressing modes.
10699
10700 2003-12-30 Mark Mitchell <mark@codesourcery.com>
10701
10702 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept
10703 CONSTANT_P_RTX.
10704
10705 2003-30-12 Paul Brook <paul@codesourcery.com>
10706
10707 * longlong.h: protect arm inlines with !defined (__thumb__)
10708
10709 2003-30-12 Paul Brook <paul@codesourcery.com>
10710
10711 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Always define __arm__.
10712
10713 2003-12-30 Nathan Sidwell <nathan@codesourcery.com>
10714
10715 * builtins.c (expand_builtin_apply_args_1): Fix typo in previous
10716 change.
10717
10718 2003-12-29 Nathan Sidwell <nathan@codesourcery.com>
10719
10720 * builtins.c (expand_builtin_apply_args_1): Add pretend args size
10721 to the virtual incoming args pointer for downward stacks.
10722
10723 2003-12-29 Paul Brook <paul@codesourcery.com>
10724
10725 * config/arm/arm-cores.def: Add cost function.
10726 * config/arm/arm.c (arm_*_rtx_costs): New functions.
10727 (arm_rtx_costs): Remove
10728 (struct processors): Add rtx_costs field.
10729 (all_cores, all_architectures): Ditto.
10730 (arm_override_options): Set targetm.rtx_costs.
10731 (thumb_rtx_costs): New function.
10732 (arm_rtx_costs_1): Remove cases handled elsewhere.
10733 * config/arm/arm.h (processor_type): Add COSTS parameter.
10734
10735 2003-12-29 Nathan Sidwell <nathan@codesourcery.com>
10736
10737 * config/arm/arm.md (generic_sched): arm926 has its own scheduler.
10738 (arm926ejs.md): Include it.
10739 * config/arm/arm926ejs.md: New pipeline description.
10740
10741 2003-12-24 Paul Brook <paul@codesourcery.com>
10742
10743 * config/arm/arm.c (arm_arch6j): New variable.
10744 (arm_override_options): Set it.
10745 (arm_emit_extendsi): New function.
10746 * config/arm/arm-protos.h (arm_emit_extendsi): Add prototype.
10747 * config/arm/arm.h (arm_arch6j): Declare.
10748 * config/arm/arm.md: Add sign/zero extend insns.
10749
10750 2003-12-23 Paul Brook <paul@codesourcery.com>
10751
10752 * config/arm/arm.c (all_architectures): Add armv6.
10753 * doc/invoke.texi: Document it.
10754
10755 2003-12-19 Paul Brook <paul@codesourcery.com>
10756
10757 * config/arm/arm.md: Add load1 and load_byte "type" attrs. Modify
10758 insn patterns to match.
10759 * config/arm/arm-generic.md: Ditto.
10760 * config/arm/cirrus.md: Ditto.
10761 * config/arm/fpa.md: Ditto.
10762 * config/amm/iwmmxt.md: Ditto.
10763 * config/arm/arm1026ejs.md: Ditto.
10764 * config/arm/arm1135jfs.md: Ditto. Add insn_reservation and bypasses
10765 for 11_loadb.
10766
10767 2003-12-18 Nathan Sidwell <nathan@codesourcery.com>
10768
10769 * config/arm/arm-protos.h (arm_no_early_alu_shift_value_dep): Declare.
10770 * config/arm/arm.c (arm_adjust_cost): Check shift cost for
10771 TYPE_ALU_SHIFT and TYPE_ALU_SHIFT_REG.
10772 (arm_no_early_store_addr_dep, arm_no_early_alu_shift_dep,
10773 arm_no_early_mul_dep): Correctly deal with conditional execution,
10774 parallels and single shift operations.
10775 (arm_no_early_alu_shift_value_dep): Define.
10776 * arm.md (attr type): Replace 'normal' with 'alu',
10777 'alu_shift' and 'alu_shift_reg'.
10778 (attr core_cycles): Adjust.
10779 (*addsi3_carryin_shift, andsi_not_shiftsi_si, *arm_shiftsi3,
10780 *shiftsi3_compare0, *notsi_shiftsi, *notsi_shiftsi_compare0,
10781 *not_shiftsi_compare0_scratch, *cmpsi_shiftsi, *cmpsi_shiftsi_swp,
10782 *cmpsi_neg_shiftsi, *arith_shiftsi, *arith_shiftsi_compare0,
10783 *arith_shiftsi_compare0_scratch, *sub_shiftsi,
10784 *sub_shiftsi_compare0, *sub_shiftsi_compare0_scratch,
10785 *if_shift_move, *if_move_shift, *if_shift_shift): Set type
10786 attribute appropriately.
10787 * config/arm/arm1026ejs.md (alu_op): Adjust.
10788 (alu_shift_op, alu_shift_reg_op): New.
10789 * config/arm/arm1136.md: Add better bypasses for early
10790 registers. Remove load[234] and store[234] bypasses.
10791 (11_alu_op): Adjust.
10792 (11_alu_shift_op, 11_alu_shift_reg_op): New.
10793
10794 2003-12-15 Nathan Sidwell <nathan@codesourcery.com>
10795
10796 * config/arm/arm-protos.h (arm_no_early_store_addr_dep,
10797 arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Declare.
10798 * config/arm/arm.c (arm_no_early_store_addr_dep,
10799 arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Define.
10800 * config/arm/arm1026ejs.md: Add load-store bypass.
10801 * config/arm/arm1136jfs.md (11_alu_op): Take 2 cycles.
10802 Add bypasses between instructions.
10803
10804 2003-12-10 Paul Brook <paul@codesourcery.com>
10805
10806 * config/arm/arm.c (arm_fpu_model): New variable.
10807 (arm_fload_abi): New variable.
10808 (target_fpe_name): Rename from target_fp_name.
10809 (target_fpu_name): New variable.
10810 (arm_is_cirrus): Remove.
10811 (fpu_desc): New struct.
10812 (all_fpus): Define.
10813 (pf_model_for_fpu): Define.
10814 (all_loat_abis): Define.
10815 (arm_override_options): Set fp arch flags based on -mfpu=
10816 and -float-abi=.
10817 (FIRST_FPA_REGNUM): Rename from FIRST_ARM_FP_REGNUM.
10818 (LAST_FPA_REGNUM): Rename from LAST_ARM_FP_REGNUM.
10819 (*): Use new TARGET_* flags.
10820 * config/arm/arm.h (TARGET_ANY_HARD_FLOAT): Remove.
10821 (TARGET_HARD_FLOAT): No longer implies TARGET_FPA.
10822 (TARGET_SOFT_FLOAT): Ditto.
10823 (TARGET_SOFT_FLOAT_ABI): New.
10824 (TARGET_MAVERICK): Rename from TARGET_CIRRUS. No longer implies
10825 TARGET_HARD_FLOAT.
10826 (TARGET_VFP): No longer implies TARGET_HARD_FLOAT.
10827 (TARGET_OPTIONS): Add -mfpu=.
10828 (FIRST_FPA_REGNUM): Rename from FIRST_ARM_FP_REGNUM.
10829 (LAST_FPA_REGNUM): Rename from LAST_ARM_FP_REGNUM.
10830 (arm_pf_model): Define.
10831 (arm_float_abi_type): Define.
10832 (fputype): Add FPUTYPE_VFP. Change SOFT_FPA->NONE
10833 * config/arm/arm.md: Use new TARGET_* flags.
10834 * config/arm/cirrus.md: Ditto.
10835 * config/arm/fpa.md: Ditto.
10836 * config/arm/elf.h (ASM_SPEC): Pass -mfloat-abi= and -mfpu=.
10837 * config/arm/semi.h (ASM_SPEC): Ditto.
10838 * config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Specify vfp.
10839 (FPUTYPE_DEFAULT): Set to VFP.
10840 * doc/invoke.texi: Document -mfpu= and -mfloat-abi=.
10841
10842 2003-11-22 Phil Edwards <phil@codesourcery.com>
10843
10844 PR target/12476
10845 * config/arm/arm.c (arm_output_mi_thunk): In Thumb mode, use
10846 'bx' instead of 'b' to avoid branch range restrictions. Output
10847 the thunk immediately before the thunked-to function.
10848 * config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Do not emit
10849 .thumb_func if a thunk is being generated. Emit .code 16 along
10850 with .thumb_func if a thunk is not being generated.
10851
10852 2003-11-15 Nicolas Pitre <nico@cam.org>
10853
10854 * config/arm/arm.md (ashldi3, arm_ashldi3_1bit, ashrdi3,
10855 arm_ashrdi3_1bit, lshrdi3, arm_lshrdi3_1bit): New patterns.
10856 * config/arm/iwmmxt.md (ashrdi3_iwmmxt): Renamed from ashrdi3.
10857 (lshrdi3_iwmmxt): Renamed from lshrdi3.
10858 * config/arm/arm.c (IWMMXT_BUILTIN2): Renamed argument accordingly.
10859
10860 2003-11-12 Steve Woodford <scw@wasabisystems.com>
10861 Ian Lance Taylor <ian@wasabisystems.com>
10862
10863 * config/arm/lib1funcs.asm (ARM_DIV_BODY, ARM_MOD_BODY): Add new
10864 code for __ARM_ARCH__ >= 5 && ! defined (__OPTIMIZE_SIZE__).
10865
10866 2003-11-05 Phil Edwards <phil@codesourcery.com>
10867
10868 * config/arm/arm.md (insn): Add new V6 instruction names.
10869 (generic_sched): New attr.
10870 * config/arm/arm-generic.md: Use generic_sched here.
10871 * config/arm/arm1026ejs.md: Do not model fetch/issue/decode
10872 stages of pipeline. Adjust latency counts accordingly.
10873 * config/arm/arm1136jfs.md: New file.
10874
10875 2003-10-28 Mark Mitchell <mark@codesourcery.com>
10876
10877 * config/arm/arm.h (processor_type): New enumeration type.
10878 (CPP_ARCH_DEFAULT_SPEC): Set appropriately for ARM 926EJ-S,
10879 ARM1026EJ-S, ARM1136J-S, and ARM1136JF-S processor cores.
10880 (CPP_CPU_ARCH_SPEC): Likewise.
10881 * config/arm/arm.c (arm_tune): New variable.
10882 (all_cores): Use cores.def.
10883 (all_architectures): Add representative processor.
10884 (arm_override_options): Restructure way in which tuning
10885 information is deduced.
10886 * arm.md: Update "insn" and "type" attributes throughout.
10887 (insn): New attribute.
10888 (type): Compute "mult" from "insn" attribute. Add load2,
10889 load3, load4 alternatives.
10890 (arm automaton): Move to arm-generic.md.
10891 * config/arm/arm-cores.def: New file.
10892 * config/arm/arm-generic.md: Likewise.
10893 * config/arm/arm1026ejs.md: Likewise.
10894
60b85c4c
EB
108952004-02-03 Eric Botcazou <ebotcazou@libertysurf.fr>
10896
10897 * doc/invoke.texi (SPARC options): Remove -mflat and
10898 all -mxxx (xxx:chip) options.
10899 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Delete.
10900 * config/sparc/litecoff.h (DBX_REGISTER_NUMBER): Likewise.
10901 * config/sparc/netbsd-elf.h (DBX_REGISTER_NUMBER): Likewise.
10902 * config/sparc/sol2.h (DBX_REGISTER_NUMBER): Likewise.
10903 * config/sparc/sparc-protos.h: Delete sparc_flat_* prototypes.
10904 * config/sparc/sparc.c: Likewise.
10905 (sparc_output_function_prologue): Remove TARGET_FLAT handling.
10906 (sparc_nonflat_function_prologue): Rename into sparc_function_prologue.
10907 (sparc_output_function_epilogue): Remove TARGET_FLAT handling.
10908 (sparc_nonflat_function_epilogue): Rename into sparc_function_epilogue.
10909 (struct sparc_frame_info, current_frame_info, zero_frame_info): Delete.
10910 (sparc_flat_must_save_register_p): Likewise.
10911 (sparc_flat_compute_frame_size): Likewise.
10912 (sparc_flat_save_restore): Likewise.
10913 (sparc_flat_function_prologue): Likewise.
10914 (sparc_flat_function_epilogue): Likewise.
10915 (sparc_flat_epilogue_delay_slots): Likewise.
10916 (sparc_flat_eligible_for_epilogue_delay): Likewise.
10917 (sparc_function_ok_for_sibcall): Remove TARGET_FLAT handling.
10918 * config/sparc/sparc.h (MASK_FLAT, TARGET_FLAT): Delete.
10919 (TARGET_SWITCHES): Remove -mflat and all -mxxx (xxx:chip) options.
10920 (SPARC_INCOMING_INT_ARG_FIRST): Remove TARGET_FLAT handling.
10921 (CONDITIONAL_REGISTER_USAGE): Likewise.
10922 (FRAME_POINTER_REQUIRED): Likewise.
10923 (INITIAL_ELIMINATION_OFFSET): Likewise.
10924 (BASE_RETURN_VALUE_REG): Likewise.
10925 (BASE_OUTGOING_VALUE_REG): Likewise.
10926 (BASE_PASSING_ARG_REG): Likewise.
10927 (BASE_INCOMING_ARG_REG): Likewise.
10928 (INCOMING_REGNO): Likewise.
10929 (OUTGOING_REGNO): Likewise.
10930 (LOCAL_REGNO): Likewise.
10931 (DELAY_SLOTS_FOR_EPILOGUE): Likewise.
10932 (ELIGIBLE_FOR_EPILOGUE_DELAY): Likewise.
10933 (EPILOGUE_USES): Likewise.
10934 * config/sparc/sparc.md ("isa" attribute): Change "v6" into "v7".
10935 ("flat" attribute): Delete.
10936 (do_builtin_setjmp_setup): Remove TARGET_FLAT and "flat" attribute
10937 handling.
10938 (call followed by jump define_peephole's): Delete.
10939 (exception_receiver): Likewise.
10940 (builtin_setjmp_receiver): Likewise.
10941 * config/sparc/t-sparclite (MULTILIB_OPTIONS): Remove -mflat.
10942
e57e265b
PB
109432004-02-03 Paolo Bonzini <bonzini@gnu.org>
10944
10945 PR c/11658
10946 PR c/13994
10947 * Makefile.in (c-parse.o, c-convert.o, c-typeck.o): Depend
10948 on langhooks.h.
10949 * objc/Make-lang.in (objc-parse.o): Depend on langhooks.h.
10950 * c-parse.in, c-convert.c, c-typeck.c, objc/objc-act.c:
10951 Include langhooks.h. Replace c_common_truthvalue_conversion
10952 with the truthvalue_conversion language hook throughout.
10953 (expr_no_commas): Call default_conversion before save_expr
10954 for the first term of the production 'x ? : y'.
10955 * c-common.c (c_common_truthvalue_conversion): Remove
10956 obsolete block. Invoke recursively the hook instead
10957 of this function.
10958 * c-convert.c (convert): handle ERROR_MARK_NODE.
10959 * c-typeck.c (build_binary_op): handle ERROR_MARK_NODE
10960 returned by the truthvalue_conversion language hook.
10961 * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Use
10962 c_objc_common_truthvalue_conversion.
10963 * c-objc-common.c (c_objc_common_truthvalue_conversion):
10964 New function.
10965 * c-tree.h (c_objc_common_truthvalue_conversion): Declare it.
10966 * objc/objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Use
10967 c_objc_common_truthvalue_conversion.
10968
a7a2225a
KH
109692004-02-03 Kazu Hirata <kazu@cs.umass.edu>
10970
10971 * config/c4x/c4x.h (FUNCTION_VALUE): Use gen_rtx_REG instead
10972 of gen_rtx.
10973 (LIBCALL_VALUE): Likewise.
10974 * config/ip2k/ip2k.c (mdr_try_propagate_clr_sequence): Use
10975 gen_rtx_CC0 instead of gen_rtx.
10976 * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use
10977 gen_rtx_fmt_e and gen_rtx_fmt_ee instead of gen_rtx.
10978 (m68hc11_expand_compare): Use gen_rtx_fmt_ee instead of
10979 gen_rtx.
10980 (m68hc11_emit_logical): Likewise.
10981
a556fd39
KH
109822004-02-03 Kazu Hirata <kazu@cs.umass.edu>
10983
10984 * config/alpha/alpha.c, config/arm/arm.c, config/c4x/c4x.c,
10985 config/fr30/fr30.md, config/frv/frv.c, config/frv/frv.md,
10986 config/h8300/h8300.c, config/ia64/ia64.c, config/ip2k/ip2k.md,
10987 config/m32r/m32r.md, config/m68hc11/m68hc11.c,
10988 config/mips/mips.md, config/mmix/mmix.c,
10989 config/mn10300/mn10300.c, config/mn10300/mn10300.md,
10990 config/ns32k/ns32k.c, config/pa/pa.md, config/pdp11/pdp11.c,
10991 config/rs6000/altivec.md, config/s390/s390.c,
10992 config/s390/s390.h, config/s390/s390.md, config/sh/sh.c,
10993 config/sh/sh.h, config/sh/sh.md, config/stormy16/stormy16.c:
10994 Use const0_rtx instead of GEN_INT (0). Do the same for other
10995 constants that are readily available.
10996
60c81c89
KH
109972004-02-03 Kazu Hirata <kazu@cs.umass.edu>
10998
10999 * doloop.c, optabs.c, regmove.c, sched-deps.c,
11000 config/i386/i386.c, config/i386/i386.md: Use const0_rtx
11001 instead of GEN_INT (0). Do the same for other constants that
11002 are readily available.
11003
2fb00d7f
KH
110042004-02-03 Kazu Hirata <kazu@cs.umass.edu>
11005
11006 * combine.c (simplify_set): Use gen_rtx_fmt_e instead of
11007 gen_rtx.
11008 * emit-rtl.c (init_emit_once): Use gen_rtx_PC and gen_rtx_CC0
11009 instead of gen_rtx.
11010 * reload1.c (init_elim_table): Use gen_rtx_fmt_e instead of
11011 gen_rtx.
11012 * config/ns32k/ns32k.md (udivmodhi4): Use gen_rtx_IOR and
11013 gen_rtx_ASHIFT instead of gen_rtx.
11014 (udivmodqi4): Likewise.
11015
b0dccb00
RH
110162004-02-02 Richard Henderson <rth@redhat.com>
11017
a6f78652
ZW
11018 PR target/13789
11019 * expr.c (store_expr): Use force_operand before emit_move_insn.
b0dccb00 11020
3168cb99
JL
110212004-02-02 Jeff Law <law@redhat.com>
11022 Roger Sayle <roger@eyesopen.com>
11023
11024 * tree.c (commutative_tree_code, associative_tree_code): New
11025 functions.
11026 (iterative_hash_expr): Use commutative_tree_code.
11027 * tree.h (commutative_tree_code, associative_tree_code): Declare.
11028 * fold-const.c (operand_equal_p): Use commutative_tree_code
11029 rather than inlining the commutativity check.
11030 (fold): Likewise.
11031
040333a7
KH
110322004-02-02 Kazu Hirata <kazu@cs.umass.edu>
11033
11034 * system.h (FUNCTION_ARG_KEEP_AS_REFERENCE): Poison.
11035 * config/frv/frv-protos.h: Remove the prototype for
11036 frv_function_arg_keep_as_reference.
11037 * config/frv/frv.c (frv_function_arg_keep_as_reference):
11038 Remove.
11039 * config/frv/frv.h (FUNCTION_ARG_KEEP_AS_REFERENCE): Likewise.
11040 * config/stormy16/stormy16.h: Remove the commented-out
11041 definition of FUNCTION_ARG_KEEP_AS_REFERENCE.
11042
79d69d75
AM
110432004-02-03 Alan Modra <amodra@bigpond.net.au>
11044
11045 PR target/13914
11046 * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Use ap
11047 for retaddr_column.
11048
600555f5
KH
110492004-02-02 Kazu Hirata <kazu@cs.umass.edu>
11050
11051 * genemit.c (gen_exp): Generate gen_rtx_fmt_e* instead of
11052 gen_rtx.
11053
16dd5cfe 110542004-02-02 Eric Christopher <echristo@redhat.com>
a6f78652 11055 Zack Weinberg <zack@codesourcery.com>
16dd5cfe
EC
11056
11057 * c-opts.c (c_common_handle_option): Add -finput-charset.
a6f78652
ZW
11058 * c.opt: Ditto.
11059 * cppcharset.c (one_iso88591_to_utf8): Remove.
11060 (convert_iso88591_utf8): Ditto.
11061 (conversion_tab): Remove 8859-1 converter.
11062 (_cpp_input_to_utf8): Remove.
11063 (_cpp_init_iconv_buffer): Ditto.
11064 (_cpp_close_iconv_buffer): Ditto.
11065 (_cpp_convert_input): New function.
11066 (_cpp_default_encoding): Ditto.
11067 * cpphash.h: Add/remove prototypes for above.
11068 * cppfiles.c (read_file_guts): Use _cpp_convert_input.
11069 * cppinit.c (cpp_create_reader): Use _cpp_default_encoding
11070 for narrow execution and input character sets.
11071 * cpplib.c (cpp_push_buffer): Delete uses of removed functions.
11072 * doc/cppopts.texi: Document -finput-charset.
16dd5cfe 11073
8ad0d964
DE
110742004-02-02 David Edelsohn <edelsohn@gnu.org>
11075
11076 * rtlanal.c (refers_to_regno_p): Test regno, not inner_regno,
11077 against FIRST_PSEUDO_REGISTER.
11078
238b11b5
EB
110792004-02-02 Eric Botcazou <ebotcazou@libertysurf.fr>
11080
11081 * doc/invoke.texi (SPARC options): Further improve.
11082
0f4c242b
KH
110832004-02-02 Kazu Hirata <kazu@cs.umass.edu>
11084
11085 * config/arm/arm.md, config/c4x/c4x.md, config/cris/cris.md,
11086 config/h8300/h8300.c, config/ip2k/ip2k.md,
11087 config/iq2000/iq2000.c, config/mips/mips.c,
11088 config/rs6000/rs6000.c, config/rs6000/rs6000.md,
11089 config/sh/sh.c, config/sh/sh.md, config/stormy16/stormy16.c,
11090 config/v850/v850.md: Fix indentation.
11091
d560b0aa
EB
110922004-02-02 Eric Botcazou <ebotcazou@libertysurf.fr>
11093
11094 * config/sparc/sparc.c (function_arg_slotno): Align TImode
11095 arguments on a 16-byte boundary in the parameter array if ARCH64.
11096 Split handling of TFmode.
11097
6f626d1b
PB
110982004-02-02 Paolo Bonzini <bonzini@gnu.org>
11099
11100 * rtlanal.c (reg_overlap_mentioned_p) [!ENABLE_CHECKING]:
11101 Don't test CONSTANT_P (x).
11102 (reg_overlap_mentioned_p): Merge check for STRICT_LOWPART,
11103 ZERO_EXTRACT, SIGN_EXTRACT with the switch statement.
11104 Fix misindentation.
11105
e789e9c4
EB
111062004-02-02 Eric Botcazou <ebotcazou@libertysurf.fr>
11107
11108 * doc/invoke.texi (SPARC options): Document that -mflat is deprecated.
11109
1c563bed
KH
111102004-02-02 Kazu Hirata <kazu@cs.umass.edu>
11111
11112 * config/arc/arc.md, config/arm/arm.c, config/arm/arm.md,
11113 config/c4x/c4x.c, config/c4x/c4x.md, config/cris/cris.md,
11114 config/frv/frv.c, config/h8300/h8300.c, config/ip2k/ip2k.md,
11115 config/iq2000/iq2000.c, config/m32r/m32r.c,
11116 config/mcore/mcore.c, config/mips/mips.c, config/mmix/mmix.md,
11117 config/mn10300/mn10300.c, config/rs6000/rs6000.c,
11118 config/rs6000/rs6000.md, config/sh/sh.c, config/sh/sh.md,
11119 config/stormy16/stormy16.c, config/v850/v850.md,
11120 config/xtensa/xtensa.c: Replace gen_rtx with gen_rtx_fmt_e*.
11121
67245ad3
KH
111222004-02-01 Kazu Hirata <kazu@cs.umass.edu>
11123
11124 * config/mcore/mcore.c (block_move_sequence): Replace
11125 gen_rtx_CONST_INT with GEN_INT.
11126
66fd46b6
JH
111272004-02-02 Jan Hubicka <jh@suse.cz>
11128
11129 * alias.c (record_set): Use hard_regno_nregs.
11130 * bt-load.c (find_btr_reference, note_btr_set): Likewise.
11131 * builtins.c (apply_args_size): Likewise.
11132 * caller-save.c (setup_save_areas, save_call_clobbered_regs,
11133 mark_set_regs, add_stored_regs, mark_referenced_regs,
11134 insert_restore, insert_save, insert_one_insn): Likewise.
11135 * cfgcleanup.c: Include regs.h
11136 (mark_effect, mentions_nonequal_regs): Likewise.
11137 * cfgrtl.c (mark_killed_regs): Likewise
11138 * combine.c (update_table_tick, record_value_for_reg,
11139 record_dead_and_set_regs, get_last_value_validate, use_crosses_set_p,
11140 reg_dead_at_p_1, reg_dead_at_p, mark_used_regs_combine, move_deaths,
11141 reg_bitfield_target_p, distribute_notes): Likewise.
11142 * cse.c (mention_regs, insert, invalidate, invalidate_for_call,
11143 exp_equiv_p, cse_insn): Likewise.
11144 * cselib.c (cselib_lookup): Likewise.
11145 (cselib_invalidate_regno, cselib_record_set): Likewise.
11146 * df.c (df_ref_record): Likewise.
11147 * dwarf2out.c (reg_loc_descriptor, multiple_reg_loc_descriptor):
11148 Likewise.
11149 * flow.c (mark_reg, insn_dead_p, mark_set_1, mark_used_reg,
11150 count_or_remove_death_notes_bb): Likewise.
11151 * function.c (aggregate_value_p, keep_stack_depressed): Likewise.
11152 * gloval.c (global_alloc, find_reg, mark_reg_store, mark_reg_conflicts,
11153 mark_reg_death, set_preference, reg_becomes_live, reg_dies): Likewise.
11154 * integrate.c (mark_stores): Likewise.
11155 * jump.c (delete_prior_computation): Likewise.
11156 * lcm.c (reg_dies, reg_becomes_live): Likewise.
11157 * local-alloc.c (combine_regs, find_free_reg, post_mark_life): Likewise.
11158 * loop.c (LOOP_REGNO_NREGS): Likewise.
11159 * postreload.c (reload_combine, reload_combine_note_store,
11160 reload_combine_note_use, reload_cse_move2add, move2add_note_store): Likewise.
11161 * ra-colorize.c (combine, color_usable_p, get_free_reg,
16dd5cfe 11162 calculate_dont_begin, calculate_dont_begin, colorize_one_web,
66fd46b6
JH
11163 try_recolor_web, insert_coalesced_conflicts, check_colors,
11164 break_precolored_alias): Likewise.
11165 * ra-debug.c: Include regs.h
11166 (ra_print_rtx_object): Likewise.
11167 * ra-rewrite (choose_spill_colors): Likewise.
11168 (spill_same_color_p, update_spill_colors, spill_is_free): Likewise.
11169 * ra.c (init_ra): Likewise.
11170 * recog.c (reg_fits_class_p, peep2_reg_dead_p,
11171 peep2_find_free_register): Likewise.
11172 * reg-stack.c (subst_stack_regs_pat, convert_regs_exit): Likewise.
11173 * regclass.c (hard_regno_nregs): New array.
11174 (init_reg_modes_once): Initialize it.
11175 (choose_hard_reg_mode): Use it.
11176 (record_reg_classes): Likewise.
11177 * regmove.c (mark_flags_life_zones): Likewise.
11178 * regrename.c (note_sets, clear_dead_regs, regrename_optimize,
11179 scan_rtx_reg, dump_def_use_chain, kill_value, set_value_regno,
11180 copy_value, maybe_mode_change, find_oldest_value_reg,
11181 copyprop_hardreg_forward_1):
11182 * regs.h (hard_regno_nregs): Declare.
11183 * realod.c (reload_inner_reg_of_subreg): Use it.
11184 (push_reload, combine_reloads, find_dummy_reload,
11185 hard_reg_set_here_p, operands_match_p, decompose, find_reloads,
11186 refers_to_regno_for_reload_p, find_equiv_reg, regno_clobbered_p,
11187 reload_adjust_reg_for_mode): Likewise.
11188 * reload1.c (compute_use_by_pseudos, count_pseudo,
11189 count_spilled_pseudo, find_reg, find_reload_regs, mark_home_live,
11190 spill_hard_reg, forget_old_reloads_1, mark_reload_reg_in_use,
11191 clear_reload_reg_in_use, reload_reg_free_for_value_p, free_for_value_p
11192 allocate_reload_reg, choose_reload_regs, emit_reload_insns,
11193 delete_output_reload): Likewise.
11194 * resource.c (update_live_status, mark_referenced_resources,
11195 mark_set_resources, mark_target_live_regs): Likewise.
11196 * rtlanal.c: Include regs.h
11197 (refers_to_regno_p, reg_overlap_mentioned_p, dead_or_set_p,
11198 dead_or_set_regno_p, find_regno_note, find_reg_fusage,
11199 subreg_regno_offset, subreg_offset_representable_p,
11200 hoist_test_store): Likewise.
11201 * sched-deps.c (sched_analyze_1, sched_analyze_2): Likewise.
11202 * sched-rgn.c (check_live_1, update_live_1): Likewise.
11203 * stmt.c: Include regs.h
11204 (decl_conflicts_with_clobbers_p): Likewise.
11205 * varasm.c (make_decl_rtl): Likewise.
11206 * Makefile.in (cfgcleanup.o, rtlanal.o, ra-debug.o): Add regs.h dependnecy.
11207
f1c25d3b
KH
112082004-02-01 Kazu Hirata <kazu@cs.umass.edu>
11209
11210 * config/arm/arm.c, config/arm/arm.h, config/arm/arm.md,
11211 config/arm/linux-gas.h, config/arm/netbsd-elf.h,
11212 config/arm/netbsd.h, config/arm/pe.c, config/avr/avr.c,
11213 config/avr/avr.h, config/avr/avr.md, config/c4x/c4x.h,
11214 config/cris/cris.h, config/fr30/fr30.h, config/frv/frv.c,
11215 config/frv/frv.h, config/ip2k/ip2k.c, config/iq2000/iq2000.c,
11216 config/iq2000/iq2000.h, config/m32r/m32r.c,
11217 config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
11218 config/m68hc11/m68hc11.md, config/m68k/m68k.md,
11219 config/mcore/mcore.c, config/mcore/mcore.h,
11220 config/mcore/mcore.md, config/mips/mips.c,
11221 config/ns32k/ns32k.h, config/ns32k/ns32k.md,
11222 config/rs6000/rs6000.c, config/s390/s390.c,
11223 config/s390/s390.md, config/sparc/sparc.c, config/v850/v850.c,
11224 config/xtensa/xtensa.h, config/xtensa/xtensa.md: Replace
11225 "gen_rtx (FOO, " with "gen_rtx_FOO (".
11226
e0a24727
KH
112272004-02-01 Kazu Hirata <kazu@cs.umass.edu>
11228
11229 * config/h8300/h8300.md (two peephole2's): New.
11230
5202c5fe
EB
112312004-02-01 Eric Botcazou <ebotcazou@libertysurf.fr>
11232
11233 * config/sparc/sol2-bi.h: Handle TARGET_CPU_ultrasparc3.
11234 (CPP_CPU_SPEC): Handle -mcpu=ultrasparc3.
11235 (ASM_CPU_SPEC): Likewise
11236 * config/sparc/sol2.h: Handle TARGET_CPU_ultrasparc3.
11237 (ASM_CPU_SPEC): Remove -mcpu=v8plus. Handle -mcpu=ultrasparc3.
11238
13b59849
RS
112392004-02-01 Roger Sayle <roger@eyesopen.com>
11240
11241 * builtins.c (expand_builtin_pow): If flag_unsafe_math_optimizations
11242 isn't set, don't call expand_builtin_mathfn_2 to use the pow optab.
11243 (expand_builtin): Always call expand_builtin_pow.
11244
ef79730c
RS
112452004-02-01 Roger Sayle <roger@eyesopen.com>
11246
11247 * builtins.def (BUILT_IN_SIGNBIT, BUILT_IN_SIGNBITF,
11248 BUILT_IN_SIGNBITL): New GCC builtins.
11249 * builtins.c (expand_builtin_signbit): New function to RTL expand
11250 calls to signbit, signbitf and signbitl as inline intrinsics.
11251 (expand_builtin): Call expand_builtin_signbit for BUILT_IN_SIGNBIT*.
11252 (fold_builtin_signbit): New function to perform constant folding
11253 of signbit, signbitf and signbitl.
11254 (fold_builtin): Call fold_builtin_signbit for BUILT_IN_SIGNBIT*.
11255
11256 * doc/extend.texi: Document new signbit{,f,l} builtins.
11257
a80cdb0f
RS
112582004-02-01 Richard Sandiford <rsandifo@redhat.com>
11259
11260 * config/mips/mips.md (adddi3_internal_2): Remove superfluous %s.
11261
2efe2033
CD
112622004-02-01 Chris Demetriou <cgd@broadcom.com>
11263
11264 * config/mips/mips.h (PREDICATE_CODES): Remove entries for
11265 "mips_const_double_ok" and "simple_memory_operand", which were
11266 removed from the MIPS port with the mips-3_4-rewrite branch merge.
11267 * config/mips/mips.c (mips16_lay_out_constants): Update comment
11268 for removal of simple_memory_operand.
11269
d37eb705
KH
112702004-01-31 Kazu Hirata <kazu@cs.umass.edu>
11271
11272 * config/c4x/c4x.md: Use GEN_INT instead of
11273 gen_rtx (CONST_INT, ...).
11274
fadeed3b
RH
112752004-01-31 Richard Henderson <rth@redhat.com>
11276
11277 * varasm.c (output_constant_pool): Don't zap the pool.
11278
ccdc1703
KH
112792004-01-31 Kazu Hirata <kazu@cs.umass.edu>
11280
11281 * genrecog.c (decision_type): Add DT_const_int.
11282 (write_cond) [DT_const_int]: Print a comparison against small
11283 constant.
11284 (write_node): Simplify comparisons against small constants
11285 before printing tests.
16dd5cfe 11286
aeba8f80
KH
112872004-01-31 Kazu Hirata <kazu@cs.umass.edu>
11288
11289 * config/m32r/m32r.c (m32r_load_pic_register): Use GEN_INT
11290 instead of gen_rtx_CONST_INT.
11291
400ce94c
KH
112922004-01-31 Kazu Hirata <kazu@cs.umass.edu>
11293
11294 * config/xtensa/xtensa.h (DYNAMIC_CHAIN_ADDRESS): Use GEN_INT
11295 instead of gen_rtx_CONST_INT.
11296
8dfa8fcd
KH
112972004-01-31 Kazu Hirata <kazu@cs.umass.edu>
11298
11299 * target-def.h (TARGET_STRICT_ARGUMENT_NAMING): Define as
11300 hook_bool_CUMULATIVE_ARGS_false.
11301 * targhooks.c (default_strict_argument_naming): Rename to
11302 hook_bool_CUMULATIVE_ARGS_false.
11303 * targhooks.h: Update the prototype for
11304 default_strict_argument_naming.
11305
c0d4e710
KH
113062004-01-31 Kazu Hirata <kazu@cs.umass.edu>
11307
11308 * config/sh/sh.c: Replace "gen_rtx (FOO, " with "gen_rtx_FOO (".
11309 * config/sh/sh.h: Likewise.
11310 * config/sh/sh.md: Likewise.
11311
fdf064f2
EB
113122004-01-31 Eric Botcazou <ebotcazou@libertysurf.fr>
11313
11314 * doc/invoke.texi (SPARC options): Restructure and update.
11315
b602b7b6
KH
113162004-01-31 Kazu Hirata <kazu@cs.umass.edu>
11317
11318 * system.h (PROMOTE_FUNCTION_ARGS, STRUCT_VALUE_INCOMING, and
11319 STRICT_ARGUMENT_NAMING): Poison.
11320 * target-def.h (TARGET_PROMOTE_FUNCTION_ARGS): Define as
11321 hook_bool_tree_false.
11322 * targhooks.c (default_promote_function_args): Remove.
11323 (default_struct_value_rtx): Don't use STRUCT_VALUE_INCOMING.
11324 Don't check incoming.
11325 (default_strict_argument_naming): Don't use
11326 STRICT_ARGUMENT_NAMING.
11327 * targhooks.h: Remove the prototype for
11328 default_promote_function_args.
11329
a0524eb3
KH
113302004-01-31 Kazu Hirata <kazu@cs.umass.edu>
11331
11332 * config/i386/i386-protos.h: Remove the prototype for
11333 ix86_setup_incoming_varargs.
11334 * config/i386/i386.c (TARGET_SETUP_INCOMING_VARARGS): New.
11335 (ix86_setup_incoming_varargs): Make it static.
11336 * config/i386/i386.h (SETUP_INCOMING_VARARGS): Remove.
11337
a457ee07
KH
113382004-01-31 Kazu Hirata <kazu@cs.umass.edu>
11339
11340 * alloc-pool.c: Fix comment typos.
11341 * builtin-types.def: Likewise.
11342 * builtins.def: Likewise.
11343 * c-pretty-print.c: Likewise.
11344 * df.h: Likewise.
11345 * reload1.c: Likewise.
11346
a451b0bd
KH
113472004-01-31 Kazu Hirata <kazu@cs.umass.edu>
11348
11349 * doc/invoke.texi: Follow spelling conventions.
11350 * doc/tm.texi: Likewise.
11351
e53e0c56
KH
113522004-01-31 Kazu Hirata <kazu@cs.umass.edu>
11353
11354 * doc/install.texi: Fix typos.
11355 * doc/invoke.texi: Likewise.
11356
025b17a4
UW
113572004-01-31 Ulrich Weigand <uweigand@de.ibm.com>
11358
11359 * config/s390/s390.c (s390_decompose_address): Do not treat virtual
11360 registers as pointers.
11361 * config/s390/s390.md ("*la_31" second peephole2): Fix incorrect mode.
11362
4de249d9
PB
113632004-01-31 Paolo Bonzini <bonzini@gnu.org>
11364
c53bdcf5 11365 * combine.c (cse_main): Set gen_lowpart to gen_lowpart_for_combine
4de249d9
PB
11366 and restore it to gen_lowpart_general on exit.
11367 (gen_lowpart_for_combine): Adjust all callers to go through
11368 gen_lowpart.
11369 * cse.c (cse_main): Set gen_lowpart to gen_lowpart_if_possible
11370 and restore it to gen_lowpart_general on exit.
11371 (gen_lowpart_if_possible): Adjust all callers to go through
11372 gen_lowpart.
11373 * emit-rtl.c (gen_lowpart_general): New name of gen_lowpart.
11374 (gen_lowpart): Declare as pointer to function, initialized to
11375 gen_lowpart_general.
11376 * rtl.h (gen_lowpart): Declare as pointer to function.
11377
f84d109f
KH
113782004-01-31 Kazu Hirata <kazu@cs.umass.edu>
11379
11380 * bt-load.c: Replace "gen_rtx (FOO, " with "gen_rtx_FOO (".
11381 * calls.c: Likewise.
11382 * emit-rtl.c: Likewise.
11383 * function.c: Likewise.
11384 * reload1.c: Likewise.
11385 * config/i386/cygming.h: Likewise.
11386 * config/i386/i386.c: Likewise.
11387 * config/i386/winnt.c: Likewise.
11388
354b7da5
DH
113892004-01-30 Dara Hazeghi <dhazeghi@yahoo.com>
11390
11391 PR bootstrap/9249
11392 * doc/install.texi: document --enable-__cxa_atexit option.
11393 * configure.ac: Disable __cxa_atexit if not supported.
11394 * configure: Regenerate.
11395
9781b6da
DB
113962003-01-30 Daniel Berlin <dberlin@dberlin.org>
11397
11398 * ggc-zone.c (ggc_free): New function.
11399
283334f0
KH
114002004-01-30 Kazu Hirata <kazu@cs.umass.edu>
11401
11402 alloc-pool.c, c-lex.c, c-pragma.h, c-semantics.c, cfghooks.c,
11403 cfghooks.h, cfglayout.c, cfgloopmanip.c, debug.c, debug.h,
11404 flow.c, genextract.c, ggc-common.c, ggc-page.c, ggc.h,
11405 ifcvt.c, jump.c, loop-unswitch.c, timevar.c, timevar.def,
11406 tree-optimize.c, vmsdbgout.c, config/fp-bit.c,
11407 config/alpha/alpha.c, config/alpha/alpha.h,
11408 config/alpha/alpha.md, config/alpha/unicosmk.h,
11409 config/alpha/vms.h, config/arm/linux-elf.h, config/avr/avr.c,
11410 config/c4x/c4x-protos.h, config/c4x/c4x.md,
11411 config/d30v/d30v.h, config/frv/frv.md, config/frv/frvbegin.c,
11412 config/frv/frvend.c, config/i386/cygming.h,
11413 config/i386/djgpp.h, config/i386/emmintrin.h,
11414 config/i386/gthr-win32.c, config/i386/i386-interix.h,
11415 config/i386/i386-protos.h, config/i386/openbsd.h,
11416 config/i386/winnt.c, config/i386/xm-mingw32.h,
11417 config/i386/xmmintrin.h, config/ia64/ia64.md,
11418 config/iq2000/iq2000.md, config/m32r/m32r.md,
11419 config/m68k/m68k.md, config/mcore/mcore-elf.h,
11420 config/mcore/mcore.md, config/mips/elf.h, config/mips/elf64.h,
11421 config/mips/iris5gas.h, config/mips/iris6.h,
11422 config/mips/iris6gas.h, config/mips/linux.h,
11423 config/mips/mips.md, config/mips/netbsd.h,
11424 config/mips/openbsd.h, config/mips/windiss.h,
11425 config/pa/fptr.c, config/rs6000/aix.h,
11426 config/rs6000/altivec.h, config/rs6000/darwin.h,
11427 config/rs6000/xcoff.h, config/s390/s390-protos.h,
11428 config/s390/s390.c, config/s390/s390.h, config/s390/s390.md,
11429 config/sh/netbsd-elf.h, config/sh/sh.h, config/sh/vxworks.h,
11430 config/sparc/sol2.h: Update copyright.
11431
71cbe2c1
KC
114322004-01-30 Kelley Cook <kcook@gcc.gnu.org>
11433
11434 * Makefile.in (abs_docdir, abs_srcdir): Define.
11435 (doc/%.dvi, doc/gccinstall.dvi): Use $(abs_docdir).
11436
bfb2d661
KH
114372004-01-30 Kazu Hirata <kazu@cs.umass.edu>
11438
11439 * genconfig.c (main): Have CC0_P check its operand even on a
11440 target without cc0.
11441
bd5bd7ac
KH
114422004-01-30 Kazu Hirata <kazu@cs.umass.edu>
11443
11444 * config/alpha/alpha.c: Remove mentions of deprecates macros
11445 in comments, remove some target-independent comments about target
11446 macros, and/or add minimal function comments for target hook
11447 implementations.
11448 * config/avr/avr.c: Likewise.
11449 * config/ia64/ia64.h: Likewise.
11450 * config/ip2k/ip2k.c: Likewise.
11451 * config/iq2000/iq2000.c: Likewise.
11452 * config/m32r/m32r.h: Likewise.
11453 * config/m68hc11/m68hc11.c: Likewise.
11454 * config/mcore/mcore.c: Likewise.
11455 * config/mmix/mmix.c: Likewise.
11456 * config/mn10300/mn10300.c: Likewise.
11457 * config/pa/pa.c: Likewise.
11458 * config/pdp11/pdp11.c: Likewise.
11459 * config/rs6000/rs6000.h: Likewise.
11460 * config/sh/sh.c: Likewise.
11461 * config/sh/sh.h: Likewise.
11462 * config/sparc/sparc.c: Likewise.
11463 * config/sparc/sparc.h: Likewise.
11464 * config/stormy16/stormy16.c: Likewise.
11465 * config/xtensa/xtensa.c: Likewise.
11466
808ededc
UW
114672004-01-30 Ulrich Weigand <uweigand@de.ibm.com>
11468
11469 PR optimization/12147
11470 * reload1.c (reload_reg_free_p): RELOAD_OTHER conflicts with
11471 RELOAD_FOR_OPADDR_ADDR.
11472 (reload_reg_reaches_end_p): RELOAD_FOR_OTHER_ADDRESS register
11473 might be reused as RELOAD_FOR_OPADDR_ADDR register.
11474
98e5e087
JH
114752004-01-30 Jan Hubicka <jh@suse.cz>
11476
bd5bd7ac 11477 * reload.c (get_secondary_mem): Fix updating of
98e5e087
JH
11478 secondary_memlocs_elim_used.
11479
3234b52d
RH
114802004-01-30 Richard Henderson <rth@redhat.com>
11481
11482 * varasm.c (struct rtx_const, struct pool_constant): Remove.
11483 (MAX_RTX_HASH_TABLE): Remove.
11484 (const_rtx_hash_table, const_rtx_sym_hash_table): Remove.
11485 (first_pool, last_pool, pool_offset): Remove.
11486 (struct rtx_constant_pool): Split out from ...
11487 (struct varasm_status): ... here. Reference one via pointer.
11488 (struct constant_descriptor_rtx): Merge struct pool_constant.
11489 (SYMHASH): Remove.
11490 (decode_rtx_const): Remove.
11491 (const_hash_rtx, compare_constant_rtx): Remove.
11492 (record_constant_rtx): Remove.
11493 (const_desc_rtx_hash, const_desc_rtx_eq): New.
11494 (const_desc_rtx_sym_hash, const_desc_rtx_sym_eq): New.
11495 (const_rtx_hash_1, const_rtx_hash): New.
11496 (init_varasm_status): Allocate a rtx_constant_pool, and its hashes.
11497 (simplify_subtraction): Use simplify_rtx.
11498 (force_const_mem): Rewrite to use new data structures.
11499 (find_pool_constant): Likewise.
11500 (get_pool_constant, get_pool_constant_mark,
11501 get_pool_constant_for_function, get_pool_mode,
11502 get_pool_mode_for_function, get_pool_offset, get_pool_size): Likewise.
11503 (output_constant_pool_2): Split out from output_constant_pool.
11504 (output_constant_pool_1): Likewise. Use new pool datastructures.
11505 (output_constant_pool): Zap entire pool datastructure.
11506 (mark_constant): Use new pool datastructures.
11507 (mark_constants): Use for_each_rtx.
11508 (mark_constant_pool): Use new pool datastructures.
11509
be77d9e7 115102004-01-30 Fariborz Jahanian <fjahanian@apple.com>
16dd5cfe 11511
a6f78652 11512 * config/rs6000/rs6000.c (rs6000_emit_move): Remove #if 0.
be77d9e7
FJ
11513 Copy operands[1] to pseudo for simplify_gen_subreg.
11514
f0cad2d5
KH
115152004-01-30 Kazu Hirata <kazu@cs.umass.edu>
11516
11517 * gcse.c (bypass_block): Fix a typo in the previous check-in
11518 to the file.
11519
40ca90bf
AP
115202004-01-30 Andrew Pinski <pinskia@physics.uc.edu>
11521
11522 * toplev.c: Include alloc-pool.h.
16dd5cfe 11523 * Makefile.in (toplev.c): Update dependencies.
40ca90bf 11524
39a44a4e
RK
115252004-01-30 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11526
11527 * combine.c (simplify_shift_const, case XOR): Be careful when
11528 commuting XOR with ASHIFTRT.
11529
3e2cc1d1 115302004-01-30 Kazu Hirata <kazu@cs.umass.edu>
a6f78652 11531 Eric Botcazou <ebotcazou@libertysurf.fr>
3e2cc1d1
KH
11532
11533 * config/sparc/sparc-protos.h: Remove the prototype for
11534 sparc_builtin_saveregs.
11535 * config/sparc/sparc.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
11536 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
11537 (TARGET_PROMOTE_PROTOTYPES): Likewise.
11538 (TARGET_STRUCT_VALUE_RTX): Likewise.
11539 (TARGET_RETURN_IN_MEMORY): Likewise.
11540 (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
11541 (TARGET_STRICT_ARGUMENT_NAMING): Likewise.
11542 (sparc_builtin_saveregs): Make it static.
11543 (sparc_promote_prototypes): New.
11544 (sparc_struct_value_rtx): Likewise.
11545 (sparc_return_in_memory): Likewise.
11546 * config/sparc/sparc.h: (PROMOTE_FUNCTION_ARGS): Remove.
11547 (PROMOTE_FUNCTION_RETURN): Likewise.
11548 (RETURN_IN_MEMORY): Likewise.
11549 (STRUCT_VALUE): Likewise.
11550 (STRUCT_VALUE_INCOMING): Likewise.
11551 (EXPAND_BUILTIN_SAVEREGS): Likewise.
11552 (STRICT_ARGUMENT_NAMING): Likewise.
11553 (PROMOTE_PROTOTYPES): Likewise.
11554
11555 * config/sparc/sparc.h (PROMOTE_MODE): Use word_mode.
11556
5e9295fa
EB
115572004-01-30 Eric Botcazou <ebotcazou@libertysurf.fr>
11558
11559 PR c/12818
11560 * varasm.c (const_hash_1) <STRING_CST>: Use the
11561 address to compute the hash value if flag_writable_strings.
11562 (compare_constant) <STRING_CST>: Compare the addresses
11563 if flag_writable_strings.
11564 (build_constant_desc): Do not copy the expression for a
11565 STRING_CST if flag_writable_strings.
11566
1f2eae8d
JH
115672004-01-30 Jan Hubicka <jh@suse.cz>
11568
1e0f41c9
JH
11569 * alloc-pool.c: Include hashtab.h
11570 (alloc_pool_descriptor): New structure
11571 (alloc_pool_hash): New global variable.
11572 (hash_descriptor, eq_descriptor, alloc_pool_descriptor): New.
11573 (create_alloc_pool): Update statistics.
11574 (free_alloc_pool): Likewise.
11575 (pool_alloc): Likewise.
11576 (output_info): New structure
11577 (print_statistics, dump_alloc_pool_statistics): New function.
11578 * alloc-pool.h (alloc_pool_def): Turn name to be constant.
11579 (dump_alloc_pool_statistics): Declare.
11580 * toplev.c (finalize): Dump statistics.
11581
1f2eae8d
JH
11582 * reload.c (secondary_memlocs_elim_used): New static variable.
11583 (get_secondary_mem): Update it.
11584 (find_reloads): Use it.
11585
80a08664
SB
115862004-01-30 Steven Bosscher <s.bosscher@student.tudelft.nl>
11587
11588 * toplev.c: Fix broken checkin of 2003-12-30, again.
11589
57116d8d
UW
115902004-01-30 Ulrich Weigand <uweigand@de.ibm.com>
11591
11592 * configure.ac (gcc_cv_as_dwarf2_debug_line): Enable test for
11593 s390*-*-* targets by specifying a 'nop' insn.
11594 * configure: Regenerate.
11595
5fddd9fe
EB
115962004-01-30 Eric Botcazou <ebotcazou@libertysurf.fr>
11597
11598 PR target/11475
11599 * config/sparc/sparc.md (movhi_lo_sum): Tighten predicates.
11600
64fc7c00
JJ
116012004-01-29 Jakub Jelinek <jakub@redhat.com>
11602
11603 * emit-rtl.c (change_address): Use XEXP (memref, 0) instead
11604 of addr when creating MEM copy.
11605
ed672aa8
DP
116062004-01-29 Devang Patel <dpatel@apple.com>
11607
11608 * dwarf2out.c (gen_field_die): Do not equate decl number to die.
16dd5cfe 11609
7e3aa041
ILT
116102004-01-28 Ian Lance Taylor <ian@wasabisystems.com>
11611
11612 PR inline-asm/6162
11613 * reload.c (find_reloads): Only support one pair of commutative
11614 operands.
11615
06f12aa0
RS
116162004-01-29 Roger Sayle <roger@eyesopen.com>
11617
11618 PR java/13824
11619 * tree.c (unsafe_for_reeval): Handle EXIT_BLOCK_EXPR nodes specially
11620 as their EXIT_BLOCK_LABELED_BLOCK operands can lead to unbounded
11621 recursion.
11622
b88cf82e
KH
116232004-01-29 Kazu Hirata <kazu@cs.umass.edu>
11624
11625 * config/frv/frv.c: Don't mention deprecated macros in
11626 comments. Remove some target-independent comments about
11627 target macros.
11628 * config/frv/frv.h: Likewise.
11629
3ae4a5b1
ZD
116302004-01-29 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11631
11632 * cfghooks.c (split_block): Set probability and count of the
11633 new edge.
11634
636c7bc4
JZ
116352005-01-29 Josef Zlomek <zlomekj@suse.cz>
11636
11637 * dwarf2out.c (struct die_struct): Added field decl_id.
11638 (decl_die_table): Changed to hash table.
11639 (decl_die_table_allocated): Deleted.
11640 (decl_die_table_in_use): Deleted.
11641 (DECL_DIE_TABLE_INCREMENT): Deleted.
11642 (decl_die_table_hash): New function.
11643 (decl_die_table_eq): New function.
11644 (lookup_decl_die): Lookup in a hash table.
11645 (equate_decl_number_to_die): Insert into a hash table.
11646 (dwarf2out_init): Init hash table decl_die_table.
11647
4e44c1ef
JJ
116482004-01-29 Jakub Jelinek <jakub@redhat.com>
11649
11650 PR optimization/13424
11651 * expr.c (store_constructor): Revert 2003-12-03 change.
11652
11653 * emit-rtl.c (change_address): Check also if MEM_ATTRS is set as
11654 expected before returning early. Avoid sharing RTL if they
11655 need to be changed.
11656
11657 * config/i386/i386.c (ix86_expand_movstr): Rework rep_mov and strmov
11658 handling so that memory attributes are preserved. Don't call
11659 ix86_set_move_mem_attrs.
11660 (ix86_set_move_mem_attrs_1, ix86_set_move_mem_attrs): Removed.
11661 (ix86_expand_clrstr): Rename src argument to
11662 dst. Rework rep_stos and strset handling so that memory attributes
11663 are preserved.
11664 (ix86_expand_strlen): Pass src argument to
11665 ix86_expand_strlensi_unroll_1. Rework strlenqi_1 handling so that
11666 memory attributes are preserved.
11667 (ix86_expand_strlensi_unroll_1): Add src argument. Use
11668 change_address instead of gen_rtx_MEM.
11669 * config/i386/i386.md (strmov, strmov_singleop, rep_mov): New
11670 expanders.
11671 (strmovdi_rex64, strmovsi, strmovsi_rex64, strmovhi, strmovhi_rex64,
11672 strmovqi, strmovqi_rex64): Remove.
11673 (rep_mov*, strmov*): Prefix insn names with *.
11674 (strset, strset_singleop, rep_stos): New expanders.
11675 (strsetdi_rex64, strsetsi, strsetsi_rex64, strsethi, strsethi_rex64,
11676 strsetqi, strsetqi_rex64): Remove.
11677 (rep_stos*, strset*): Prefix insn names with *.
11678 (rep_stosqi_rex64): Likewise. Fix mode of dirflag reg from DImode
11679 to SImode.
11680 (cmpstrsi): Rework cmpstrqi_1 handling so that memory attributes
11681 are preserved.
11682 (cmpstrqi_nz_1, cmpstrqi_nz_rex_1, cmpstrqi_1, cmpstrqi_rex_1):
11683 Prefix insn names with *.
11684 (cmpstrqi_nz_1, cmpstrqi_1): New expanders.
11685 (strlenqi_1, strlenqi_rex_1): Prefix insn names with *.
11686 (strlenqi_1): New expander.
11687 * config/i386/i386.h (ix86_set_move_mem_attrs): Remove prototype.
11688
f470c378
ZD
116892004-01-29 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11690
11691 * Makefile.in (cfghooks.o): Add TIMEVAR_H and toplev.h dependency.
11692 * basic-block.h (tidy_fallthru_edge, tidy_fallthru_edges, dump_bb,
11693 verify_flow_info): Declaration removed.
11694 * cfg.c (verify_flow_info, dump_bb): Moved to cfghooks.c.
11695 (debug_bb, debug_bb_n): Add argument to dump_bb call.
11696 * cfgcleanup.c (try_simplify_condjump, try_crossjump_to_edge,
11697 try_optimize_cfg, delete_unreachable_blocks): Use delete_basic_block
11698 instead of delete_block.
11699 * cfghooks.c: Include timevar.h and toplev.h.
11700 (cfg_hooks): Define here.
11701 (verify_flow_info, dump_bb): Moved from cfg.c.
11702 (redirect_edge_and_branch, redirect_edge_and_branch_force,
11703 split_block, split_block_after_labels, move_block_after,
11704 delete_basic_block, split_edge, create_basic_block,
11705 create_empty_bb, can_merge_blocks_p, merge_blocks,
11706 make_forwarder_block, tidy_fallthru_edge, tidy_fallthru_edges):
11707 New functions.
11708 * cfghooks.h (struct cfg_hooks): Added fields name,
11709 make_forwarder_block, tidy_fallthru_edge and
11710 move_block_after. Changed type of verify_flow_info, dump_bb,
11711 split_block fields. Renamed cfgh_split_edge and delete_block
11712 fields.
11713 (redirect_edge_and_branch, redirect_edge_and_branch_force,
11714 split_block, delete_block, split_edge, create_basic_block,
11715 can_merge_blocks_p, merge_blocks): Macros removed.
11716 (cfg_hooks): Do not export.
11717 (verify_flow_info, dump_bb, redirect_edge_and_branch,
11718 redirect_edge_and_branch_force, split_block, split_block_after_labels,
11719 move_block_after, delete_basic_block, split_edge, create_basic_block,
11720 create_empty_bb, can_merge_blocks_p, merge_blocks,
11721 make_forwarder_block, tidy_fallthru_edge, tidy_fallthru_edges):
11722 Declare.
11723 (cfg_layout_rtl_cfg_hooks): Declare.
11724 * cfgloop.c (update_latch_info, mfb_keep_just, mfb_keep_nonlatch):
11725 New functions.
11726 (canonicalize_loop_headers): Use new semantics of make_forwarder_block.
11727 (redirect_edge_with_latch_update): Removed.
11728 (make_forwarder_block): Moved to cfghooks.c, semantics changed.
11729 * cfgloopmanip.c (remove_bbs): Do not update dominators here.
11730 * cfgrtl.c (cfg_layout_split_block, rtl_split_block, rtl_dump_bb,
11731 rtl_delete_block, rtl_split_block, rtl_merge_blocks,
11732 tidy_fallthru_edge, rtl_split_edge, cfg_layout_delete_block,
11733 cfg_layout_merge_blocks, cfg_layout_split_edge): Partly moved to
11734 cfghooks.c.
11735 (rtl_create_basic_block): Coding style fix.
11736 (rtl_tidy_fallthru_edge, rtl_move_block_after,
11737 rtl_make_forwarder_block): New functions.
11738 (update_cfg_after_block_merging): Removed.
11739 (rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): Fill in new entries.
11740 * flow.c (verify_wide_reg, verify_local_live_at_start): Add argument
11741 to dump_bb.
11742 * ifcvt.c (merge_if_block, find_cond_trap, find_if_case_1,
11743 find_if_case_2): Don't update dominators.
11744 * timevar.def (TV_CFG_VERIFY): New.
11745 * loop-unswitch.c (unswitch_loop): Don't call add_to_dominance_info.
11746 * cfglayout.c (copy_bbs): Don't call add_to_dominance_info.
11747 * cfgloopmanip.c (split_loop_bb): Don't update dominators.
11748 (remove_bbs): Don't call remove_bbs.
11749 (create_preheader): Use make_forwarder_block.
11750 (mfb_keep_just, mfb_update_loops): New static functions.
11751
3cea4788
KH
117522004-01-29 Kazu Hirata <kazu@cs.umass.edu>
11753
11754 * config/avr/avr.h: Remove target-independent comments about
11755 target macros.
11756
75e853f2 117572004-01-28 Daniel Berlin <dberlin@dberlin.org>
16dd5cfe 11758
75e853f2
DB
11759 * timevar.c (timevar_print): Mention when checking is enabled.
11760
7625e73d
GB
117612004-01-28 Giovanni Bajo <giovannibajo@gcc.gnu.org>
11762
11763 * c-lex.c (c_lex): Rename to...
11764 (c_lex_with_flags): Add new parameter to get CPP flags.
11765 (c_lex): Thunk to c_lex_with_flags while keeping the old interface.
11766 * c-pragma.h (c_lex_with_flags): Declare.
11767
dc7efe6e
KH
117682004-01-28 Kazu Hirata <kazu@cs.umass.edu>
11769
11770 * config/mcore/mcore.c (mcore_external_libcall): Add a
11771 comment.
11772 (mcore_return_in_memory): Likewise.
11773
09a2b93a
KH
117742004-01-28 Kazu Hirata <kazu@cs.umass.edu>
11775
11776 * config/mcore/mcore-protos.h: Remove the prototype for
11777 mcore_setup_incoming_varargs.
11778 * config/mcore/mcore.c (TARGET_ASM_EXTERNAL_LIBCALL): New.
11779 (TARGET_PROMOTE_FUNCTION_ARGS): Likewise.
11780 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
11781 (TARGET_PROMOTE_PROTOTYPES): Likewise.
11782 (TARGET_STRUCT_VALUE_RTX): Likewise.
11783 (TARGET_RETURN_IN_MEMORY): Likewise.
11784 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
11785 (mcore_setup_incoming_varargs): Make it static. Receive the
11786 first argument by reference. Add argument second_time.
11787 (mcore_external_libcall): New.
11788 (mcore_return_in_memory): Likewise.
11789 * config/mcore/mcore.h (PROMOTE_FUNCTION_ARGS): New.
11790 (PROMOTE_FUNCTION_RETURN): Likewise.
11791 (STRUCT_VALUE): Likewise.
11792 (RETURN_IN_MEMORY): Likewise.
11793 (SETUP_INCOMING_VARARGS): Likewise.
11794 (PROMOTE_PROTOTYPES): Likewise.
11795 (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
11796
a7ed00da
KH
117972004-01-28 Kazu Hirata <kazu@cs.umass.edu>
11798
11799 * config/m32r/m32r-protos.h: Remove the prototype for
11800 m32r_setup_incoming_varargs.
11801 * config/m32r/m32r.c (TARGET_PROMOTE_PROTOTYPES): New.
11802 (TARGET_STRUCT_VALUE_RTX): Likewise.
11803 (TARGET_RETURN_IN_MEMORY): Likewise.
11804 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
11805 (m32r_return_in_memory): New.
11806 (m32r_setup_incoming_varargs): Make it static.
11807 * config/m32r/m32r.h: Remove #undef of
11808 ASM_OUTPUT_EXTERNAL_LIBCALL. Remove the commented-out
11809 definitions of PROMOTE_FUNCTION_ARGS and
11810 PROMOTE_FUNCTION_RETURN.
11811 (PROMOTE_PROTOTYPES): Remove.
11812 (RETURN_IN_MEMORY): Likewise.
11813 (STRUCT_VALUE): Likewise.
11814
8636be86
KH
118152004-01-28 Kazu Hirata <kazu@cs.umass.edu>
11816
11817 * config/m68k/m68k.c (TARGET_PROMOTE_PROTOTYPES): New.
11818 (TARGET_STRUCT_VALUE_RTX): Likewise.
11819 (m68k_struct_value_rtx): Likewise.
11820 * config/m68k/m68k.h (STRUCT_VALUE_REGNUM): Rename to
11821 STRUCT_VALUE_REGNUM.
11822 (PROMOTE_PROTOTYPES): Remove.
11823 * config/m68k/m68kelf.h (STRUCT_VALUE_REGNUM): Rename to
11824 STRUCT_VALUE_REGNUM.
11825 * config/m68k/m68kv4.h (STRUCT_VALUE_REGNUM): Likewise.
11826 * config/m68k/netbsd-elf.h (STRUCT_VALUE_REGNUM): Likewise.
11827
f2f61ee7
KH
118282004-01-28 Kazu Hirata <kazu@cs.umass.edu>
11829
11830 * config/stormy16/stormy16.c
11831 (TARGET_BUILD_BUILTIN_VA_LIST_TYPE): Rename to
11832 TARGET_BUILD_BUILTIN_VA_LIST.
11833
fb7bc7fb
KH
118342004-01-28 Kazu Hirata <kazu@cs.umass.edu>
11835
11836 * config/v850/v850.c (TARGET_PROMOTE_PROTOTYPES): New.
11837 (TARGET_STRUCT_VALUE_RTX): Likewise.
11838 (TARGET_RETURN_IN_MEMORY): Likewise.
11839 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
11840 (v850_return_in_memory): Likewise.
11841 (v850_setup_incoming_varargs): Likewise.
11842 * config/v850/v850.h (PROMOTE_PROTOTYPES): Remove.
11843 (SETUP_INCOMING_VARARGS): Likewise.
11844 (RETURN_IN_MEMORY): Likewise.
11845 (STRUCT_VALUE): Likewise.
11846
0fd818e7
KH
118472004-01-28 Kazu Hirata <kazu@cs.umass.edu>
11848
11849 * config/fr30/fr30.c (TARGET_PROMOTE_PROTOTYPES): New.
11850 (fr30_setup_incoming_varargs): Don't use
11851 STRICT_ARGUMENT_NAMING.
11852 * config/fr30/fr30.h (PROMOTE_PROTOTYPES): Remove.
11853 (STRICT_ARGUMENT_NAMING): Likewise.
11854
8ac411c7
KH
118552004-01-28 Kazu Hirata <kazu@cs.umass.edu>
11856
11857 * config/frv/frv-protos.h: Remove the prototype for
11858 frv_expand_builtin_saveregs.
11859 * config/frv/frv.c (TARGET_STRUCT_VALUE_RTX): Likewise.
11860 (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
11861 (frv_stack_info): Use FRV_STRUCT_VALUE_REGNUM instead of
11862 STRUCT_VALUE_REGNUM.
11863 (frv_expand_builtin_saveregs): Make it static.
11864 (frv_struct_value_rtx): New.
11865 * config/frv/frv.h (EXPAND_BUILTIN_SAVEREGS): Remove.
11866
d173e685
JH
118672004-01-29 Jan Hubicka <jh@suse.cz>
11868
11869 PR c++/12850
11870 * cgraph.c (cgraph_remove_node): Clear out saved/insns/arguments and
11871 initial pointers.
11872 * cgraphunit.c (cgraph_finalize_function): Clear out DECL_SAVED_INSNS
11873 for functions that will be only inlined.
11874 (cgraph_mark_function_to_output): Likewise.
11875 (cgraph_expand_function): Sanity check that DECL_DEFER_OUTPUT is clear;
11876 do not clear function body.
11877 * tree-optimize.c (clear_decl_rtl): Use decl_function_context.
11878 (tree_rest_of_compilation): Reorganize the logic releasing function
11879 body to use callgraph datastructure.
11880
f7a1010e
JDA
118812004-01-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11882
11883 * pa.md: Change predicate of a peephole2 pattern from reg_or_0_operand
11884 to register_operand.
11885
e7f47f83
ZW
118862004-01-28 Zack Weinberg <zack@codesourcery.com>
11887
11888 * config/ia64/ia64.md (fetchadd_acq_si, fetchadd_acq_di)
11889 (cmpxchg_acq_si, cmpxchg_acq_di): Exchange match_dup and
11890 match_operand expressions so that all match_dups appear
11891 lexically after their corresponding match_operands.
11892
1807b726
KH
118932004-01-28 Kazu Hirata <kazu@cs.umass.edu>
11894
11895 * config/h8300/h8300.c (WORD_REG_USED): Use
11896 HARD_FRAME_POINTER_REGNUM instead of FRAME_POINTER_REGNUM.
11897 (compute_saved_regs): Likewise.
11898 (h8300_expand_prologue): Likewise. Allocate locals after
11899 saving registers.
11900 (h8300_expand_epilogue): Use HARD_FRAME_POINTER_REGNUM instead
11901 of FRAME_POINTER_REGNUM. Deallocate locals before saving
11902 registers.
11903 (h8300_initial_elimination_offset): Adjust for the new frame
11904 layout, which swaps flips the order of locals and saved
11905 registers.
11906 * config/h8300/h8300.h (FIRST_PSEUDO_REGISTER): Change to 12.
11907 (HARD_FRAME_POINTER_REGNUM): New.
11908 (ELIMINABLE_REGS): Add an elimination rule from
11909 FRAME_POINTER_REGNUM to HARD_FRAME_POINTER_REGNUM.
11910 (REGISTER_NAMES): Add fp.
11911 * config/h8300/h8300.md (FP_REG): Change to 11.
11912 (HFP_REG): New.
11913
be2c39f8
KH
119142004-01-28 Kazu Hirata <kazu@cs.umass.edu>
11915
11916 * genrecog.c (write_node): Remove a useless local variable.
11917
469ef4a3
ILT
119182004-01-28 Ian Lance Taylor <ian@wasabisystems.com>
11919
11920 * Makefile.in (options.c options.h): Use stamp file s-options to
11921 avoid unnecessary rebuilds.
11922 (options.o): New target listing dependencies.
11923 (gtyp-gen.h): Use stamp file s-gtyp-gen.
11924 (STAGESTUFF): Add s-gtyp-gen.
11925
685fe032
RH
119262004-01-28 Richard Henderson <rth@redhat.com>
11927
11928 * ggc.h (ggc_free): Declare.
11929 * ggc-common.c (ggc_realloc): Use it.
11930 * ggc-page.c: Remove lots of inline markers.
11931 (globals): Add free_object_list.
11932 (ggc_alloc): Tidy.
11933 (ggc_free, validate_free_objects): New.
11934 (poison_pages): Provide default.
11935 (ggc_collect): Call validate_free_objects; emit markers to
11936 the debug file.
11937
2ffe0e02
ZW
119382004-01-28 Zack Weinberg <zack@codesourcery.com>
11939 Jim Wilson <wilson@specifixinc.com>
11940
11941 * config/ia64/ia64.c (ia64_split_tmode, ia64_split_tmode_move):
11942 Rewrite to use POST_INC/POST_DEC/POST_MODIFY instead of a
11943 scratch pointer.
11944 (ia64_secondary_reload_class): Delete case GR_REGS.
11945 * config/ia64/ia64.md (movti, *movti_internal, movtf, *movtf_internal):
11946 Do not allocate a scratch register.
11947 (reload_inti, reload_outti, reload_intf, reload_outtf): Delete.
11948
a544524a
JH
119492004-01-28 Jan Hubicka <jh@suse.cz>
11950
11951 * gcse.c (bypass_block): Prevent edges to be unified when we are
11952 about to emit compenstation code.
11953
1b8f8174
NC
119542004-01-28 Nick Clifton <nickc@redhat.com>
11955
11956 * config/arm/arm.c (arm_expand_builtin): Force second argument of
11957 the setcwx insn into a register.
11958
faceece3
RS
119592004-01-28 Richard Sandiford <rsandifo@redhat.com>
11960
11961 * config/fp-bit.c (pack_d): When using paired doubles to implement
11962 a long double, round the high part separately.
11963 (unpack_d): Fix the case in which the high part is a power of two
11964 and the low part is a nonzero value of the opposite sign.
11965
28b24176
KH
119662004-01-28 Kazu Hirata <kazu@cs.umass.edu>
11967
11968 * config/c4x/c4x.c (TARGET_ASM_EXTERNAL_LIBCALL): New.
11969 (TARGET_STRUCT_VALUE_RTX): Likewise.
11970 (c4x_external_libcall): Likewise.
11971 (c4x_struct_value_rtx): Likewise.
11972 * config/c4x/c4x.h: Remove.
11973 (STRUCT_VALUE_REGNUM): Likewise.
11974 (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
11975
9184f892
KH
119762004-01-28 Kazu Hirata <kazu@cs.umass.edu>
11977
11978 * config/i386/i386.c (TARGET_PROMOTE_PROTOTYPES): New.
11979 (TARGET_STRUCT_VALUE_RTX): Likewise.
11980 * config/i386/i386.h (STRUCT_VALUE_INCOMING): Remove.
11981 (STRUCT_VALUE): Likewise.
11982 (PROMOTE_PROTOTYPES): Likewise.
11983
4cce9dd8
RS
119842004-01-27 Roger Sayle <roger@eyesopen.com>
11985
11986 * config/pa/pa.c (emit_move_sequence): Check that operand1 is a
11987 CONST_INT before using INTVAL.
11988
590fcf48
UW
119892004-01-27 Ulrich Weigand <uweigand@de.ibm.com>
11990
11991 * config/s390/s390.h (TARGET_DEFAULT): Default to !TARGET_BACKCHAIN.
11992 * config/s390/s390.c (s390_return_addr_rtx): Fail for all but current
11993 frame if !TARGET_BACKCHAIN.
2ffe0e02 11994 * config/s390/s390.md ("allocate_stack"): Use pattern only if
590fcf48
UW
11995 TARGET_BACKCHAIN.
11996 * doc/invoke.texi (-mbackchain/-mno-backchain): Document new default.
11997
826b47cc
ZW
119982004-01-27 Zack Weinberg <zack@codesourcery.com>
11999
12000 * ia64.c (ia64_function_arg): When placing HFAs in integer
12001 registers, do not special case the mode used for complex
12002 types. Do not advance int_regs until the current register
12003 is full.
12004
83810fcb
RS
120052004-01-27 Richard Sandiford <rsandifo@redhat.com>
12006
12007 PR target/7297
12008 * except.c (init_eh): Use a 5-word __jbuf for __builtin_setjmp().
12009
2d9db8eb
DE
120102004-01-27 David Edelsohn <edelsohn@gnu.org>
12011
12012 * config/rs6000/rs6000.c (rs6000_emit_move): #if 0 splitting
12013 slow, unaligned loads and stores while debugging. Fix formatting.
12014
39e453d7
DE
120152004-01-27 David Edelsohn <edelsohn@gnu.org>
12016
12017 * config/rs6000/rs6000.md (save_stack_nonlocal): Use Pmode instead
12018 of computing wmode.
12019 (restore_stack_nonlocal): Same.
12020
6097b0c3 120212004-01-27 Devang Patel <dpatel@apple.com>
826b47cc 12022
6097b0c3 12023 * Makefile.in (dwarf2out.o): Depend on input.h
826b47cc 12024 * dbxout.c (dbx_debug_hooks): Add new empty hook for
6097b0c3
DP
12025 imported_module_or_decl.
12026 (xcoff_debug_hooks): Same.
12027 * sdbout.c (sdb_debug_hooks): Same.
12028 * vmsdbgout.c (vmsdbg_debug_hooks): Same.
12029 * debug.c (do_nothing_debug_hooks): Same.
12030 (debug_nothing_tree_tree): New function.
12031 * debug.h (gcc_debug_hooks): New hook, imported_module_or_decl.
12032 * dwarf2out.c: Include input.h.
12033 (dwarf2_debug_hooks): Add new hook for imported_module_or_decl.
12034 (remove_child_TAG): New function.
12035 (dwarf_tag_name): Handle DW_TAG_imported_module.
12036 (gen_subprogram_die): Equate decl number to declaration die. Do not
12037 remove all children dies while reusing declaration die for definition.
12038 Instead, selectively remove only formal parameters.
12039 (gen_variable_die): Equate variable decl to declaration die.
12040 (gen_field_die): Equate field decl to line number.
12041 (force_namespace_die): Replace it with ...
12042 (force_decl_die): ... this.
12043 (force_type_die): New function.
12044 (setup_namespace_context): Replace use of force_namespace_die() with
12045 force_decl_die().
12046 (gen_namespace_die): Same.
12047 (dwarf2out_imported_module_or_decl): New function.
12048
e6aecf8e 120492004-01-27 Bob Wilson <bob.wilson@acm.org>
826b47cc 12050
e6aecf8e
BW
12051 * config/xtensa/xtensa.c (xtensa_copy_incoming_a7): Remove SUBREG
12052 on CQImode and CHImode incoming arguments in register a7.
12053 (function_arg): Wrap BLKmode argument in register a7 in a PARALLEL.
12054 * config/xtensa/xtensa.h (BLOCK_REG_PADDING): Define.
12055 * config/xtensa/xtensa.md (movdi, movdf): Only call force_reg or
12056 xtensa_copy_incoming_a7 before reload.
826b47cc 12057
02307675
R
120582004-01-27 J"orn Rennecke <joern.rennecke@superh.com>
12059
12060 * coverage.c (get_coverage_counts): Give a different message
12061 if flag_guess_branch_prob is set.
12062 * predict.c (counts_to_freqs): Return an int.
12063 (estimate_bb_frequencies): If counts_to_freqs returns zero,
12064 calculate estimates.
12065
69a45040
KH
120662004-01-27 Kazu Hirata <kazu@cs.umass.edu>
12067
12068 * config/iq2000/iq2000-protos.h: Remove the prototype for
12069 iq2000_setup_incoming_varargs.
12070 * config/iq2000/iq2000.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
12071 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
12072 (TARGET_PROMOTE_PROTOTYPES): Likewise.
12073 (TARGET_STRUCT_VALUE_RTX): Likewise.
12074 (TARGET_RETURN_IN_MEMORY): Likewise.
12075 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
12076 (TARGET_STRICT_ARGUMENT_NAMING): Likewise.
12077 (iq2000_return_in_memory): Likewise.
12078 (iq2000_setup_incoming_varargs): Make it static. Receive the
12079 first argument by reference.
12080 * config/iq2000/iq2000.h (PROMOTE_FUNCTION_ARGS): Remove.
12081 (PROMOTE_FUNCTION_RETURN): Likewise.
12082 (PROMOTE_PROTOTYPES): Likewise.
12083 (RETURN_IN_MEMORY): Likewise.
12084 (STRUCT_VALUE): Likewise.
12085 (SETUP_INCOMING_VARARGS): Likewise.
12086 (STRICT_ARGUMENT_NAMING): Likewise.
12087
9cdfc8e7
JM
120882004-01-24 James A. Morrison <ja2morri@uwaterloo.ca>
12089
826b47cc 12090 * fixinc/fixinc.c (test_test): Initialize res.
9cdfc8e7
JM
12091 (start_flexer): Initialize pz_cmd_save.
12092
60ffd2fe
ZW
120932004-01-27 Zack Weinberg <zack@codesourcery.com>
12094
12095 * doc/rtl.texi (Arithmetic): Rewrite entries for PLUS,
12096 SS_PLUS, US_PLUS, LO_SUM, MINUS, SS_MINUS, US_MINUS.
12097
52ad4d7b
ZW
120982004-01-27 Zack Weinberg <zack@codesourcery.com>
12099
12100 PR 7198
12101 * config/ia64/ia64.md (*nmaddsf4, *nmadddf4, *nmadddf4_alts)
12102 (*nmadddf4_trunc, *nmaddxf4, *nmaddxf4_truncsf, *nmaddxf4_truncdf)
12103 (*nmaddxf4_alts, *nmaddxf4_truncdf_alts):
12104 Rewrite pattern as (minus (op 3) (mult (op 1) (op 2))).
12105 Possibly rename pattern for consistency.
12106 Remove ??? comments suggesting that this be done.
12107 (*nmaddsf4_alts, *nmadddf4_truncsf_alts, *nmaddxf4_truncsf_alts):
12108 New patterns.
12109 (divsi3_internal, divdi3_internal_lat, divdi3_internal_thr)
12110 (divsf3_internal_lat, divsf3_internal_thr, sqrtsf2_internal_thr)
12111 (divdf3_internal_lat, divdf3_internal_thr, sqrtdf2_internal_thr)
12112 (divxf3_internal_lat, divxf3_internal_thr, sqrtxf2_internal_thr):
12113 Update to match.
12114
b034930f
ILT
121152004-01-27 Ian Lance Taylor <ian@wasabisystems.com>
12116
12117 * config/arm/arm.c (output_return_instruction): Only restore IP
12118 into SP if frame_pointer_needed.
12119
be446dfc
EB
121202004-01-27 Eric Botcazou <ebotcazou@libertysurf.fr>
12121
12122 * config/sparc/sparc.c (function_arg_pass_by_reference): Return 1
12123 for SCmode and DCmode if ARCH32.
12124 (sparc_va_arg): Handle SCmode and DCmode by reference if ARCH32.
12125 * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for TCmode
12126 if ARCH32.
12127 (BASE_RETURN_VALUE_REG): Return 32 for all FP modes except TFmode
12128 if ARCH32.
12129 (BASE_OUTGOING_VALUE_REG): Likewise.
12130
1b4bda70
EB
121312004-01-27 Eric Botcazou <ebotcazou@libertysurf.fr>
12132
12133 PR target/10904
12134 PR target/13058
12135 * config/sparc/sparc.h (CANNOT_CHANGE_MODE_CLASS): New.
12136 Forbid mode changes from SImode for lower FP regs if ARCH64.
12137
1194fc79
R
121382004-01-27 J"orn Rennecke <joern.rennecke@superh.com>
12139
12140 * Makefile.in (bt-load.o): Depend on except.h.
12141 * bt-load.c (except.h): #include.
12142 (compute_defs_uses_and_gen): If insn at end of BB can throw
12143 within this function, consider registers used by it unavailable for
12144 btr migration.
12145 (move_btr_def): If insn at end of BB can throw, insert before rather
12146 than after.
12147
12148 * flags.h (flag_btr_bb_exclusive): Declare.
12149 * toplev.c (flag_btr_bb_exclusive): New variable.
12150 (f_options): Add btr-bb-exclusive.
12151 * bt-load.c (augment_live_range): Restore old behaviour if
12152 flag_btr_bb_exclusive is set.
12153 * common.opt: Add entry for -fbtr-bb-exclusive.
12154 * opts.c (common_handle_options): Same.
12155 * doc/invoke.texi: Document -fbtr-bb-exclusive.
52ad4d7b 12156
1194fc79
R
12157 * bt-load.c (btrs_live_at_end): New variable.
12158 (compute_defs_uses_and_gen): Compute its pointed-to array.
12159 (clear_btr_from_live_range, add_btr_to_live_range): Update it.
12160 (augment_live_range): When augmenting with a new dominator,
12161 use only its btrs_live_at_end set, but also add in the full set
12162 of the old dominator.
12163 (btr_def_live_range): Use btrs_live_at_end.
12164 (move_btr_def): Set other_btr_uses_before_def, and move new set
12165 to the end of the basic block, if appropriate.
12166 (migrate_btr_defs): Allocate and free btrs_live_at_end.
52ad4d7b 12167
1194fc79
R
12168 * bt-load.c (basic_block_freq): Remove outdated comment.
12169
895ea8f0
AM
121702004-01-27 Alan Modra <amodra@bigpond.net.au>
12171
12172 * config/rs6000/rs6000.h: Correct target_flags free bits comment.
12173 (PREDICATE_CODES): Remove duplicate.
12174 * config/rs6000/linux64.h (CPP_SYSV_SPEC): Don't define.
12175 (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow 32 bit TARGET_PROFILE_KERNEL.
12176 (MASK_PROFILE_KERNEL): Adjust define.
12177
4137ba7a
JJ
121782004-01-27 Jakub Jelinek <jakub@redhat.com>
12179
12180 * config/i386/i386.c (ix86_constant_alignment): Decrease alignment
12181 of long string literals from 32 bytes to sizeof (void *) when !-Os
12182 and to 1 with -Os.
12183
a4bb41cc
KH
121842004-01-26 Kazu Hirata <kazu@cs.umass.edu>
12185
12186 * config/h8300/h8300.c (h8300_tiny_constant_address_p): Accept
12187 constant addresses in the normal mode.
12188
1c62e7b2
KG
121892004-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12190
12191 * system.h (CHAR_BITFIELD): Delete.
12192 (BOOL_BITFIELD): New.
12193 * c-decl.c (c_scope): Use BOOL_BITFIELD.
12194 * gengtype-lex.l: Recognize BOOL_BITFIELD instead of CHAR_BITFIELD.
12195
96ab60fc
KH
121962004-01-26 Kazu Hirata <kazu@cs.umass.edu>
12197
12198 * config/arc/arc.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
12199 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
12200 (TARGET_PROMOTE_PROTOTYPES): Likewise.
12201 (TARGET_STRUCT_VALUE_RTX): Likewise.
12202 (TARGET_RETURN_IN_MEMORY): Likewise.
12203 (arc_return_in_memory): Likewise.
12204 * config/arc/arc.h (PROMOTE_FUNCTION_ARGS): Remove.
12205 (PROMOTE_FUNCTION_RETURN): Likewise.
12206 (RETURN_IN_MEMORY): Likewise.
12207 (STRUCT_VALUE): Likewise.
12208
6d4b0a5d
RH
122092004-01-26 Richard Henderson <rth@redhat.com>
12210
12211 * c-parse.in (extension): Use itype.
12212 (SAVE_EXT_FLAGS): Don't allocate a tree.
12213 (RESTORE_EXT_FLAGS): Don't read a tree.
12214
18874af6
JH
122152004-01-26 Jan Hubicka <jh@suse.cz>
12216
12217 * cselib.c (discard_useless_values): Clear out value pointer pointing
12218 to datastructure to be recycled.
12219
501f88de
JH
122202004-01-25 Jan Hubicka <jh@suse.cz>
12221
12222 * genextract.c (main): Do not output the memset when not checking.
12223
d6456562
KH
122242004-01-26 Kazu Hirata <kazu@cs.umass.edu>
12225
12226 * config/h8300/h8300.c (h8300_tiny_constant_address_p): Use a
12227 switch statement instead of a chain of if statements.
12228
5cea9d5d
JL
122292004-01-26 Jeff Law <law@redhat.com>
12230
12231 * doc/contrib.texi: Minor cleanup for Paolo Carlini's entry. Add
12232 acute accents for Petur Runolfsson's entry.
12233
04e9daaf
KH
122342004-01-26 Kazu Hirata <kazu@cs.umass.edu>
12235
12236 * config/pdp11/pdp11.c (TARGET_STRUCT_VALUE_RTX): New.
12237 (TARGET_RETURN_IN_MEMORY): Likewise.
12238 * config/pdp11/pdp11.h (STRUCT_VALUE): Remove.
12239 (RETURN_IN_MEMORY): Likewise.
12240
40ca90bf 122412004-01-26 Fariborz Jahanian <fjahanian@apple.com>
6c8066b9 12242
52ad4d7b
ZW
12243 * config/rs6000/rs6000.c (rs6000_emit_move): split slow
12244 unaligned load/store into smaller loads and stores.
6c8066b9 12245
40ca90bf 122462004-01-26 Fariborz Jahanian <fjahanian@apple.com>
6c8066b9 12247
52ad4d7b
ZW
12248 * function.c (assign_parms): Do not assign
12249 long long argument to memory in prologue if
12250 is it loaded into register.
6c8066b9 12251
40ca90bf 122522004-01-26 Fariborz Jahanian <fjahanian@apple.com>
6c8066b9
FJ
12253
12254 PR middle-end/13779
52ad4d7b
ZW
12255 * expr.c (emit_group_load): split constant
12256 correctly into register components of PARALLEL insn.
6c8066b9 12257
40ca90bf 122582004-01-26 Fariborz Jahanian <fjahanian@apple.com>
6c8066b9
FJ
12259
12260 * gcc/config/rs6000/rs6000.md (save_stack_nonlocal):
12261 Use adjust_address_nv directly with appropriate mode.
12262 (restore_stack_nonlocal): Ditto.
12263
4c45af42
KH
122642004-01-26 Kazu Hirata <kazu@cs.umass.edu>
12265
12266 * config/xtensa/xtensa-protos.h: Remove the prototype for
12267 xtensa_builtin_saveregs.
12268 * config/xtensa/xtensa.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
12269 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
12270 (TARGET_PROMOTE_PROTOTYPES): Likewise.
12271 (TARGET_STRUCT_VALUE_RTX): Likewise.
12272 (TARGET_RETURN_IN_MEMORY): Likewise.
12273 (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
12274 (xtensa_builtin_saveregs): Make it static.
12275 (xtensa_return_in_memory): New.
12276 * config/xtensa/xtensa.h (PROMOTE_FUNCTION_ARGS: Remove.
12277 (PROMOTE_FUNCTION_RETURN): Likewise.
12278 (PROMOTE_PROTOTYPES): Likewise.
12279 (STRUCT_VALUE): Likewise.
12280 (RETURN_IN_MEMORY): Likewise.
12281 (EXPAND_BUILTIN_SAVEREGS): Likewise.
12282
1cc9f5f5
KH
122832004-01-26 Kazu Hirata <kazu@cs.umass.edu>
12284
12285 * config/arm/arm.c (TARGET_SETUP_INCOMING_VARARGS): New.
12286 (arm_setup_incoming_varargs): Likewise.
12287 * config/arm/arm.h (SETUP_INCOMING_VARARGS): Remove.
12288
558d352a
KH
122892004-01-26 Kazu Hirata <kazu@cs.umass.edu>
12290
12291 * config/cris/cris.c (TARGET_SETUP_INCOMING_VARARGS): New.
12292 (cris_setup_incoming_varargs): Likewise.
12293 * config/cris/cris.h (SETUP_INCOMING_VARARGS): Remove.
12294
2001a5cf
KH
122952004-01-26 Kazu Hirata <kazu@cs.umass.edu>
12296
12297 * config/ns32k/ns32k.c (TARGET_STRUCT_VALUE_RTX): New.
12298 (ns32k_struct_value_rtx): Likewise.
12299 * config/ns32k/ns32k.h (STRUCT_VALUE_REGNUM): Rename to
12300 NS32K_STRUCT_VALUE_REGNUM.
12301
f9ba5949
KH
123022004-01-26 Kazu Hirata <kazu@cs.umass.edu>
12303
12304 * config/arm/arm.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
12305 (TARGET_PROMOTE_PROTOTYPES): Likewise.
12306 (TARGET_STRUCT_VALUE_RTX): Likewise.
12307 (arm_struct_value_rtx): Likewise.
12308 * config/arm/arm.h (PROMOTE_FUNCTION_ARGS): Remove.
12309 (STRUCT_VALUE): Likewise.
12310 (STRUCT_VALUE_REGNUM): Likewise.
12311 (PROMOTE_PROTOTYPES): Likewise.
12312
351a758b
KH
123132004-01-26 Kazu Hirata <kazu@cs.umass.edu>
12314
12315 * config/ia64/ia64-protos.h: Remove the prototype for
12316 ia64_setup_incoming_varargs and ia64_return_in_memory.
12317 * config/ia64/ia64.c (TARGET_STRUCT_VALUE_RTX): New.
12318 (TARGET_RETURN_IN_MEMORY): Likewise.
12319 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
12320 (TARGET_STRICT_ARGUMENT_NAMING): Likewise.
12321 (ia64_setup_incoming_varargs): Adjust the arguments to meet
12322 the requirement of TARGET_SETUP_INCOMING_VARARGS.
12323 (ia64_return_in_memory): Make it static. Change the return
12324 type to bool from int. Add an argument.
12325 (ia64_struct_value_rtx): New.
12326 * config/ia64/ia64.h: Remove commented-out definitions of
12327 PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN, and
12328 PROMOTE_PROTOTYPES.
12329 (RETURN_IN_MEMORY): Remove.
12330 (STRUCT_VALUE_REGNUM): Likewise.
12331 (STRICT_ARGUMENT_NAMING): Likewise.
12332
a7bba6ca
EB
123332004-01-26 Eric Botcazou <ebotcazou@libertysurf.fr>
12334
12335 PR target/13666
12336 * config/sparc/sparc.c (function_arg_union_value): New function.
12337 (function_arg): Use it to deal with unions.
12338 (function_value): Likewise. Define 'regbase' only for ARCH64.
12339 Replace a conditional statement by a simpler one.
12340
6865f4cd
RS
123412004-01-26 Richard Sandiford <rsandifo@redhat.com>
12342
12343 * config/mips/mips.c (mips16_optimize_gp): Delete.
12344 (mips_reorg): Don't call it.
12345
2d6d0eb5
MH
123462004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
12347
12348 * config/c4x/c4x.md (addqi3_noclobber): Move up pecking order.
12349 (floatunsqihf2): Remove operand 6.
12350 (fixhfqi_set, fix_trunchfqi2, fixuns_trunchfqi2): Group with other
12351 fix patterns.
12352 (ldi_conditional, ldf_conditional): Validate operands.
12353
8f422192
MH
123542004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
12355
12356 * config/c4x/c4x.h (BCT_CHECK_LOOP_ITERATIONS): Remove.
12357 (HAVE_GAS_HIDDEN): Undefine as interim measure.
52ad4d7b 12358
9c3602e4
MH
123592004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
12360
12361 * config/c4x/c4x.c (c4x_legitimate_address_p): Invalidate direct
12362 memory references if TARGET_EXPOSE_LDP nonzero.
12363
a026b9d6
MH
123642004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
12365
12366 * config/c4x/c4x.c (legitimize_operands): Truncate invalid shift counts.
52ad4d7b 12367
b7bbb574
MH
123682004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
12369
12370 * config/c4x/c4x.c (c4x_valid_operands): More aggressively reject
12371 invalid operand combinations.
12372
1e903c61
MH
123732004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
12374
12375 * config/c4x/c4x.c (c4x_check_legit_addr): Rename to
12376 c4x_legitimate_address_p. Fix post_modify check.
b7bbb574 12377
1e903c61
MH
12378 * config/c4x/c4x-protos.h (c4x_check_legit_addr): Adjust.
12379 * config/c4x/c4x.h (c4x_check_legit_addr): Adjust.
52ad4d7b 12380
3f12cd9b
KH
123812004-01-25 Kazu Hirata <kazu@cs.umass.edu>
12382
12383 * config/pa/pa-protos.h: Remove the prototype for
12384 hppa_builtin_saveregs. Add a prototype for
12385 pa_return_in_memory.
12386 * config/pa/pa.c (TARGET_PROMOTE_FUNCTION_RETURN): New.
12387 (TARGET_PROMOTE_PROTOTYPES): Likewise.
12388 (TARGET_STRUCT_VALUE_RTX): Likewise.
12389 (TARGET_RETURN_IN_MEMORY): Likewise.
12390 (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
12391 (pa_struct_value_rtx): Likewise.
12392 (pa_return_in_memory): Likewise.
12393 * config/pa/pa.h (STRUCT_VALUE_REGNUM): Rename to
12394 PA_STRUCT_VALUE_REGNUM.
12395 (INIT_CUMULATIVE_ARGS): Use pa_return_in_memory.
12396 (EXPAND_BUILTIN_SAVEREGS): Remove.
12397 (PROMOTE_PROTOTYPES): Likewise.
12398 (PROMOTE_FUNCTION_RETURN): Likewise.
12399
f289e226
KH
124002004-01-25 Kazu Hirata <kazu@cs.umass.edu>
12401
12402 * config/vax/vax.c (TARGET_PROMOTE_PROTOTYPES): New.
12403 (TARGET_STRUCT_VALUE_RTX): Likewise.
12404 (vax_struct_value_rtx): Likewise.
12405 * config/vax/vax.h (STRUCT_VALUE_REGNUM): Rename to
12406 VAX_STRUCT_VALUE_REGNUM.
12407 (PROMOTE_PROTOTYPES): Remove.
12408
12fb52cf 124092004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
52ad4d7b
ZW
12410
12411 * config/c4x/c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Handle symref.
12412
fdcf1e1e
CD
124132003-04-25 Chris Demetriou <cgd@broadcom.com>
12414
12415 * config/mips/mips.h (ISA_HAS_HILO_INTERLOCKS): MIPS32, MIPS32r2,
12416 and MIPS64 have HI/LO interlocks. Update comment.
12417
7e43c821
KH
124182004-01-25 Kazu Hirata <kazu@cs.umass.edu>
12419
12420 * config/stormy16/stormy16-protos.h: Remove the prototype for
12421 xstormy16_setup_incoming_varargs.
12422 * config/stormy16/stormy16.c
12423 (xstormy16_setup_incoming_varargs): Remove.
12424 (xstormy16_return_in_memory): New.
12425 (TARGET_PROMOTE_FUNCTION_ARGS): Likewise.
12426 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
12427 (TARGET_PROMOTE_PROTOTYPES): Likewise.
12428 (TARGET_STRUCT_VALUE_RTX): Likewise.
12429 (TARGET_RETURN_IN_MEMORY): Likewise.
12430 * config/stormy16/stormy16.h (PROMOTE_FUNCTION_ARGS): Remove.
12431 (PROMOTE_FUNCTION_RETURN): Likewise
12432 (PROMOTE_PROTOTYPES): Likewise
12433 (RETURN_IN_MEMORY): Likewise
12434 (STRUCT_VALUE): Likewise
12435 (SETUP_INCOMING_VARARGS): Likewise
12436
62973ffe
RS
124372004-01-25 Richard Sandiford <rsandifo@redhat.com>
12438
12439 * config/mips/mips.c (mips_offset_within_object_p): New function.
12440 (mips_symbolic_constant_p): Use it in the SYMBOL_SMALL_DATA and
12441 SYMBOL_CONSTANT_POOL cases. Also use it for SYMBOL_GENERAL if the
12442 ABI has 64-bit pointers and the object file only allows 32-bit symbols.
12443
8e67da21
KH
124442004-01-25 Kazu Hirata <kazu@cs.umass.edu>
12445
12446 * config/sh/sh.h (PROMOTE_FUNCTION_ARGS): Remove.
12447 (PROMOTE_FUNCTION_RETURN): Likewise.
12448
9024ea92
KH
124492004-01-25 Kazu Hirata <kazu@cs.umass.edu>
12450
12451 * config/mn10300/mn10300-protos.h: Remove the prototype for
12452 mn10300_builtin_saveregs.
12453 * config/mn10300/mn10300.c (TARGET_PROMOTE_PROTOTYPES): New.
12454 (TARGET_STRUCT_VALUE_RTX): Likewise.
12455 (TARGET_RETURN_IN_MEMORY): Likewise.
12456 (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
12457 (mn10300_return_in_memory): Likewise.
12458 (mn10300_builtin_saveregs): Make it static.
12459 * config/mn10300/mn10300.h (PROMOTE_PROTOTYPES): Remove.
12460 (RETURN_IN_MEMORY): Likewise.
12461 (STRUCT_VALUE): Likewise.
12462 (EXPAND_BUILTIN_SAVEREGS): Likewise.
12463
20b4e8ae
EB
124642004-01-25 Eric Botcazou <ebotcazou@act-europe.fr>
12465
12466 PR bootstrap/13853
12467 * cfgcleanup.c (try_optimize_cfg): Explicitly test against 0.
12468
cff555dc
KH
124692004-01-25 Kazu Hirata <kazu@cs.umass.edu>
12470
12471 * config/h8300/lib1funcs.asm (divnorm, modnorm): Optimize by
12472 using ccr.
12473
30f58b01
KH
124742004-01-25 Kazu Hirata <kazu@cs.umass.edu>
12475
12476 * config/i860/i860-protos.h: Remove the prototype for
12477 i860_saveregs.
12478 * config/i860/i860.c (i860_saveregs): Make it static.
12479 (i860_struct_value_rtx): New.
12480 (TARGET_STRUCT_VALUE_RTX): Likewise.
12481 (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
12482 * config/i860/i860.h (STRUCT_VALUE_REGNUM): Rename to
12483 I860_STRUCT_VALUE_REGNUM.
12484 (EXPAND_BUILTIN_SAVEREGS): Remove.
12485
341ec191
KH
124862004-01-25 Kazu Hirata <kazu@cs.umass.edu>
12487
12488 * config/m68hc11/m68hc11.c (TARGET_STRUCT_VALUE_RTX): New.
12489 (TARGET_RETURN_IN_MEMORY): Likewise.
12490 (m68hc11_struct_value_rtx): Likewise.
12491 (m68hc11_return_in_memory): Likewise.
12492 * config/m68hc11/m68hc11.h: Remove a commented-out definition
12493 of PROMOTE_PROTOTYPES.
12494 (RETURN_IN_MEMORY): Remove.
12495 (STRUCT_VALUE_REGNUM): Likewise.
12496
344caf1b
KH
124972004-01-25 Kazu Hirata <kazu@cs.umass.edu>
12498
12499 * config/mmix/mmix-protos.h: Remove the prototype for
12500 mmix_setup_incoming_varargs.
12501 * config/mmix/mmix.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
12502 (TARGET_STRUCT_VALUE_RTX): Likewise.
12503 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
12504 (mmix_setup_incoming_varargs): Make it static.
12505 (mmix_struct_value_rtx): New.
12506 * config/mmix/mmix.h (PROMOTE_FUNCTION_ARGS): Remove.
12507 Remove a commented-out definition of PROMOTE_FUNCTION_RETURN.
12508 (STRUCT_VALUE_REGNUM): Remove.
12509 (SETUP_INCOMING_VARARGS): Likewise.
12510
0c8da560
KH
125112004-01-25 Kazu Hirata <kazu@cs.umass.edu>
12512
12513 * config/mips/mips-protos.h: Remove the prototypes for
12514 mips_setup_incoming_varargs and mips_return_in_memory.
12515 * config/mips/mips.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
12516 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
12517 (TARGET_PROMOTE_PROTOTYPES): Likewise.
12518 (TARGET_STRUCT_VALUE_RTX): Likewise.
12519 (TARGET_RETURN_IN_MEMORY): Likewise.
12520 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
12521 (TARGET_STRICT_ARGUMENT_NAMING): Likewise.
12522 (mips_setup_incoming_varargs): Match the prototype for
12523 TARGET_SETUP_INCOMING_VARARGS.
12524 (mips_return_in_memory): Make it static. Add argument fntype.
12525 (mips_strict_argument_naming): New.
12526 * config/mips/mips.h (PROMOTE_PROTOTYPES): Remove.
12527 (PROMOTE_FUNCTION_ARGS): Likewise.
12528 (PROMOTE_FUNCTION_RETURN): Likewise.
12529 (STRUCT_VALUE): Likewise.
12530 (RETURN_IN_MEMORY): Likewise.
12531 (SETUP_INCOMING_VARARGS): Likewise.
12532 (STRICT_ARGUMENT_NAMING): Likewise.
12533
49ca372c
KH
125342004-01-25 Kazu Hirata <kazu@cs.umass.edu>
12535
12536 * config/ip2k/ip2k.c (TARGET_STRUCT_VALUE_RTX): New.
12537 (TARGET_RETURN_IN_MEMORY): Likewise.
12538 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
12539 (ip2k_return_in_memory): Likewise.
12540 (ip2k_setup_incoming_varargs): Likewise.
12541 * config/ip2k/ip2k.h (RETURN_IN_MEMORY): Remove.
12542 (STRUCT_VALUE): Likewise.
12543 (STRUCT_VALUE_INCOMING): Likewise.
12544 (SETUP_INCOMING_VARARGS): Likewise.
12545
b069302c
KH
125462004-01-25 Kazu Hirata <kazu@cs.umass.edu>
12547
12548 * config/avr/avr.c (TARGET_STRUCT_VALUE_RTX): New.
12549 (TARGET_RETURN_IN_MEMORY): Likewise.
12550 (TARGET_STRICT_ARGUMENT_NAMING): Likewise.
12551 (avr_return_in_memory): Remove.
12552 * config/avr/avr.h (RETURN_IN_MEMORY): Remove.
12553 (STRUCT_VALUE): Likewise.
12554 (STRUCT_VALUE_INCOMING): Likewise.
12555 (STRICT_ARGUMENT_NAMING): Likewise.
12556
e6d83128
JH
125572004-01-25 Jan Hubicka <jh@suse.cz>
12558
12559 * combine.c (recog_for_combine): Avoid allocating unnecesary RTX.
12560
bcbc6b7f
RS
125612004-01-25 Richard Sandiford <rsandifo@redhat.com>
12562
12563 * config/mips/mips-protos.h (mips_reg_mode_ok_for_base_p): Delete.
12564 (mips_regno_mode_ok_for_base_p): Declare.
12565 * config/mips/mips.h (ARG_POINTER_REGNUM): Renumber to 77.
12566 (FRAME_POINTER_REGNUM): Renumber to 78.
12567 (FIRST_PSEUDO_REGISTER): Update comment accordingly.
12568 (BASE_REG_P, GP_REG_OR_PSEUDO_STRICT_P): Delete.
12569 (GP_REG_OR_PSEUDO_NONSTRICT_P): Delete.
12570 (REGNO_MODE_OK_FOR_BASE_P): Use mips_regno_mode_ok_for_base_p.
12571 (REG_MODE_OK_FOR_BASE_P): Likewise.
12572 * config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Change
12573 entry for 77 to "$arg" and entry for 78 to "$frame".
12574 (mips_regno_to_class): Map 77 and 78 to ALL_REGS.
12575 (mips_reg_mode_ok_for_base_p): Remove.
12576 (mips_regno_mode_ok_for_base_p): New function, derived from old
12577 BASE_REG_P macro. Don't enforce the mips16 stack pointer
12578 restrictions unless we're being strict.
12579 (mips_valid_base_register_p): Use mips_regno_mode_ok_for_base_p.
12580
1f52178b
KH
125812004-01-24 Kazu Hirata <kazu@cs.umass.edu>
12582
12583 * c-common.h: Fix comment typos.
12584 * c-decl.c: Likewise.
12585 * cgraphunit.c: Likewise.
12586 * combine.c: Likewise.
12587 * et-forest.c: Likewise.
12588 * flow.c: Likewise.
12589 * function.c: Likewise.
12590 * ifcvt.c: Likewise.
12591 * integrate.c: Likewise.
12592 * jump.c: Likewise.
12593 * postreload.c: Likewise.
12594 * varray.c: Likewise.
12595
56ae1316
KH
125962004-01-24 Kazu Hirata <kazu@cs.umass.edu>
12597
12598 * doc/frontends.texi: Update copyright.
12599 * doc/gcov.texi: Likewise.
12600 * doc/gty.texi: Likewise.
12601 * doc/sourcebuild.texi: Likewise.
12602 * doc/standards.texi: Likewise.
12603
b1dccb28
HB
126042004-01-24 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
12605
12606 PR target/12978
12607 * c4x.md: (movstrqi*) Use match_scratch instead of match_dup.
12608 Remove movstrqi_small because it conflicts with movstrqi_large.
12609
a2fef3a4
KH
126102004-01-24 Kazu Hirata <kazu@cs.umass.edu>
12611
12612 * config/cris/cris.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
12613 (TARGET_STRUCT_VALUE_RTX): Likewise.
12614 (cris_struct_value_rtx): Likewise.
12615 * config/cris/cris.h (PROMOTE_FUNCTION_ARGS): Remove.
12616 (CRIS_STACKADJ_REG): Use CRIS_STRUCT_VALUE_REGNUM instead of
12617 STRUCT_VALUE_REGNUM.
12618 (STRUCT_VALUE_REGNUM): Rename to CRIS_STRUCT_VALUE_REGNUM.
12619
1f44254c
ILT
126202004-01-24 Ian Lance Taylor <ian@wasabisystems.com>
12621
12622 PR bootstrap/13848
12623 * cse.c (cse_cc_succs): Change the mode of the source expression
12624 as soon as decide we need a new mode. Don't permit changing modes
12625 if we found a match in a successor block.
12626 (cse_condition_code_reg): Save original mode of source expression
12627 so that we know whether we have to change the mode in other
12628 insns.
12629
fdb1c7b3
JH
126302004-01-24 Jan Hubicka <jh@suse.cz>
12631
12632 * emit-rtl.c (change_address, adjust_address_1, offset_address,
12633 widen_memory_access): Return early when there is nothing to change.
12634
5473cfa7
JJ
126352004-01-24 Jakub Jelinek <jakub@redhat.com>
12636
12637 * simplify-rtx.c (simplify_relational_operation): Don't
12638 simplify address == constant into address + -constant == 0.
12639
a5153056
KH
126402004-01-24 Kazu Hirata <kazu@cs.umass.edu>
12641
12642 * gcc.c (process_command): Don't internationalize the
12643 Copyright message.
12644 * mips-tfile.c (main): Likewise.
12645
174b84e5
AT
126462004-01-24 Andreas Tobler <a.tobler@schweiz.ch>
12647
12648 * cse.c: (cse_cc_succs) Fix comparison warning.
12649
16537909
KH
126502004-01-24 Kazu Hirata <kazu@cs.umass.edu>
12651
12652 * config/h8300/h8300.md: Remove extraneous USE in expanders.
12653
d0022200
KH
126542004-01-24 Kazu Hirata <kazu@cs.umass.edu>
12655
12656 * config/h8300/h8300-protos.h: Provide prototypes for
12657 h8300_legitimate_constant_p and h8300_legitimate_address_p.
12658 * config/h8300/h8300.c (h8300_legitimate_constant_p): New.
12659 (h8300_rtx_ok_for_base_p): Likewise.
12660 (h8300_legitimate_address_p): Likewise.
12661 * config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Use
12662 h8300_legitimate_constant_p.
12663 (RTX_OK_FOR_BASE_P): Remove.
12664 (GO_IF_LEGITIMATE_ADDRESS): Use h8300_legitimate_address_p.
12665
ca04c5a9
KH
126662004-01-24 Kazu Hirata <kazu@cs.umass.edu>
12667
12668 * config/h8300/h8300.h (REG_OK_FOR_INDEX_NONSTRICT_P): New.
12669 (REG_OK_FOR_BASE_NONSTRICT_P): Likewise.
12670 (REG_OK_FOR_INDEX_STRICT_P): Likewise.
12671 (REG_OK_FOR_BASE_STRICT_P): Likewise.
12672 (REG_OK_FOR_INDEX_STRICT_P): Use REGNO_OK_FOR_INDEX_P.
12673 (REG_OK_FOR_BASE_STRICT_P): Use REGNO_OK_FOR_BASE_P.
12674 (REG_OK_FOR_INDEX_P): Use REG_OK_FOR_INDEX_STRICT_P.
12675 (REG_OK_FOR_BASE_P): Use REG_OK_FOR_BASE_STRICT_P.
12676
3e2a0bd2
JH
126772004-01-24 Jan Hubicka <jh@suse.cz>
12678
12679 * cselib.c (remove_useless_values): Do not access discarded values.
12680
b1adf557
JM
126812004-01-24 Joseph S. Myers <jsm@polyomino.org.uk>
12682
12683 * c-typeck.c (build_conditional_expr): Do not allow non-lvalue
12684 arrays.
12685
55cd4633
KH
126862004-01-23 Kazu Hirata <kazu@cs.umass.edu>
12687
12688 * recog.c: Fix a typo in copyright.
12689
bbf294a5
AP
126902004-01-23 Andrew Pinski <apinski@apple.com>
12691
12692 * config/rs6000/rs6000.md (call): Fix misappiled patch.
12693 (call_value): Likewise.
12694
a475bff7
RH
126952004-01-23 Richard Henderson <rth@redhat.com>
12696
52ad4d7b
ZW
12697 PR opt/12941
12698 * combine.c (SHIFT_COUNT_TRUNCATED): Provide default value.
12699 (simplify_comparison): Don't simplify (eq (zero_extract c 1 r) 0)
12700 if SHIFT_COUNT_TRUNCATED is set.
a475bff7 12701
3712281f
BW
127022004-01-23 Bob Wilson <bob.wilson@acm.org>
12703
12704 * config/xtensa/xtensa.c (xtensa_va_arg): Handle complex values as
12705 separate real and imaginary parts.
12706 * config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Define.
12707
99e5c00b
HP
127082004-01-23 Hartmut Penner <hpenner@de.ibm.com>
12709
12710 PR target/13674
12711 * config/rs6000/rs6000.md (movdf_hardfloat64): Do not disparage
12712 loading into GPR.
12713
8b07361e
JH
127142004-01-23 Jan Hubicka <jh@suse.cz>
12715
a74ff877
JH
12716 * emit-rtl.c (change_address_1): Do not re-generate the RTX if nothing
12717 change.
12718
8b07361e
JH
12719 * alloc-pool.c (align_four): Kill.
12720 (create_alloc_pool): Align size to eight.
12721 (free_alloc_pool, free_pool): Invalidate deallocated data.
12722
e129d93a
ILT
127232004-01-23 Ian Lance Taylor <ian@wasabisystems.com>
12724
12725 PR gcc/1532
12726 * cse.c (cse_change_cc_mode): New static function.
12727 (cse_change_cc_mode_insns, cse_cc_succs): Likewise.
12728 (cse_condition_code_reg): New function.
12729 * rtl.h (cse_condition_code_reg): Declare.
12730 * toplev.c (rest_of_handle_cse2): Call cse_condition_code_reg.
12731 * target.h (struct gcc_target): Add fixed_condition_code_regs and
12732 cc_modes_compatible.
12733 * target-def.h (TARGET_FIXED_CONDITION_CODE_REGS): Define.
12734 (TARGET_CC_MODES_COMPATIBLE): Define.
12735 (TARGET_INITIALIZER): Add new initializers.
12736 * targhooks.c (default_cc_modes_compatible): New function.
12737 * targhooks.c (default_cc_modes_compatible): Declare.
12738 * hooks.c (hook_bool_intp_intp_false): New function.
12739 * hooks.h (hook_bool_intp_intp_false): Declare.
12740 * config/i386/i386.c (TARGET_FIXED_CONDITION_CODE_REGS): Define.
12741 (TARGET_CC_MODES_COMPATIBLE): Define.
12742 (ix86_fixed_condition_code_regs): New static function.
12743 (ix86_cc_modes_compatible): Likewise.
12744 * doc/tm.texi (Condition Code): Document new hooks.
12745
f6c930a3
RO
127462004-01-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12747
12748 * fixinc/inclhack.def (bad_lval): Renamed to ...
12749 (alpha_bad_lval): ... this.
12750 Removed file list.
12751 Restrict to alpha*-dec-osf*.
12752 * fixinc/fixincl.x: Regenerate.
12753 * fixinc/tests/base/dirent.h: Remove, moving test ...
12754 * fixinc/tests/base/testing.h: ... here, reflecting new name.
12755
04b8f97f
ZW
127562004-01-23 Zack Weinberg <zack@codesourcery.com>
12757
30cab869 12758 PR c/13814
04b8f97f
ZW
12759 * c-decl.c (diagnose_mismatched_decls): Also discard a
12760 built-in if we encounter an old-style definition with the
12761 same name.
12762
1ab1739c
JJ
127632004-01-23 Jakub Jelinek <jakub@redhat.com>
12764
12765 * config.gcc (powerpc*-*): Clear $with_cpu or $with_tune if it was
12766 set to default{32,64}.
12767
02731d29
JJ
127682004-01-21 Jakub Jelinek <jakub@redhat.com>
12769
12770 * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR)
12771 [!__powerpc64__]: Corrected to handle kernels with changed ucontext.
12772
0a944ef6 127732004-01-23 Eric Botcazou <ebotcazou@act-europe.fr>
04b8f97f 12774 Olivier Hainque <hainque@act-europe.fr>
0a944ef6
EB
12775
12776 * fold-const.c (fold_binary_op_with_conditional_arg): Only
12777 build a COMPOUND_EXPR if 'arg' is really a SAVE_EXPR.
12778
0bfb39ef
DJ
127792004-01-23 Daniel Jacobowitz <drow@mvista.com>
12780
12781 * config/arm/arm.c (arm_legitimate_address_p): Don't check the mode
12782 size for minipool references.
12783
25348c94
RS
127842004-01-23 Roger Sayle <roger@eyesopen.com>
12785
12786 * real.c (real_floor, real_ceil): Tweak to allow input and output
12787 arguments to overlap.
12788 (real_round): New function to implement round(3m) semantics.
12789 * real.h (real_round): Prototype here.
12790 * builtins.c (fold_builtin_round): New function to constant fold
12791 round, roundf and roundl.
12792 (fold_builtin): Call fold_builtin_round for BUILT_IN_ROUND{,F,L}.
12793
0f2b41b2
AO
127942004-01-23 Alexandre Oliva <aoliva@redhat.com>
12795
12796 PR optimization/13819
04b8f97f 12797 * config/sh/sh.c (sh_reorg): Compensate for sharing of CLOBBERs
0f2b41b2
AO
12798 introduced by 2004-01-20's Jan Hubicka's copy_insn change.
12799 (sh_handle_sp_switch_attribute): Remove warning.
12800
72613dfa
JH
128012003-11-30 Jan Hubicka <jh@suse.cz>
12802
12803 * i386.c (ix86_emit_restore_regs_using_mov): Deal with large offsets.
12804
7be4d808
R
128052004-01-23 J"orn Rennecke <joern.rennecke@superh.com>
12806
12807 * doc/tm.texi: Insert some weasel words when LOAD_EXTEND_OP
12808 may or may not return non-NIL.
12809 * postreload.c (reload_cse_simplify_operands): In LOAD_EXTEND_OP code,
12810 check CANNOT_CHANGE_MODE_CLASS
12811
23bd7a93
JH
128122004-01-23 Jan Hubicka <jh@suse.cz>
12813
12814 * basic-block.h (PROP_POSTRELOAD): New macro.
12815 (CLEANUP_LOG_LINKS): New.
12816 * cfgcleanup.c (cleanup_cfg): Only PROP_LOG_LINKS when asked to.
12817 * toplev.c (rest_of_handle_life): Preserve LOG_LINKS trought cleanup_cfg.
12818
12819 * cselib.c (value_pool): New.
12820 (new_cselib_val): Use pool.
12821 (cselib_init): Initialize value_pool
12822 (cselib_finish): Free pool.
12823
5c4f4b18
EB
128242004-01-23 Eric Botcazou <ebotcazou@libertysurf.fr>
12825
12826 * config/sparc/sparc.c (scan_record_type): New function.
12827 (function_arg_slotno): Use it to determine which kinds of
12828 registers the record can be passed in.
12829
95f576c1
JM
128302004-01-22 James A. Mmorrison <ja2morri@uwaterloo.ca>
12831
12832 * config/pa/fptr.c: Fix old-style definition.
12833
4c442790
PB
128342004-01-22 Paolo Bonzini <bonzini@gnu.org>
12835
12836 PR optimization/13724
12837 * cse.c (fold_rtx) <SUBREG>: Fold a SUBREG to zero if it
12838 represents the zero bits produced by a ZERO_EXTEND operation.
12839
dc4bbaf7
RS
128402004-01-22 Roger Sayle <roger@eyesopen.com>
12841
12842 PR optimization/13821
12843 * simplify-rtx.c (simplify_subreg): Use subreg_lowpart_offset to
12844 correctly calculate the lowpart offset of the contracted subreg.
12845
b00567b0
ILT
128462004-01-22 Ian Lance Taylor <ian@wasabisystems.com>
12847
12848 * doc/invoke.texi (Optimize Options): Note that --param arguments
12849 are subject to change without notice.
12850
d0d969f8
RO
128512004-01-22 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12852
12853 * config.gcc (mips-sgi-irix6*o32): Removed.
12854 * config/mips/iris6-o32-as.h: Likewise.
12855 * config/mips/iris6-o32-gas.h: Likewise.
12856 * config/mips/iris6-o32.h: Likewise.
12857
7cf240d5
JH
128582004-01-22 Jan Hubicka <jh@suse.cz>
12859
12860 * cfgcleanup.c (first_pass): New static variable.
12861 (try_forward_edges): Add work limiting check for threading.
12862 (try_crossjump_bb): Add work limiting check for crossjumping.
12863 (try_optimize_cfg): Maintain first pass variable.
12864
b16417d6
BW
128652004-01-22 Bob Wilson <bob.wilson@acm.org>
12866
12867 * config/xtensa/xtensa.c (function_arg): Generalize logic so that it
12868 handles complex and vector modes.
12869
c8796654
KH
128702004-01-22 Kazu Hirata <kazu@cs.umass.edu>
12871
12872 * config/h8300/h8300.h (REG_OK_FOR_INDEX_P_STRICT): Remove.
12873 (REG_OK_FOR_BASE_P_STRICT): Likewise.
12874 (STRICT): Likewise.
12875
10176e28
DJ
128762004-01-22 Daniel Jacobowitz <drow@mvista.com>
12877
12878 * c-semantics.c (genrtl_while_stmt, genrtl_do_stmt_1)
12879 (genrtl_for_stmt): Remove emit_nop calls.
12880
7bff636b
JDA
128812004-01-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12882
12883 PR target/13713
12884 PR target/13324
12885 * pa.md (movstrsi_prereload, movstrsi_postreload, movstrdi_prereload,
12886 movstrdi_postreload, clrstrsi_prereload, clrstrsi_postreload,
12887 clrstrdi_prereload, clrstrdi_postreload): Fix constraints.
12888
980e61bb
DJ
128892004-01-22 Daniel Jacobowitz <drow@mvista.com>
12890
12891 * config/arm/arm.c: Include "debug.h".
04b8f97f 12892 (thumb_pushpop): Take two new arguments. Add some commentary.
980e61bb
DJ
12893 Output frame information when pushing.
12894 (thumb_exit, thumb_unexpanded_epilogue): Update calls to
12895 thumb_pushpop.
12896 (thumb_output_function_prologue): Likewise. Accumulate a CFA
12897 offset, and pass it to thumb_pushpop. Output CFI information.
12898 (thumb_expand_prologue): Add some frame-related markers and notes.
12899
0067d121
UW
129002004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
12901
12902 * config/s390/s390.c (s390_frame_info): Allow large frame sizes
12903 for TARGET_64BIT.
12904 (s390_arg_frame_offset): Change return type to HOST_WIDE_INT.
12905 * config/s390/s390-protos.h (s390_arg_frame_offset): Likewise.
12906
bb51e270
RS
129072004-01-22 Roger Sayle <roger@eyesopen.com>
12908 Paolo Bonzini <bonzini@gnu.org>
12909
12910 * rtlanal.c (subreg_lsb_1): New function split out from subreg_lsb.
12911 (subreg_lsb): Change to call new subreg_lsb_1 helper function.
12912 * rtl.h (subreg_lsb_1): Prototype here.
12913 * simplify-rtx.c (simplify_subreg): Optimize subregs of zero and
12914 sign extensions.
12915
9c49953c
KH
129162004-01-22 Kazu Hirata <kazu@cs.umass.edu>
12917
12918 * doc/tm.texi (CASE_VECTOR_PC_RELATIVE): Mention that the
12919 macro need not be defined if jump-tables should contain
12920 relative addresses only when -fPIC or -fPIC is in effect.
12921
c582d54a
JH
129222004-01-22 Jan Hubicka <jh@suse.cz>
12923
12924 * alias.c (reg_base_value): Turn into varray.
12925 (reg_base_value_size): Kill.
12926 (old_reg_base_value): New deletable varray.
12927 (alias_invariant_size): New variable.
12928 (REG_BASE_VALUE): Update to use varray.
12929 (find_base_value): Likewise.
12930 (record_set): Likewise.
12931 (record_base_value): Likewise.
12932 (memrefs_conflict_p): Likewise.
12933 (record_set): Likewise
12934 (record_base_value): Likewise.
12935 (memrefs_conflict_p): Use alias_invariant_size.
12936 (init_alias_analysis): Use varray; set alias_invariant_size;
12937 rescale other arrays to be sized by maxreg.
12938 (end_alias_analysis): Save reg_base_value; clear alias_invariant_size.
12939
8a98812c
EB
129402004-01-22 Eric Botcazou <ebotcazou@libertysurf.fr>
12941
12942 * config/sparc/sparc.c (function_arg_slotno): Use
12943 FLOAT_TYPE_P to detect FP fields in structures.
12944 (function_arg_record_value_1): Likewise.
12945 (function_arg_record_value_2): Likewise.
12946
0de456a5
JH
129472004-01-22 Jan Hubicka <jh@suse.cz>
12948
12949 * function.c (allocate_struct_function): Do not initialize expr, emit
12950 and varasm.
12951 (prepare_function_start): Do it here.
12952 * c-parse.in (maybe_type_qual): Do not produce line number notes.
12953
1fd05073
EB
129542004-01-22 Eric Botcazou <ebotcazou@libertysurf.fr>
12955
12956 PR target/13559
12957 * config/sparc/sparc.c (function_arg_record_value_3): Revert
12958 to 'word_mode' once the first slot has been filled.
12959
b2f24c85
EB
129602004-01-22 Olivier Hainque <hainque@act-europe.fr>
12961
12962 * config/sparc/sparc.c (function_arg_record_value_1): Fix
12963 computation of the number of integer registers required.
12964
b4e0dd8e
KH
129652004-01-21 Kazu Hirata <kazu@cs.umass.edu>
12966
12967 * config/i386/i386.md: Simplify certain comparisons of
12968 const_int.
12969
5cc5eddc
AP
129702004-01-21 Andrew Pinski <apinski@apple.com>
12971
12972 PR target/13785
04b8f97f 12973 * config/rs6000/rs6000.md (call_value): Force operand
5cc5eddc
AP
12974 1 not operand 0 into a register.
12975
711d8c91
KH
129762004-01-21 Kazu Hirata <kazu@cs.umass.edu>
12977
12978 * cpperror.c, cpptrad.c, longlong.h, params.def, rtl.def,
12979 unwind-dw2-fde.h: Update copyright.
12980
d1885651
JDA
129812004-01-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12982
12983 * pa-protos.h: Update copyright.
12984 * pa.h: Likewise.
12985 * pa.md: Likewise.
12986
40ca90bf 129872004-01-21 Caroline Tice <ctice@apple.com>
ec13ba83 12988
6ed854f1 12989 PR target/12308
04b8f97f 12990 * config/i386/i386.md (fix_truncxfdi2): Add clause to clobber
ec13ba83
CT
12991 flags register.
12992 (fix_truncdfdi2): Likewise.
12993 (fix_truncsfdi2): Likewise.
12994 (*fix_truncdi_1): Likewise.
12995 (fix_truncxfsi2): Likewise.
12996 (fix_truncdfsi2): Likewise.
12997 (fix_truncsfsi2): Likewise.
12998 (*fix_truncsi_1): Likewise.
12999 (fix_truncxfhi2): Likewise.
13000 (fix_truncdfhi2): Likewise.
13001 (fix_truncsfhi2): Likewise.
13002 (*fix_trunchi_1): Likewise.
04b8f97f 13003
d9221e01
KH
130042004-01-21 Kazu Hirata <kazu@cs.umass.edu>
13005
13006 * alias.c, basic-block.h, c-common.c, c-common.h,
13007 c-cppbuiltin.c, c-opts.c, c-pragma.c, c-pretty-print.c,
13008 calls.c, cfg.c, cfgcleanup.c, cfgrtl.c, cgraph.h, collect2.c,
13009 combine.c, cppcharset.c, cpphash.h, cppinit.c, cpplib.c,
13010 cpplib.h, cppmacro.c, crtstuff.c, cselib.c, cselib.h,
13011 defaults.h, df.c, dominance.c, et-forest.c, expmed.c, expr.c,
13012 expr.h, fix-header.c, function.h, gcc.c, gcse.c, genattrtab.c,
13013 genautomata.c, genconditions.c, genemit.c, genflags.c,
13014 gengtype.c, gengtype.h, genopinit.c, genrecog.c, gensupport.c,
13015 ggc-zone.c, graph.c, haifa-sched.c, input.h, integrate.c,
13016 langhooks-def.h, langhooks.c, langhooks.h, line-map.c,
13017 line-map.h, local-alloc.c, optabs.c, optabs.h, postreload.c,
13018 ra.h, recog.c, reg-stack.c, regmove.c, reload.c, reorg.c,
13019 rtl.c, sched-deps.c, sched-ebb.c, sdbout.c, system.h,
13020 target.h, targhooks.c, toplev.h, tree-inline.c, unwind-pe.h,
13021 unwind.h, varray.c, varray.h: Update copyright.
13022
6d6b0a12
KH
130232004-01-21 Kazu Hirata <kazu@cs.umass.edu>
13024
13025 * config/h8300/coff.h: Update copyright.
13026 * config/h8300/elf.h: Likewise.
13027 * config/h8300/h8300-protos.h: Likewise.
13028 * config/h8300/h8300.c: Likewise.
13029 * config/h8300/h8300.h: Likewise.
13030 * config/h8300/h8300.md: Likewise.
13031
4b60eb3b
JDA
130322004-01-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13033
13034 * fixinc/inclhack.def (hpux10_stdio_declarations, ultrix_const3,
13035 ultrix_locale, ultrix_stdlib, ultrix_strings, ultrix_sys_time,
13036 ultrix_unistd): New hacks.
13037 * fixinc/tests/base/stdio.h (HPUX10_STDIO_DECLARATIONS_CHECK,
13038 ULTRIX_CONST2_CHECK): Add checks.
13039 * fixinc/tests/base/stdlib.h (ULTRIX_STDLIB_CHECK): Likewise.
13040 * fixinc/tests/base/strings.h (ULTRIX_STRINGS2_CHECK): Likewise.
13041 * fixinc/tests/base/unistd.h (ULTRIX_UNISTD_CHECK): Likewise.
13042 * fixinc/tests/base/sys/time.h (ULTRIX_SYS_TIME_CHECK): Likewise.
13043 * fixinc/tests/base/locale.h: New file.
13044 * fixinc/fixincl.x: Rebuilt.
13045
bbf5a54d
AJ
130462004-01-21 Andreas Jaeger <aj@suse.de>
13047 Michael Matz <matz@suse.de>
13048
13049 * doc/extend.texi (Extended Asm): Clarify memory clobber.
13050
bfccaa6f
JJ
130512004-01-21 Jakub Jelinek <jakub@redhat.com>
13052
13053 * crtstuff.c (frame_dummy, __do_global_ctors_1): Call
13054 _Jv_RegisterClasses through a function pointer.
13055
c3cda381
FH
130562004-01-21 Falk Hueffner <falk@debian.org>
13057
13058 PR target/12898
13059 * config/alpha/alpha.c (alpha_emit_set_const_1): If
13060 no_new_pseudos, use gen_rtx_SET directly for SImode constants
13061 which need multiple instructions to emit.
13062
2a2001be
IK
130632004-01-21 Inaoka Kazuhiro <inaoka.kazuhiro@renesas.com>
13064
13065 * config/m32r/m32r.h (CPP_SPEC): Define.
13066
1ef82ef2
ZW
130672004-01-21 Zack Weinberg <zack@codesourcery.com>
13068
13069 * c-decl.c (merge_decls): Kill different_binding_level and
13070 different_tu arguments; simplify throughout.
13071 (duplicate_decls): Likewise.
13072 (pushdecl, merge_translation_unit_decls): Update calls to
13073 duplicate_decls.
13074
13544b81
KG
130752004-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13076
13077 * Makefile.in (pretty-print.o): Depend on $(CONFIG_H) and
13078 $(SYSTEM_H).
13079 (print-rtl1.o): Depend on $(SYSTEM_H).
13080
a541f69d
KC
130812004-01-20 Kelley Cook <kcook@gcc.gnu.org>
13082
13083 PR bootstrap/12730
13084 * configure.ac: Delete definition and subsitution of docdir.
13085 Add info, man, srcman and srcinfo to target hooks. Create doc/
13086 directory.
13087 * configure: Regenerate.
13088 * Makefile.in: Don't substitute docdir and delete all references
13089 throughout.
13090 (MAKEINFOFLAGS): Define.
13091 (stmp-docobjdir): Delete.
13092 (INFOFILES, MANFILES): Define.
13093 (info): Call lang.info, srcinfo and lang.srcinfo.
13094 (generated-manpages): Call lang.man, srcman and lang.srcman.
13095 (srcinfo, srcman): New rules to copy back files to source directory.
13096 (doc/%.info, doc/%.dvi, doc/%.1, doc/%.7): New implict rule.
13097 (install-man): Revamp rule.
13098 (clean): Update dvi directory.
13099 (distclean): Delete TAGS from front end directorys.
13100 (maintainer-clean): Delete all document files in source directory.
13101
13102 objc/Make-lang.in (objc.man, objc.info): Dummy entries.
13103 (objc.srcman, objc.srcinfo): Likewise.
13104
793146e3
BK
131052004-01-20 Bruce Korb <bkorb@gnu.org>
13106
13107 * fixinc/inclhack.def(math_exception): bypass only for glibc.
13108 (matherr_decl): rename & relocate as exception_structure.
13109 This fix must precede the math_exception fix.
13110
fdb33708
RS
131112004-01-20 Roger Sayle <roger@eyesopen.com>
13112
13113 * fold-const.c (fold_convert): Rename to fold_convert_const.
13114 (fold_convert_const): Change arguments to take a tree_code,
13115 a type and the operand/expression to be converted. Return
13116 NULL_TREE if no simplification is possible. Add support for
13117 FIX_CEIL_EXPR and FIX_FLOOR_EXPR in addition to FIX_TRUNC_EXPR.
13118 (fold): Handle FIX_CEIL_EXPR and FIX_FLOOR_EXPR.
13119 Adjust call to fold_convert to match new fold_convert_const.
13120 Avoid modifying the tree passed to fold in-place.
13121
34c80057
AM
131222004-01-21 Alan Modra <amodra@bigpond.net.au>
13123
13124 * config/rs6000/sysv4.h (DWARF2_FRAME_REG_OUT): Define.
13125 * dwarf2out.c (output_cfi): Map regs using DWARF2_FRAME_REG_OUT.
13126 * doc/tm.texi (DWARF_FRAME_REGNUM, DWARF2_FRAME_REG_OUT): Document.
13127
a4295210
JDA
131282004-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13129
13130 * pa-protos.h (compute_frame_size): Use HOST_WIDE_INT for frame sizes.
13131 * pa.c (store_reg, store_reg_modify, load_reg, set_reg_plus_d):
13132 Likewise. Handle frames larger than 0x7fffffff on 64-bit ports.
13133 (emit_move_sequence): Check scratch_reg first in various if statements.
13134 Extend source simplification to handle all 64-bit CONST_INTs.
13135 (pa_output_function_prologue): Use HOST_WIDE_INT_PRINT_DEC for printing
13136 frame size.
13137 (hppa_expand_prologue, hppa_expand_epilogue): Use HOST_WIDE_INT for
13138 frame offset calculations.
13139 * pa.h (NEW_HP_ASSEMBLER): Add comment.
13140 (MAX_LEGIT_64BIT_CONST_INT, MIN_LEGIT_64BIT_CONST_INT,
13141 LEGITIMATE_64BIT_CONST_INT_P): Define.
13142 (LEGITIMATE_CONSTANT_P): Use LEGITIMATE_64BIT_CONST_INT_P. Treat
13143 any CONST_INT as legitimate during and after reload.
13144 (VAL_32_BITS_P, INT_32_BITS): Define.
13145 (LEGITIMIZE_RELOAD_ADDRESS): Handle large frame offsets.
13146
3e89ed8d
JH
131472004-01-20 Jan Hubicka <jh@suse.cz>
13148
13149 * emit-rtl.c (verify_rtx_sharing, copy_insn_1,
13150 emit_copy_of_insn_after, emit_copy_of_insn_after): Clobbers
13151 containing hard regs are shared.
13152 (gen_hard_reg_clobber): New function.
13153 (hard_reg_clobbers): New array.
13154 * genemit.c (gen_exp): Use gen_hard_reg_clobber.
13155 (copy_rtx): Do not copy clobbers containing hard regs.
13156 * rtl.h (gen_hard_reg_clobber): Declare.
13157
9b57b627
JH
131582004-01-20 Jan Hubicka <jh@suse.cz>
13159
13160 * varray.c: Include hashtab.h
13161 (varray_descriptor): New structure.
13162 (hash_descriptor, eq_descriptor, varray_descriptor,
13163 print_statistics): New static functions
13164 (varray_init, varray_grow): Update statistics
13165 (dump_varray_statistics): New function.
13166 * varray.h (dump_varray_statistics): Declare.
13167 * toplev.c (finalize): Call it.
13168 * Makefile.in (varray.o): Add dependency.
13169
6a59927d
JH
131702004-01-20 Jan Hubicka <jh@suse.cz>
13171
13172 * cselib.c: Include alloc-pool.h
13173 (empty_vals, empty_elt_lists, empty_elt_loc_lists): Kill.
13174 (elt_loc_list_pool, elt_list_pool, cselib_val_pool): Declare.
13175 (new_elt_list, new_elt_loc_list, unchain_one_elt_list,
13176 unchain_one_elt_loc_list_pool, unchain_one_value,
13177 new_cselib_val): Simplify using allocpool.
13178 (cselib_init): Initialize allocpools.
13179 (cselib_finish): Finish allocpools.
13180 * Makefile.in (cselib.o): Depend on alloc-pool.h
13181
3c53850d
RS
131822004-01-20 Richard Sandiford <rsandifo@redhat.com>
13183
13184 * config/mips/mips.c (mips_load_call_address): Make the call insn
13185 use $gp if it could be calling a lazy binding stub.
13186
101ad855
KH
131872004-01-20 Kazu Hirata <kazu@cs.umass.edu>
13188
13189 * config/s390/s390.c (TARGET_PROMOTE_FUNCTION_ARGS): Define.
13190 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
13191 (TARGET_STRUCT_VALUE_RTX): Likewise.
13192 * config/s390/s390.h (PROMOTE_FUNCTION_ARGS): Remove.
13193 (PROMOTE_FUNCTION_RETURN): Remove.
13194 (STRUCT_VALUE): Remove.
13195
c099ba28
DC
131962004-01-20 Denis Chertykov <denisc@overta.ru>
13197
03b82c00 13198 PR bootstrap/13735
c099ba28
DC
13199 * config/avr/avr.h (BASE_REG_CLASS): Don't permit to use X
13200 register as pointer after reload.
13201
c8b6fae3
ZD
132022004-01-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
13203
13204 PR optimization/12440
13205 * loop.c: Include ggc.h.
13206 (loop_optimize): Run garbage collector between optimization of loops.
13207 * Makefile.in (loop.o): Add GGC_H dependency.
13208
c72d6c26
HP
132092004-01-20 Hartmut Penner <hpenner@de.ibm.com>
13210
1ef82ef2 13211 * gcc/config/rs6000/rs6000.c (function_arg) Handle
c72d6c26
HP
13212 vector register special in function without prototype.
13213 (function_arg_advance): Vector parameters get always
13214 GPRs allocated for the linux64 target.
13215
91e736f9
KI
132162004-01-20 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
13217
13218 * config/m32r/m32r.h (TARGET_M32R2). Test for TARGET_M32R2_MASK
13219 not TARGET_M32RX_MASK.
13220
4043d6fb
EB
132212004-01-20 Eric Botcazou <ebotcazou@libertysurf.fr>
13222
13223 PR target/13557
13224 * config/sparc/sparc.c (function_arg): Reorder the cases.
13225
50f59cd7
PB
132262004-01-19 Per Bothner <per@bothner.com>
13227
13228 Move cpp_reader's line_maps field to a shared global.
13229 * cpphash.h (cpp_reader): Rename line_maps field to line_table
13230 and change the type to a pointer rather than a struct.
13231 * cppinit.c (cpp_push_main_field): Adjust accordingly.
13232 * cpplib.c (do_include_common, _cpp_do_file_change, cpp_get_callbacks):
13233 Likewise.
13234 * cppfiles.c (validate_pch): Likewise.
13235 * cppmacro.c (_cpp_warn_if_unused_macro, _cpp_builtin_macro_text):
13236 Likewise.
13237 * cpperror.c (print_location): Likewise.
13238 * cpplib.h (cpp_create_reader): New line_maps pointer parameter.
13239 * cppinit.c (cpp_create_reader): Handle new parameter.
13240 (cpp_destroy): Don't free line_maps - that's no longer our job.
13241 * input.h (line_table): New variable.
13242 * toplev.c (line_table): Declare variable.
13243 (general_init): Initialize line_table.
13244 * c-opts.c (c_common_init_options): Pass line_table to
13245 cpp_create_reader.
13246 * fix-header.c (read_scan_file): New local variable line_table.
13247 Initialize, and pass it to cpp_create_reader.
13248 * Makefile.in (LIBS, LIBDEPS): Add libcpp.a.
13249 (C_AND_OBJC_OBJS, fix-header): Remove redundant libcpp.a.
13250
132512004-01-19 Per Bothner <per@bothner.com>
9132fbb7
PB
13252
13253 Implement a cache for linemap_lookup.
13254 * line-map.h (struct_line_maps): Add cache field.
13255 * line-map.c (linemap_init): Zero cache field.
13256 (linemap_add): Set cache field to offset of newly allocated map.
13257 (linemap_lookup): Use and set cache field.
13258
26d107db
KK
132592004-01-20 Kaz Kojima <kkojima@gcc.gnu.org>
13260
13261 PR optimization/13567
13262 * cse.c (cse_basic_block): Call cse_insn with a non-null
13263 libcall_insn for the last SET insn of a no-confilict block.
13264
e165d61b
KC
132652004-01-20 Kelley Cook <kcook@gcc.gnu.org>
13266
1ef82ef2 13267 * Makefile.in (target_noncanonical, program_transform_name): Use
e165d61b 13268 immediate define instead of deferred.
1ef82ef2 13269 (GCC_INSTALL_NAME, GCC_TARGET_INSTALL_NAME, CPP_INSTALL_NAME,
e165d61b
KC
13270 PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
13271 GCCBUG_INSTALL_NAME): Define via a immediate $(shell) instead of
13272 deferred backquote.
13273
53cd18ec
JM
132742004-01-20 Joseph S. Myers <jsm@polyomino.org.uk>
13275
13276 * c-decl.c (c_init_decl_processing): Set pedantic_lvalues to
13277 true unconditionally.
13278 * c-typeck.c (unary_complex_lvalue, pedantic_lvalue_warning):
13279 Remove.
13280 (build_unary_op, build_modify_expr): Don't handle extended
13281 lvalues.
13282 (build_component_ref, build_conditional_expr): Call non_lvalue
13283 instead of pedantic_non_lvalue.
13284 (build_c_cast): Don't condition use of non_lvalue on pedantic.
13285 * fold-const.c (fold): Don't check pedantic directly for
13286 COMPOUND_EXPR. Ensure that results for COMPOUND_EXPR are
13287 passed to pedantic_non_lvalue.
13288 * doc/extend.texi: Remove documentation of extended lvalues.
13289
9ce79a7a
RS
132902004-01-19 Roger Sayle <roger@eyesopen.com>
13291
13292 PR optimization/5263
13293 * simplify-rtx.c (associative_constant_p): Delete.
13294 (simplify_associative_operation): Rewrite to linearize terms, and
13295 attempt to simplify new term against both left and right subterms.
13296 (simplify_binary_operation): Call swap_commutative_operands_p on
13297 op0 and op1, not trueop0 and trueop1. Move the initialization of
13298 trueop0 and trueop1 down to where first needed.
13299 (simplify_relational_operation): Likewise.
13300 * rtlanal.c (commutative_operand_precedence): Also order constant
13301 operands using avoid_constant_pool_reference.
13302
62e88293
RH
133032004-01-19 Richard Henderson <rth@redhat.com>
13304
1ef82ef2
ZW
13305 * config/alpha/alpha.c (aligned_memory_operand): Check MEM_ALIGN,
13306 don't check memory mode.
13307 (unaligned_memory_operand): Likewise.
13308 (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Don't
13309 abort for op0 not MEM.
62e88293 13310
1ef82ef2
ZW
13311 * config/alpha/alpha.c (alpha_expand_mov_nobwx): If the destination
13312 is not a reg, copy to a scratch first.
13313 (aligned_loadqi, aligned_loadhi, unaligned_loadqi, unaligned_loadhi,
13314 unaligned_loadqi_le, unaligned_loadqi_be, unaligned_loadhi_le,
13315 unaligned_loadhi_be): Expect op0 in DImode; don't SUBREG.
13316 (reload_inqi, reload_inhi): Fix mode of op0.
13317 (reload_inqi_help, reload_inhi_help, reload_outqi_help,
13318 reload_outhi_help): Likewise. Use define_insn_and_split.
62e88293 13319
1ef82ef2
ZW
13320 * config/alpha/alpha.md (call peepholes): Check for REG_NORETURN
13321 as well as $29 dead.
62e88293 13322
2f3321ca
EB
133232004-01-19 Eric Botcazou <ebotcazou@libertysurf.fr>
13324
13325 * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): New. Emit
13326 "tls_object" for thread-local objects.
13327 * config/sparc/sparc.c (sparc_elf_asm_named_section): Emit
13328 "#tls" for thread-local sections.
13329 * configure.ac (thread-local checks): Specify --fatal-warnings in
13330 every binutils-specific checks. For sparc*-*-*, test whether the
13331 OS is Solaris and the tools are native and act accordingly.
13332 * configure: Rebuild.
13333
6fe37bc4
JL
133342004-01-19 Jeff Law <law@redhat.com>
13335
13336 * contrib.texi: Update Paolo Carlini's entry. New entries for
13337 Jerry Quinn and Petur Runolfsson.
1ef82ef2 13338
68f48f39
RS
133392004-01-19 Roger Sayle <roger@eyesopen.com>
13340
13341 * config/i386/i386.md (*movhi_1, *movqi_1): When optimizing for
13342 size, don't use the larger zero-extending loads.
13343
5c9948f4
RH
133442004-01-19 Richard Henderson <rth@redhat.com>
13345
13346 * alpha.h (HARD_REGNO_MODE_OK): Disallow SImode in FP regs.
13347 * alpha.md (UNSPEC_NT_LDA): Remove.
13348 (UNSPEC_CVTLQ, cvtlq): New.
13349 (extendsidi2_1): Rename from extendsidi2_nofix; remove f/f.
13350 (extendsidi2_fix): Remove.
13351 (extendsidi2 splitter): Use cvtlq.
13352 (extendsidi2 fp peepholes): Remove.
13353 (cvtql): Use SFmode instead of SImode.
13354 (fix_trunc?fsi): Update to match.
13355 (floatsisf2_ieee, floatsisf2, floatsidf2_ieee, floatsidf2): New.
13356 (movsi): Rename from movsi_nofix, remove f alternatives.
13357 (movsi_nt_vms): Similarly.
13358 (movsi_fix, movsi_nt_vms_fix): Remove.
13359 (nt_lda): Remove.
13360 * alpha.c (alpha_expand_prologue): Use adddi3, not nt_lda.
13361
9b0436b7
JH
133622004-01-19 Jan Hubicka <jh@suse.cz>
13363
13364 * cgraph.c (cgraph_remove_node): Fix removal from linked list.
13365 * cgraphunit.c (cgraph_finalize_compilation_unit): Clear next_needed
13366 list.
13367 (cgraph_remove_unreachable_nodes): New function
13368 (cgraph_decide_inlining_of_small_function): Fix pasto.
13369 (cgraph_decide_inlining_incrementally): Fix pasto.
13370 (cgrpah_decide_inlining): Likewise; remove unreachable nodes.
13371
8c80adb7
SB
133722004-01-19 Steven Bosscher <stevenb@suse.de>
13373
13374 * gengtype.c (header_file): Make it static.
13375 (write_types_process_field, write_enum_defn): Minor whitespace fixes.
13376 * gengtype.h (header_file): No longer extern.
13377
0ede749d
KH
133782004-01-18 Kazu Hirata <kazu@cs.umass.edu>
13379
13380 * defaults.h (CASE_VECTOR_PC_RELATIVE): Provide the default.
13381 * expr.c (CASE_VECTOR_PC_RELATIVE): Remove.
13382 * stmt.c (CASE_VECTOR_PC_RELATIVE): Likewise.
13383
41cbdcd0
KH
133842004-01-18 Kazu Hirata <kazu@cs.umass.edu>
13385
13386 * stmt.c (HAVE_casesi): Define it not already defined.
13387 (HAVE_tablejump): Likewise.
13388 (expand_end_case_type): Resort to the binary tree method if
13389 neither casesi or tablejump is available.
13390
5cfc5f84
DJ
133912004-01-18 Daniel Jacobowitz <drow@mvista.com>
13392
13393 * final.c (final_scan_insn): Make non-static again.
13394 * output.h (final_scan_insn): Re-add prototype.
13395 * config/arc/arc.c (arc_output_function_epilogue): Add NULL
13396 to final_scan_insn call.
13397 * config/cris/cris.c (cris_target_asm_function_epilogue): Likewise.
13398 * config/mips/mips.c (mips_output_conditional_branch): Likewise.
13399 * config/pa/pa.c (output_lbranch, output_call): Likewise.
13400 * config/sh/sh.c (print_slot): Likewise.
13401 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Likewise.
13402 (output_sibcall, sparc_flat_function_epilogue): Likewise.
13403
3348b696
JH
134042004-01-18 Jan Hubicka <jh@suse.cz>
13405
13406 * basic-block.h (try_redirect_by_replacing_jump): Declare.
13407 * cfgcleanup.c (try_optimize_cfg): Use it.
13408 * cfgrtl.c (try_redirect_by_replacing_jump): Export.
13409 (rtl_redirect_edge_and_branch, cfg_layout_redirect_edge_and_branch):
13410 Kill hack.
13411 (cfg_layout_merge_blocks): Use try_redirect_by_replacing_jump.
13412
13413 Revert:
13414 2004-01-16 Geoffrey Keating <geoffk@apple.com>
13415
13416 * cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps
13417 even after reload, just don't remove the actual jump tables.
13418
72d89d35
KH
134192004-01-18 Kazu Hirata <kazu@cs.umass.edu>
13420
13421 * config/rs6000/rs6000.h (STRICT_ARGUMENT_NAMING): Remove.
13422
07b50aad
KH
134232004-01-18 Kazu Hirata <kazu@cs.umass.edu>
13424
13425 * defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Fix the computation of
13426 the size of a pointer in bytes.
13427
6e46ab25
RS
134282004-01-18 Roger Sayle <roger@eyesopen.com>
13429
13430 * builtins.c (expand_builtin_expect_jump): Fix thinko of reusing
13431 live "next" variable, which could lead to an infinite loop.
13432
3ce5437a
AP
134332004-01-18 Andrew Pinski <pinskia@physics.uc.edu>
13434
b4be9e8e
AP
13435 * config/rs6000/altivec.h: Wrap C++ functions in extern "C++"
13436 block.
13437
3ce5437a
AP
13438 * config/rs6000/rs6000.c (rs6000_special_round_type_align):
13439 Check for NULL in the chain and remove repeated code.
13440
20c361f3
JH
134412004-01-18 Jan Hubicka <jh@suse.cz>
13442
13443 * coverage.c (checksum_string): Rename to ...
13444 (coverage_checksum_string): ... this one, Use crc32_string; recognize
13445 names containing random number and zero the number out in order to get
13446 match.
13447
cacb5bba
RS
134482004-01-18 Richard Sandiford <rsandifo@redhat.com>
13449
13450 * config/mips/mips.c (mips_got_alias_set): Mark for PCH.
13451
daf2f129
JM
134522004-01-18 Joseph S. Myers <jsm@polyomino.org.uk>
13453
13454 * doc/c-tree.texi, doc/cpp.texi, doc/extend.texi,
13455 doc/frontends.texi, doc/gcov.texi, doc/gty.texi, doc/install.texi,
13456 doc/invoke.texi, doc/libgcc.texi, doc/md.texi, doc/rtl.texi,
13457 doc/sourcebuild.texi, doc/standards.texi, doc/tm.texi,
13458 doc/trouble.texi: Remove trailing whitespace.
13459
b85aed9e
RS
134602004-01-18 Richard Sandiford <rsandifo@redhat.com>
13461
1c0f3fac 13462 PR target/7618
b85aed9e
RS
13463 * config/mips/mips.c: Include cfglayout.h.
13464 (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
13465 (mips_unspec_offset_high): Add temporary register argument.
13466 (mips_load_call_address): New function, split out from...
13467 (mips_expand_call): ...here.
13468 (mips_output_cplocal): New function.
13469 (mips_output_function_prologue, mips_output_function_epilogue): Use it.
13470 (mips_emit_loadgp): New function, split out from...
13471 (mips_expand_prologue): ...here.
13472 (mips_output_mi_thunk): New function.
13473
e5d95b69
BI
134742004-01-17 Bernardo Innocenti <bernie@develer.com>
13475
13476 * longlong.h (mc68020, __mc68030__, mc68030, __mc68040__, mc68040,
13477 mcpu32): Remove redundant checks for implied target predefines.
13478
19d66194
AP
134792004-1-17 Andrew Pinski <pinskia@physics.uc.edu>
13480
13481 * config/rs6000/rs6000.c (rs6000_special_round_type_align):
13482 Return type is unsigned int not int.
13483 * config/rs6000/rs6000-protos.h (rs6000_special_round_type_align):
13484 Likewise.
13485
95fef11f
JM
134862004-01-18 Joseph S. Myers <jsm@polyomino.org.uk>
13487
13488 * doc/contrib.texi, doc/cppenv.texi, doc/extend.texi,
13489 doc/install.texi, doc/invoke.texi, doc/tm.texi: Consistently use
13490 "GNU/Linux" and "Microsoft Windows" terminology.
13491
3ab51846
JM
134922004-01-18 Joseph S. Myers <jsm@polyomino.org.uk>
13493
13494 * doc/c-tree.texi, doc/compat.texi, doc/cpp.texi,
13495 doc/cppopts.texi, doc/extend.texi, doc/install.texi,
13496 doc/interface.texi, doc/invoke.texi, doc/libgcc.texi, doc/md.texi,
13497 doc/objc.texi, doc/rtl.texi, doc/tm.texi, doc/trouble.texi: Use
13498 @smallexample instead of @example.
13499
cfbed37c
ZL
135002004-01-17 Ziemowit Laski <zlaski@apple.com>
13501
13502 * objc/objc-act.c (build_objc_method_call): Use target
1ef82ef2 13503 hooks instead of macros to determine if ..._stret
cfbed37c
ZL
13504 dispatchers should be used (NeXT runtime only).
13505
bef5105b
RS
135062004-01-17 Roger Sayle <roger@eyesopen.com>
13507
13508 * builtins.c (expand_builtin_expect_jump): Fix mistake in my
13509 last patch. Use XEXP (x, 0) to get a LABEL_REF's CODE_LABEL.
13510
dd3adcf8
DJ
135112004-01-17 Daniel Jacobowitz <drow@mvista.com>
13512
13513 * rtl.h (emit_insn_before_sameloc, emit_jump_insn_before_sameloc)
13514 (emit_call_insn_before_sameloc, emit_insn_after_sameloc)
13515 (emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): New
13516 macros.
13517 * reload1.c (emit_reload_insns): Use them.
13518 * emit-rtl.c (emit_insn_before_sameloc, emit_insn_after_sameloc)
13519 (emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): Check
13520 for NULL PATTERN.
13521
589fe865
DJ
135222004-01-17 Daniel Jacobowitz <drow@mvista.com>
13523
13524 * final.c (SEEN_BB, SEEN_NOTE, SEEN_EMITTED): Define.
13525 (final_scan_insn): Update to take an additional SEEN argument. Emit
13526 a line note after the prologue. Make static.
13527 (line_note_exists): Remove.
13528 (final): Don't initialize line_note_exists. Update call to
13529 final_scan_insn.
13530 * output.h (final_scan_insn): Remove prologue.
13531 * function.c (set_insn_locators): Update comment.
13532 (thread_prologue_and_epilogue_insns): Add a comment.
13533
95727fb8
AP
135342004-01-17 Andrew Pinski <pinskia@physics.uc.edu>
13535
13536 PR target/10781
13537 * config/rs6000/rs6000-protos.h (rs6000_special_round_type_align):
13538 Prototype.
13539 * config/rs6000/rs6000.c (rs6000_special_round_type_align):
13540 New function.
13541 * config/rs6000/linux64.h (ROUND_TYPE_ALIGN): Use it.
13542 * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Likewise.
13543 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Likewise.
13544
f2e16e97
JH
135452004-01-17 Jan Hubicka <jh@suse.cz>
13546
26c0473b
JH
13547 * toplev.c (rest_of_handle_reorder_blocks): Fix pasto in previous
13548 commit.
13549
f2e16e97
JH
13550 * toplev.c (HAVE_conditional_execution): Provide default.
13551 (rest_of_handle_reorder_blocks): For conditional_execution target
13552 update liveness once after all transformations
13553 (rest_of_compilation): Do crossjumping before ce3.
13554
f103e34d
GK
135552004-01-17 Geoffrey Keating <geoffk@apple.com>
13556
13557 * alias.c (new_alias_set): Mark last_alias_set for PCH.
13558 (get_varargs_alias_set): Rename 'set' to 'varargs_set' and mark it
13559 for PCH.
13560 (get_frame_alias_set): Likewise, except rename it to 'frame_set'.
13561 * config/rs6000/rs6000.c (rs6000_sr_alias_set): Mark for PCH.
13562 (get_TOC_alias_set): Mark 'set' for PCH.
13563
ab530ea8
GK
135642004-01-16 Geoffrey Keating <geoffk@apple.com>
13565
13566 * cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps
13567 even after reload, just don't remove the actual jump tables.
13568
53dd3be3 135692004-01-17 J. Brobecker <brobecker@gnat.com>
e7d23ce3
B
13570
13571 * dwarf2out.c (is_subrange_type): Renamed from is_ada_subrange_type().
13572 Remove checks for is_ada() and TREE_UNSIGNED.
13573 (subrange_type_die): Emit a byte_size attribute if the subrange
13574 type size is different from the base type size.
13575 (modified_type_die): Replace call to is_ada_subrange_type() by
13576 call to is_subrange_type().
13577
8582b18a
AP
135782004-01-16 Andrew Pinski <pinskia@physics.uc.edu>
13579
13580 * config/sh/sh.c: Include ggc.h.
13581
73e61092
GK
135822004-01-16 Geoffrey Keating <geoffk@apple.com>
13583
13584 * Makefile.in (MD5_H): New.
13585 (fold-const.o): Depend on md5.h.
13586 (dwarf2out.o): Likewise.
13587 (cppfiles.o): Likewise.
13588 * cppfiles.c: Include md5.h.
13589 (should_stack_file): Check against list read from PCH file.
13590 (struct pchf_data): New.
13591 (pchf): New variable.
13592 (struct pchf_adder_info): New.
13593 (pchf_adder): New.
13594 (pchf_save_compare): New.
13595 (_cpp_save_file_entries): New.
13596 (_cpp_read_file_entries): New.
13597 (struct pchf_compare_data): New.
13598 (pchf_compare): New.
13599 (check_file_against_entries): New.
13600 * cpphash.h (_cpp_save_file_entries): Prototype.
13601 (_cpp_read_file_entries): Prototype.
13602 * cpppch.c (cpp_write_pch_state): Write the list of headers.
13603 (cpp_read_state): Read the list of headers.
13604
3b75d796
JH
136052004-01-17 Jan Hubicka <jh@suse.cz>
13606
13607 * c-common.c (c_estimate_num_insns_1): Handle builtin_constant_p and
13608 builtin_expect specially.
13609 * params.def (PARAM_MAX_INLINE_INSNS_AUTO): Set to 100.
13610 (PARAM_LARGE_FUNCTION_INSNS): Set to 3000.
13611 * invoke.texi (max-inline-insns-single): Set to 100.
13612 (large-function-insns): Set to 3000.
13613
cf551fba
EC
136142004-01-16 Eric Christopher <echristo@redhat.com>
13615 Chandrakala Chavva <cchavva@redhat.com>
13616
13617 * cppcharset.c (one_iso88591_to_utf8): New function.
13618 (convert_iso88591_utf8): Ditto. Use.
13619 (conversion_tab): Use.
13620 (_cpp_input_to_utf8): New function.
13621 (_cpp_init_iconv_buffer): Ditto.
13622 (_cpp_close_iconv_buffer): Ditto.
13623 * cpphash.h: Prototype new functions.
13624 (cpp_buffer): Add input_cset_desc.
13625 * cppinit.c: Add input_charset default.
13626 * cpplib.c (cpp_push_buffer): Support init and
13627 close of iconv.
13628 * cpplib.h (cpp_options): Add input_charset.
13629
510d1e80
KH
136302004-01-16 Kazu Hirata <kazu@cs.umass.edu>
13631
13632 * system.h (ASM_OUTPUT_SECTION_NAME): Poison.
13633 * config/alpha/unicosmk.h: Remove a commented-out definition
13634 of ASM_OUTPUT_SECTION_NAME.
13635 * config/stormy16/stormy16.h: Likewise.
13636
fb2c2608
RO
136372004-01-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13638
13639 * fixinc/inclhack.def (alpha___extern_prefix): Renamed to ...
13640 (alpha___extern_prefix_sys_stat): ... this.
13641 Apply to <sys/mount.h>, too.
13642 Tweak to match more variations.
13643 * fixinc/tests/base/sys/stat.h: Adapt for new hackname.
13644
13645 * fixinc/inclhack.def (alpha___extern_prefix,
cf551fba 13646 alpha___extern_prefix_standards): New hacks to obey
c53bdcf5 13647 __PRAGMA_EXTERN_PREFIX.
fb2c2608
RO
13648 * fixinc/tests/base/testing.h [ALPHA___EXTERN_PREFIX_CHECK]: New
13649 test.
13650 * fixinc/tests/base/standards.h: Likewise.
cf551fba 13651
fb2c2608
RO
13652 * fixincl/inclhack.def (alpha_pthread): Tweak to match more
13653 variations.
13654 New testcase.
13655 * fixinc/tests/base/pthread.h: Handle it.
cf551fba 13656
fb2c2608
RO
13657 * fixincl/inclhack.def (bad_lval): Sort file list.
13658 Add many missing files up to Tru64 UNIX V5.1B.
13659 * gcc/fixinc/tests/base/libgen.h: Renamed to ...
13660 * gcc/fixinc/tests/base/dirent.h: ... this to match new file list
13661 order.
cf551fba 13662
fb2c2608
RO
13663 * fixinc/fixincl.x: Regenerate.
13664
79a76d65
MM
136652004-01-16 Mark Mitchell <mark@codesourcery.com>
13666
13667 * version.c (version_string): Change to 3.5.0.
13668 * doc/include/gcc-common.texi (version-GCC): Likewise.
13669
965514bd
JH
136702004-01-16 Jan Hubicka <jh@suse.cz>
13671
13672 * i386.md (load_tp_di): Fix pasto.
13673
13674 PR opt/13608
13675 * i386.c (ix86_compute_frame_layout): Fix for alloca on leaf function.
13676
13677 * c-pretty-print.c (pp_c_type_cast, pp_c_abstract_declarator,
13678 pp_c_character_constant, pp_c_floating_constant,
13679 pp_c_additive_expression, pp_c_shift_expression,
13680 pp_c_equality_expression, pp_c_and_expression,
13681 pp_c_exclusive_or_expression, pp_c_inclusive_or_expression,
13682 pp_c_logical_and_expression): Remove inline modifier.
13683 * dwarf2out.c (get_AT): Likewise.
13684 * et-forest.c (et_splay): Likewise.
13685 * ra.h (ra_alloc, ra_calloc): Likewise
13686
87b483a1
KH
136872004-01-16 Kazu Hirata <kazu@cs.umass.edu>
13688
13689 * config/frv/frv-protos.h: Fix comment formatting.
13690 * config/frv/frv.c: Likewise.
13691 * config/frv/frv.h: Likewise.
13692 * config/frv/frv.md: Likewise.
13693 * config/frv/frvbegin.c: Likewise.
13694 * config/frv/frvend.c: Likewise.
13695
16201823
KH
136962004-01-16 Kazu Hirata <kazu@cs.umass.edu>
13697
13698 * system.h (LINKER_DOES_NOT_WORK_WITH_DWARF2): Poison.
13699 * doc/tm.texi (PREFERRED_DEBUGGING_TYPE): Don't mention
13700 LINKER_DOES_NOT_WORK_WITH_DWARF2.
13701 (LINKER_DOES_NOT_WORK_WITH_DWARF2): Remove.
13702
115df136
R
137032004-01-16 J"orn Rennecke <joern.rennecke@superh.com>
13704
5ed5fd90 13705 PR 11864
115df136
R
13706 * postreload.c (reload_cse_simplify_operands): Don't remove
13707 implicit extension from LOAD_EXTEND_OP.
13708
e24e7211
JH
137092004-01-16 Jan Hubicka <jh@suse.cz>
13710
8c80adb7
SB
13711 PR opt/11350
13712 * cfgcleanup.c (try_optimize_cfg): Suppress tablejump removal
e24e7211 13713 after reload.
8c80adb7
SB
13714 * cfgrtl.c (rtl_can_merge_blocks, cfglayout_can_merge_blocks,
13715 rtl_try_redirect_by_replacing_branch): Likewise.
e24e7211 13716
b0fadda7
GK
137172004-01-15 Geoffrey Keating <geoffk@apple.com>
13718
b604074c
GK
13719 PR pch/13689
13720 * alias.c (struct alias_set_entry): Mark for GC.
13721 (alias_sets): Make static, mark for GC.
13722 (record_alias_subset): Use GC to allocate alias structures.
13723 * varray.c (element): Make generic varrays GCed.
13724
a6dd4094
GK
13725 PR pch/13361
13726 * c-typeck.c (constructor_asmspec): Delete.
13727 (struct initializer_stack): Delete field 'asmspec'.
13728 (start_init): Delete saving of asmspec.
13729 (finish_init): Don't update constructor_asmspec.
13730 * dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
13731 * stmt.c (expand_asm): Duplicate strings from tree.
13732 (expand_asm_operands): Likewise.
13733 * tree.c (tree_size): Update computation of size of STRING_CST.
13734 (make_node): Don't make STRING_CST nodes.
13735 (build_string): Allocate string with tree node.
13736 * tree.def (STRING_CST): Update comment.
13737 * tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
13738 (tree_string): Place contents of string in tree node.
13739 * config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
13740 from tree.
13741
b0fadda7
GK
13742 * config/rs6000/rs6000.c (rs6000_va_arg): No need to special-case
13743 altivec operands.
13744
e0a21ab9
KH
137452004-01-15 Kazu Hirata <kazu@cs.umass.edu>
13746
13747 * c-common.h: Fix comment formatting.
13748 * c-cppbuiltin.c: Likewise.
13749 * c-pragma.c: Likewise.
13750 * calls.c: Likewise.
13751 * collect2.c: Likewise.
13752 * cppcharset.c: Likewise.
13753 * cpptrad.c: Likewise.
13754 * dbxout.c: Likewise.
13755 * defaults.h: Likewise.
13756 * dwarf2out.c: Likewise.
13757 * fold-const.c: Likewise.
13758 * genautomata.c: Likewise.
13759 * genconditions.c: Likewise.
13760 * genflags.c: Likewise.
13761 * gengtype.c: Likewise.
13762 * integrate.c: Likewise.
13763 * loop.c: Likewise.
13764 * predict.c: Likewise.
13765 * sdbout.c: Likewise.
13766
f57fc998
ZW
137672004-01-15 Zack Weinberg <zack@codesourcery.com>
13768
13769 * config/ia64/ia64.md (*movti_internal): C output template
13770 extracted to ia64.c.
13771 (*movti_internal_reg): Delete.
13772 (reload_inti, reload_outti): Use the correct mode on operand 2
13773 in the first place, don't fix it up in the output template.
13774 (movtf, reload_ointf, reload_outtf): New expanders.
13775 (*movtf_internal): New define_insn_and_split.
13776 * config/ia64/ia64.c (ia64_split_timode): Rename to ia64_split_tmode;
13777 make static; do not hand TFmode CONST_DOUBLEs to split_double.
13778 (ia64_split_tmode_move): New function, body mostly pulled
13779 from ia64.md:*movti_internal.
13780 (ia64_function_arg_words): New function, extracted common
13781 logic from ia64_function_arg et seq.
13782 (ia64_function_arg_offset): Likewise. Handle correctly the
13783 case of a scalar quantity 16 bytes wide with only 8-byte alignment.
13784 (ia64_function_arg, ia64_function_arg_partial_nregs)
13785 (ia64_function_arg_advance): Use ia64_function_arg_words and
13786 ia64_function_arg_offset.
13787 (ia64_function_value): TCmode does not go in float regs.
13788 (ia64_secondary_reload_class): Also handle TFmode.
13789 * config/ia64/ia64-protos.h: Remove prototype for
13790 ia64_split_timode; add prototype for ia64_split_tmode_move.
13791
e9c4897b
KC
137922004-01-15 Kelley Cook <kcook@gcc.gnu.org>
13793
13794 * Makefile.in (MAINT): Make it an immediate assignment.
13795
5a67e41f
KH
137962004-01-15 Kazu Hirata <kazu@cs.umass.edu>
13797
13798 * config/m32r/m32r.md: Remove useless calls to gen_lowpart.
13799
340f6494
KH
138002004-01-15 Kazu Hirata <kazu@cs.umass.edu>
13801
13802 * config/h8300/coff.h: Replace Hitachi with Renesas.
13803 * config/h8300/elf.h: Likewise.
13804 * config/h8300/h8300-protos.h: Likewise.
13805 * config/h8300/h8300.c: Likewise.
13806 * config/h8300/h8300.h: Likewise.
13807 * config/h8300/h8300.md: Likewise.
13808 * config/h8300/lib1funcs.asm: Likewise.
13809
c954844a
AP
138102004-01-15 Andrew Pinski <apinski@apple.com>
13811
13812 * config/rs6000/rs6000.c (uses_TOC): Wrap #if TARGET_ELF
13813 around it.
13814
34bf1fe3
KH
138152004-01-15 Kazu Hirata <kazu@cs.umass.edu>
13816
13817 * config/h8300/h8300.c (h8300_return_in_memory): New.
13818 (TARGET_STRUCT_VALUE_RTX): Likewise.
13819 (TARGET_RETURN_IN_MEMORY): Likewise.
13820 * config/h8300/h8300.h (STRUCT_VALUE): Remove.
13821 (RETURN_IN_MEMORY): Likewise.
13822
e5396f90
RE
138232004-01-15 Richard Earnshaw <rearnsha@arm.com>
13824
13825 PR optimization/13375
13826 * gcse.c (handle_avail_expr): Just return if the source is not a
13827 single set.
13828
46049cff
RE
138292004-01-15 Richard Earnshaw <rearnsha@arm.com>
13830 Daniel Jacobowitz <drow@mvista.com>
13831
13832 * arm/lib1funcs.asm (ARM_FUNC_START): Correct interworking case.
13833 (EQUIV): Define.
13834 (ARM_FUNC_ALIAS): New macro.
13835 * arm/ieee754-df.S (gedf2, ledf2, nedf2, eqdf2): Use it.
13836 * arm/ieee754-sf.S (gesf2, lesf2, nesf2, eqsf2): Use it.
13837
2fabc3d6
JDA
138382004-01-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13839
13840 PR optimization/12372
13841 * calls.c (expand_call): Add call_fusage data for stack arguments in
13842 constant calls.
13843
3c9eb5f4
AM
138442004-01-15 Alan Modra <amodra@bigpond.net.au>
13845
13846 * config/rs6000/rs6000.c (uses_TOC): Correct comment. Make static.
13847 (rs6000_elf_declare_function_name): Formatting.
13848 * config/rs6000/rs6000-protos.h (uses_TOC): Remove declaration.
13849
c7866154
JH
138502004-01-15 Jan Hubicka <jh@suse.cz>
13851
13852 PR bootstrap/13692
13853 * sched-deps.c (sched_analyze_1, sched_analyze_2): Fix thinko in
13854 previous patch.
13855
ad5d827d
RH
138562004-01-15 Richard Henderson <rth@redhat.com>
13857
13858 * config/alpha/alpha.h (REG_ALLOC_ORDER): Reorder fp regs after
13859 integer regs of the same call-savedness.
13860
66e07510
AS
138612004-01-15 Andreas Schwab <schwab@suse.de>
13862
13863 PR bootstrap/13562
13864 * config/m68k/m68k.c (output_move_const_into_data_reg): Clear cc
13865 status for NOTB/NOTW/NEGW methods.
13866
7c12f388
KH
138672004-01-15 Kazu Hirata <kazu@cs.umass.edu>
13868
13869 * doc/invoke.texi: Update dump file names. Fix a typo.
13870
4a7bb550
KH
138712004-01-15 Kazu Hirata <kazu@cs.umass.edu>
13872
13873 * builtins.c (expand_builtin_va_end): Don't use
13874 EXPAND_BUILTIN_VA_END.
13875 * system.h (EXPAND_BUILTIN_VA_END): Poison.
13876 * config/d30v/d30v.h: Remove a commented-out definition of
13877 EXPAND_BUILTIN_VA_END.
13878 * config/stormy16/stormy16.h: Likewise.
13879
430fff02
KH
138802004-01-15 Kazu Hirata <kazu@cs.umass.edu>
13881
13882 * system.h (STRUCT_VALUE_INCOMING_REGNUM): Poison.
13883 * targhooks.c (default_struct_value_rtx): Don't use
13884 STRUCT_VALUE_INCOMING_REGNUM.
13885
03787dfd
KC
138862004-01-15 Kelley Cook <kcook@gcc.gnu.org>
13887
13888 PR bootstrap/12744
13889 * configure.in: Revamp enable-generated-files-in-srcdir rule to define
13890 GENINSRC and not parsedir. Define srcextra as a langhook.
13891 * configure: Regenerate.
13892 * Makefile.in: Suppress default .l.c rule. Don't substitute
13893 parsedir and delete all references throughout. Conditionally define
13894 rule for srcextra dependent on GENINSRC.
13895 (stmp-docobjdir): Delete.
13896 (c-parse.o, gengtype-lex.o, gengtype-yacc.o): Use implicit build rule.
13897 (srcextra): Copy c-parse.y, c-parse.c, gengtype-lex.c, gengtype-yacc.c,
13898 and gengtype-yacc.h back to source directory.
13899 (maintainer-clean): Delete all parse files in source directory.
13900 (distclean): Delete generated files.
13901
13902 * objc/Make-lang.in (objc-parse.o): Use implicit build rule.
13903 (objc-parse.c, objc-parse.y): Don't use parsedir.
13904 (objc.srcextra): Copy objc-parse.y and objc-parse.c back to source
13905 directory if requested.
13906 (po-generated): Don't use parsedir.
13907 (objc.maintainer-clean): Delete above files from source directory.
13908
04ab46a4
KH
139092004-01-14 Kazu Hirata <kazu@cs.umass.edu>
13910
13911 * doc/tm.texi (FUNCTION_VALUE): Fix a typo.
13912
d624465f
KH
139132004-01-14 Kazu Hirata <kazu@cs.umass.edu>
13914
13915 * doc/tm.texi: Replace RETURN_IN_MEMORY with
13916 TARGET_RETURN_IN_MEMORY.
13917
e1be55d0
JH
139182004-01-15 Jan Hubicka <jh@suse.cz>
13919
13920 * builtins.c (std_expand_builtin_va_arg): Align operand when needed.
13921 * i386.c (init_cumulative_args): Set warn_sse; fix handling of variadic
13922 functions accepting SSE arguments
13923 (function_arg): Warn only when asked to warn.
13924 * i386.h (ix86_args): Add warn_sse/warn_mmx fiels.
13925
f560bf91
JM
139262004-01-14 Joseph S. Myers <jsm@polyomino.org.uk>
13927
13928 * c-parse.in (stmts_and_decls): Make label at end of compound
13929 statement a hard error.
13930
95c755e9
JH
139312004-01-14 Jan Hubicka <jh@suse.cz>
13932
13933 * cgraph.c (create_edge): Use local.redefined_extern_inline.
13934 * cgraph.h (cgraph_local_info): Sort fields by size; add
13935 redefined_extern_inline
13936 (cgraph_global_info): Sort fields by size.
13937 (cgraph_node): Likewise.
13938 * cgraphunit.c (cgraph_finalize_function): Se
13939 local.redefined_extern_inline on redefinition.
13940 (cgraph_analyze_function): Use it; fix formating.
13941
84568e14
JH
139422004-01-14 Jan Hubicka <jh@suse.cz>
13943
13944 PR c++/10776
13945 * sched-deps.c (trye_dependency_cache, anti_dependency_cache,
13946 outptu_dependency_cache, forward_dependency_cahe): Trun to vectors of
13947 bitmaps
13948 (cache_size): New variable
13949 (add_dependence): Update use; canonize early memory locations
13950 (sched_analyze_1): Likewise.
13951 (sched_analyze_2): Likewise.
13952 (init_dependency_caches): Initialize bitmaps.
13953 (free_dependency_caches): Free bitmaps
13954
3a179764
KH
139552004-01-14 Kazu Hirata <kazu@cs.umass.edu>
13956
13957 * calls.c: Replace STRICT_ARGUMENT_NAMING in comments with
13958 targetm.calls.strict_argument_naming().
13959 * target.h: Likewise.
13960
b298f00f
RH
139612004-01-14 Richard Henderson <rth@redhat.com>
13962
13963 PR debug/13231
13964 * dwarf2out.c (dwarf2out_stack_adjust): Skip prologue and epilogue
13965 instructions.
13966
1bddbeb4
RH
139672004-01-14 Richard Henderson <rth@redhat.com>
13968
13969 PR c++/12491
13970 * except.c (struct eh_region): Add u.fixup.resolved.
13971 (resolve_one_fixup_region): Split out from ...
13972 (resolve_fixup_regions): ... here.
13973
4eb31d4f
KH
139742004-01-14 Kazu Hirata <kazu@cs.umass.edu>
13975
13976 * config/mn10300/mn10300.h (STRUCT_VALUE): Change to 0.
13977
16f425fc
KH
139782004-01-14 Kazu Hirata <kazu@cs.umass.edu>
13979
13980 * config/alpha/alpha.h (STRUCT_VALUE): Remove.
13981 * config/alpha/vms.h (STRUCT_VALUE_REGNUM): Remove #undef.
13982 (STRUCT_VALUE): Remove.
13983
4850c982 139842004-01-14 Steven Bosscher <stevenb@suse.de>
616f6d84
SB
13985
13986 * system.h: Poison PROMOTED_MODE
13987 * integrate.c (expand_inline_function): Don't mention the
13988 PROMOTED_MODE.
13989 * loop.c (update_giv_derive): Same.
13990 * tree.h (DECL_RTL): Same.
13991
f9654065
R
139922004-01-14 J"orn Rennecke <joern.rennecke@superh.com>
13993
13994 PR target/9365
13995 * sh.c (gen_block_redirect): Add special handling of RETURN.
13996 (gen_far_branch) Don't call gen_stuff_delay_slot if there is no
13997 far branch target (i.e. it's a return).
13998
abbe8578
KH
139992004-01-14 Kazu Hirata <kazu@cs.umass.edu>
14000
14001 * regrename.c (find_oldest_value_reg): Fix a warning.
14002
192c8d78
RE
140032004-01-14 Richard Earnshaw <rearnsha@arm.com>
14004
14005 PR bootstrap/12527
14006 * config.gcc (arm*-*-linux*): Don't include unknown-elf.h in tm_file.
14007 Move linux-gas.h and linux-elf.h before aout.h.
14008 * arm/arm.h (INITIALIZE_TRAMPOLINE): Only define if not already.
14009 * arm/linux-elf.h (SUBTARGET_CPU_DEFAULT): Define.
14010
e512ab39
KH
140112004-01-14 Kazu Hirata <kazu@cs.umass.edu>
14012
14013 * config/m32r/m32r.md: Use GEN_INT instead of gen_rtx
14014 (CONST_INT, VOIDmode, ...).
14015
684bcee5
RE
140162004-01-14 Richard Earnshaw <rearnsha@arm.com>
14017
f57fc998 14018 * regrename.c (find_oldest_value_reg): If the replacement uses
684bcee5
RE
14019 multiple hard registers, check that all of them are in CLASS.
14020
e7844ffb
JH
140212004-01-14 Jan Hubicka <jh@suse.cz>
14022
14023 * alias.c (get_alias_set): Initialize alias set to 0 when subset is
14024 impossible.
14025
73e232f0
KC
140262004-01-14 Kelley Cook <kcook@gcc.gnu.org>
14027
14028 * Makefile.in: Define MAINT from --enable-maintainer-mode.
14029
4d774ff8
HP
140302004-01-14 Hartmut Penner <hpenner@de.ibm.com>
14031
14032 * gcc/config/rs6000/rs6000.c (rs6000_stack_info)
14033 Calculate always vrsave_mask if TARGET_ALTIVEC.
14034 (rs6000_emit_prologue): Emit code for vrsave
14035 only if TARGET_ALTIVEC_VRSAVE.
14036 (rs6000_emit_epilogue): Likewise.
14037
fa1090f5
EB
140382004-01-14 Eric Botcazou <ebotcazou@libertysurf.fr>
14039
14040 * config/sparc/sparc.md (tie_add32): Fix pasto.
14041 (tie_add64): Likewise.
14042
79551a56
ZD
140432004-01-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
14044
14045 * config/i386/i386.md (*addqi_1_slp): Do not access operands[2].
14046
5b8d96f1
KH
140472004-01-13 Kazu Hirata <kazu@cs.umass.edu>
14048
14049 * config/iq2000/iq2000-protos.h: Fix comment formatting.
14050 * config/iq2000/iq2000.c: Likewise.
14051 * config/iq2000/iq2000.md: Likewise.
14052
b98d154e
B
140532004-01-14 J. Brobecker <brobecker@gnat.com>
14054
14055 * dwarf2out.c (is_ada_subrange_type): No longer check the TYPE_NAME.
14056 (subrange_type_die): Add handle for nameless subrange types.
14057
1a793acf
KH
140582004-01-13 Kazu Hirata <kazu@cs.umass.edu>
14059
14060 * config/h8300/h8300-protos.h: Replace do_movsi with
14061 h8300_expand_movsi.
14062 * config/h8300/h8300.c (do_movsi): Change to
14063 h8300_expand_movsi.
14064 * config/h8300/h8300.md (movsi): Replace do_movsi with
14065 h8300_expand_movsi.
14066 (movsf): Likewise.
14067
81ad9ded
KH
140682004-01-13 Kazu Hirata <kazu@cs.umass.edu>
14069
14070 * config/h8300/h8300.c (dosize): Change to
14071 h8300_emit_stack_adjustment. Update callers.
14072
3f0063ab
KH
140732004-01-13 Kazu Hirata <kazu@cs.umass.edu>
14074
14075 * config/h8300/h8300.md (movstrictqi): Add an alternative with
14076 the source being post_inc. Tighten the predicate for the
14077 destination to register_operand.
14078 (movstricthi): Likewise.
14079
abf843c4
KH
140802004-01-13 Kazu Hirata <kazu@cs.umass.edu>
14081
14082 * system.h (SHARED_BSS_SECTION_ASM_OP): Poison.
14083 * varasm.c (bss_section): Don't use SHARED_BSS_SECTION_ASM_OP.
14084 * doc/tm.texi (SHARED_BSS_SECTION_ASM_OP): Remove.
14085
4b589eab
JH
140862004-01-14 Jan Hubicka <jh@suse.cz>
14087
d34cb6a1
JH
14088 Partial fix PR c++/12850
14089 * cgraphunit.c (cgraph_finalize_function): Always ggc_collect when
14090 at zero nest level.
4b589eab 14091
9ff2cabc
BI
140922004-01-13 Bernardo Innocenti <bernie@develer.com>
14093
14094 * config/m68k/netbsd-elf.h (REGISTER_NAMES): Add missing "argptr"
f57fc998 14095 pseudo-register.
9ff2cabc 14096
a4d8ec65
DP
140972004-01-13 Devang Patel <dpatel@apple.com
14098
14099 PR debug/7078
f57fc998 14100 * dbxout.c (dbxout_symbol_name): Emit mangled names for
a4d8ec65 14101 NAMESPACE_DECL memebers.
f57fc998 14102
bfaba7a9
AP
141032004-01-13 Andrew Pinski <pinskia@physics.uc.edu>
14104
14105 PR c++/12709
14106 * c-common.c (finish_fname_decls): Use the chain only if the
14107 tree is an expr_stmt.
14108
dfa849f3
VM
141092004-01-13 Vladimir Makarov <vmakarov@redhat.com>
14110
616f6d84 14111 * rtl.def: Add comment about new option in automata_option.
f57fc998 14112
dfa849f3
VM
14113 * genautomata.c (PROGRESS_OPTION): New macro.
14114 (progress_flag): New global variable.
14115 (gen_automata_option): Process `progress'.
14116 (transform_insn_regexps, check_unit_distributions_to_automata,
14117 make_automaton, NDFA_to_DFA, build_automaton, create_automata,
14118 expand_automata, write_automata): Print about the progress only if
14119 progress_flag. Remove fflush.
14120 (initiate_automaton_gen): Process command line flag `-progress'.
14121
14122 * doc/md.texi: Describe the new option.
f57fc998 14123
9405162e
ZD
141242004-01-13 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
14125
14126 * cfg.c (dump_bb): Dump entry edges.
14127
f954388e
RE
141282004-01-13 Richard Earnshaw <rearnsha@arm.com>
14129
f57fc998 14130 * arm.c (thumb_legitimate_address_p): Only allow constant pool
f954388e
RE
14131 references from SImode.
14132 * arm.md (thumb_movhi_insn): Don't allow minipool references.
14133
0fe7abcc
KH
141342004-01-13 Kazu Hirata <kazu@cs.umass.edu>
14135
14136 * system.h (TEXT_SECTION): Poison.
14137 * varasm.c (text_section): Don't use TEXT_SECTION.
14138 * config/sh/sh.c (sh_file_start): Fix a comment typo.
14139 * doc/tm.texi (TEXT_SECTION): Remove.
14140
fdb07791
BE
141412004-01-13 Ben Elliston <bje@wasabisystems.com>
14142
14143 * doc/rtl.texi (Vector Operations): Remove defunct vec_const item.
14144
56067bbe
JW
141452004-01-12 James E Wilson <wilson@specifixinc.com>
14146
14147 * unwind-libunwind.c: Delete.
14148
bc298aa7
ZW
141492004-01-12 Zack Weinberg <zack@codesourcery.com>
14150
14151 PR 13656
14152 * c-decl.c (diagnose_mismatched_decls): Whenever newtype or
14153 oldtype is set, set *newtypep or *oldtypep too. Do not set
14154 them at the very end.
14155 (validate_proto_after_old_defn): Restructure for comprehensibility;
14156 make error messages clearer.
14157
12a08b40
ZW
141582004-01-12 Zack Weinberg <zack@codesourcery.com>
14159
14160 * varray.h (VARRAY_POP): Add checking variant, aborts on underflow.
14161 (VARRAY_TOP): Use VARRAY_CHECK so the access is bounds-checked.
14162 * varray.c: No need to prototype error.
14163 (varray_check_failed): Wrap long string onto two lines.
14164 (varray_underflow): New function.
14165
faed5cc3
SB
141662004-01-13 Steven Bosscher <stevenb@suse.de>
14167
14168 PR c++/13376
14169 * function.h (struct function): Kill `name' field.
14170 (current_function_name): Make it an extern function.
14171 * function.c (current_function_name): New function.
14172 * graph.c: Update all uses of current_function_name.
14173 * gcse.c: Likewise.
14174 * config/alpha/alpha.c, config/avr/avr.c, config/c4x/c4x.c,
14175 config/mips/mips.c, config/pdp11/pdp11.c: Likewise.
14176 * config/ip2k/ip2k.c (function_prologue): Use MAIN_NAME_P
14177 instead of a strcmp with "main".
14178
2d327012
JH
141792004-01-13 Jan Hubicka <jh@suse.cz>
14180
0bb03c11
JH
14181 * c-decl.c (diagnose_mismatched_decls): Fix warning calls.
14182
2d327012
JH
14183 * cgraphunit.c (cgraph_optimize_function): Always do
14184 optimize_inline_calls when there is always_inline callee.
14185 (cgraph_decide_inlining): Fix formating.
14186 * tree-inline.c (inlinable_function_p): Do sorry for alwaysinline
14187 functions.
14188 (expand_call_inline): Likewise.
14189 * toplev.h (sorry): Fix prototype.
14190
04cc79bb
RS
141912004-01-12 Roger Sayle <roger@eyesopen.com>
14192
14193 * builtins.c (expand_builtin_expect_jump): Simplify logic. Handle
14194 conditional jumps that drop through to unconditional jumps or the
14195 end of the sequence.
14196
3416f5c2
JH
141972004-01-13 Jan Hubicka <jh@suse.cz>
14198
14199 * alias.c (new_alias_set): Construct the alias_set varray.
14200 (init_alias_once): Don't do it here.
14201
f92ed976
ME
142022004-01-12 Marc Espie <espie@openbsd.org>
14203
14204 * system.h: handle YYBYACC like YYBISON.
14205
ff2aaa93
JM
142062004-01-12 Jonathan Merriman <jonm@dualitymedia.com>
14207
14208 PR target/10847
14209 * config.gcc: No longer includes conflicting header sparc/sol2.h when
14210 building on sparc64-*-openbsd*.
14211
c5ff9123
AP
142122004-01-12 Andrew Pinski <pinskia@physics.uc.edu>
14213
14214 PR debug/13539
14215 * dbxout.c (dbxout_type): Protected inheritance is not
14216 private but protected.
14217
3cd2a183
RS
142182004-01-12 Richard Sandiford <rsandifo@redhat.com>
14219
14220 * config/mips/mips.c (mips_symbolic_constant_p): Revert last patch.
14221
5c881655
KH
142222004-01-12 Kazu Hirata <kazu@cs.umass.edu>
14223
14224 PR optimization/12508.
14225 * combine.c (try_combine): Remove a dead set in a parallel
14226 even if its destination is a subreg.
14227
14228 Revert:
14229 2003-06-03 Kazu Hirata <kazu@cs.umass.edu>
14230 * combine.c (simplify_set): Don't move a subreg in SET_SRC to
14231 SET_DEST if WORD_REGISTER_OPERATIONS is not defined.
14232
a42f8ae7 142332004-01-12 Geoffrey Keating <geoffk@apple.com>
affad9a4
GK
14234
14235 * real.c: Update copyright date.
14236 * emit-rtl.c: Likewise.
14237 * rtl.h: Likewise.
14238 * dwarf2out.c: Likewise.
14239 * config/rs6000/darwin-ldouble.c: Likewise.
14240 * config/rs6000/rs6000.md: Likewise.
14241
4274207b
DE
142422004-01-12 David Edelsohn <edelsohn@gnu.org>
14243
14244 * config/rs6000/rs6000.c (rs6000_init_libfuncs): Add AIX
14245 TFmode to SImode libfuncs.
14246
06e4eab5
RS
142472004-01-12 Roger Sayle <roger@eyesopen.com>
14248
14249 PR middle-end/11397
14250 * varasm.c (assemble_alias): Remove weak aliases from weak_decls.
14251
432f982f
JH
142522004-01-12 Jan Hubicka <jh@suse.cz>
14253
14254 PR opt/12826
14255 * loop.c (insert_loop_mem): Preffer VOLATILE memory references to be
14256 stored.
14257
14258 PR opt/12863
14259 * cfgcleanup.c (label_is_jump_target_p): Move to...
14260 * rtlanal.c (label_is_jump_target_p): ... here.
14261 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Fix redirecting of fallthru
14262 edges unified with branch edges.
14263
8064d930
RE
142642004-01-12 Richard Earnshaw <rearnsha@arm.com>
14265
14266 * simplify-rtx.c (simplify_immed_subreg): Correctly extract the
14267 high word of an integral CONST_DOUBLE.
14268
1c48f4be 142692004-01-12 Paul Brook <paul@codesourcery.com>
0786ca87
PB
14270
14271 * simplify-rtx.c (simplify_plus_minus): Always generate canonical form.
14272
68d2b0bb 142732004-01-12 J"orn Rennecke <joern.rennecke@superh.com>
07d7d2f4
R
14274
14275 PR target/13585
14276 * sh-protos.h (check_use_sfunc_addr): Declare.
14277 * sh.c (extract_sfunc_addr, check_use_sfunc_addr): New functions.
14278 * sh.md (use_sfunc_addr): Use check_use_sfunc_addr in insn predicate.
14279
c65ecebc
JH
142802004-01-12 Jan Hubicka <jh@suse.cz>
14281
9ddb66ca
JH
14282 * alias.c: Invlude varray.h
14283 (alias_sets): Turn into varray.
14284 (get_alias_set_entry): Use VARRAY; mark inline.
14285 (mems_in_disjoint_alias_sets_p): Mark inline.
14286 (record_alias_subset): Use varray.
14287 (init_alias_once): Initialize varray.
14288 (new_alias_set): Grow array.
14289 * varray.c: Make VARRAY_GENERIC_PTR non GTYized.
14290
142912004-01-12 Jan Hubicka <jh@suse.cz>
14292
14293 Partial fix for PR opt/10776 II
c65ecebc
JH
14294 * cselib.c: Include params.h
14295 (cselib_invalidate_mem): Limit amount of nonconflicting memory
14296 locations.
14297 * params.def (PARAM_MAX_CSELIB_MEMORY_LOCATIONS): New.
14298 * Makefile.in (cselib.o): Depend on params.h
14299
c0657872
RS
143002004-01-12 Richard Sandiford <rsandifo@redhat.com>
14301
14302 * combine.c (combine_simplify_rtx): Don't pass VOIDmode to
14303 simplify_unary_operation if the operand has a known mode.
14304
d2288d5d
HP
143052004-01-12 Hartmut Penner <hpenner@de.ibm.com>
14306
b40ee5d6 14307 PR target/13534
d2288d5d
HP
14308 * gcc/config/rs6000/rs6000.c (word_offset_memref_operand): New
14309 predicate to handle 'ld' conform addresses.
14310 * gcc/config/rs6000/rs6000.h (EXTRA_CONSTRAINT): New 'Y'
14311 contraint.
14312 (EXTRA_MEMORY_CONSTRAINT): Tell reload which constraint
14313 are memory contraints.
12a08b40 14314 * gcc/config/rs6000/rs6000-protos.h (word_offset_memref_operand):
d2288d5d 14315 New prototype.
12a08b40 14316 * gcc/config/rs6000/rs6000.md (*movdf_hardfloat64):
d2288d5d
HP
14317 Change 'o' to 'Y' constraint.
14318 (*movdf_softfloat64): Ditto.
12a08b40 14319
c223cf45
BI
143202004-01-12 Bernardo Innocenti <bernie@develer.com>
14321
14322 * gcc/config/m68k/m68k.md: Switch from the "*..." syntax to the
14323 brace-enclosed syntax in all C output statements.
14324
5fc921c1
DE
143252004-01-12 David Edelsohn <edelsohn@gnu.org>
14326
14327 PR target/13401
14328 * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
14329 Objective-C language type value is 14.
14330
48568ec7
MO
143312004-01-12 Markus F.X.J. Oberhumer <markus@oberhumer.com>
14332
14333 PR c/12148
14334 * config/m68k/fpgnulib.c: Fix `-mshort' bugs: Use `long' instead of
14335 `int' in a number of places to make sure we always have a SImode
14336 and not a HImode. Add a 'L' suffix to a number of constants.
14337
124c9423
JDA
143382004-01-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
14339
14340 * pa.c: Don't include obstack.h.
14341
14342 * pa.md: Correct constraint in pattern for loading PIC label address.
14343
c924f70c
KK
143442004-01-11 Kaz Kojima <kkojima@gcc.gnu.org>
14345
14346 * config/sh/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Undefine
14347 before defining.
14348
53efeb8d
SB
143492004-01-11 Steven Bosscher <stevenb@suse.de>
14350
1eee14b9 14351 PR fortran/9972
53efeb8d
SB
14352 * toplev.c (rest_of_handle_inline): Also consider functions
14353 for deferral if the language is GNU F77.
14354
d4968a11
ZW
143552004-01-11 Zack Weinberg <zack@codesourcery.com>
14356
14357 * c-decl.c (diagnose_arglist_conflict): Add missing space to
14358 diagnostic messages.
14359
1759c760
JJ
143602004-01-11 Jakub Jelinek <jakub@redhat.com>
14361
14362 PR middle-end/13392
14363 * builtins.c (expand_builtin_expect_jump): Handle conditional jumps
14364 to drop through label. Don't fall back to SCC even when conditional
14365 jump has not been found.
14366
0bcf8261
JH
143672004-01-11 Jan Hubicka <jh@suse.cz>
14368
fb544601
JH
14369 * invoke.texi: Fix syntax error in previous patch.
14370
0bcf8261
JH
14371 Partial fix for PR opt/10776
14372 * Makefile.in (reload.o): Include param.h
14373 * params.def (PARAM_MAX_RELOAD_SEARCH_INSNS): New parameter.
14374 * reload.c: Include params.h.
14375 (find_equiv_reg): Work limiting check.
14376 * invoke.texi: Document.
14377
bd9131c0
RS
143782004-01-11 Richard Sandiford <rsandifo@redhat.com>
14379
14380 * config/mips/mips.c (mips_symbolic_constant_p): Don't allow
14381 out-of-bounds accesses to string constants. Simplify mips16
14382 case accordingly.
14383
6732ee60
RS
143842004-01-11 Richard Sandiford <rsandifo@redhat.com>
14385
14386 PR optimization/13469
14387 * toplev.c (rest_of_compilation): Call purge_all_dead_edges after
14388 reload_cse_regs (-fnon-call-exceptions only).
14389
14bc6742
KH
143902004-01-11 Kazu Hirata <kazu@cs.umass.edu>
14391
14392 * config/mcore/lib1.asm: Fix comment formatting.
14393 * config/mcore/mcore-elf.h: Likewise.
14394 * config/mcore/mcore.c: Likewise.
14395 * config/mcore/mcore.h: Likewise.
14396 * config/mcore/mcore.md: Likewise.
14397
3c6e6fbf
ZW
143982004-01-10 Zack Weinberg <zack@codesourcery.com>
14399
14400 * c-decl.c (duplicate_decls): Break apart into...
14401 (diagnose_arglist_conflict, validate_proto_after_old_defn)
14402 (locate_old_defn, diagnose_mismatched_decls, merge_decls):
14403 ... these new functions. Restructure for comprehensibility.
14404 Remove various archaic special cases. Always report the
14405 location of the previous declaration when a diagnostic is issued.
14406 (redeclaration_error_message): Fold into diagnose_mismatched_decls.
14407 (match_builtin_function_types): Delete unnecessary forward declaration.
14408
1e8dcb41
ZW
144092004-01-10 Zack Weinberg <zack@codesourcery.com>
14410
14411 * genautomata.c (make_automaton, NDFA_to_DFA):
14412 Print progress bars with '.' characters instead of '*'.
14413 (build_automaton): Change notes to match.
14414
a2ab189d
KH
144152004-01-10 Kazu Hirata <kazu@cs.umass.edu>
14416
14417 * config/m32r/m32r.md: Use define_constants for unspec and
14418 unspec_volatile.
14419
cf7cb67e
JH
144202004-01-10 Jan Hubicka <jh@suse.cz>
14421
c8fdcfae 14422 PR opt/11635
cf7cb67e
JH
14423 * expr.c (expand_expr_real): More curefully expand union casts.
14424
0574200c
KH
144252004-01-10 Kazu Hirata <kazu@cs.umass.edu>
14426
14427 * config/m32r/m32r.md (flush_icache): Use 1 for
14428 unspec_volatile.
14429
a2a0019f
DE
144302004-01-10 David Edelsohn <edelsohn@gnu.org>
14431 James E Wilson <wilson@specifixinc.com>
14432
14433 PR debug/12860
14434 * dbxout.c (dbxout_symbol): Remove initialization of
14435 current_sym_code, current_sym_value, and current_sym_addr.
14436 (dbxout_symbol_location): Same.
14437 (dbxout_prepare_symbol): Zero current_sym_code,
14438 current_sym_value, and current_sym_addr.
14439
bb3f5384
RS
144402004-01-10 Richard Sandiford <rsandifo@redhat.com>
14441
14442 * tree.c (get_unwidened): Reorder conditions so that the null pointer
14443 check is done first.
14444
fbfb16e2
EC
144452004-01-09 Eric Christopher <echristo@redhat.com>
14446
14447 * toplev.c (rest_of_handle_cfg): Add reg_scan pass
14448 if we're running mark_constant_function.
14449
cc23f3c7
JB
144502004-01-09 Jeff Bailey <jbailey@nisa.net>
14451
14452 PR target/12561
14453 * config/t-gnu: Rename SYSTEM_HEADER_DIR to NATIVE_SYSTEM_HEADER_DIR.
14454
975421be
AP
144552004-01-09 Andrew Pinski <pinskia@physics.uc.edu>
14456
14457 PR debug/11231
a2a0019f
DE
14458 * dbxout.c (dbxout_type_fields): Return if any item is
14459 error_mark_node or the type is error_mark_node.
975421be 14460
7e4bd541
GK
144612004-01-09 Geoffrey Keating <geoffk@apple.com>
14462
f01519dd
GK
14463 * config/rs6000/darwin-ldouble.c: Add big comment explaining
14464 exactly what is expected as a 'long double'.
14465 (_xlqadd): When a value to be returned is representable as a
14466 'double', just return it directly, do not construct it using a union.
14467 Also, correct final fixup.
14468 (_xlqmul): Likewise.
14469 (_xlqdiv): Likewise.
14470 * real.c (encode_ibm_extended): Make consistent with darwin-ldouble.c.
14471
7e4bd541
GK
14472 * config/rs6000/rs6000.md (fix_trunctfdi2): Delete.
14473
47069ecb
RH
144742004-01-09 Richard Henderson <rth@redhat.com>
14475
14476 * recog.c (constrain_operands): Validate mem operands.
14477
9813058e
JW
144782004-01-09 James E Wilson <wilson@specifixinc.com>
14479
14480 * gcc.c (init_spec): Remove -lunwind from shared case.
14481 * conifg/ia64/t-hpux (SHLIB_LINK): Add -lunwind.
14482
b0fd7d27
SE
144832004-01-09 Steve Ellcey <sje@cup.hp.com>
14484
14485 * configure.ac: (gcc_cv_ld_hidden) Set to true for ia64*-*-hpux*.
14486 * configure: Regenerate
14487
3897f229
JM
144882004-01-09 Joseph S. Myers <jsm@polyomino.org.uk>
14489
14490 PR c/11234
14491 * c-typeck.c (build_c_cast): If pedantic, warn for conversions
14492 between function and object pointers.
14493 (digest_init): When comparing a pointer to function type to the
14494 target type, only apply TREE_TYPE once to the pointer to function
14495 type.
14496 * except.c (for_each_eh_label_1): Treat data as a pointer to a
14497 function pointer rather than casting it to a function pointer.
14498 (for_each_eh_label): Update caller.
14499 * recog.h (struct insn_data): Use a struct or union for output.
14500 * genoutput.c (output_insn_data): Update.
14501 * final.c (get_insn_template): Update.
14502
0fab64a3
MM
145032004-01-09 Mark Mitchell <mark@codesourcery.com>
14504
14505 * expr.h (expand_expr): Make it a macro, not a function.
14506 (expand_expr_real): New function.
14507 * expr.c (store_expr): Adjust logic for deciding whether or not to
14508 copy the value returned by expand_expr.
14509 (expand_expr): Rename to ...
14510 (expand_expr_real): ... this. Add alt_rtl parameter. Adjust
14511 calls to language hooks.
14512 * c-common.h (c_expand_expr): Adjust prototype.
14513 * c-common.c (c_expand_expr): Add alt_rtl parameter.
14514 * langhooks-def.h (lhd_expand_expr): Change prototype.
14515 * langhooks.c (lhd_expand_expr): Add all_rtl parameter.
14516 * langhooks.h (lang_hooks): Change type of expand_expr.
14517 * stmt.c (stmt_status): Add x_last_expr_alt_rtl.
14518 (last_expr_alt_rtl): Likewise.
14519 (expand_expr_stmt_value): Set last_expr_alt_rtl.
14520 (clear_last_expr): Clear it.
14521 (expand_end_stmt_expr): Set RTL_EXPR_ATL_RTL.
14522 (expand_end_bindings): Save and restor last_expr_alt_rtl.
14523 * tree.def (RTL_EXPR): Give it an additional operand.
14524 * tree.h (RTL_EXPR_ALT_RTL): New macro.
9813058e 14525
df68f43b
KI
145262004-01-09 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
14527
14528 * config/m32r/m32r.h (TARGET_CPU_CPP_BUILTINS): Add __m32r__.
900a35c8 14529 * config/m32r/m32r.c (call26_operand): Allow in PIC mode.
df68f43b 14530
58ebda9c
KH
145312004-01-09 Kazu Hirata <kazu@cs.umass.edu>
14532
14533 PR target/13380.
14534 * config/m32r/m32r.md: Replace (reg:SI 17) with (reg:CC 17)
14535 or (ne:SI (reg:CC 17) (const_int 0)).
14536 Be specific about modes wherever possible.
14537
81ad38a6
KH
145382004-01-09 Kazu Hirata <kazu@cs.umass.edu>
14539
14540 * config/m32r/m32r.c (m32r_expand_block_move): Call
14541 gen_movestrsi_internal with two more arguments.
14542 (m32r_output_block_move): Adjust operand numbers.
14543 Properly update the source and destination pointers.
14544 * config/m32r/m32r.md (movstrsi_internal): Use 'r' instead of
14545 'r+'. Change the set detinations to match_operand.
14546
b816f339
KH
145472004-01-09 Kazu Hirata <kazu@cs.umass.edu>
14548
14549 * final.c (FIRST_INSN_ADDRESS): Remove.
14550 (shorten_branches): Don't use FIRST_INSN_ADDRESS.
14551 * system.h (FIRST_INSN_ADDRESS): Poison.
14552 * config/avr/avr.h: Remove a comment about FIRST_INSN_ADDRESS.
14553 * config/m32r/m32r-protos.h: Remove the prototype for
14554 m32r_first_insn_address.
14555 * config/m32r/m32r.c (m32r_first_insn_address): Remove.
14556 * config/m32r/m32r.h (FIRST_INSN_ADDRESS): Likewise.
14557 * doc/md.texi (FIRST_INSN_ADDRESS): Likewise.
14558
de99511b
B
145592004-01-09 J. Brobecker <brobecker@gnat.com>
14560
14561 * dwarf2out.c (gen_enumeration_type_die): Return the DIE that
14562 we just created.
14563 (is_ada_subrange_type): DIEs for enumeration subtypes should be
14564 emitted as subrange types too.
14565 (subrange_type_die): Add handling of enumeration subtypes.
14566
90e4e4c5
RH
145672004-01-08 Richard Henderson <rth@redhat.com>
14568
14569 PR opt/12441
14570 Revert: Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
9813058e
JW
14571 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
14572 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
14573 (ix86_address_cost): Be prepared for SUBREGed registers.
14574 (legitimate_address_p): Accept SUBREGed registers.
90e4e4c5 14575
a6a5e4c9
KC
145762004-01-08 Kelley Cook <kcook@gcc.gnu.org>
14577
14578 * Makefile.in: Rename configure.in to configure.ac
14579 * doc/sourcebuild.texi: Likewise.
14580 * configure: Regenerate.
14581 * config.in: Regenerate.
14582
588f75d0
SH
145832004-01-08 Stuart Hastings <stuart@apple.com>
14584
14585 * config/i386/i386.md: Typos in MMX/SSE immediate shifts.
14586
6242fcd8
JH
145872004-01-08 Jan Hubicka <jh@suse.cz>
14588
14589 * cgraphunit.c (cgraph_decide_inlining): Fix typo.
14590
a29077da
GK
145912004-01-08 Geoffrey Keating <geoffk@apple.com>
14592
ecb62ae7
GK
14593 * config/rs6000/rs6000.md (cmptf_internal1): Correct branch offset.
14594 (UNSPEC_FIX_TRUNC_TF): New constant.
14595 (movtf_internal): Make splitter active only when insn is active.
14596 (extenddftf2): Rewrite to properly load zero into low part.
14597 (extenddftf2_internal): New.
14598 (extendsftf2): Rewrite.
14599 (truncdftf2): Correct length.
14600 (floatditf2): Delete.
14601 (fix_trunc_helper): New.
14602 (fix_trunctfdi2): Use fix_trunc_helper.
14603 (fix_trunctfsi2): Likewise.fix_trunc
14604 (fix_trunctfsi2_internal): New.
14605
a29077da
GK
14606 * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): lo_sum
14607 addresses are legitimate on Darwin even when flag_pic.
14608 (rs6000_legitimize_reload_address) [TARGET_MACHO]: Don't create
14609 non-offsettable addresses for loads of TFmode constants.
14610
cb1f9d03
KI
146112004-01-08 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
14612
14613 * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Actually emit
14614 variables in the appropriate bss section.
14615
7ddb6568
AM
146162004-01-09 Alan Modra <amodra@bigpond.net.au>
14617
14618 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Ensure
14619 target_flags has MASK_POWERPC64 when -m64.
14620 * config/rs6000/rs6000.c (processor_target_table): Add MASK_POWERPC64
14621 to 620, 630, power3, power4 and rs64a entries.
14622 * config/rs6000/rs6000.h (MASK_64BIT): Expand comment.
14623
effdb493
RS
146242004-01-08 Richard Sandiford <rsandifo@redhat.com>
14625
14626 * simplify-rtx.c (simplify_immed_subreg): Fix construction of
14627 floating-point constants.
14628
fbfd77b8
JB
146292004-01-08 J. Brobecker <brobecker@gnat.com>
14630
14631 * dwarf2out.c (subrange_type_die): Add context_die parameter.
14632 Create the subrange_type DIE using the given context DIE.
14633 (modified_type_die): Update call to subrange_type_die.
14634
146352004-01-08 Zack Weinberg <zack@codesourcery.com>
7ce27103
ZW
14636
14637 * dwarf2.h, unwind-dw2-fde.h, unwind-pe.h, unwind.h:
14638 Add multiple-include guard.
14639
ce1f50b2
HP
146402004-01-08 Hartmut Penner <hpenner@de.ibm.com>
14641
7ce27103
ZW
14642 * gcc/config/rs6000/rs6000.c (easy_vector_constant): Accept
14643 all vector constant loadable by vsplt*.
ce1f50b2
HP
14644 (output_vec_const_move): Likewise.
14645
bca63328
JM
146462004-01-07 Joseph S. Myers <jsm@polyomino.org.uk>
14647
14648 PR c/6024
14649 * c-typeck.c (comptypes): Only treat enumerated types in the same
14650 translation unit as compatible with each other when they are the
14651 same type.
14652 * doc/extend.texi: Update.
14653
85b58ca5
JM
146542004-01-07 Joseph S. Myers <jsm@polyomino.org.uk>
14655
14656 PR c/12165
14657 * c-decl.c (grokdeclarator): Take type qualifiers of typedefed
14658 array type from the array element type.
14659
93c9d1ba
AM
146602004-01-07 Alan Modra <amodra@bigpond.net.au>
14661
14662 * config/rs6000/rs6000.c (rs6000_dbx_register_number): New function.
14663 * config/rs6000/rs6000-protos.h (rs6000_dbx_register_number): Declare.
14664 * config/rs6000/rs6000.h (DWARF_FRAME_REGNUM): Define.
14665 (DWARF_REG_TO_UNWIND_COLUMN): Correct column adjustment and comment.
14666 * config/rs6000/sysv4.h (DBX_REGISTER_NUMBER): Define.
14667
deae8de6
EC
146682004-01-06 Eric Christopher <echristo@redhat.com>
14669
14670 * config/mips/mips.h (MDEBUG_ASM_SPEC): Change for dwarf2 default.
14671 (DWARF2_DEBUGGING_INFO): Define.
14672 (PREFERRED_DEBUGGING_TYPE): Set to dwarf2.
14673 * config/mips/openbsd.h (PREFERRED_DEBUGGING_TYPE): Remove.
14674 * config/mips/iris6.h (SUBTARGET_ASM_DEBUGGING_SPEC): Only pass -g0
14675 for irix as.
14676 (SUBTARGET_ASM_OPTIMIZING_SPEC): Only pass O0 for irix as.
14677 * config/mips/iris6gas.h (MDEBUG_ASM_SPEC): Remove.
14678 * config/mips/iris5gas.h: Ditto.
14679 (DBX_DEBUGGING_INFO): Remove.
14680 (DWARF2_DEBUGGING_INFO): Ditto.
14681 (MIPS_DEBUGGING_INFO): Ditto.
14682 (PREFERRED_DEBUGGING_TYPE): Ditto.
14683 * config/mips/elf.h (DWARF2_DEBUGGING_INFO): Remove.
14684 (PREFERRED_DEBUGGING_TYPE): Ditto.
14685 (SUBTARGET_ASM_DEBUGGING_SPEC): Ditto.
14686 * config/mips/elf64.h: Ditto.
14687
fed2b316
JH
146882004-01-06 Jan Hubicka <jh@suse.cz>
14689
14690 * Makefile.in (STAGEPROFILE_FLAGS_TO_PASS): Use -fprofile-generate.
14691 (STAGEFEEDBACK_FLAGS_TO_PASS): Use -fprofile-use.
14692
64d961b8
GK
146932004-01-06 Geoffrey Keating <geoffk@apple.com>
14694
084f5a35
GK
14695 * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Compile darwin-ldouble.c.
14696 (TARGET_LIBGCC2_CFLAGS): Use -mlong-double-128.
14697 * config/rs6000/darwin-ldouble.c: New.
deae8de6 14698
550d1387
GK
14699 * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg
14700 for constants.
14701 (constant_subword): Delete.
14702 * rtl.h (constant_subword): Delete prototype.
14703 (immed_double_const): Is not in varasm.c.
14704 * simplify-rtx.c (simplify_immed_subreg): New.
14705 (simplify_subreg): Use simplify_immed_subreg.
14706
0c90aa3c
GK
14707 * config/rs6000/rs6000.md (floatsitf2): Use expand_float rather
14708 than trying to generate RTL directly.
14709 (fix_trunctfsi2): Use expand_fix rather than trying to generate
14710 RTL directly.
14711
64d961b8
GK
14712 * dwarf2out.c (add_const_value_attribute): Remove incorrect comment.
14713
72b38561
DE
147142004-01-06 David Edelsohn <edelsohn@gnu.org>
14715
14716 * config/rs6000/xcoff.h (EXTRA_SECTION_FUNCTIONS): Split each
14717 function into a separate macro.
14718 (read_only_data_section): Add void argument.
14719 (private_data_section): Same.
14720 (read_only_private_data_section): Same.
14721 (toc_section): Same.
14722
9a609388
JH
147232004-01-06 Jan Hubicka <jh@suse.cz>
14724
0aaae060
JH
14725 * invoke.texi: Remove typo in last change.
14726
9a609388
JH
14727 PR target/10301
14728 * config.gcc: Accept opteron and athlon-64 as variants
14729 of k8.
14730 * i386.c (override_options): Likewise.
14731 * invoke.texi (i386 -mtune): Expand documentation.
14732
5d3cc252
KH
147332004-01-06 Kazu Hirata <kazu@cs.umass.edu>
14734
14735 * alias.c: Fix comment typos.
14736 * builtins.c: Likewise.
14737 * cfg.c: Likewise.
14738 * df.c: Likewise.
14739 * dominance.c: Likewise.
14740 * dwarf2out.c: Likewise.
14741 * emit-rtl.c: Likewise.
14742 * expr.c: Likewise.
14743 * final.c: Likewise.
14744 * fold-const.c: Likewise.
14745 * gcse.c: Likewise.
14746 * genattrtab.c: Likewise.
14747 * genrecog.c: Likewise.
14748 * gensupport.c: Likewise.
14749 * ggc-zone.c: Likewise.
14750 * integrate.c: Likewise.
14751 * local-alloc.c: Likewise.
14752 * loop.c: Likewise.
14753 * recog.c: Likewise.
14754 * regmove.c: Likewise.
14755 * reg-stack.c: Likewise.
14756 * reorg.c: Likewise.
14757 * rtlanal.c: Likewise.
14758 * rtl.h: Likewise.
14759 * sched-ebb.c: Likewise.
14760 * simplify-rtx.c: Likewise.
14761 * toplev.c: Likewise.
14762 * varasm.c: Likewise.
14763
95ea367d
KH
147642004-01-06 Kazu Hirata <kazu@cs.umass.edu>
14765
14766 * doc/install.texi: Fix typos.
14767 * doc/invoke.texi: Likewise.
14768 * doc/md.texi: Likewise.
14769
f26ef713
KI
147702004-01-06 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
14771
14772 * config/m32r/m32r.h (TRAMPOLINE_LINE_SIZE): Changed
14773
bcf17554
JH
147742004-01-06 Jan Hubicka <jh@suse.cz>
14775
14776 * i386.c (init_cumulative_args): Add handling of MMX_REGPARM.
14777 (function_arg_advance): Do not pass aggregates in SSE; deal handling
14778 of MMX_REGPARM.
14779 (function_arg): Add new warnings about ABI changes; fix SSE_REGPARM;
14780 add MMX_REGPARM.
14781 * i386.h (ix86_args): Add mmx_words/mmx_regs/mmx_regno fields.
14782 (SSE_REGPARM_MAX): Default to 3 on i386 -msse ABI.
14783 (MMX_REGPARM_MAX): Similarly for -mmmx.
14784
24746a42
KH
147852004-01-05 Kazu Hirata <kazu@cs.umass.edu>
14786
14787 * config/sh/linux.h: Fix comment formatting.
14788 * config/sh/netbsd-elf.h: Likewise.
14789 * config/sh/sh.c: Likewise.
14790 * config/sh/sh.h: Likewise.
14791 * config/sh/vxworks.h: Likewise.
14792
f7e7e318
KH
147932004-01-05 Kazu Hirata <kazu@cs.umass.edu>
14794
14795 * system.h (ASM_OUTPUT_MAIN_SOURCE_FILENAME): Poison.
14796 * toplev.c (output_file_directive): Don't use
14797 ASM_OUTPUT_MAIN_SOURCE_FILENAME.
14798
80a08664
SB
147992004-01-05 Steven Bosscher <s.bosscher@student.tudelft.nl>
14800
14801 * toplev.c: Fix broken checkin of 2003-12-30.
14802
02fef853 148032004-01-05 Daniel Berlin <dberlin@dberlin.org>
deae8de6 14804
02fef853
DB
14805 * ggc-zone.c: Remove everything in #ifdef USING_MALLOC_PAGE_GROUPS
14806 (USING_MMAP): We don't support non-mmap.
14807 (struct alloc_chunk): Steal 1 bit from typecode, use it to mark
14808 large objects.
14809 (struct page_entry): Remove bytes_free.
14810 (struct page_table_chain): Remove.
14811 (struct globals): Remove page_table member.
14812 (loookup_page_table_entry): Function deleted.
14813 (set_page_table_entry): Ditto.
14814 (ggc_allocated_p): No longer need page table lookups.
14815 (ggc_marked_p): Ditto.
14816 (alloc_small_page): Don't care about bytes_free anymore.
14817 (alloc_large_page): Round up size.
14818 (ggc_alloc_zone_1): Mark large objects as such, and calculate
deae8de6 14819 their size the new way.
02fef853
DB
14820 Remove page table lookups and setting.
14821 (ggc_get_size): Calculate large object size the new way.
14822 (sweep_pages): Redo to account for fact that we no longer have
14823 bytes_free.
14824 (ggc_collect): No longer need to reincrement bytes_free.
14825 (ggc_pch_alloc_object): Handle new large objects properly.
14826 (ggc_pch_read): Put PCH stuff into it's own uncollected zone.
14827
60b799fd
KH
148282004-01-05 Kazu Hirata <kazu@cs.umass.edu>
14829
14830 * doc/invoke.texi: Remove a page break.
14831
908c8c7e
KH
148322004-01-05 Kazu Hirata <kazu@cs.umass.edu>
14833
14834 * config/avr/avr.c (avr_output_function_prologue): Remove an
14835 extra pair of curly braces.
14836
8596d0a1
KH
148372004-01-05 Kazu Hirata <kazu@cs.umass.edu>
14838
14839 * config/mn10300/mn10300.c: Fix comment formatting.
14840 * config/mn10300/mn10300.h: Likewise.
14841
1e2d4dc1
RK
148422004-01-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14843
14844 * tree.h: Update documentation on nothrow_flag.
14845 * print-tree.c (print_node): Print TREE_NOTHROW as "align-ok" for
14846 types.
14847
b6e69d94
KH
148482004-01-05 Kazu Hirata <kazu@cs.umass.edu>
14849
14850 * doc/invoke.texi: Remove traces of dead ports.
14851
1cf959cb
RS
148522004-01-05 Richard Sandiford <rsandifo@redhat.com>
14853
14854 * doc/invoke.texi: Add documentation for the MIPS -mexplicit-relocs
14855 option.
14856
f6149877
RS
148572004-01-05 Richard Sandiford <rsandifo@redhat.com>
14858
14859 PR target/12945
14860 * coverage.c (coverage_counter_alloc): Set SYMBOL_FLAG_LOCAL for
b56c0023 14861 counter labels.
f6149877
RS
14862 * config/mips/mips.c (INTERNAL_SYMBOL_P): Delete.
14863 (mips_classify_symbol): Always treat SYMBOL_REF_FLAG as indicating
14864 string constants if TARGET_MIPS16. Use SYMBOL_REF_DECL to check
14865 the binding of decl symbols, otherwise check SYMBOL_REF_LOCAL_P.
14866 (mips_symbol_insns): Don't trust the local/global classification.
14867 (m16_usym8_4, m16_usym5_4): Same mips16 change as mips_classify_symbol.
14868 (override_options): Make -mabicalls -fno-unit-at-a-time imply
14869 -mno-explicit-relocs.
14870 (mips_encode_section_info): Don't use SYMBOL_REF_FLAG to distinguish
14871 between local and global symbols.
14872
a6008bd8
RS
148732004-01-05 Richard Sandiford <rsandifo@redhat.com>
14874
14875 * config/mips/mips-protos.h (mips_dangerous_for_la25_p): Declare.
14876 (mips_preferred_reload_class): Declare.
14877 * config/mips/mips.h (DANGEROUS_FOR_LA25_P): Replace with function.
14878 (EXTRA_CONSTRAINT): Update accordingly.
14879 (PREFERRED_RELOAD_CLASS): Use mips_preferred_reload_class.
14880 * config/mips/mips.c (mips_dangerous_for_la25_p): New function.
14881 (mips_preferred_reload_class): New function. Prefer LEA_REGS if
14882 mips_dangerous_for_la25_p.
14883 (mips_secondary_reload_class): Use LEA_REGS rather than GR_REGS
14884 if mips_dangerous_for_la25_p.
14885
d7b3c085
BI
148862004-01-05 Bernardo Innocenti <bernie@develer.com>
14887
14888 * config/m68k/m68k.c (output_andsi3): Fix signed/unsigned comparison
deae8de6 14889 warning.
d7b3c085 14890
ca9bc441
NN
148912004-01-04 Nathanael Nerode <neroden@gcc.gnu.org>
14892
14893 * configure.ac: Use AC_PROG_CPP_WERROR.
14894 * configure: Regenerate.
14895
016d7f3e
ZW
148962004-01-04 Zack Weinberg <zack@codesourcery.com>
14897
14898 * .cvsignore: Add autom4te.cache.
14899
5a4b3afd
RS
149002004-01-04 Richard Sandiford <rsandifo@redhat.com>
14901
14902 * doc/invoke.texi: Revamp documentation of MIPS options. Remove
14903 -mabi=meabi, -mabi-fake-default, -mmips-as, -mgas, -mmips-tfile,
14904 -m4650, -mfix7000 and -(m)no-crt0. Put endianness options first,
14905 then architecture options, then ABI options. General rewording.
14906
928a5ba9
JM
149072004-01-04 Joseph S. Myers <jsm@polyomino.org.uk>
14908
14909 PR c/3414
14910 * doc/extend.texi: Clarify definition of malloc attribute.
14911
dc0bfe6a
JH
149122004-01-04 Jan Hubicka <jh@suse.cz>
14913
14914 * Makefile.in (cgraph.o, cgraphunit.o): Add intl.h dependency.
14915 * cgraph.c (create_edge, dump_cgraph): Update to use inline_failed
14916 * cgraph.h (cgraph_edge): Replace inline_call by inline_failed
14917 (cgraph_inline_p): Add extra argument reason.
14918 * cgraphunit.c: Minor formating fixes.
14919 cgraph_first_inlined_callee): New functions.
14920 (record_call_1): Record builtins too.
14921 (cgraph_analyze_function): Update inline_failed messages.
14922 (cgraph_mark_functions_to_output, cgraph_expand_function, cgraph_inlined_into,
14923 cgraph_inlined_callees, cgraph_estimate_growth): Update to use inline_failed.
14924 (cgraph_check_inline_limits): Likewise; Add argument reason.
14925 (cgraph_set_inline_failed): New static function.
14926 (cgraph_decide_inlining_of_small_function, cgraph_decide_inlining): Set
14927 reasons.
14928 (cgraph_inline_p): Add new argument reason.
14929 * tree-inline.c (expand_call_inline): Update warning.
14930
ba479fd2
NN
149312004-01-03 Nathanael Nerode <neroden@gcc.gnu.org>
14932
914c5af7
NN
14933 * configure.ac: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM
14934 with modern equivalents.
14935 * configure: Regenerate.
14936
016d7f3e
ZW
14937 * configure.ac: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE.
14938 * aclocal.m4 (gcc_AC_CHECK_TYPE): Remove.
14939 * configure: Regenerate.
78c9cb99 14940
d44f1a00
NN
14941 * doc/install.texi: Note that 'gcc' is now a 2.57 directory.
14942
ba479fd2
NN
14943 * configure.in: Rename to configure.ac.
14944 * configure.ac: Renamed from configure.in; make minimum necessary
14945 changes for autoconf 2.5x.
14946 * aclocal.m4: Make minimum necessary changes for autoconf 2.5x.
14947 * configure: Regenerate with autoconf 2.57.
14948
031a26c5
KH
149492004-01-03 Kazu Hirata <kazu@cs.umass.edu>
14950
14951 * config/mips/linux.h: Fix comment formatting.
14952 * config/mips/mips.c: Likewise.
14953 * config/mips/mips.h: Likewise.
14954 * config/mips/mips.md: Likewise.
14955 * config/mips/netbsd.h: Likewise.
14956 * config/mips/windiss.h: Likewise.
14957
b87cfcfb
RH
149582004-01-02 Richard Henderson <rth@redhat.com>
14959
14960 * config/i386/i386.md (fp constant pool splitter): Reorg suppression
14961 for sse and 387; add suppression for mmx.
14962
36579663
AP
149632004-01-02 Andrew Pinski <pinskia@physics.uc.edu>
14964
9d85830f
AP
14965 * loop.c (loop_optimize): Free all loops_info's mems.
14966
016d7f3e 14967 * c-typeck.c (finish_init): Free spelling_base before
36579663 14968 setting it again.
016d7f3e 14969
36579663
AP
14970 * cfgloop.c (flow_loops_find): Always free the sbitmap
14971 headers.
14972
14973 * predict.c (estimate_probability): Free bbs after being
14974 done with it.
14975
3864b6fe
KH
149762004-01-02 Kazu Hirata <kazu@cs.umass.edu>
14977
14978 * config/mn10300/mn10300.h (PREDICATE_CODES): Add
14979 const_8bit_operand and call_address_operand.
14980
8b6bd5d7
JH
149812004-01-02 Jan Hubicka <jh@suse.cz>
14982
14983 * cgraphunit.c (cgraph_optimize_function): Call optimize_inline_calls
14984 when there is nothing to inline but warnings are requested.
14985 (cgraph_decide_inlining): Fix memory leak.
14986
9b9bd3b2
JH
149872004-01-02 Jan Hubicka <jh@suse.cz>
14988
14989 * expr.c (store_constructor): Fix pasto in previous patch.
14990
43f3a59d
KH
149912004-01-02 Kazu Hirata <kazu@cs.umass.edu>
14992
14993 * config/i386/cygming.h: Fix comment formatting.
14994 * config/i386/djgpp.h: Likewise.
14995 * config/i386/gthr-win32.c: Likewise.
14996 * config/i386/i386-interix.h: Likewise.
14997 * config/i386/i386.c: Likewise.
14998 * config/i386/i386.h: Likewise.
14999 * config/i386/openbsd.h: Likewise.
15000 * config/i386/winnt.c: Likewise.
15001 * config/i386/xm-mingw32.h: Likewise.
15002
daef8bbd
JM
150032004-01-02 Joseph S. Myers <jsm@polyomino.org.uk>
15004
15005 * doc/gcc.texi, doc/invoke.texi, doc/install.texi: Update
15006 copyright and last modification dates.
15007
7e081a0c
AJ
150082004-01-02 Andreas Jaeger <aj@suse.de>, Gerald Pfeifer <gp@suse.de>
15009
15010 * doc/install.texi (Specific): Mention x86_64.
15011
ac3f5df7
HPN
150122004-01-01 Hans-Peter Nilsson <hp@bitrange.com>
15013
15014 * builtins.c (expand_builtin_apply_args_1) [STACK_GROWS_DOWNWARD]:
15015 Call force_operand on plus_constant result.
15016
997404de
JH
150172004-01-01 Jan Hubicka <jh@suse.cz>
15018
15019 * expmed.c (store_bit_field, extract_bit_field): Use new named patterns
15020 * expr.c (store_constructor): Use vec_init pattern.
15021 * genopinit.c (optabs): Initailize vec_set/vec_extract/vec_init.
15022 * optabs.h (optab_index): ADD OTI_vec_set/OTI_vec_extract/OTI_vec_init
15023 (vec_set_optab, vec_extract_optab, vec_init_optab): New.
15024 * i386.md (vec_setv2df, vec_extractv2df, vec_setv4sf, vec_extractv4sf):
15025 New patterns.
15026 (sse2_unpc?pd): Fix pattern.
15027 (sse2_movlpd): Kill.
15028 (sse2_movsd): Deal with movlpd too.
15029 * i386.c (ix86_expand_builtin): Use sse2_movsd instead of sse2_movlpd.
15030 (ix86_expand_vector_init): New.
15031 * emmintrin.h (__mm_set_pd, __mm_set_ps): Use vector extensions.
15032 * md.texi (vec_set, vec_extract): Document
15033
b684a3df
JH
150342003-12-31 Jan Hubicka <jh@suse.cz>
15035
15036 PR opt/13473
15037 * recog.c (validate_replace_rtx_1): Take care for RTL sharing inside
15038 ASM input operands
15039
15040 PR opt/12617
15041 * toplev.c (dump_file_index): Reorder ce3 and bbro.
15042 (dump_file): Likewise.
15043 (rest_of_compilation): Likewise.
15044
15045 PR debug/13367
15046 * cgraph.c (cgraph_function_possibly_inlined): Even with
15047 flag_really_no_inline we inline always_inline functions.
15048 * cgraphunit.c (cgraph_analyze_function): Clear inlinable flag
15049 for non-always_inline functions when there is flag_really_no_inline.
15050 (cgraph_decide_inlining): Limit work done when not inlining.
15051 (cgraph_decide_inlining_incrementally): Likewise.
15052 (cgraph_optimize_function): Check whether something got inlined.
15053 * c-objc-common.c (c_disregard_inline_limits): Do not always inline
15054 extern inline functions when not inlining.
15055
15056 * opts.c (decode_options): Disable crossjumping at -O1
15057 * invoke.texi (-O1): Document change.
a55f4481 15058
cd14f58c 15059See ChangeLog.10 for earlier changes.
This page took 1.767743 seconds and 5 git commands to generate.