]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
ZipFile.getInputStream returns null if entry not found.
[gcc.git] / gcc / ChangeLog
CommitLineData
ca072a31
DB
12004-06-17 Daniel Berlin <dberlin@dberlin.org>
2
3 * tree-ssa-pre.c: Update comments.
4 (val_expr_pair_eq): Factor code from here.
5 (expr_pred_trans_eq): and here.
6 (expressions_equal_p): To here.
7 (print_value_set): Print value for expression.
8 (phi_trans_lookup): Rename some variables.
9 (lookup): Ditto.
10 (value_exists_in_set_bitmap): Ditto.
11 (value_remove_from_set_bitmap): Ditto.
12 (value_insert_into_set_bitmap): Ditto.
13
5d880bd2
UW
142004-06-17 Ulrich Weigand <uweigand@de.ibm.com>
15
16 * config/s390/s390-modes.def (CCL3mode): New machine mode.
17 * config/s390/s390.c (s390_match_ccmode_set): Support CCL3mode.
18 (s390_alc_comparison, s390_slb_comparison): Likewise.
19 (s390_branch_condition_mask): Likewise.
20 * config/s390/s390.md ("*subdi3_cc2", "*subdi3_cconly2"): New.
21 ("*subsi3_cc2", "*subsi3_cconly2"): New.
22
23 * config/s390/s390.h (PREDICATE_CODE): Accept SIGN_EXTEND and
24 ZERO_EXTEND for s390_alc_comparison and s390_slb_comparison.
25 * config/s390/s390.c (s390_alc_comparison, s390_slb_comparison):
26 Handle SIGN_EXTEND and ZERO_EXTEND.
27
28 * config/s390/s390-protos.h (s390_expand_addcc): New prototype.
29 * config/s390/s390.c (s390_expand_addcc): New function.
30 * config/s390/s390.md ("adddicc", "addsicc"): New expanders.
31 ("*sconddi", "*scondsi", "*sconddi_neg", "*scondsi_neg"): New insns.
32 ("sltu", "sgtu", "sleu", "sgeu"): New expanders.
33
d96f6b59
BE
342004-06-17 Ben Elliston <bje@au.ibm.com>
35
ac534736
BE
36 * tree-alias-common.c: Add whitespace.
37 * tree-inline.c: Correct comment about this file's purpose.
38 * tree-optimize.c: Likewise.
39 * tree-tailcall.c: Likewise.
40
d96f6b59
BE
41 * tree-alias-ander.h: Add standard top-of-file comment.
42 * tree-alias-common.h: Likewise.
43 * tree-alias-type.h: Likewise.
44
f44272ee
DB
452004-06-16 Daniel Berlin <dberlin@dberlin.org>
46
47 * tree-ssa-pre.c (compute_avail): Value number uses as well.
48 Strip useless type conversions.
49 Casts have to be treated slightly different than normal unaries.
50
5882f0f3
RH
512004-06-16 Richard Henderson <rth@redhat.com>
52
53 * c-common.def (COMPOUND_STMT): Remove.
54 * c-common.c (finish_fname_decls): Don't look through it.
55 * c-typeck.c (c_tree_expr_nonnegative_p): Likewise.
56 * c-common.h (COMPOUND_BODY): Remove.
57 (c_common_stmt_codes): Remove COMPOUND_STMT.
58 * c-dump.c (c_dump_tree): Likewise.
59 * c-gimplify.c (c_gimplify_stmt): Likewise.
60 * c-pretty-print.c (pp_c_statement): Likewise.
61 * tree.h (DECL_SAVED_TREE): Update commentary.
62 * doc/c-tree.texi (ASM_EXPR): Rename from ASM_STMT.
63 (CASE_LABEL_EXPR): Rename from CASE_LABEL.
64 (GOTO_EXPR): Rename from GOTO_STMT.
65 (GOTO_FAKE_P): Remove.
66 (COMPOUND_STMT): Remove.
67 (HANDLER): Update wrt COMPOUND_STMT.
68 (STMT_EXPR): Likewise.
69 (LABEL_EXPR): Rename from LABEL_STMT.
70 (SCOPE_STMT): Remove.
71 * objc/objc-act.c (objc_build_try_catch_finally_stmt): Don't look
72 through COMPOUND_STMT.
73
9e51cf9d
RH
742004-06-16 Richard Henderson <rth@redhat.com>
75
76 * c-common.h (c_begin_if_stmt, c_begin_while_stmt,
77 c_finish_while_stmt_cond): Remove decls.
78 * c-parse.in (if_prefix): Don't save c_begin_if_stmt result.
79 * c-typeck.c (c_begin_if_stmt): Return void.
80 (c_begin_else): Tidy. Save stmt_count.
81 * c-tree.h (c_begin_if_stmt): Update decl.
82
83 * objc/objc-act.c (objc_build_try_enter_fragment,
84 objc_build_extract_fragment, objc_build_try_epilogue,
85 objc_build_catch_stmt, objc_build_catch_epilogue,
86 objc_build_finally_prologue, objc_build_finally_epilogue): Update
87 for if builder function changes.
88
b767fc11
UW
892004-06-16 Ulrich Weigand <uweigand@de.ibm.com>
90
91 * config/s390/s390.c (struct machine_function): New member
92 last_restore_gpr.
93 (s390_frame_info): Add BASE_USED and RETURN_ADDR_USED parameters.
94 Do not modify machine->save_return_addr_p or regs_ever_live.
95 Fill in machine->last_restore_gpr.
96 (s390_optimize_prolog): Use s390_frame_info to compute registers
97 to save/restore, remove duplicated code.
98 (s390_arg_frame_offset): Use s390_frame_info to compute frame
99 size, remove duplicated code.
100 (s390_emit_prologue): Adapt s390_frame_info call. Update
101 machine->save_return_addr_p and regs_ever_live.
102 (s390_emit_epilogue): Use machine->last_restore_gpr instead of
103 machine->last_save_gpr.
104
16865eaa
RH
1052004-06-16 Richard Henderson <rth@redhat.com>
106
107 * c-parse.in (if_stmt_locus): Remove.
108 (if_prefix): Increment stmt_count; pass it to c_finish_if_cond.
109 (select_or_iter_stmt): Move empty if warnings to c-typeck.c.
110 * c-typeck.c (if_elt): Sort by expected size. Rename locus to
111 empty_locus. Add stmt_count, saw_else.
112 (c_begin_if_stmt): Push if_stack here.
113 (c_finish_if_cond): Rename from c_expand_end_cond. Record stmt_count.
114 (c_finish_then, c_finish_else): Record empty_locus.
115 (c_begin_else): Rename from c_expand_start_else. Record stmt_count.
116 (c_finish_if_stmt): Rename from c_expand_end_cond. Warn for empty
117 if or else body.
118 * c-tree.h: Update prototypes.
119
17192884
SB
1202004-06-16 Steven Bosscher <stevenb@suse.de>
121
122 * tree.h (PHI_CHAIN): New.
123 * (tree-cfg.c, tree-dfa.c, tree-flow-inline.h, tree-into-ssa.c,
124 tree-outof-ssa.c, tree-phinodes.c, tree-pretty-print.c,
125 tree-ssa-alias.c, tree-ssa-ccp.c, tree-ssa-dom.c, tree-ssa-dse.c,
126 tree-ssa-live.c, tree-ssa-loop.c, tree-ssa-phiopt.c, tree-ssa-pre.c,
127 tree-ssa.c, tree-tailcall.c): Use PHI_CHAIN instead of TREE_CHAIN
128 when traversing a list of PHI_NODEs.
129
a7d840c7
BI
1302004-06-16 Bernardo Innocenti <bernie@develer.com>
131
132 PR target/13292
133 * config/m68k/m68k.h (TARGET_SWITCHES): Don't remove MASK_68040_ONLY
134 on -msoft-float.
135 (TARGET_FLT_EVAL_METHOD): Don't advertise extended precision for
136 68040 and soft-float.
137 * config/m68k/m68k.md (truncdfsf2): Explicitly require TARGET_68881
138 in the TARGET_68040_ONLY case.
139
1402004-06-16 Peter Barada <peter@the-baradas.com>
5e04daf3
PB
141
142 * config/m68k/m68k.md (movsi_cfv4): New pattern to allow mov3q.
143 (movsi_cf): Make named, don't match TARGET_CFV4.
144 (pushexthisi_const): Use mov3q if possible.
145 (extendhisi2, cvf4_extendhisi2): Split extendhisi2 pattern
146 to special case mvz.w for ColdFire V4.
147 (extendqisi2, cvf4_extendqisi2): Split extendhisi2 pattern
148 to special case mvz.b for ColdFire V4.
149 (udivmodhi4, divmodhi4): Use mvz to zero extend arg for
150 divide.
151 (iorsi3, xorsi3, andsi3): Use bitfield instructions if possible.
152 * config/m68k/m68k.c(valid_mov3q_const): New function.
153 (const_method): SWAP is valid for ColdFire.
154 (MULL_COST, MULW_COST): Fix costs for ColdFire V3/V4.
155 * config/m68k/m68k-protos.h (valid_mov3q_const): Prototype here.
156
8c161995
RH
1572004-06-16 Richard Henderson <rth@redhat.com>
158
159 * c-common.def (CASE_LABEL): Remove.
160 * c-common.c (c_add_case_label): Use CASE_LABEL, not CASE_LABEL_DECL.
161 (match_case_to_enum_1): Likewise.
162 * c-common.h (c_common_stmt_codes): Remove CASE_LABEL.
163 * c-dump.c (c_dump_tree): Likewise.
164 * c-gimplify.c (c_gimplify_stmt): Likewise.
165 * c-pretty-print.c (pp_c_statement): Likewise.
166 * c-semantics.c (build_case_label): Use CASE_LABEL_EXPR.
167 * tree.h (CASE_LOW): Update commentary.
168
e130a54b
RH
1692004-06-16 Richard Henderson <rth@redhat.com>
170
171 * c-common.def (ASM_STMT): Remove.
172 * c-common.h (c_common_stmt_codes): Remove ASM_STMT.
173 * c-dump.c (c_dump_tree): Likewise.
174 * c-gimplify.c (c_gimplify_stmt): Likewise.
175 * c-pretty-print.c (pp_c_statement): Likewise.
176 * c-typeck.c (build_asm_expr): Use ASM_EXPR.
177 * tree.h: Fix commentary.
178
9e14e18f
RH
1792004-06-16 Richard Henderson <rth@redhat.com>
180
181 * c-common.def (GOTO_STMT, LABEL_STMT): Remove.
182 * c-common.c (c_add_case_label): Use LABEL_EXPR.
183 * c-common.h (GOTO_FAKE_P, LABEL_STMT_LABEL): Remove.
184 (c_common_stmt_codes): Remove GOTO_STMT, LABEL_STMT.
185 * c-dump.c (c_dump_tree): Likewise.
186 * c-gimplify.c (c_gimplify_stmt): Likewise.
187 * c-pretty-print.c (pp_c_statement): Likewise.
188 * c-parse.in (stmt): Use GOTO_EXPR.
189 (label): Use LABEL_EXPR.
190 * c-semantics.c (build_stmt): Set TREE_TYPE to void.
191 * tree-inline.c (copy_body_r): Don't build empty BLOCKs.
192
2f52c531
R
1932004-06-16 J"orn Rennecke <joern.rennecke@superh.com>
194
195 * cfgcleanup.c (try_simplify_condjump): Update test to make
196 sure we have a conditional branch around am unconditional branch.
197
5d44aeed
DB
1982004-06-16 Daniel Berlin <dberlin@dberlin.org>
199
200 * tree-cfg.c (pass_split_crit_edge): Give it a name and a dump file.
201
d85428e2
DJ
2022004-06-16 Dale Johannesen <dalej@apple.com>
203
17192884
SB
204 * loop.c (loop_givs_reduce): Avoid miscompilation of
205 loops entered at bottom.
d85428e2 206
d9c75fe0
JR
2072004-06-16 J"orn Rennecke <joern.rennecke@superh.com>
208
209 * cfglayout.c (fixup_reorder_chain): Handle case where the
210 destination of E_FALL is EXIT_BLOCK_PTR.
211
f75ce96a
VM
2122004-06-16 Vladimir Makarov <vmakarov@redhat.com>
213
214 PR target/15653
215 * config/ia64/ia64.c (ia64_dfa_new_cycle): Do not insert nops
216 after shifts before asm.
217
f11e087e
ZD
2182004-06-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
219
220 PR tree-optimization/15993
221 * tree-ssa-dom.c (thread_across_edge): Do not thread edge if its
222 destination is unchanged.
223
b9034bbd
AJ
2242004-06-16 Andreas Jaeger <aj@suse.de>
225
226 * doc/install.texi (Configuration): Update description for
227 --enable-version-specific-runtime-libs.
228
bf9a420e
PB
2292004-06-16 Paolo Bonzini <bonzini@gnu.org>
230
231 * doc/install.texi: boehm-gc now uses automake 1.8.5.
232
6bbba4c7
PB
2332004-06-16 Paolo Bonzini <bonzini@gnu.org>
234
235 * toplev.h (rest_of_compilation): Adjust prototype.
236
2372004-06-16 Paolo Bonzini <bonzini@gnu.org>
238
239 * coverage.c: Remove argument to rest_of_compilation.
240 * expr.c (execute_expand, set_save_expr_context, pass_expand): New.
241 * passes.c (rest_of_compilation): Remove argument.
242 (pass_rest_of_compilation): New.
243 (rest_of_handle_final, rest_of_handle_delay_slots,
244 rest_of_handle_stack_regs, rest_of_handle_variable_tracking
245 rest_of_handle_machine_reorg, rest_of_handle_regrename
246 rest_of_handle_sched, rest_of_handle_sched2, rest_of_handle_gcse2
247 rest_of_handle_regmove, rest_of_handle_tracer
248 rest_of_handle_if_conversion, rest_of_handle_if_after_combine
249 rest_of_handle_web, rest_of_handle_branch_prob
250 rest_of_handle_value_profile_transformations, rest_of_handle_cfg
251 rest_of_handle_addressof, rest_of_handle_jump_bypass
252 rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2):
253 Check that the two arguments are actually superfluous.
254 * tree-optimize.c (register_dump_files): Add properties argument.
255 Track validity of passes. Only initialize dump files for
256 tree-based passes. Store the full set of provided passes in
257 the pass.
258 (init_tree_optimization_passes): Register pass_expand and
259 pass_rest_of_compilation.
260 (execute_one_pass): Do not track the presence of required properties
261 here. Set in_gimple_form. Do not update current_properties.
262 (current_properties): Remove.
263 (set_save_expr_context): Remove.
264 (tree_rest_of_compilation): Do not set in_gimple_form. Do not
265 expand to RTL here, and do not call rest_of_compilation. Push
266 GGC context even before gimplification.
267 * tree-pass.h (PROP_rtl, PROP_trees): New flags.
268 (pass_expand, pass_rest_of_compilation): Declare.
269
fd660b1b
JL
2702004-06-15 Jeff Law <law@redhat.com>
271
272 * fold-const.c (swap_tree_comparison): No longer static.
273 (tree_swap_operands_p): Similarly. Return true if both operands
274 are SSA_NAMEs and the first operand has a higher version number than
275 the second operand.
276 * tree.h (swap_tree_comparison): Prototype.
277 (tree_swap_operands_p): Prototype.
278 * tree-ssa-operands.c (get_expr_operands): For commutative
279 operators and relational comparisons, canonicalize the
280 order of the operands.
281
325c3691
RH
2822004-06-15 Richard Henderson <rth@redhat.com>
283
284 * c-common.c (lang_gimplify_stmt): Remove next_p argument.
285 (if_elt, if_stack, if_stack_space, c_expand_start_cond, c_finish_then,
286 c_expand_end_cond, c_expand_start_else, c_finish_else, c_begin_if_stmt,
287 c_begin_while_stmt, c_finish_while_stmt_cond): Move to c-typeck.c.
288 (finish_fname_decls, fname_decl): Use statement_lists.
289 (c_expand_expr_stmt): Don't set last_expr_type.
290 (c_type_hash): Fix indentation.
291 (c_safe_from_p): Don't follow TREE_CHAIN.
292 (c_tree_chain_matters_p): Remove.
293 * c-common.def (SCOPE_STMT): Remove.
294 (CLEANUP_STMT): Redefine to contain its own body.
295 * c-common.h (struct stmt_tree_s): Remove x_last_stmt,
296 x_last_expr_type, x_last_expr_filename, x_scope_stmt_stack.
297 Add x_cur_stmt_list.
298 (last_tree, last_expr_type, last_expr_filename, RECHAIN_STMTS): Remove.
299 (cur_stmt_list): New.
300 (STATEMENT_LIST_STMT_EXPR): New.
301 (SCOPE_BEGIN_P, SCOPE_END_P, SCOPE_STMT_BLOCK, SCOPE_NULLIFIED_P,
302 SCOPE_NO_CLEANUPS_P, SCOPE_PARTIAL_P, NEW_FOR_SCOPE_P): Remove.
303 (CLEANUP_BODY): New.
304 (CLEANUP_DECL): Move to operand 2.
305 (c_common_stmt_codes): Remove SCOPE_STMT.
306 (COMPOUND_STMT_NO_SCOPE, COMPOUND_STMT_BODY_BLOCK): Remove.
307 * c-decl.c (c_scope_stmt_stack, current_scope_stmt_stack): Remove.
308 (c_push_function_context, c_pop_function_context): Don't save it.
309 (finish_decl): Set TREE_USED on the decl for a cleanup.
310 Use push_cleanup.
311 (store_parm_decls): Use statement lists.
312 (finish_function): Remove compstmt rule workaround. Use statement
313 lists. Call finish_fname_decls after finalizing the body.
314 (c_begin_compound_stmt): Move to c-typeck.c.
315 * c-dump.c (c_dump_tree): Remove SCOPE_STMT.
316 * c-gimplify.c (gimplify_cleanup_stmt, gimplify_cleanup_stmts): New.
317 (c_genericize): Invoke them.
318 (c_gimplify_stmt): Don't look through TREE_CHAIN. Kill SCOPE_STMT.
319 (c_build_bind_expr): Export.
320 (gimplify_block, gimplify_cleanup): Remove.
321 (gimplify_condition): Use gimplify_stmt.
322 (gimplify_for_stmt): Remove FOR_INIT_STMT chaining hack.
323 (gimplify_if_stmt): Remove recursion hack.
324 (c_gimplify_expr): Remove STMT_EXPR handling.
325 (stmt_expr_last_stmt, gimplify_stmt_expr): Remove.
326 (is_last_stmt_of_scope): Remove.
327 * c-lang.c (LANG_HOOKS_TREE_INLINING_TREE_CHAIN_MATTERS_P): Remove.
328 * c-mudflap.c (mflang_flush_calls): Use c_begin_compound_stmt,
329 c_end_compound_stmt.
330 * c-objc-common.c (build_cdtor): Likewise.
331 * c-parse.in (primary): Use c_finish_stmt_expr.
332 (push_scope, pop_scope): Remove.
333 (c99_block_start, compstmt_start): Use c_begin_compound_stmt.
334 (c99_block_end, compstmt): Use c_end_compound_stmt.
335 (c99_block_lineno_labeled_stmt): Likewise.
336 (compstmt_primary_start): Use c_begin_stmt_expr.
337 (simple_if, select_or_iter_stmt): Update calls to stmt builders.
338 (do_stmt_start): Fill in body directly.
339 (lineno_stmt): Avoid setting lineno on constants.
340 * c-pretty-print.c (pp_c_statement): Handle STATEMENT_LIST.
341 Remove SCOPE_STMT.
342 * c-semantics.c (begin_stmt_tree): Remove.
343 (push_stmt_list, re_push_stmt_list, pop_stmt_list): New.
344 (add_stmt): Use statement lists.
345 (add_scope_stmt, finish_stmt_tree): Remove.
346 (push_cleanup): New.
347 * c-tree.h: Move some decls from c-common.h.
348 * c-typeck.c (c_tree_expr_nonnegative_p): Simplify for statement lists.
349 (do_case, c_finish_case): Likewise.
350 (c_finish_then): Take body for then as argument.
351 (c_finish_else): Similarly.
352 (c_begin_for_stmt, c_finish_for_stmt_init, c_finish_for_stmt_cond,
353 c_finish_for_stmt_incr, c_finish_for_stmt): New.
354 (c_begin_stmt_expr, c_finish_stmt_expr): New.
355 (c_begin_compound_stmt): Do scope management.
356 (c_end_compound_stmt): New.
357 * fold-const.c (tree_expr_nonnegative_p): Fix BIND_EXPR.
358 * gimplify.c (voidify_wrapper_expr): Accept temporary argument.
359 Look through exception handling constructs.
360 (gimplify_bind_expr): Accept temporary argument.
361 (gimplify_target_expr): Special case BIND_EXPR bodies.
362 (gimplify_expr): Handle fallback == fb_none like a statement.
363 * langhooks-def.h (LANG_HOOKS_TREE_INLINING_TREE_CHAIN_MATTERS_P): Kill.
364 * langhooks.c (lhd_tree_inlining_tree_chain_matters_p): Remove.
365 * langhooks.h (tree_chain_matters_p): Remove.
366 * stub-objc.c (objc_clear_super_receiver): New.
367 * tree-gimple.h (voidify_wrapper_expr): Update decl.
368 (append_to_statement_list, append_to_statement_list_force): Move
369 to tree-iterator.h.
370 * tree-inline.c (expand_call_inline): Update call.
371 (clone_body): Use statement lists.
372 (walk_tree): Don't check tree_chain_matters_p.
373 (copy_tree_r): Likewise.
374 * tree-iterator.c (alloc_stmt_list): Clear lang bits.
375 (tsi_link_before, tsi_link_after): Set TREE_SIDE_EFFECTS properly.
376 * tree-iterator.h (append_to_statement_list,
377 append_to_statement_list_force): Moved from tree-gimple.h.
378 * tree-pretty-print.c (dump_generic_node): Clean up TARGET_EXPR dump.
379 * objc/objc-act.c (build_module_descriptor): Use c_begin_compound_stmt.
380 (objc_enter_block): Likewise.
381 (objc_exit_block): Use c_end_compound_stmt.
382 (objc_build_try_enter_fragment): Add #error and comment for
383 rewriting for OBJCPLUS.
384 (objc_build_extract_fragment, objc_build_try_epilogue,
385 objc_build_catch_stmt, objc_build_finally_prologue,
386 objc_build_finally_epilogue): Update for C statement builders.
387 * objc/objc-lang.c (LANG_HOOKS_TREE_INLINING_TREE_CHAIN_MATTERS_P):
388 Remove.
389
161b0a84
ZD
3902004-06-15 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
391
392 * df.c (df_reg_clobber_gen): Removed.
393 (df_bb_rd_local_compute, df_insn_refs_record, df_rd_local_compute):
394 Make more effective for hard regs.
395 * ra-build.c (livethrough_conflicts_bb): Check contains_call.
396
0173bb6f
AO
3972004-06-15 Alexandre Oliva <aoliva@redhat.com>
398
399 * c-pragma.h (c_lex_string_translate): Change type to int.
400 * c-parse.in: Change all assignments of c_lex_string_translate
401 to true and false to 1 and 0.
402 * c-lex.c (c_lex_string_translate): Likewise.
403 (lex_string): Convert string without translation in the -1
404 case.
405
d0b25f9a
MA
4062004-06-15 Mark G. Adams <mark.g.adams@sympatico.ca>
407
408 * convert.h: Add include guards
409
0566b51e
DB
4102004-06-15 Daniel Berlin <dberlin@dberlin.org>
411
412 * tree-flow-inline.h: Document all functions.
b9034bbd 413
c8a6f154
DB
4142004-06-15 Daniel Berlin <dberlin@dberlin.org>
415
416 * tree-flow-inline.h (stmt_ann): Remove use of is_essa_node.
417 * tree-dfa.c (create_stmt_ann): Ditto.
418 * tree-pretty-print.c (dump_generic_node): Remove E* node handling.
419 * tree-inline.c (estimate_num_insns_1): Ditto.
420 * tree.c (tree_size): Ditto.
421 (make_node_stat): Ditto.
422 (tree_node_structure): Ditto.
423 (ephi_node_elt_check_failed): Remove.
424 (is_essa_node): Ditto.
425 * tree.def (EPHI_NODE): Ditto.
426 (EEXIT_NODE): Ditto.
427 (EUSE_NODE): Ditto.
428 (EKILL_NODE): Ditto.
429 * tree.h (EREF_NODE_CHECK): Remove.
430 (EPHI_NODE_ELT_CHECK): Ditto.
431 (struct tree_eref_common): Ditto.
432 (struct tree_euse_node): Ditto.
433 (struct ephi_arg_d): Ditto.
434 (struct tree_ephi_node): Ditto.
435 (ephi_node_elt_check_failed): Remove prototype.
436 (is_essa_node): Ditto.
437 (enum tree_node_structure_enum): Remove TS_E*_NODE.
438 (union tree_node): Remove E*_NODE uses.
439
f8cfc6aa
JQ
4402004-06-15 Jerry Quinn <jlquinn@optonline.net>
441
442 * alias.c (record_set, record_base_value, canon_rtx, get_addr,
443 nonlocal_mentioned_p_1, init_alias_analysis): Use REG_P.
444 * bt-load.c (find_btr_reference, insn_sets_btr_p, note_btr_set):
445 Likewise.
446 * builtins.c (expand_builtin_setjmp, expand_builtin_apply,
447 expand_builtin_mathfn, expand_builtin_strlen, expand_builtin_memcmp,
448 expand_builtin_strcmp, expand_builtin_strncmp,
449 expand_builtin_frame_address): Likewise.
450 * caller-save.c (mark_set_regs, add_stored_regs, mark_referenced_regs,
451 insert_one_insn): Likewise.
452 * calls.c (prepare_call_address, precompute_register_parameters,
453 precompute_arguments, expand_call, emit_library_call_value_1): Likewise.
454 * cfganal.c (flow_active_insn_p): Likewise.
455 * combine.c (set_nonzero_bits_and_sign_copies, can_combine_p,
456 combinable_i3pat, try_combine, find_split_point, COMBINE_RTX_EQUAL_P,
457 subst, combine_simplify_rtx, simplify_if_then_else, simplify_set,
458 make_extraction, recog_for_combine, gen_lowpart_for_combine,
459 simplify_comparison, record_dead_and_set_regs_1,
460 record_dead_and_set_regs, record_promoted_value,
461 check_promoted_subreg, get_last_value_validate, get_last_value,
462 reg_dead_at_p_1, reg_bitfield_target_p, distribute_notes,
463 unmentioned_reg_p_1): Likewise.
464 * conflict.c (mark_reg): Likewise.
465 * cse.c (HASH, COST, COST_IN, approx_reg_cost_1, notreg_cost,
466 mention_regs, insert_regs, lookup, lookup_for_remove, insert,
467 merge_equiv_classes, flush_hash_table, invalidate,
468 remove_invalid_refs, remove_invalid_subreg_refs, rehash_using_reg,
469 invalidate_for_call, use_related_value, canon_hash, exp_equiv_p,
470 cse_rtx_varies_p, canon_reg, find_best_addr, fold_rtx, equiv_constant,
471 record_jump_cond, cse_insn, addr_affects_sp_p,
472 invalidate_from_clobbers, cse_process_notes, cse_around_loop,
473 cse_set_around_loop, count_reg_usage, set_live_p, cse_change_cc_mode,
474 cse_cc_succs, cse_condition_code_reg): Likewise.
475 * cselib.c (cselib_reg_set_mode, rtx_equal_for_cselib_p,
476 cselib_lookup, cselib_invalidate_regno, cselib_invalidate_rtx,
477 cselib_record_set, cselib_record_sets): Likewise.
478 * dbxout.c (dbxout_symbol_location, dbxout_parms, dbxout_reg_parms,
479 dbxout_block): Likewise.
480 * df.c (df_ref_record, df_def_record_1, df_uses_record): Likewise.
481 * dojump.c (do_jump): Likewise.
482 * dwarf2out.c (dwarf2out_frame_debug_expr, is_pseudo_reg,
483 is_based_loc, rtl_for_decl_location): Likewise.
484 * emit-rtl.c (set_reg_attrs_for_parm, set_decl_rtl,
485 set_decl_incoming_rtl, mark_user_reg): Likewise.
486 * explow.c (copy_all_regs, copy_all_regs, memory_address, force_reg,
487 copy_to_suggested_reg, allocate_dynamic_stack_space,
488 probe_stack_range, hard_function_value): Likewise.
489 * expmed.c (store_bit_field, store_fixed_bit_field,
490 store_split_bit_field, extract_bit_field, extract_fixed_bit_field,
491 extract_split_bit_field, expand_divmod, emit_store_flag_force):
492 Likewise.
493 * expr.c (convert_move, convert_modes,
494 block_move_libcall_safe_for_call_parm, emit_group_load, use_reg,
495 use_group_regs, emit_move_insn, emit_move_insn_1,
496 compress_float_constant, push_block, emit_single_push_insn,
497 emit_push_insn, get_subtarget, expand_assignment, store_expr,
498 store_constructor, store_field, force_operand, safe_from_p,
499 expand_expr_real_1, expand_increment, do_store_flag, do_tablejump):
500 Likewise.
501 * final.c (profile_function, final_scan_insn, alter_subreg,
502 get_mem_expr_from_op, output_asm_operand_names, output_operand,
503 only_leaf_regs_used, leaf_renumber_regs_insn): Likewise.
504 * flow.c (verify_wide_reg_1, mark_regs_live_at_end,
505 find_regno_partial, propagate_one_insn, init_propagate_block_info,
506 insn_dead_p, libcall_dead_p, mark_set_1, not_reg_cond,
507 attempt_auto_inc, find_auto_inc, mark_used_regs,
508 count_or_remove_death_notes_bb): Likewise.
509 * function.c (find_temp_slot_from_address, update_temp_slot_address,
510 preserve_temp_slots, put_var_into_stack, fixup_var_refs_insn,
511 fixup_var_refs_1, fixup_stack_1, optimize_bit_field, flush_addressof,
512 put_addressof_into_stack, purge_addressof_1, insns_for_mem_walk,
513 purge_single_hard_subreg_set, instantiate_decl,
514 instantiate_virtual_regs_1, aggregate_value_p, assign_parms,
515 promoted_input_arg, setjmp_vars_warning, setjmp_args_warning,
516 setjmp_protect, setjmp_protect_args, fix_lexical_addr,
517 expand_function_start, diddle_return_value, clobber_return_register,
518 expand_function_end, keep_stack_depressed, handle_epilogue_set,
519 update_epilogue_consts): Likewise.
520 * genemit.c (gen_exp, gen_insn): Likewise.
521 * genrecog.c (make_insn_sequence): Likewise.
522 * global.c (global_conflicts, expand_preferences, mark_reg_store,
523 mark_reg_conflicts, set_preference, reg_becomes_live,
524 build_insn_chain, mark_reg_change): Likewise.
525 * haifa_sched.c (CONST_BASED_ADDRESS_P, find_set_reg_weight):
526 Likewise.
527 * ifcvt.c (noce_try_abs, noce_get_condition, noce_process_if_block):
528 Likewise.
529 * integrate.c (copy_rtx_and_substitute, try_constants,
530 subst_constants, mark_stores, allocate_initial_values): Likewise.
531 * jump.c (reversed_comparison_code_parts, delete_prior_computation,
532 delete_computation, rtx_renumbered_equal_p, true_regnum,
533 reg_or_subregno): Likewise.
534 * lcm.c (reg_dies, reg_becomes_live): Likewise.
535 * local-alloc.c (validate_equiv_mem_from_store, validate_equiv_mem,
536 update_equiv_regs, no_equiv, block_alloc, combine_regs, reg_is_set,
537 wipe_dead_reg, no_conflict_p): Likewise.
538 * loop-iv.c (simple_reg_p, simple_set_p, kill_sets,
539 iv_get_reaching_def, iv_analyze_biv, altered_reg_used, mark_altered,
540 simple_rhs_p, simplify_using_assignment, implies_p): Likewise.
541 * loop.c (scan_loop, combine_movables, rtx_equal_for_loop_p,
542 move_movables, note_set_pseudo_multiple_uses, consec_sets_invariant_p,
543 find_single_use_in_loop, count_one_set, loop_bivs_init_find,
544 loop_givs_rescan, check_insn_for_bivs, check_insn_for_givs,
545 valid_initial_value_p, simplify_giv_expr, consec_sets_giv,
546 loop_regs_update, check_dbra_loop, maybe_eliminate_biv,
547 maybe_eliminate_biv_1, record_initial, update_reg_last_use,
548 canonicalize_condition, loop_regs_scan, load_mems, try_copy_prop,
549 try_swap_copy_prop): Likewise.
550 * optabs.c (expand_binop, expand_vector_binop, expand_vector_unop,
551 expand_abs, emit_no_conflict_block, emit_libcall_block, expand_float):
552 Likewise.
553 * postreload.c (reload_cse_simplify, reload_cse_simplify_set,
554 reload_cse_simplify_operands, reload_combine,
555 reload_combine_note_store, reload_combine_note_use,
556 reload_cse_move2add, move2add_note_store): Likewise.
557 * print-rtl.c (print_rtx): Likewise.
558 * ra-build.c (copy_insn_p, remember_move, init_one_web_common,
559 contains_pseudo, handle_asm_insn): Likewise.
560 * ra-debug.c (ra_print_rtx_object, dump_constraints,
561 dump_static_insn_cost): Likewise.
562 * ra-rewrite.c (slots_overlap_p, emit_colors,
563 remove_suspicious_death_notes): Likewise.
564 * recog.c (validate_replace_rtx_1, find_single_use_1, find_single_use,
565 register_operand, scratch_operand, nonmemory_operand,
566 constrain_operands): Likewise.
567 * reg-stack (check_asm_stack_operands, remove_regno_note,
568 emit_swap_insn, swap_rtx_condition, subst_stack_regs_pat,
569 subst_asm_stack_regs): Likewise.
570 * regclass.c (scan_one_insn, record_reg_classes, copy_cost,
571 record_address_regs, reg_scan_mark_refs): Likewise.
572 * regmove.c (discover_flags_reg, replacement_quality,
573 copy_src_to_dest, reg_is_remote_constant_p, regmove_optimize,
574 fixup_match_1): Likewise.
575 * regrename.c (note_sets, clear_dead_regs, build_def_use, kill_value,
576 kill_set_value, copyprop_hardreg_forward_1): Likewise.
577 * reload.c (MATCHES, push_secondary_reload, find_reusable_reload,
578 reload_inner_reg_of_subreg, can_reload_into, push_reload,
579 combine_reloads, find_dummy_reload, hard_reg_set_here_p,
580 operands_match_p, decompose, find_reloads, find_reloads_toplev,
581 find_reloads_address, subst_indexed_address, find_reloads_address_1,
582 find_reloads_subreg_address, find_replacement,
583 refers_to_regno_for_reload_p, reg_overlap_mentioned_for_reload_p,
584 refers_to_mem_for_reload_p, find_equiv_reg, regno_clobbered_p): Likewise.
585 * reload1.c (replace_pseudos_in, reload, calculate_needs_all_insns,
586 find_reg, delete_dead_insn, alter_reg, eliminate_regs,
587 elimination_effects, eliminate_regs_in_insn, scan_paradoxical_subregs,
588 forget_old_reloads_1, reload_reg_free_for_value_p, choose_reload_regs,
589 emit_input_reload_insns, emit_output_reload_insns, do_input_reload,
590 do_output_reload, emit_reload_insns, gen_reload,
591 delete_address_reloads_1, inc_for_reload): Likewise.
592 * reorg.c (update_reg_dead_notes, fix_reg_dead_note,
593 update_reg_unused_notes, fill_slots_from_thread): Likewise.
594 * resource.c (update_live_status, mark_referenced_resources,
595 mark_set_resources, mark_target_live_regs): Likewise.
596 * rtlanal.c (nonzero_address_p, get_jump_table_offset,
597 global_reg_mentioned_p_1, reg_mentioned_p, reg_referenced_p,
598 reg_set_p, set_noop_p, find_last_value, refers_to_regno_p,
599 note_stores, dead_or_set_p, dead_or_set_regno_p, find_regno_note,
600 find_reg_fusage, find_regno_fusage, replace_regs, regno_use_in,
601 parms_set, find_first_parameter_load, keep_with_call_p,
602 hoist_test_store, hoist_update_store, address_cost, nonzero_bits1,
603 num_sign_bit_copies1): Likewise.
604 * rtlhooks.c (gen_lowpart_general): Likewise.
605 * sched-deps.c (deps_may_trap_p, sched_analyze_1, sched_analyze_insn,
606 sched_analyze): Likewise.
607 * sched-rgn.c (check_live_1, update_live_1, sets_likely_spilled_1):
608 Likewise.
609 * sdbout.c (sdbout_symbol, sdbout_parms, sdbout_reg_parms): Likewise.
610 * simplify-rtx.c (simplify_replace_rtx, simplify_unary_operation,
611 simplify_binary_operation, simplify_const_relational_operation,
612 simplify_subreg): Likewise.
613 * stmt.c (decl_conflicts_with_clobbers_p, expand_asm_operands,
614 expand_end_stmt_expr, expand_return, expand_decl,
615 expand_anon_union_decl): Likewise.
616 * unroll.c (precondition_loop_p, calculate_giv_inc, copy_loop_body,
617 find_splittable_regs, find_splittable_givs, find_common_reg_term,
618 loop_iterations): Likewise.
619 * var-tracking.c (variable_union, variable_part_different_p,
620 variable_different_p, count_uses, add_uses, add_stores,
621 compute_bb_dataflow, set_variable_part, delete_variable_part,
622 emit_notes_in_bb, vt_get_decl_and_offset, vt_add_function_parameters):
623 Likewise.
624 * varasm.c (assemble_variable): Likewise.
625
347b63a2
CD
6262004-06-15 Chris Demetriou <cgd@broadcom.com>
627
628 * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove
629 definition.
630 * config/mips/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove
631 #undef and #if 0'd definition.
632
e8679703
R
6332004-06-15 J"orn Rennecke <joern.rennecke@superh.com>
634
635 * combine.c (distribute_notes): Comment typo fix.
636
0792ab19
RS
6372004-06-15 Roger Sayle <roger@eyesopen.com>
638
639 * expmed.c (synth_mult): Mask bits of the multiplier to the
640 machine mode of the multiplication. Don't consider shifts
641 by more than (or equal to) the width of the operation's mode.
642
0dce8934
PB
6432004-06-15 Paolo Bonzini <bonzini@gnu.org>
644
645 * doc/install.texi: Yet another update for autoconf
646 and automake versions.
647
096f22f4
PB
6482004-06-15 Paolo Bonzini <bonzini@gnu.org>
649
650 * function.h (struct function): Remove cannot_inline field.
651 (current_function_cannot_inline): Remove.
652 * passes.c (rest_of_compilation): Reset DECL_DEFER_OUTPUT.
653 Simplify conditionals to ignore warn_return_type.
654 * tree-optimize.c (tree_rest_of_compilation): Do not reset
655 DECL_DEFER_OUTPUT.
656 * objc/objc-act.c (build_module_descriptor, finish_method_def):
657 Do not set current_function_cannot_inline.
658
8cff2a95
R
6592004-06-15 J"orn Rennecke <joern.rennecke@superh.com>
660
661 * cfglayout.c (fixup_reorder_chain): Handle case where the
662 destination of E_TAKEN is EXIT_BLOCK_PTR.
663
9264db16
DN
6642004-06-15 Diego Novillo <dnovillo@redhat.com>
665
666 * tree-ssa-copy.c (cprop_into_successor_phis): Fix typo.
667
3dd8069d
PB
6682004-06-15 Paolo Bonzini <bonzini@gnu.org>
669
670 * fold-const.c (operand_equal_p): Update comment.
671
7b14411a
KI
6722004-06-15 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
673
674 * config/m32r/m32r.h (RETURN_ADDR_RTX): Define.
675 (INCOMING_RETURN_ADDR_RTX): Define.
676 * config/m32r/m32r-protos.h (m32r_return_addr): Added.
677 * config/m32r/m32r.c (m32r_exppand_prologue): Changed for
678 __builtin_return_address(0).
679 (m32r_return_addr): Added for __builtin_return_address(0).
680 (m32r_reload_lr): Ditto.
681
b9034bbd
AJ
682 * longlong.h: Fix macros for m32r add_ssaaaa and sub_ddmmss.
683
cf11c05c
PB
6842004-06-15 Paolo Bonzini <bonzini@gnu.org>
685
686 * doc/install.texi (Prerequisites): Update libbanshee,
687 fastjar, libcpp, libjava/libltdl entries to
688 automake 1.8.5.
689
4d7694fc 6902004-06-15 Eric Botcazou <ebotcazou@act-europe.fr>
17192884 691 Olivier Hainque <hainque@act-europe.fr>
4d7694fc
EB
692
693 * function.c (fixup_var_refs): Also adjust the start of sequence
694 after fixing up the insns.
695
1f28d175
GB
6962004-06-15 Giovanni Bajo <giovannibajo@gcc.gnu.org>
697
698 * gccbug.in: Update optimization -> tree-optimization/rtl-optimization.
699
3a8c5d8c
BK
7002004-06-14 Benjamin Kosnik <bkoz@redhat.com>
701
702 * doc/install.texi (Prerequisites): Update libstdc++ entry to
703 automake 1.8.5.
704
f26c1794
EC
7052004-06-14 Eric Christopher <echristo@redhat.com>
706
707 * config/s390/s390.h (TARGET_SWITCHES): Change -mtpf (-mno-tpf)
708 to -mtpf-trace (-mno-tpf-trace).
709 * doc/invoke.texi (S/390 and zSeries Options): Add tpf option
710 documentation.
711
36598e94
EB
7122004-06-14 Eric Botcazou <ebotcazou@libertysurf.fr>
713
714 * real.c: Fix bit count in head comment.
715
daa2b95a
JL
7162004-06-14 Jeff Law <law@redhat.com>
717
718 * tree-ssa.c (kill_redundant_phi_nodes): More correctly handle
719 PHIs where the destination or an argument is marked with
720 SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
721
6355b2d5
JJ
7222004-06-14 Jakub Jelinek <jakub@redhat.com>
723
724 PR middle-end/15945
725 * simplify-rtx.c (simplify_binary_operation): Don't optimize out
726 Inf + -Inf, Inf - Inf, Inf / Inf and 0 * Inf if flag_trapping_math.
727
44930935
ZD
7282004-06-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
729
730 * opts.sh (var_args): Fix regexp.
731
25178498
JJ
7322004-06-14 Jakub Jelinek <jakub@redhat.com>
733
734 PR target/15178
735 * config/i386/sol2.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
736
fc9c8ce1
PB
7372004-06-14 Paul Brook <paul@codesourcery.com>
738
739 * dwarf2out.c (output_call_frame_info): Support dwarf3 cie entries.
740
50431bc4
ZD
7412004-06-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
742
743 * Makefile.in (FLAGS_H): New.
744 (flags.h): Replace by FLAGS_H.
745 * c.opt: Document Var, VarExists, Init and Report attributes.
746 * common.opt: Fill the values of the attributes.
747 * diagnostic.c (flag_fatal_errors): Do not define.
748 * except.c (flag_non_call_exceptions): Do not define.
749 * flags.h: Include options.h. Remove declarations conflicting with
750 the automatically defined ones.
751 * opts.c: Remove automatically defined variables.
752 (handle_option): Perform default initialization.
753 (common_handle_option): Do not handle options covered by the
754 default initialization.
755 * opts.h (struct cl_option): Add flag_var, has_set_value and set_value
756 fields.
757 (CL_REPORT): New.
758 * opts.sh: Generate variable declarations, handle CL_REPORT.
759 * toplev.c: Remove automatically defined variables.
760 (f_options): Removed.
761 (print_switch_values): Use cl_options instead of f_options.
762 * toplev.h (version_flag): Declaration removed.
763
1c2cdd56
ILT
7642004-06-14 Ian Lance Taylor <ian@wasabisystems.com>
765
715f8bb8
ILT
766 * config/sparc/sparc.h: Correct comment about availability of
767 little endian option.
768
1c2cdd56
ILT
769 * config.gcc: Remove sparc64-*-aout*.
770 * config/sparc/sparc.c (sparc_aout_select_rtx_section): Remove.
771 * config/sparc/sp64-aout.h: Remove.
772 * config/sparc/aout.h: Remove.
773
63694b5e
UW
7742004-06-14 Ulrich Weigand <uweigand@de.ibm.com>
775
776 * config/s390/s390.c: Include "tree-gimple.h".
777 (s390_gimplify_va_arg): New function.
778 (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
779 (s390_va_arg): Remove.
780 * config/s390/s390-protos.h (s390_va_arg): Remove.
781 * config/s390/s390.h (EXPAND_BUILTIN_VA_ARG): Call abort ().
782
623a66fa
R
7832004-06-14 J"orn Rennecke <joern.rennecke@superh.com>
784
785 * basic-block.h (could_fall_through): Declare.
786 * cfganal.c (can_fallthru): Succeed if the target is EXIT_BLOCK_PTR.
787 Fail if the source already has a fallthrough edge to the exit
788 block pointer.
789 (could_fall_through): New function.
790 * cfgbuild.c (make_edges): Check if we already have a fallthrough
791 edge to the exit block pointer.
792 * cfglayout.c (fixup_fallthru_exit_predecessor): Check that it is
793 not called before reload has completed.
794 Handle special case of first block having a fall-through exit edge.
795 (cfg_layout_finalize): Don't call it before reload or if we have
796 rtl epilogues.
797 (fixup_reorder_chain): A fall through to the exit block does not
798 require the block to come last. Add sanity checks.
799 * cfgrtl.c (rtl_split_edge): Add special handling of fall through
800 edges to the exit block.
801 * function.c (cfglayout.h): #include.
802 (thread_prologue_and_epilogue_insns): If we have neither return nor
803 epilogue, but a fall through to the exit block from mid-function,
804 force a non-fall-through exit.
805 * Makefile.in (function.o): Depend on CFGLAYOUT_H.
806
93ae5495
AM
8072004-06-14 Alan Modra <amodra@bigpond.net.au>
808
809 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Handle -mpowerpc64 and -mcpu
810 for power5 and rs64a. Correct condition for default. Correct power3,
811 620, 630, 7400, 7450, G4, 970 and G5 -mcpu entries. Add -many.
812
6e72d1e9
SB
8132004-06-13 Steven Bosscher <stevenb@suse.de>
814
815 * gcse.c (hash_scan_set, hash_scan_insn, mark_set, mark_oprs_set):
816 Revert previous change, don't use CALL_P.
817
e5da415c
JM
8182004-06-13 Jason Merrill <jason@redhat.com>
819
820 * tree.h: Move std_gimplify_va_arg_expr protoype here.
821 * tree-gimple.h: From here.
822
ce25943a
DB
8232004-06-13 Daniel Berlin <dberlin@dberlin.org>
824
825 Fix PR tree-optimization/15979
826 Fix PR tree-optimization/15981
827 * tree-ssa-pre.c (insert_aux): Fix faulty logic so that we don't
828 try to insert values undefined along some path.
829
3bce843e
DB
8302004-06-13 Daniel Berlin <dberlin@dberlin.org>
831
832 * tree-ssa-pre.c (add_to_value): is_gimple_min_invariant things
833 are available everywhere too.
834
a40de696
AP
8352004-06-13 Andrew Pinski <pinskia@physics.uc.edu>
836
837 * fold-const.c (fold_checksum_tree <case 't'>): Only
838 look at TREE_VALUES if the EXPR is an ENUMERAL_TYPE.
839 Only look at TYPE_MIN_VALUE and TYPE_MAX_VALUE if
840 EXPR is an INTEGERAL_TYPE or a scalar float type.
841
a18f61f8
DN
8422004-06-13 Diego Novillo <dnovillo@redhat.com>
843
844 * tree-sra.c (tree_sra): Update documentation.
845
132da1a5
JM
8462004-06-13 Joseph S. Myers <jsm@polyomino.org.uk>
847
848 * c-typeck.c (comptypes, tagged_types_tu_compatible_p,
849 function_types_compatible_p, type_lists_compatible_p): Remove
850 flags parameter.
851 * c-tree.h (comptypes): Likewise.
852 (COMPARE_STRICT): Remove.
853 * c-decl.c, c-lang.c, c-parse.in, c-typeck.c, objc/objc-act.c: All
854 callers changed.
855
118a3a8b
EC
8562004-06-13 Eric Christopher <echristo@redhat.com>
857
858 * c-decl.c (diagnose_mismatched_decls): Improve error message.
859 Remove unused code.
860 * c-typeck.c (comptypes): Add location in standard we're checking.
861
9f680e79
KK
8622004-06-13 Kaz Kojima <kkojima@gcc.gnu.org>
863
864 * config/sh/libgcc-std.ver: Add __unorddf2 and __unordsf2 with
865 version 3.3.4.
866
965703ed
RS
8672004-06-12 Roger Sayle <roger@eyesopen.com>
868
869 * expmed.c (shift_cost, shiftadd_cost, shiftsub_cost): Additionally
870 index by machine mode.
871 (init_expmed): Initialize shift_cost, shiftadd_cost and shiftsub_cost
872 tables inside the loop over machine modes.
873 (synth_mult, expand_mult_highpart_optab, expand_mult_highpart,
874 expand_divmod): Index shift*_cost by the appropriate machine mode.
875
3839e36a
EC
8762004-06-12 Eric Christopher <echristo@redhat.com>
877
878 * config/s390/s390.h: Rename TARGET_TPF to TARGET_TPF_PROFILING.
879 * config/s390/s390.md: Ditto.
880 * config/s390/s390.c: Ditto.
881 (s390_frame_info): Conditionalize frame and setup info on
882 TARGET_TPF_PROFILING.
883 (s390_arg_frame_offset): Ditto.
884
08039bd8
RS
8852004-06-12 Roger Sayle <roger@eyesopen.com>
886
887 * fold-const.c (omit_two_operands): New function.
888 * tree.h (omit_two_operands): Prototype here.
889 * builtins.c (fold_builtin_unordered_cmp): New function to lower
890 C99 unordered comparison builtins to the appropriate tree nodes.
891 (fold_builtin_1): Use fold_builtin_unordered_cmp to lower
892 BUILT_IN_ISGREATER, BUILT_IN_ISGREATEREQUAL, BUILT_IN_ISLESS,
893 BUILT_IN_ISLESSEQUAL and BUILT_IN_ISLESSGREATER. Manually lower
894 BUILT_IN_ISUNORDERED comparisons to an UNORDERED_EXPR tree node.
895 (simplify_builtin_memcmp, simplify_builtin_strncmp,
896 simplify_builtin_strncat, simplify_builtin_strspn): Use the new
897 omit_two_operands function to build the required COMPOUND_EXPRs.
898
7b1b4aed
SB
8992004-06-12 Steven Bosscher <stevenb@suse.de>,
900 Andreas Jaeger <aj@suse.de>
901
902 * gcse.c (record_set_info): Use predicates like REG_P.
903 (mems_conflict_for_gcse_p): Likewise.
904 (load_killed_in_block_p): Likewise.
905 (hash_expr_1): Likewise.
906 (insert_set_in_table): Likewise.
907 (gcse_constant_p): Likewise.
908 (hash_scan_set): Likewise.
909 (hash_scan_insn): Likewise.
910 (canon_list_insert): Likewise.
911 (record_last_mem_set_info): Likewise.
912 (record_last_set_info): Likewise.
913 (compute_hash_table_work): Likewise.
914 (mark_set): Likewise.
915 (mark_clobber): Likewise.
916 (mark_oprs_set): Likewise.
917 (compute_transp): Likewise.
918 (find_avail_set): Likewise.
919 (cprop_insn): Likewise.
920 (do_local_cprop): Likewise.
921 (cprop): Likewise.
922 (find_implicit_sets): Likewise.
923 (find_bypass_set): Likewise.
924 (bypass_conditional_jumps): Likewise.
925 (insert_insn_end_bb): Likewise.
926 (pre_insert_copy_insn): Likewise.
927 (compute_transpout): Likewise.
928 (next_ls_expr): Likewise.
929 (invalidate_any_buried_refs): Likewise.
930 (compute_ld_motion_mems): Likewise.
931 (reg_set_info): Likewise.
932 (reg_clear_last_set): Likewise.
933 (find_moveable_store): Likewise.
934 (compute_store_table): Likewise.
935 (find_loads): Likewise.
936 (store_killed_in_insn): Likewise.
937 (insert_insn_start_bb): Likewise.
938 (reg_set_between_after_reload_p): Likewise.
939 (reg_used_between_after_reload_p): Likewise.
940 (is_jump_table_basic_block): Likewise.
941 (gcse_after_reload): Likewise.
942 (hash_scan_set_after_reload): Likewise.
943 (compute_hash_table_after_reload): Likewise.
944
3d27dbd0
SB
9452004-06-12 Steven Bosscher <stevenb@suse.de>
946
947 * rtl.h (MEM_P, NONJUMP_INSN_P, CALL_INSN_P): New predicates.
948 (INSN_P): Don't look at the rtx code class, just explicitly
949 check for one of the tree RTX_INSN codes.
950
019c8e80
ZW
9512004-06-11 Zack Weinberg <zack@codesourcery.com>
952
953 * c-typeck.c (default_function_array_conversion): Use
954 build_pointer_type not TYPE_POINTER_TO.
955
2fac9c01
ZW
9562004-06-11 Zack Weinberg <zack@codesourcery.com>
957
958 * configure.ac: Don't invoke ACX_HEADER_STDBOOL.
959 * configure, config.in: Regenerate.
960 * system.h: Unconditionally define bool as unsigned char,
961 BOOL_BITFIELD as unsigned int.
962 * domwalk.h: Use BOOL_BITFIELD.
963
9ade2479
AJ
9642004-06-12 Andreas Jaeger <aj@suse.de>
965
966 * libgcc-std.ver: Add __unorddf2 and __unordsf2 with version 3.3.4.
967 * libgcc-darwin.ver: Likewise.
968
b605eb59
PJ
9692004-06-12 Peter Jakubek <peter@laseranimation.com>
970
971 * reload.c (find_reloads): Force reload for pseudo registers on big
972 endian machines.
973
7e6eb623
DB
9742004-06-11 Steven Bosscher <stevenb@suse.de>
975
976 * tree-ssa-dce.c (mark_control_dependent_edges_necessary):
977 Don't try to mark anything control dependent on the entry or
978 exit blocks.
979
9802004-06-11 Daniel Berlin <dberlin@dberlin.org>
9ade2479 981
7e6eb623
DB
982 Fix Bug 15899
983 Fix Bug 15460
984 * tree.h (SSA_NAME_VALUE): New macro.
985 (struct tree_ssa_name): Add value_handle member.
986 * tree-ssa-pre.c: Replaced.
987 * tree-flow.h (tree_ann_type): Add CST_ANN, EXPR_ANN.
988 (struct cst_ann_d): New.
989 (struct expr_ann_d): New.
990 (union tree_ann_d): Add cst_ann, expr_ann.
991 * tree-dfa.c (create_cst_ann): New function.
992 (create_expr_ann): Ditto.
993 * tree-flow-inline.h (cst_ann): New function.
994 (expr_ann): Ditto.
995 (get_cst_ann): Ditto.
996 (get_expr_ann): Ditto..
997
9839edf1
JDA
9982004-06-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
999
e2ddd6ca
JDA
1000 * pa.c (pa_hpux_init_libfunc): Add support for unord_optab.
1001 * pa/quadlib.c (enum qfcmp_magic): Define magic values for call to
1002 _U_Qfcmp library function.
1003 (_U_Qfltgt, _U_Qfunle, _U_Qfunlt, _U_Qfunge, _U_Qfungt, _U_Qfuneq,
1004 _U_Qfunord, _U_Qford): Add more TFmode builtin compare functions.
1005
9839edf1
JDA
1006 * pa.c (legitimize_pic_address): Use UNSPEC_DLTIND14R to identify
1007 unspec used for loading address from DLT.
1008 * pa.md: Define constants for the uses of UNSPEC and UNSPEC_VOLATILE.
1009 Change all users of UNSPEC and UNSPEC_VOLATILE to use new constants.
1010 Don't use short code sequence when loading the address of a nonlocal
1011 label.
1012 (nonlocal_goto): New expander.
1013 (indirect_goto): New jump pattern for nonlocal gotos.
1014 (short_jump): Remove extra whitespace.
1015 (builtin_longjmp): Clobber memory and hard frame pointer. Restore
1016 frame pointer via virtual_stack_vars_rtx when we have a nonlocal goto
1017 pattern.
1018
41c64ac0
RS
10192004-06-11 Roger Sayle <roger@eyesopen.com>
1020
1021 * expmed.c (synth_mult): Add an additional MODE argument for the
1022 machine mode of the multiplication. Update recursive calls. Use
1023 mode instead of word_mode for determining operation costs.
1024 (choose_mult_variant): Update calls to synth_mult with "mode".
1025
9098a3ec
RH
10262004-06-11 Richard Henderson <rth@redhat.com>
1027
1028 * tree-ssa-operands.c (get_stmt_operands): Clear makes_aliased_loads
1029 and makes_aliased_stores.
1030
55c45226
AP
10312004-06-11 Andrew Pinski <pinskia@physics.uc.edu>
1032
1033 * doc/install.text (--enable-shared): Fix typo.
1034
65da5a20
RH
10352004-06-11 Richard Henderson <rth@redhat.com>
1036
1037 * config/alpha/alpha.c (alpha_gimplify_va_arg_1): Remove post_p
1038 argument. Use internal post for call to gimplify_expr. Tidy
1039 rounded type size computation.
1040 (alpha_gimplify_va_arg): Use get_formal_tmp_var and
1041 get_initialized_tmp_var.
1042
07659e97
AP
10432004-06-11 Andrew Pinski <pinskia@physics.uc.edu>
1044
65da5a20
RH
1045 * doc/install.texi (--enable-shared): Update libobjc's shared library
1046 status. Remove reference to libf2c.
07659e97 1047
67c605a5
JM
10482004-06-11 Jason Merrill <jason@redhat.com>
1049
1050 * config/i386/i386.h (EXPAND_BUILTIN_VA_ARG): Just abort.
1051 * config/i386/i386.c (ix86_va_arg): Remove.
1052 * config/rs6000/rs6000.h (EXPAND_BUILTIN_VA_ARG): Just abort.
1053 * config/rs6000/rs6000.c (rs6000_va_arg): Remove.
1054 * config/alpha/alpha.h (EXPAND_BUILTIN_VA_ARG): Just abort.
1055 * config/alpha/alpha.c (alpha_va_arg): Remove.
1056 * config/sparc/sparc.h (EXPAND_BUILTIN_VA_ARG): Just abort.
1057 * config/sparc/sparc.c (sparc_va_arg): Remove.
1058
1059 * tree-ssa-operands.c (get_stmt_operands): Use a V_MAY_DEF if the
1060 assignment might throw.
1061 * tree-eh.c (tree_could_throw_p): Support non-call exceptions in
1062 expressions.
1063
e6ff425c
R
10642004-06-11 J"orn Rennecke <joern.rennecke@superh.com>
1065
67fc0c0f 1066 PR 15886:
e6ff425c
R
1067 * sh.h (ALLOCATE_INITIAL_VALUE): Use return_address_pointer_rtx.
1068
ccfca4ae
JM
10692004-06-11 Joseph S. Myers <jsm@polyomino.org.uk>
1070
1071 * doc/install.texi (Prerequisites): Update documentation of
1072 required versions of autoconf and automake. Remove mention of
1073 libf2c.
1074
5f393b25
JM
10752004-06-11 Jason Merrill <jason@redhat.com>
1076
1077 * config/sparc/sparc.c (sparc_gimplify_va_arg): New fn.
1078 (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
1079
5801c467
JQ
10802004-06-11 Jerry Quinn <jlquinn@optonline.net>
1081
1082 * typeclass.h: Add GPL plus exception license. Add include
1083 guard.
1084
3bcb4e37
JM
10852004-06-10 Jason Merrill <jason@redhat.com>
1086
1087 * gimplify.c (gimplify_modify_expr): Don't force a temporary
1088 of an aggregate_value_p type.
1089
3100d647
JL
10902004-06-10 Jeff Law <law@redhat.com>
1091
1092 * fold-const.c (fold_inf_compare): Avoid creating non-gimple
1093 code when we are in gimple form.
1094
95a3742c
DN
10952004-06-10 Diego Novillo <dnovillo@redhat.com>
1096
1097 * Makefile.in (tree-ssanames.o): Depend on TREE_FLOW_H.
1098 * tree-flow.h (ssa_names, num_ssa_names, ssa_name): Declare.
1099 (highest_ssa_version): Remove.
1100 * tree-outof-ssa.c (new_temp_expr_table): Replace
1101 highest_ssa_version with num_ssa_names.
1102 (dump_replaceable_exprs): Likewise.
1103 (rewrite_vars_out_of_ssa): Likewise.
1104 * tree-ssa-ccp.c (initialize): Likewise
1105 * tree-ssa-copyrename.c (rename_ssa_copies): Likewise.
1106 * tree-ssa-dce.c (tree_dce_init): Likewise.
1107 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
1108 * tree-ssa-live.c (create_ssa_var_map): Likewise.
1109 (dump_var_map): Likewise.
1110 * tree-ssa.c (verify_ssa): Likewise.
1111 (kill_redundant_phi_nodes): Likewise.
1112 Do not build a local array of SSA_NAMEs. Use the ssa_names table.
1113 * tree-ssanames.c: Include tree-flow.h
1114 (ssa_names): New varray.
1115 (init_ssa_names): Initialize ssa_names.
1116 Reserve the first slot of the ssa_names table.
1117 (make_ssa_name): Push the newly created SSA_NAME into ssa_names.
1118 Assign version numbers using num_ssa_names.
1119
a72967cd
JM
11202004-06-10 Joseph S. Myers <jsm@polyomino.org.uk>
1121
1122 * doc/sourcebuild.texi (Front End): Add details of more
1123 installation documentation required.
1124
a32b97a2
BB
11252004-06-10 Brian Booth <bbooth@redhat.com>
1126
1127 * doc/tree-ssa.texi: Remove references to VDEF and add descriptions
1128 of V_MAY_DEF and V_MUST_DEF.
1129 * tree-dfa.c (dfa_stats_d): Add num_v_must_defs and rename
1130 num_vdefs to num_v_may_defs.
1131 (compute_immediate_uses_for_stmt): Rename occurences of vdef
1132 to v_may_def.
1133 (redirect_immediate_uses): Ditto.
1134 (dump_dfa_stats): Ditto. Also added code to dump num_v_must_defs.
1135 (collect_dfa_stats_r): Rename occurences of vdef to v_may_def.
1136 Also add code to sum up the number of v_must_defs.
1137 (vdefs_disappeared_p): Replace with...
1138 (v_may_defs_disappeared_p): This.
1139 (v_must_defs_disappeared_p): New function.
1140 (mark_new_vars_to_rename): Rename occurences of vdef to v_may_def.
1141 Also add code to mark new variables found in V_MUST_DEFs for
1142 renameing.
1143 * tree-flow.h (stmt_ann_d): Add v_must_def_ops and replace
1144 vdef_ops to v_may_def_ops.
1145 (get_vdef_ops): Replace with...
1146 (get_v_may_def_ops): This.
1147 * tree-flow-inline.h (get_vdef_ops): Replace with...
1148 (get_v_may_def_ops): This.
1149 (get_v_must_def_ops): New function.
1150 (get_vdef_result_ptr): Replace with...
1151 (get_v_may_def_result_ptr): This.
1152 (get_vdef_op_ptr): Ditto with...
1153 (get_v_may_def_op_ptr); This.
1154 (get_v_must_def_op_ptr): New function.
1155 * tree-into-ssa.c (mark_def_sites): Rename occurences of vdef
1156 to v_may_def. Also add code to mark statements with
1157 V_MUST_DEFs as definition sites.
9ade2479 1158 (rewrite_stmt): Rename occurences of vdef to v_may_def. Also
a32b97a2
BB
1159 add code to register new V_MUST_DEFs made by the statement.
1160 * tree-outof-ssa.c (VIRTUAL_PARTITION): Update comments.
9ade2479 1161 (check_replaceable): Rename occurences of vdef to v_may_def. Also
a32b97a2
BB
1162 add check for V_MUST_DEFs.
1163 (find_replaceable_in_bb): Ditto.
1164 * tree-pretty-print.c (dump_vops): Rename occurences of vdef
1165 to v_may_def. Also add code to dump V_MUST_DEFs.
1166 * tree-sra.c (mark_all_vdefs): Replace with...
1167 (mark_all_v_may_defs): This.
1168 (mark_all_v_must_defs): New function.
1169 (create_scalar_copies): Replace call to mark_all_vdefs with
1170 calls to mark_all_v_may_defs and mark_all_v_must_defs.
9ade2479 1171 (scalarize_structures): Rename occurences of vdef to v_may_def.
a32b97a2
BB
1172 Also add a check for V_MUST_DEFs.
1173 (scalarize_modify_expr): Rename occurences of vdef to v_may_def.
1174 * tree-ssa-alias.c (global_var): Update comment.
1175 (compute_may_aliases): Ditto.
1176 (compute_points_to_and_addr_escape): Rename occurences of vdef
9ade2479 1177 to v_may_def. Also add code to mark variables in V_MUST_DEF
a32b97a2
BB
1178 operands as being written to.
1179 (group_aliases): Update comment.
1180 (maybe_create_global_var): Ditto.
1181 * tree-ssa.c (verify_ssa): Rename occurences of vdef to v_may_def.
1182 Also add a check for V_MUST_DEFs on GIMPLE registers.
1183 (replace_immediate_uses): Rename occurences of vdef to v_may_def.
1184 * tree-ssa-ccp.c (visit_stmt): Rename occurences of vdef
9ade2479 1185 to v_may_def. Also add code to mark all V_MUST_DEF operands
a32b97a2
BB
1186 VARYING.
1187 (initialize): Ditto.
1188 (set_rhs): Rename occurences of vdef to v_may_def. Also add
1189 code to update SSA_NAMEs in V_MUST_DEFs.
1190 * tree-ssa-copy.c (cprop_into_stmt): Rename occurences of vdef
1191 to v_may_def.
9ade2479 1192 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Rename
a32b97a2
BB
1193 occurences of vdef to v_may_def. Also add code to mark statements
1194 with V_MUST_DEFs as necessary.
1195 (propagate_necessity): Rename occurences of vdef to v_may_def.
9ade2479 1196 * tree-ssa-dom.c (redirect_edges_and_update_ssa_graph): Rename
a32b97a2
BB
1197 occurences of vdef to v_may_def. Also add code to mark operands
1198 in V_MUST_DEFs for renaming.
1199 (eliminate_redundant_computations): Rename occurences of vdef
1200 to v_may_def.
1201 (record_equivalences_from_stmt): Rename occurences of vdef
1202 to v_may_def. Also add code to record VUSEs for V_MUST_DEFs.
1203 (optimize_stmt): Remove unnesessary variable vdefs. Update
1204 comment.
1205 (register_definitions_for_stmt): Rename occurences of vdef
1206 to v_may_def. Also add code to register definitions made with
1207 V_MUST_DEFs.
1208 * tree-ssa-dse.c (fix_stmt_vdefs): Replace with...
1209 (fix_stmt_v_may_defs): This.
1210 (fix_phi_uses): Rename occurences of vdef to v_may_def.
1211 (dse_optimize_stmt): Ditto.
1212 * tree-ssa-live.c (create_ssa_var_map): Rename occurences of vdef
1213 to v_may_def. Also add code to mark V_MUST_DEF operands as being
1214 used in virtual operators.
9ade2479 1215 * tree-ssa-loop.c (mark_defs_for_rewrite): Rename occurences of
a32b97a2
BB
1216 vdef to v_may_def. Also add code to mark V_MUST_DEF operands for
1217 renaming.
9ade2479 1218 * tree-ssa-operands.c (opf_kill_def): New flag for killing
a32b97a2
BB
1219 definitions.
1220 (build_vdefs): Renamed to...
1221 (build_v_may_defs): This.
1222 (build_v_must_defs): New variable.
1223 (voperands_d): Add v_must_def_ops and replace vdef_ops with
1224 v_may_def_ops.
1225 (append_vdef): Replace with...
1226 (append_v_may_def): This.
1227 (append_v_must_def): New function.
1228 (NUM_FREE): Increment for V_MUST_DEF
1229 (optype_freelist): Increment its size for V_MUST_DEF
1230 (allocate_vdef_optype): Replace with...
1231 (allocate_v_may_def_optype): This.
1232 (allocate_v_must_def_optype): New function.
1233 (free_vdefs): Replace with...
1234 (free_v_may_defs): This.
1235 (free_v_must_defs): New function.
1236 (remove_vdefs): Replace with...
1237 (remove_v_may_defs): This.
1238 (remove_v_must_defs): New function.
1239 (init_ssa_operands): Rename occurences of vdef to v_may_def. Also
1240 add code to initialize build_v_must_defs.
1241 (finalize_ssa_vdefs): Replace with...
1242 (finalize_ssa_v_may_defs): This.
1243 (finalize_ssa_vuses): Rename occurences of vdef to v_may_def.
1244 (finalize_ssa_v_must_defs): New function.
1245 (finalize_ssa_stmt_operands): Replace call to finalize_ssa_vdefs
1246 with calls to finalize_ssa_v_may_defs and finalize_ssa_v_must_defs.
1247 (verify_start_operands): Rename occurences of vdef to v_may_def.
1248 Also add check for build_v_must_defs.
1249 (get_stmt_operands): Rename occurences of vdef to v_may_def.
1250 Also add code to handle V_MUST_DEFs and to use opf_kill_def for
1251 killing definitions.
1252 (get_expr_operands): Update comment and use opf_kill_def for
1253 killing definitions.
1254 (add_stmt_operand): Replace code that appends VDEFs with code
1255 that appends V_MUST_DEFs when opf_kill_def is set and V_MAY_DEFs
1256 otherwise.
1257 (add_call_clobber_ops): Update comments.
1258 * tree-ssa-operands.h (vdef_optype_d): Replace with...
1259 (v_may_def_optype_d): This.
1260 (v_must_def_optype_d): New structure.
1261 (VDEF_OPS): Replace with...
1262 (V_MAY_DEF_OPS): This.
1263 (STMT_VDEF_OPS): Same with...
1264 (STMT_V_MAY_DEF_OPS): This.
1265 (NUM_VDEFS): And...
1266 (NUM_V_MAY_DEFS): This.
1267 (VDEF_RESULT_PTR): As well as...
1268 (V_MAY_DEF_RESULT_PTR): This.
1269 (VDEF_RESULT): Same goes for...
1270 (V_MAY_DEF_RESULT): This.
1271 (VDEF_OP_PTR): And...
1272 (V_MAY_DEF_OP_PTR): This.
1273 (VDEF_OP): And...
1274 (V_MAY_DEF_OP): This.
1275 (V_MUST_DEF_OPS): New macro.
1276 (STMT_V_MUST_DEF_OPS): Ditto.
1277 (NUM_V_MUST_DEFS): Ditto.
1278 (V_MUST_DEF_OP_PTR): Ditto.
1279 (V_MUST_DEF_OP): Ditto.
1280 (remove_vdefs): Replace signature with...
1281 (remove_v_may_defs): This.
1282 (remove_v_must_defs): New function signature.
1283 * tree-ssa-pre.c (subst_phis): Replace call to remove_vdefs
1284 with calls to remove_v_may_defs and remove_v_must_defs.
1285 (process_left_occs_and_kills): Rename occurences of vdef to v_may_def.
1286 Also add code that marks left occurences of operands in V_MUST_DEFs.
9ade2479 1287 * tree-tailcall.c (find_tail_calls): Rename occurences of vdef
a32b97a2
BB
1288 to v_may_def. Also add check for V_MUST_DEFs.
1289 (eliminate_tail_call):Rename occurences of vdef to v_may_def.
1290
d57f1617
VM
12912004-06-10 Vladimir Makarov <vmakarov@redhat.com>
1292
1293 PR target/15653
1294 * haifa-sched.c (schedule_block): Finish cycle after issuing asm
1295 insn.
1296
322afd16
VR
12972004-06-10 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1298
1299 PR web/15263
1300 * doc/install.texi: Remove superfluous linebreak.
1301
aa6c7c3a
RS
13022004-06-10 Roger Sayle <roger@eyesopen.com>
1303
1304 * builtins.c (expand_builtin): Fall back to library function call for
1305 conj, conjf, conjl, creal, crealf, creall, cimag, cimagf and cimagl.
1306 (fold_builtin_1): Lower built-ins BUILT_IN_CONJ{,F,L} to CONJ_EXPR,
1307 BUILT_IN_CREAL{,F,L} to REALPART_EXPR, and BUILT_IN_CIMAG{,F,L} to
1308 IMAGPART_EXPR respectively.
1309
078c8b08
R
13102004-06-10 J"orn Rennecke <joern.rennecke@superh.com>
1311
1312 * sh.c (dump_table): New argument start. Changed caller.
1313 (fixup_mova): New function.
1314 (find_barrier): Use it.
1315 (sh_reorg): Likewise. Check for CODE_FOR_casesi_worker_2.
1316 If the label a mova refers to is above the mova itself, change
1317 the mova into a load.
1318 * sh.md (*casesi_worker): Rename to:
1319 (casesi_worker_1).
1320 (casesi_worker_2): New insn.
1321
23a60a04
JM
13222004-06-10 Jason Merrill <jason@redhat.com>
1323
9ade2479 1324 * target.h (struct gcc_target): Change gimplify_va_arg_expr
23a60a04
JM
1325 hook signature.
1326 * tree-gimple.h: Adjust.
1327 * config/alpha/alpha.c (alpha_gimplify_va_arg): Adjust.
1328 * config/i386/i386.c (ix86_gimplify_va_arg): Adjust.
1329 Use fold_convert.
1330 * config/ia64/ia64.c (ia64_gimplify_va_arg): Adjust.
1331 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Adjust.
1332 Use COMPLEX_EXPR for complex numbers. Use fold_convert.
1333 * builtins.c (std_gimplify_va_arg_expr): Adjust. Use fold_convert.
1334 (gimplify_va_arg_expr): Return GS_ERROR in error case.
1335 Gimplify valist rather than calling stabilize_va_list.
1336
9bf7acfc
ZD
13372004-06-10 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1338
1339 * Makefile.in (df.o): Remove fibheap dependency.
1340 * df.h: Do not include sbitmap.h.
1341 (struct ref): New field "data".
1342 (DF_REF_DATA): New accessor macro.
1343 (struct df): Field "dom" removed.
1344 (df_analyze_subcfg): New function.
1345 (transfer_function_sbitmap, transfer_function_bitmap): Replaced by ...
1346 (transfer_function): ... new type.
1347 (iterative_dataflow_sbitmap, iterative_dataflow_bitmap): Replaced by ...
1348 (iterative_dataflow): ... new function.
1349 (enum set_representation, struct dataflow): New.
1350 * df.c: Do not include fibheap.h.
1351
1352 (df_reg_def_chain_clean, df_reg_use_chain_clean,
1353 (df_bb_table_realloc, df_analyse_subcfg, free_reg_ref_chain,
1354 prune_to_subcfg, df_bb_modify): New functions.
1355 (df_bitmaps_alloc, df_reg_def_chain_create, df_reg_use_chain_create,
1356 df_refs_update, df_reg_table_realloc, df_ref_create,
1357 df_bb_reg_def_chain_create, df_bb_reg_use_chain_create,
1358 df_bb_rd_local_compute, df_bb_ru_local_compute, df_bb_lr_local_compute,
1359 df_analyse_1, df_insn_modify): Support analysing only a part of the cfg.
9ade2479 1360
9bf7acfc
ZD
1361 (dataflow_set_a_op_b, dataflow_set_copy): New functions.
1362 (df_rd_transfer_function, df_ru_transfer_function,
1363 df_lr_transfer_function): Type of bitmaps changed to void *.
1364 (hybrid_search_bitmap, hybrid_search_sbitmap): Merge into ...
1365 (hybrid_search): ... new function.
1366 (iterative_dataflow_bitmap, iterative_dataflow_sbitmap): Merge into ...
1367 (iterative_dataflow): ... new function. Avoid use of fibheaps for
1368 a worklist. Do not process basic blocks unnecessarily.
1369
9655d83b
RS
13702004-06-10 Roger Sayle <roger@eyesopen.com>
1371
1372 * fold-const.c (fold_abs_const): Make extern.
1373 * tree.h (fold_abs_const): Prototype here.
1374 * builtins.c (fold_builtin_fabs): New function to transform
1375 fabs, fabsf and fabsl builtins into ABS_EXPR tree nodes.
1376 (fold_builtin_abs): New function to transform abs, labs, llabs
1377 and imaxabs builtins into ABS_EXPR tree nodes.
1378 (expand_builtin): Fall back to a function call for abs, labs,
1379 llabs and imaxabs builtins that survive constant folding.
1380 (fold_builtin_1): Call fold_builtin_fabs for FABS, FABSF and
1381 FABSL, and fold_builtin_abs for ABS, LABS, LLABS and IMAXABS.
1382
897105a1
JJ
13832004-06-10 Jakub Jelinek <jakub@redhat.com>
1384
1385 * config/ia64/unwind-ia64.c (uw_frame_state_for): Don't assume a
1386 leaf function without unwind info at RP 0.
1387
498c0f27
JJ
13882004-06-10 Jakub Jelinek <jakub@redhat.com>
1389
1390 PR c++/14791
1391 * tree.h (enum tree_index): Add TI_FILEPTR_TYPE.
1392 (fileptr_type_node): Define.
1393 * tree.c (build_common_tree_nodes_2): Initialize
1394 fileptr_type_node to ptr_type_node.
1395 * c-common.c (c_common_nodes_and_builtins): For C++, make
1396 fileptr_type_node a distinct type copy.
1397 * builtin-types.def (BT_FILEPTR, BT_FN_INT_CONST_STRING_FILEPTR,
1398 BT_FN_INT_INT_FILEPTR, BT_FN_INT_FILEPTR_CONST_STRING_VALIST_ARG,
1399 BT_FN_SIZE_CONST_PTR_SIZE_SIZE_FILEPTR,
1400 BT_FN_INT_FILEPTR_CONST_STRING_VAR): Add.
1401 (BT_FN_INT_CONST_STRING_PTR, BT_FN_INT_INT_PTR,
1402 BT_FN_SIZE_CONST_PTR_SIZE_SIZE_PTR, BT_FN_INT_PTR_CONST_STRING_VAR,
1403 BT_FN_INT_PTR_CONST_STRING_VALIST_ARG): Remove.
1404 * builtins.def (BUILT_IN_FPRINTF, BUILT_IN_FPRINTF_UNLOCKED,
1405 BUILT_IN_FPUTC, BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS,
1406 BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FSCANF, BUILT_IN_FWRITE,
1407 BUILT_IN_FWRITE_UNLOCKED, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): Use
1408 the above *FILEPTR* types instead of *PTR*.
1409
fce66145
DB
14102004-06-09 Daniel Berlin <dberlin@dberlin.org>
1411
9ade2479 1412 * tree-ssa.c (verify_ssa): Verify that vdefs/makes_aliased_stores
fce66145
DB
1413 match.
1414
a653e758
RS
14152004-06-09 Roger Sayle <roger@eyesopen.com>
1416
1417 * fold-const.c (fold_not_const): New function.
1418 (fold) <ABS_EXPR>: Don't bother testing wins.
1419 (fold) <BIT_NOT_EXPR>: Call fold_not_const.
1420 (nondestructive_fold_unary_to_constant) <BIT_NOT_EXPR>: Likewise.
1421
e66e7856 14222004-06-09 Richard Henderson <rth@redhat.com>
9ade2479 1423
498c0f27
JJ
1424 PR middle-end/15228
1425 * function.c (assign_parms): Always set_mem_align with the computed
1426 FUNCTION_ARG_BOUNDARY. Don't clear stack_parm if !STRICT_ALIGNMENT.
e66e7856 1427
4b5b9613
RH
14282004-06-09 Richard Henderson <rth@redhat.com>
1429
1430 PR opt/15108
1431 * tree-tailcall.c (find_tail_calls): Don't check early for
1432 tail_recursion failure.
1433
313679b0
DN
14342004-06-09 Diego Novillo <dnovillo@redhat.com>
1435
1436 Move SSA_NAME annotations into tree_ssa_name.
1437
1438 * tree-dfa.c (create_ssa_name_ann): Remove.
1439 * tree-flow-inline.h (ssa_name_ann, get_ssa_name_ann): Remove.
1440 * tree-flow.h (enum tree_ann_type): Remove SSA_NAME_ANN.
1441 (struct ssa_name_ann_d): Remove.
1442 (union tree_ann_d): Update.
1443 (ssa_name_ann_t): Remove.
1444 * tree-ssa-alias.c: (get_ptr_info): New local function.
1445 Replace references to ssa_name_ann_t with struct ptr_info_def.
1446 * tree-ssa-operands.c (get_expr_operands): Likewise.
1447 * tree.h (SSA_NAME_PTR_INFO): Define.
1448 (struct ptr_info_def): Declare.
1449 (struct tree_ssa_name): Add field 'ptr_info'.
1450
33300a2e
DS
14512004-06-09 Danny Smith <dannysmith@users.sourceforge.net>
1452
8041d6ab 1453 * config/i386/winnt.c (i386_pe_output_labelref): Correct
33300a2e
DS
1454 misplaced ')'.
1455
8695f61e
SB
14562004-06-09 Steven Bosscher <stevenb@suse.de>
1457
1458 * config/i386/k6.md: Rewrite using the DFA model.
1459 * config/i386/i386.c (ix86_adjust_cost): Don't increase the
1460 cost of load-operation insns for the K6.
1461 (ia32_use_dfa_pipeline_interface): Add TARGET_K6.
1462 (ia32_multipass_dfa_lookahead): Likewise.
1463
28245018
RH
14642004-06-09 Richard Henderson <rth@redhat.com>
1465
1466 * config/alpha/alpha.c (alpha_gimplify_va_arg_1,
1467 alpha_gimplify_va_arg, TARGET_GIMPLIFY_VA_ARG_EXPR): New.
1468
bb394606
RH
14692004-06-09 Richard Henderson <rth@redhat.com>
1470
1471 * expmed.c (emit_store_flag): Cope with FLOAT_STORE_FLAG_VALUE.
1472
d8044160
GK
14732004-06-09 Geoffrey Keating <geoffk@apple.com>
1474
1475 * Makefile.in (CPPLIB_H): Put files in order of inclusion.
1476 (CPP_ID_DATA_H): New.
1477 (gtype-desc.o): Update dependencies.
1478 (GTFILES): Use CPP_ID_DATA_H.
1479
0e5b7cfa
MM
14802004-06-09 Mark Mitchell <mark@codesourcery.com>
1481
1482 Revert:
1483 PR c++/15815
1484 2004-06-07 Mark Mitchell <mark@codesourcery.com>
1485 * doc/extend.texi: Deprecate #pragma interface and #pragma
1486 implementation.
1487
5162e02a
DM
14882004-06-09 David S. Miller <davem@nuts.davemloft.net>
1489
1490 * config/sparc/sparc.h (MOVE_RATIO): New definition.
1491
62b857ea
RH
14922004-06-09 Richard Henderson <rth@redhat.com>
1493
1494 * basic-block.h (struct edge_def): Add goto_locus.
1495 * tree-cfg.c (make_goto_expr_edges): Set it.
1496 (disband_implicit_edges): Use it.
1497 * tree-pretty-print.c (dump_implicit_edges): Print it.
1498
93a9f7d6
AP
14992004-06-08 Anil Paranjpe <anilp1@kpitcummins.com>
1500
1501 * h8300.md (ldm_h8300s_4): Fix condition for expander.
1502
cd3ce9b4
JM
15032004-06-08 Jason Merrill <jason@redhat.com>
1504
1505 Gimplify VA_ARG_EXPR into simpler forms.
1506 * target.h: Add gimplify_va_arg_expr hook.
1507 * target-def.h: Add TARGET_GIMPLIFY_VA_ARG_EXPR.
1508 * fold-const.c (build_fold_addr_expr)
1509 (build_fold_addr_expr_with_type): Move from gimplify.c.
1510 * tree.h: Declare them.
1511 * gimplify.c (gimplify_and_add): New fn.
1512 (build_addr_expr, build_addr_expr_with_type): Move to fold-const.c.
1513 (gimplify_array_ref_to_plus, gimplify_modify_expr)
1514 (gimplify_expr): Use build_fold_*.
1515 (copy_if_shared_r): Only mark VA_ARG_EXPR volatile if we
1516 don't know how to gimplify it.
1517 * builtins.c (std_gimplify_va_arg_expr): New fn.
1518 (dummy_object): New static fn.
1519 (gimplify_va_arg_expr): New fn.
1520 (stabilize_va_list): Use build_fold_*.
1521 * tree-gimple.h: Declare new fns.
1522 * config/i386/i386.c (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
1523 (ix86_gimplify_va_arg): New fn.
373614fc 1524 * config/ia64/ia64.c (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
cd3ce9b4 1525 (ia64_gimplify_va_arg): New fn.
373614fc 1526 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): New fn.
cd3ce9b4 1527 (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
cd3ce9b4 1528 * alias.c (get_varargs_alias_set): Just return 0 for now.
9ade2479 1529
cd3ce9b4
JM
1530 * c-objc-common.c (c_tree_printer): Improve handling of %T.
1531
e072ae27
AP
15322004-06-09 Andrew Pinski <pinskia@physics.uc.edu>
1533
1534 * tree-complex.c (expand_complex_comparison): Use fold_convert instead
1535 of convert.
1536 * tree-inline.c (setup_one_parameter): Likewise.
1537 * tree-sra.c (csc_build_component_ref): Likewise.
1538 * tree-ssa-ccp.c (ccp_fold): Likewise.
1539 * tree-ssa-copy.c (cprop_operand): Likewise.
1540 * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
1541 * tree-tailcall.c (tree_optimize_tail_calls_1): Likewise.
1542
b40742a5
R
15432004-06-09 J"orn Rennecke <joern.rennecke@superh.com>
1544
1545 PR rtl-optimization/15521:
1546 * sched-int.h (in_post_call_group_p): Change type to enum.
1547 * sched-deps.c (sched_analyze_insn):
1548 (sched_analyze): When in_post_call_group_p is post_call_initial,
1549 don't add a dependency, but still set SCHED_GROUP_P and CANT_MOVE,
1550 and also reset in_post_call_group_p to post_call.
1551 (sched_analyze): When the previous basic block ended in a CALL_INSN,
1552 initialize in_post_call_group_p as post_call_initial.
1553 (init_deps): initialize in_post_call_group_p to not_post_call.
9ade2479 1554
e22df315
AC
15552004-06-09 Arnaud Charlet <charlet@act-europe.fr>
1556
1557 PR ada/6637
1558 * doc/install.texi: List ada, libada as options to --enable-shared
1559
ad6717df
PB
15602004-06-09 Paolo Bonzini <bonzini@gnu.org>
1561
1562 * aclocal.m4 (gcc_AC_PROG_LN): Remove.
1563 (gcc_AC_CHECK_DECLS): Use AH_TEMPLATE to generate
1564 config.in entries.
1565 * configure.ac: Call ACX_PROG_LN, falling back to $LN_S
1566 if hard links are not available.
1567 * configure: Regenerate.
1568 * config.in: Regenerate.
1569
74ee1642
PB
15702004-06-08 Per Bothner <per@bothner.com>
1571
1572 * configure.ac: New --enable-mapped-location sets USE_MAPPED_LOCATION.
1573
144cbad0
RK
15742004-06-08 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1575
1576 * toplev.c (floor_log2_wide): Correct casts for 64-bit hosts.
1577 Correct formatting.
1578
02760d2f
JW
15792004-06-08 James E Wilson <wilson@specifixinc.com>
1580
1581 PR target/15790
1582 * config/i386/i386-coff.h (ASM_OUTPUT_ALIGN): Define.
1583
908d0773
AP
15842004-06-08 Andrew Pinski <pinskia@physics.uc.edu>
1585
1586 * fold-const.c (fold_convert): Treat OFFSET_TYPE like
1587 POINTER_TYPE and INTEGER_TYPE.
1588
d7777192
BI
15892004-06-08 Bernardo Innocenti <bernie@develer.com>
1590
1591 * modulo-sched.c: Compile only when INSN_SCHEDULING is
1592 defined.
1593
2d488668
JL
15942004-06-08 Jeff Law <law@redhat.com>
1595
8695f61e
SB
1596 * doc/contrib.texi: Add entries for Stefan Olsson and
1597 Ola Ronnerup.
2d488668 1598
73d10efa
DD
15992004-06-08 DJ Delorie <dj@redhat.com>
1600
1601 * toplev.c (floor_log2_wide): Replace loop with faster bit
1602 operations.
1603 (exact_log2_wide): Define in terms of the above.
1604 * toplev.h (floor_log2): Use _builtin_clz family of builtins if
1605 available.
1606
3b48085e
AP
16072004-06-08 Andrew Pinski <pinskia@physics.uc.edu>
1608
1609 * config/rs6000/rs6000.c (print_operand, <case 'z'>):
1610 Make sure that we are in INDIRECT mode when getting the
1611 stub name.
1612
3d5c8546
AP
16132004-06-08 Anil Paranjpe <anilp1@kpitcummins.com>
1614
1615 * h8300.md (extendqisi2_h8300): Add constraints.
1616 (ldm_h8300s_4_normal): Fix typo.
1617
71877985
RH
16182004-06-08 Richard Henderson <rth@redhat.com>
1619
8695f61e
SB
1620 * gimple-low.c (struct lower_data): Replace the_return_label and
1621 one_return_stmt with return_statements.
1622 (lower_function_body): Process the entire list of return_statements.
9ade2479 1623 (lower_return_expr): Check source value before unifying return_exprs.
8695f61e
SB
1624 * gimplify.c (gimplify_return_expr): Force the use of a temporary
1625 for !aggregate_value_p.
1626 * tree-gimple.c: Update RETURN_EXPR grammer.
71877985 1627
de101ad2
VM
16282004-06-08 Vladimir Makarov <vmakarov@redhat.com>
1629
1630 PR target/15598
1631 * config/ia64/ia64.c (bundling): Add missed TYPE_A.
1632
d599f329
ZD
16332004-06-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1634
1635 PR rtl-optimization/15717
1636 * config/i386/i386.c (legitimate_constant_p): Do not allow
1637 x - symbol_ref.
1638
0b1d52f7
AO
16392004-06-08 Alexandre Oliva <aoliva@redhat.com>
1640
1641 * gimplify.c (copy_if_shared_r): Revert:
1642 2004-05-21 Richard Henderson <rth@redhat.com>
1643 * gimplify.c [...] Don't mark VA_ARG_EXPRs volatile here.
1644
58777718
RS
16452004-06-07 Roger Sayle <roger@eyesopen.com>
1646
1647 * expmed.c (add_cost, neg_cost, sdiv_pow2_cheap, smod_pow2_cheap):
1648 Make arrays indexed by machine mode. Rename negate_cost to neg_cost.
1649 (init_expmed): Initialize these cost arrays as appropriate.
1650 (store_bit_field, extract_bit_field): Correct whitespace.
1651 (synth_mult, choose_mult_variant, expand_mult, expand_mult_highpart,
1652 expand_mult_highpart_optab, expand_divmod): Update uses of add_cost,
1653 neg_cost, sdiv_pow2_cheap, smod_pow2_cheap to index with mode,
1654 word_mode or compute_mode as appropriate.
1655
85bbb21f
EB
16562004-06-07 Eric Botcazou <ebotcazou@libertysurf.fr>
1657
1658 PR target/15783
1659 * config/sparc/sparc.c (function_arg_union_value): Add 'mode'
1660 parameter. Enumerate the registers inside the PARALLEL.
1661 (function_arg): Adjust call to function_arg_union_value.
1662 (function_value): Likewise.
1663
1664 * config/sparc/sparc.c (sparc_function_epilogue): Properly format.
1665
67057c53
RS
16662004-06-07 Roger Sayle <roger@eyesopen.com>
1667
1668 * real.c (real_copysign): New function to implement libm's copysign.
1669 * real.h (real_copysign): Prototype here.
1670 * fold-const.c (tree_expr_nonnegative_p): The result of sqrt, sqrtf
1671 and sqrtl can be negative, as sqrt(-0.0) = -0.0. Correct whitespace.
1672 * builtins.c (fold_builtin_isascii, fold_builtin_toascii,
1673 fold_builtin_isdigit): Add function prototypes.
1674 (fold_builtin_copysign): New function to fold copysign, copysignf
1675 and copysignl. Optimize copysign(x,x) as x. Evaluate copysign of
1676 constant arguments at compile-time using real_copysign. Fold
1677 copysign(X,Y) as fabs(X) if Y is always non-negative.
1678 (fold_builtin_1): Correct minor whitespace/style issues. Call
1679 fold_builtin_copysign for BUILT_IN_COPYSIGN{,F,L}.
1680
f29b9db9
R
16812004-06-07 J"orn Rennecke <joern.rennecke@superh.com>
1682
1683 * tree.c (iterative_hash_expr): Use real_hash.
1684
45b0c94c
JM
16852004-06-07 Joseph S. Myers <jsm@polyomino.org.uk>
1686
1687 PR c/14765
1688 * c-parse.in (compstmt_primary_start): Set last_expr_type to
1689 NULL_TREE.
1690
3743236e
MM
16912004-06-07 Mark Mitchell <mark@codesourcery.com>
1692
1693 PR c++/15815
1694 * doc/extend.texi: Deprecate #pragma interface and #pragma
1695 implementation.
1696
0b395e19
AO
16972004-06-07 Alexandre Oliva <aoliva@redhat.com>
1698
1699 PR middle-end/15666
1700 * c-decl.c (finish_decl): Use change_decl_assembler_name for the
1701 builtin decl as well.
1702
bf730f15
RS
17032004-06-07 Roger Sayle <roger@eyesopen.com>
1704
1705 PR c/14649
1706 * c-typeck.c (require_constant_value, require_constant_elements):
1707 Move declarations to the top of the file.
1708 (build_function_call): If we require a constant value, fold with
1709 fold_initializer. If the result is a constant, and the function
1710 wasn't called using __builtin_foo, issue a pedantic warning.
1711 (build_unary_op): If we require a constant value, fold tree with
1712 fold_initializer.
1713 (build_binary_op): Use require_constant_value to determine whether
1714 to call fold or fold_initializer.
1715
f5a76aea
RH
17162004-06-07 Richard Henderson <rth@redhat.com>
1717
1718 * gimple-low.c (struct lower_data): Add the_return_label and
1719 one_return_stmt.
1720 (lower_function_body): Initialize and use them.
1721 (lower_return_expr): New.
1722 (lower_stmt): Call it.
1723 * gimplify.c (gimplify_return_expr): Force the argument to be either
1724 null or a result_decl.
1725 * tree-gimple.c: Update gimple grammer to match.
1726 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Deny
1727 coalescing of result_decls.
1728
5c64c900
RH
17292004-06-07 Richard Henderson <rth@redhat.com>
1730
1731 PR rtl-opt/15193
1732 * expmed.c (extract_bit_field): Fix vector_extract return.
1733
1734 * config/i386/i386.md (negv4sf2): New pattern.
1735
d5a10cf0
MM
17362004-06-07 Mark Mitchell <mark@codesourcery.com>
1737
1738 PR c++/15337
07d5edd2 1739 * c-common.c (c_sizeof_or_alignof_type): Use more detailed error
d5a10cf0
MM
1740 message.
1741
2af5538b
PB
17422004-06-06 Paolo Bonzini <bonzini@gnu.org>
1743
1744 * config.in: Regenerate.
1745
7853504d
SB
17462004-06-06 Steven Bosscher <stevenb@suse.de>
1747
1748 * tree-cfg.c (tree_verify_flow_info): Make sure that labels in
1749 SWITCH_LABELS are always sorted.
1750
e4638a72
SB
17512004-06-06 Steven Bosscher <stevenb@suse.de>
1752
1753 * hooks.c (hook_int_void_1): New generic hook.
1754 * hooks.h (hook_int_void_1): Add prototype.
1755 * config/c4x/c4x.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE):
1756 Define to hook_int_void_1.
1757 * config/c4x/c4x.md: Replace dummies for the old pipeline model
1758 with dummies for the new one.
1759
25a1a39e
RS
17602004-06-06 Roger Sayle <roger@eyesopen.com>
1761
1762 * tree.h (lvalue_or_else): Delete function prototype.
1763 * c-typeck.c (lvalue_or_else): Make static. Add static prototype.
1764
37f40c9c
SC
17652004-06-06 Stephane Carrez <stcarrez@nerim.fr>
1766
1767 PR target/14542
1768 * config/m68hc11/m68hc11.md (move peephole2): Emit a use note to avoid
1769 a live change of a register after peephole replacement.
1770
10bc1b1b
JM
17712004-06-06 Joseph S. Myers <jsm@polyomino.org.uk>
1772
1773 PR c/13519
1774 * c-typeck.c (composite_type, common_pointer_type): New functions.
1775 (common_type): Split parts into composite_type and
1776 common_pointer_type. Ensure that arithmetic operations return
1777 unqualified types without attributes. Don't make composite type
1778 of signed enum and compatible integer be unsigned.
1779 (build_conditional_expr, build_binary_op): Use
1780 common_pointer_type.
1781 * c-decl.c (merge_decls): Use composite_type.
1782 * c-tree.h (composite_type): Declare.
1783
ff24b820
SC
17842004-06-06 Stephane Carrez <stcarrez@nerim.fr>
1785
1786 PR target/14457
1787 * config/m68hc11/m68hc11.c (splitable_operand): New predicate.
1788 * config/m68hc11/m68hc11-protos.h (splitable_operand): Declare.
1789 * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register it.
1790 (inhibit_libc): Must define.
1791 * config/m68hc11/m68hc11.md ("movhi_const0"): Use splitable_operand.
1792 ("*andhi3_gen", "iorhi3", "*iorhi3_gen"): Likewise.
1793 ("xorhi3"): Likewise.
1794
2ddbba80
EB
17952004-06-06 Eric Botcazou <ebotcazou@libertysurf.fr>
1796
1797 * cgraphunit.c (cgraph_decide_inlining): Adjust dump lines in
1798 always_inline pass.
1799
0eef99c1
DM
18002004-06-05 David S. Miller <davem@nuts.davemloft.net>
1801
1802 * config/sparc/linux.h (TARGET_C99_FUNCTIONS): Set.
1803 * config/sparc/linux64.h (TARGET_C99_FUNCTIONS): Likewise.
1804
1ee19633
BI
18052004-06-05 Bernardo Innocenti <bernie@develer.com>
1806
1807 * regclass.c (init_reg_sets): Check for missing registers in target
1808 initializer macros FIXED_REGISTERS and CALL_USED_REGISTERS.
1809
c6e83800
ZW
18102004-06-05 Zack Weinberg <zack@codesourcery.com>
1811
1812 * Makefile.in (MKDEPS_H): New shorthand.
1813 (c-opts.o): Update dependencies.
1814 * c-opts.c: Include mkdeps.h.
1815 (handle_deferred_opts): Use cpp_get_deps and deps_add_target,
1816 not cpp_add_dependency_target.
1817
dbeff3e5
SB
18182004-06-05 Steven Bosscher <stevenb@suse.de>
1819
1820 * config/v850/v850.c (v850_use_dfa_pipeline_interface): New.
1821 * config/v850/v850.md: Convert to DFA scheduler description.
1822
3e31938b 18232004-06-05 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
bda4d063
TS
1824
1825 PR fortran/15478
1826 * doc/install.texi: Document GMP as prerequisite. Document
1827 --with-gmp and --with-gmp-dir configure options.
1828 * fortran/gfortran.texi: Remove section "Compiling and testing",
c6e83800 1829 remove TOC reference to it.
bda4d063 1830
446f52f4
GS
18312004-06-05 Graham Stott <graham.stott@btinternet.com>
1832
1833 * combine.c(simplify_shift_const): Check shift amount is a
1834 CONST_INT.
1835
90aa6719
DS
18362004-06-05 Danny Smith <dannysmith@users.sourceforge.net>
1837
446f52f4 1838 * toplev.c (init_asm_output): Add explicit 'b' to mode when
c6e83800 1839 opening asm_out_file.
446f52f4
GS
1840 * c-pch.c (c_common_write_pch): Remove unnecessary fflush before
1841 reading asm_out_file. Replace fflush after reading asm_out_file
1842 with fseek.
1843 * hosthooks-def.h (HOST_HOOKS_GT_PCH_ALLOC_GRANULARITY): Define
c6e83800 1844 default and add to HOST_HOOKS_INITIALIZER.
446f52f4
GS
1845 * hosthooks.h (gt_pch_alloc_granularity): Declare hook function.
1846 * ggc-common.c (default_gt_pch_alloc_granularity): New function.
c6e83800 1847 (gt_pch_save): Use host_hooks.gt_pch_alloc_granularity
446f52f4
GS
1848 to set mmi.offset padding.
1849 * config.gcc (i[34567]86-*-mingw32*): Set target_gtfiles to
1850 $(srcdir)/config/i386/winnt.c.
1851 (i[34567]86-*-pe | i[34567]86-*-cygwin*): Likewise.
1852 (i[34567]86-*-uwin*): Likewise.
1853 *i[34567]86-*-interix3*): Likewise.
1854 * config.host (i[34567]86-*-mingw32*): Set out_host_hook_obj.
1855 * config/i386/host-mingw32.c: New file.
1856 * config/i386/x-mingw32: Add rule for host-mingw32.o.
1857 * config/i386/winnt.c: (struct extern_list) Tag as GTY.
1858 (extern_head): Likewise.
1859 (struct export_list) Likewise.
1860 (export_head): Likewise.
1861 (i386_pe_record_external_function): Use ggc_alloc.
1862 (i386_pe_record_exported_symbol): Likewise.
1863 Include "gt-winnt.h" at end.
1864 * doc/hostconfig.texi: Document
90aa6719
DS
1865 HOST_HOOKS_GT_PCH_ALLOC_GRANULARITY.
1866
859711c5
BI
18672004-06-04 Bernardo Innocenti <bernie@develer.com>
1868
1869 * config/m68k/m68k.h: Remove comments copied over from tm.texi.
1870 Rename 68000 and 68k to m68k for consistency in comments. Remove
1871 trailing whitespace before EOLs and before TABs.
1872 (MAX_CODE_ALIGN): Remove unused macro.
1873 (CALL_USED_REGISTERS): Reformat and add comments.
1874
f4d8a9ae
FCE
18752004-06-04 Frank Ch. Eigler <fche@redhat.com>
1876
1877 * gcc.c (MFLIB_SPEC): Remove library references, to require users
1878 to enumerate -lmudflap* and dependencies when linking.
1879
14bbffa1
PB
18802004-06-04 Paolo Bonzini <bonzini@gnu.org>
1881
1882 PR target/15822
1883 * dojump.c (do_jump): Fix uninitialized variable tcode1.
1884
3a786c62
JQ
18852004-06-04 Jerry Quinn <jlquinn@optonline.net>
1886
1887 * Makefile.in (insn-conditions.o): Back out removal of reload.h.
1888 * genconditions.c (write_header): Back out removal of reload.h.
1889
2e2052b1
JH
18902004-06-04 Jan Hubicka <jh@suse.cz>
1891
1892 Re-apply hopefully fixed patch:
1893 * i386.md (UNSPECV_EH_RETURN): Kill.
1894 (eh_return): Use jump_insn.
1895 (eh_return_si, eh_return_di): Change pattern to jump instruction.
1896
9cf84a3c
JL
18972004-06-04 Jeff Law <law@redhat.com>
1898
1899 * cfgrtl.c (try_redirect_by_replacing_jump): Fix return value.
1900
f698d217
SB
19012004-06-04 Steven Bosscher <stevenb@suse.de>
1902
1903 * except.c (for_each_eh_region): New function.
1904 * except.h (for_each_eh_region): Add a prototype for it.
1905 * tree-cfg.c (update_eh_labels): New function, callback for
1906 for_each_eh_region.
1907 (label_for_bb): Make global static, unfortunately.
1908 (cleanup_dead_labels): Also update label references for
1909 exception regions.
1910
c759d454
CD
19112004-06-03 Chris Demetriou <cgd@broadcom.com>
1912
1913 * config/mips/mips.c (struct irix_section_align_entry): Fix
1914 GTY marker.
1915
3d98fa14
GK
19162004-06-03 Geoffrey Keating <geoffk@apple.com>
1917
1918 * toplev.c (check_global_declarations): Don't ask for
1919 DECL_ASSEMBLER_NAME unless the function really is declared
1920 static and not defined.
1921
0524c91d
MA
19222004-06-03 Matt Austern <austern@apple.com>
1923
1924 PR c++/15428
1925 * default.h (TARGET_WEAK_NOT_IN_ARCHIVE_TOC): New name
1926 for TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY, with reversed sense.
1927 * config/darwin.h (TARGET_WEAK_NOT_IN_ARCHIVE_TOC): Likewise.
1928 * doc/tm.texi (TARGET_WEAK_NOT_IN_ARCHIVE_TOC): Rewrite
c6e83800 1929 documentation to reflect the new macro name and to clarify its
0524c91d 1930 meaning.
c6e83800 1931
f698d217 19322004-06-03 Steven Bosscher <stevenb@suse.de>
ed5947c9
SB
1933
1934 * rtl.def (VAR_LOCATION): Make RTX_EXTRA.
1935
c0d594f1
AP
19362004-06-03 Andrew Pinski <pinskia@physics.uc.edu>
1937
1938 * config/darwin.c (machopic_indirect_data_reference): Copy
1939 the SYMBOL_REF_DECL from the original RTX for the new
1940 non-lazy pointer RTX.
1941
ed5947c9 19422004-06-03 Mark G. Adams <mark.g.adams@sympatico.ca>
a757585a
MA
1943
1944 * tree.h: Remove include of version.h
1945 * c-cppbuiltin.c: Include version.h
1946 * diagnostic.c: Include version.h
1947 * dwarf2out.c: Include version.h
1948 * toplev.c: Include version.h
1949 * vmsdbgout.c: Include version.h
1950 * Makefile.in: Remove dependency on version.h from TREE_H, and
1951 add dependencies to required .o targets
1952
59587b18
JQ
19532004-06-03 Jerry Quinn <jlquinn@optonline.net>
1954
1955 * Makefile.in (RA_H, RESOURCE_H, SCHED_INT_H, CFGLAYOUT_H,
1956 CFGLOOP_H, DF_H, DDG_H, TREE_SSA_LIVE_H): New.
1957 (TARGET_H): Add insn-modes.h.
1958 (tree-ssa.o, tree-cfg.o, tree-ssa-loop.o, toplev.o, passes.o,
1959 loop.o, loop-doloop.o, unroll.o, cfgloop.o, cfgloopanal.o,
1960 loop-iv.o, cfgloopmanip.o, loop-init.o, loop-unswitch.o,
1961 loop-unroll.o, ddg.o, modulo-sched.o, predict.o,
1962 cfglayout.o, ifcvt.o): Replace cfgloop.h with CFGLOOP_H.
1963 (toplev.o, passes.o, cfghooks.o, cfgloopmanip.o, loop-init.o,
1964 loop-unswitch.o, loop-unroll.o, ddg.o, modulo-sched.o,
1965 bb-reorder.o, tracer.o, cfglayout.o): Replace cfglayout.h with
1966 CFGLAYOUT_H.
1967 (ra.o, ra-build.o, ra-colorize.o, ra-debug.o, ra-rewrite.o):
1968 Replace ra.h with RA_H.
1969 (resource.o, regrename.o, insn-conditions.o, insn-emit.o,
1970 insn-recog.o): Replace resource.h with RESOURCE_H.
1971 (ddg.o, modulo-sched.o, haifa-sched.o, sched-deps.o, sched-rgn.o,
1972 sched-ebb.o, sched-vis.o, out_object_file): Replace sched-int.h
1973 with SCHED_INT_H.
1974 (web.o, lcm.o, df.o, ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
1975 ra-rewrite.o): Replace df.h with DF_H.
1976 (ddg.o, modulo-sched.o): Replace ddf.h with DDG_H.
1977 (tree-outof-ssa.o, tree-ssa-live.o, tree-ssa-copyrename.o):
1978 Replace tree-ssa-live.h with TREE_SSA_LIVE_H.
1979 (insn-conditions.o): Remove unused reload.h.
1980 * cfglayout.h: Add include guard. Include basic-block.h.
1981 * cfgloop.h: Add include guard. Include basic-block.h, rtl.h.
1982 * ddg.h: Include sbitmap.h, basic-block.h, df.h.
1983 * df.h: Add include guard. Include bitmap.h, sbitmap.h,
1984 basic-block.h.
1985 * genconditions.c: Remove reload.h.
1986 * ra.h: Add include guard. Include bitmap.h, sbitmap.h,
1987 hard-reg-set.h, insn-modes.h.
1988 * resource.h: Add include guard. Include hard-reg-set.h.
1989 * sched-int.h: Add include guard. Include insn-attr.h,
1990 basic-block.h, rtl.h.
1991 * target.h: Add include guard. Include insn-modes.h.
1992 * tree-ssa-live.h: Include partition.h.
1993
95eec0d6
DB
19942004-06-03 Daniel Berlin <dberlin@dberlin.org>
1995 Kenneth Zadeck <zadeck@naturalbridge.com>
1996
1997 * tree-ssa-ccp.c (varying_ssa_edges): New worklist.
1998 (add_var_to_ssa_edges_worklist): Add value argument.
1999 Update callers.
2000 Use new worklist.
2001 (process_ssa_edge_worklist): New function.
c6e83800 2002 (tree_ssa_ccp): Move worklist processing core to
95eec0d6
DB
2003 process_ssa_edge_worklist, and just call that for the two worklists.
2004
20052004-06-03 Steven Bosscher <stevenb@suse.de>
6ce2bcb7
SB
2006
2007 * basic-block.c (tail_recursion_label_list): Don't declare.
2008 (CLEANUP_PRE_SIBCALL): Remove. Renumber the other CLEANUP_*
2009 accordingly.
2010 * cfgbuild.c (find_label_refs): Remove.
2011 (find_basic_blocks_1): Don't handle CALL_PLACEHOLDER insns.
2012 * cfgcleanup.c (tail_recursion_label_p): Remove.
2013 (merge_blocks_move): Do not check for tail recursion.
2014 (try_optimize_cfg): Likewise.
2015 (cleanup_cfg): Never handle CLEANUP_PRE_SIBCALL.
2016 * cfgrtl.c (tail_recursion_label_list): Remove.
2017 * except.c (remove_unreachable_regions): Don't handle
2018 CALL_PLACEHOLDER insns.
2019 (convert_from_eh_region_ranges_1, can_throw_internal,
2020 can_throw_external): Likewise.
2021 * function.c (free_after_compilation): Don't clear
2022 x_tail_recursion_label.
2023 (fixup_var_refs_insns): Don't handle CALL_PLACEHOLDER insns.
2024 (identify_blocks_1): Don't recurse for CALL_PLACEHOLDER insns.
2025 (reorder_blocks_1): Likewise.
2026 * function.h (struct function): Remove x_tail_recursion_label
2027 member. Don't define tail_recursion_label.
2028 * jump.c (mark_all_labels): Don't handle CALL_PLACEHOLDER insns.
2029 * print-rtl.c (print_rtx): Likewise.
2030 * rtl.def (CALL_PLACEHOLDER): Remove.
2031 * rtl.h (sibcall_use_t): Remove enum.
2032 (optimize_sibling_and_tail_recursive_calls,
2033 replace_call_placeholder): Remove function prototypes.
2034 * stmt.c (tail_recursion_args): Remove.
2035 (optimize_tail_recursion): Remove.
2036 (expand_return): Don't check for possible tail recursion.
2037 * tree.h (optimize_tail_recursion): Remove prototype.
2038
ce068299
JH
20392004-06-02 Jan Hubicka <jh@suse.cz>
2040
2041 * tree-cfg.c (tree_find_edge_insert_loc): Allow inserting before
2042 return_stmt.
2043
b25a8933
JM
20442004-06-02 Jason Merrill <jason@redhat.com>
2045
2046 * Makefile.in (TAGS): Don't mess with c-parse.[ch].
2047 Do include c-parse.in.
2048
3aeb3655
EC
20492004-06-02 Eric Christopher <echristo@redhat.com>
2050
2051 * c-typeck.c (common_type): Don't lose type qualifiers
2052 when creating new variants.
2053
3facc4b6
AP
20542004-06-02 Andrew Pinski <pinskia@physics.uc.edu>
2055
2056 PR tree-optimization/14042
2057 PR tree-optimization/14729
2058 PR tree-optimization/14736
03a4c969
AP
2059 * tree-ssa.c (tree_ssa_useless_type_conversion_1):
2060 Check the type which the pointer points to
3facc4b6
AP
2061 instead of the pointer types.
2062
91fa0e3d
KH
20632004-06-02 Kazu Hirata <kazu@cs.umass.edu>
2064
2065 PR tree-optimization/15738.
2066 * builtins.c (fold_builtin_strchr): Transform
2067 strrchr (s, '\0') to strchr (s, '\0').
2068
dff008b4
SB
20692004-06-02 Steven Bosscher <stevenb@suse.de>
2070
2071 * i386.c (ix86_adjust_cost): Don't increase the cost for
2072 load+operation for PROCESSOR_PENTIUMPRO, it is already
2073 modelled in the DFA description
2074
78528714
JQ
20752004-06-01 Jerry Quinn <jlquinn@optonline.net>
2076
2077 * Makefile.in (EXPR_H): Add insn-config.h, function.h,
2078 $(RTL_H), flags.h, $(TREE_H), $(MACHMODE_H), $(EXPR_H).
2079 (ALIAS_H, EMIT_RTL_H): New.
2080 (cselib.o): Replace EXPR_H with EMIT_RTL_H.
2081 (cfgcleanup.o): Add EMIT_RTL_H.
2082 (alias.o): Replace EXPR_H with EMIT_RTL_H and ALIAS_H.
2083 * alias.c: Replace expr.h with emit-rtl.h and alias.h.
2084 * attribs.c, c-lex.c, c-obj-common.c, c-semantics.c: Remove expr.h.
2085 * cfgcleanup.c, cselib.c: Replace expr.h with emit-rtl.h.
2086 * expr.h: Add include guard. Include function.h, rtl.h, flags.h,
2087 tree.h, machmode.h, insn-config.h, alias.h, emit-rtl.h.
2088 (get_varargs_alias_set, get_frame_alias_set, record_base_value,
2089 record_alias_subset, new_alias_set, can_address_p): Move to alias.h.
2090 (set_mem_alias_set, set_mem_align, set_mem_expr, set_mem_offset,
2091 set_mem_size): Move to emit-rtl.h.
2092 * emit-rtl.h: New.
2093 * alias.h: New.
2094
95c73b23
EB
20952004-06-01 Eric Botcazou <ebotcazou@act-europe.fr>
2096
2097 * function.c (walk_fixup_memory_subreg): New parameter 'var'.
2098 Call fixup_memory_subreg only if the MEM is equal to 'var'.
2099 Adjust recursive calls to self.
2100 (fixup_var_refs_insn): Pass 'var' to walk_fixup_memory_subreg.
2101
7a3ea201
RH
21022004-06-01 Richard Henderson <rth@redhat.com>
2103 Andrew Pinski <pinskia@physics.uc.edu>
2104
2105 * c-parse.in (OFFSETOF, offsetof_member_designator): New.
2106 (primary): Handle offsetof. Add error productions for faux functions.
2107 Move component_ref objc checking to build_component_ref.
2108 (reswords): Add offsetof.
2109 (rid_to_yy): Add offsetof.
2110 * c-tree.h (build_offsetof): Declare.
2111 * c-common.h (objc_is_public): Declare.
2112 * c-typeck.c (build_component_ref): Check objc_is_public.
2113 (build_offsetof): New.
2114 * stub-objc.c (objc_is_public): New.
2115 * objc/objc-act.c, objc/objc-act.h (objc_is_public): Rename
2116 from is_public.
2117 * ginclude/stddef.h (offsetof): Use __builtin_offsetof.
2118 * doc/extend.texi (Offsetof): Move from C++ section to C section
2119 and rewrite for __builtin_offsetof.
2120
5050d266 21212004-06-01 Peter Barada <peter@the-baradas.com>
dff008b4 2122 Peter Jakubek <peter@laseranimation.com>
5050d266
PB
2123
2124 * config/m68k/m68k.c(m68k_output_mi_thunk): For ColdFire, use %d0 as
2125 a scratch to perform an add to memory.
2126
225d221a
BI
21272004-06-01 Bernardo Innocenti <bernie@develer.com>
2128
2129 PR target/14018
2130 * config/m68k/m68k.c (m68k_align_loops_string, m68k_align_jumps_string,
2131 m68k_align_funcs_string, m68k_align_loops, m68k_align_jumps,
2132 m68k_align_funcs): Remove.
2133 (override_options): Remove code to handle -malign-* options.
2134 * config/m68k/m68k.h (TARGET_OPTIONS): Remove -malign-* options.
2135 (FUNCTION_BOUNDARY, LOOP_ALIGN, LOOP_ALIGN_AFTER_BARRIER): Remove.
2136 (m68k_align_loops_string, m68k_align_jumps_string,
2137 m68k_align_funcs_string, m68k_align_loops, m68k_align_jumps,
2138 m68k_align_funcs): Remove definitions.
2139
1460af95
PE
21402004-06-01 Paul Eggert <eggert@cs.ucla.edu>
2141
2142 PR target/15626
2143 * doc/install.texi (sparc-sun-solaris2*): Document messages issued
2144 by the Sun linker in conjunction with the Sun assembler.
2145 (sparc-sun-solaris2.7): Update revision info for Sun patch 106950.
2146
225d221a 21472004-06-01 Jeff Law <law@redhat.com>
0b068ee9 2148
dff008b4
SB
2149 * stmt.c (expand_decl): Be more selective about calling
2150 mark_reg_pointer.
0b068ee9 2151
61c627ed
NP
21522004-06-01 Nicola Pero <nicola@brainstorm.co.uk>
2153
9ade2479 2154 PR objc/7993
61c627ed
NP
2155 * objc-act.c (is_private): Do not emit the 'instance variable %s
2156 is declared private' error.
2157 (is_public): Emit the error after calling is_private.
2158 (lookup_objc_ivar): If the instance variable is private, return 0
2159 - the instance variable is invisible here.
2160
d3144423
EB
21612004-06-01 Eric Botcazou <ebotcazou@libertysurf.fr>
2162
2163 * doc/invoke.texi (-static-libgcc): Explicitly mention
2164 non-GNU linkers.
2165
5847e53e
BI
21662004-06-01 Bernardo Innocenti <bernie@develer.com>
2167
2168 PR target/12968
2169 * doc/invoke.texi: Document stack alignment side-effect of -mshort.
2170
ec3e6835
JM
21712004-05-31 Joseph S. Myers <jsm@polyomino.org.uk>
2172
2173 PR c/15749
2174 * c-decl.c (grokdeclarator, finish_struct): Don't pedwarn for
2175 misuses of structures with flexible array members if
2176 in_system_header.
2177
a4a90b84
EB
21782004-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
2179
2180 PR target/15693
2181 * config/sparc/sparc.c (compare_operand): New predicate.
2182 * config/sparc/sparc.h (PREDICATE_CODES): Add it.
2183 * config/sparc/sparc.md (cmpsi expander): Use it. If the first
2184 operand is a ZERO_EXTRACT and the second operand is not zero,
2185 force the former to a register.
2186 (cmpdi expander): Likewise.
2187
133f7a77
GK
21882004-05-31 Geoffrey Keating <geoffk@apple.com>
2189
2190 * gengtype-lex.l: Catch stray GTY markers in the files gengtype
2191 looks at.
2192 * alias.c (alias_invariant_size): Make alias_invariant_size
2193 static, fix GTY marker.
2194
09d98c72
KH
21952004-05-31 Kazu Hirata <kazu@cs.umass.edu>
2196
2197 PR tree-optimization/15743.
2198 * builtins.c (fold_builtin_1): Fold index() and rindex().
2199
1f7a8dcc
RS
22002004-05-31 Roger Sayle <roger@eyesopen.com>
2201
2202 PR middle-end/15069
2203 * fold-const.c (fold_single_bit_test): Only perform "(X & C) != 0"
2204 into "X < 0" (where C is the signbit) if X's type is a full mode.
2205
1027314a
JDA
22062004-05-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2207
2208 * pa.md: Disable the peephole2 patterns that generate indexed
2209 floating-point stores when indexing is disabled.
2210
41fd3bac
GDR
22112004-05-31 Gabriel Dos Reis <gdr@integrable-solutions.net>
2212
2213 * c-pretty-print.c (pp_c_left_bracket): Make a function.
2214 (pp_c_right_bracket): Likewise.
2215 (pp_c_star): Likewise.
2216 (pp_c_ampersand): Define.
2217 * c-pretty-print.h (pp_c_left_bracket): Declare.
2218 (pp_c_right_bracket): Likewise.
2219 (pp_c_star): Likewise.
2220 (pp_c_ampersand): Likewise.
2221
d3157fb6
EB
22222004-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
2223
2224 * config/sol2.h (__enable_execute_stack): ANSIfy function
2225 definition.
2226
421563d5
DS
22272004-05-31 Danny Smith <dannysmith@users.sourceforge.net>
2228
2229 * c-incpath.c (add_path): Canonicalize paths to use '/' if
2230 HAVE_DOS_BASED_FILESYSTEM.
2231
1c052514
SB
22322004-05-31 Steven Bosscher <stevenb@suse.de>
2233
2234 * tree-ssa-dom.c (record_equivalences_from_incoming_edge):
2235 Only look at case labels if the immediate dominator is also
2236 the only predecessor. Don't look for more case labels if the
2237 first seen is a case range.
2238
e784e649
KH
22392004-05-31 Kazu Hirata <kazu@cs.umass.edu>
2240
2241 * builtins.c: Add a prototype for fold_builtin_strchr().
2242
1999435c
PB
22432004-05-31 Paolo Bonzini <bonzini@gnu.org>
2244
2245 Revert this patch:
2246 2004-05-27 Paolo Bonzini <bonzini@gnu.org>
2247
2248 * combine.c (gen_binary): Remove.
2249 (known_cond, simplify_shift_const
2250 find_split_point, combine_simplify_rtx,
2251 simplify_if_then_else, simplify_set,
2252 simplify_logical, expand_field_assignment,
2253 extract_left_shift, force_to_mode,
2254 if_then_else_cond, apply_distributive_law,
2255 simplify_and_const_int, simplify_shift_const,
2256 gen_lowpart_for_combine, simplify_comparison,
2257 reversed_comparison): Replace with
2258 simplify_gen_binary, simplify_gen_relational or
2259 distribute_and_simplify_rtx.
2260 (distribute_and_simplify_rtx): New function.
2261
97509a89
JDA
22622004-05-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2263
2264 * pa.c (emit_move_sequence): Fix loading of non 14-bit CONST operands
2265 when generating PIC code.
2266
3c79fa86
AP
22672004-05-30 Andrew Pinski <pinskia@physics.uc.edu>
2268
2269 * c-decl.c (c_expand_body_1): Remove and fold back into ...
2270 (c_expand_body): here.
2271 (c_expand_decl): Move to ...
2272 * c-common.c (c_expand_decl): Here and remove check for nested
2273 functions.
2274 * c-common.h (c_expand_decl): Add prototype.
2275 * c-tree.h (c_expand_decl): Remove.
2276
1b0f3e79
RS
22772004-05-30 Roger Sayle <roger@eyesopen.com>
2278
2279 * fold-const.c (combine_comparisons, optimize_bit_field_compare,
2280 range_binop, fold_truthop, fold_binary_op_with_conditional_arg,
2281 fold_mathfn_compare, fold_inf_compare, fold,
2282 fold_relational_hi_lo, nondestructive_fold_binary_to_constant):
2283 Use constant_boolean_node where appropriate. Don't bother using
2284 fold_convert on the second argument to omit_one_operand.
2285
29d64660
RS
22862004-05-30 Roger Sayle <roger@eyesopen.com>
2287
2288 * doc/c-tree.texi (Expressions): Document FLOOR_DIV_EXPR,
2289 CEIL_DIV_EXPR, ROUND_DIV_EXPR, FLOOR_MOD_EXPR, CEIL_MOD_EXPR,
2290 ROUND_MOD_EXPR, EXACT_DIV_EXPR. Improve documentation of
2291 TRUNC_DIV_EXPR, TRUNC_MOD_EXPR and comparison operations.
2292 Add missing (but documented) tree nodes to the index.
2293
b3dd9f35
SB
22942004-05-30 Steven Bosscher <stevenb@suse.de>
2295
2296 PR tree-optimization/14819
2297 * builtins.c (fold_builtin_strchr): New.
2298 (fold_builtin_1): Handle BUILT_IN_STRCHR and BUILT_IN_STRRCHR
2299 with fold_builtin_strchr().
2300
9cf737f8
KH
23012004-05-30 Kazu Hirata <kazu@cs.umass.edu>
2302
2303 * bb-reorder.c, builtins.c, c-common.c, c-gimplify.c,
2304 c-incpath.c, cgraphunit.c, ddg.c, defaults.h, dwarf2out.c,
2305 expmed.c, flags.h, gcc.c, gensupport.c, gimplify.c, global.c,
2306 passes.c, reg-stack.c, target.h, toplev.c, tree-alias-ander.c,
2307 tree-alias-common.c, tree-cfg.c, tree-complex.c, tree-dfa.c,
2308 tree-eh.c, tree-mudflap.c, tree-mudflap.h, tree-outof-ssa.c,
2309 tree-phinodes.c, tree-pretty-print.c, tree-ssa-alias.c,
2310 tree-ssa-ccp.c, tree-ssa-live.c, tree-ssa-live.h,
2311 tree-ssa-pre.c, tree.h, value-prof.h, varasm.c: Fix comment
2312 formatting.
2313
0f1f6967
SB
23142004-05-30 Steven Bosscher <stevenb@suse.de>
2315
2316 * gimplify.c (sort_case_labels): New. Split out from...
2317 (gimplify_switch_expr): ...here. Use it.
2318 * tree-eh.c (lower_try_finally_switch): Sort the labels of
2319 the SWITCH_EXPR created here before leaving the function.
2320 * tree.c (sort_case_labels): Add prototype.
2321
d22b7e14
AP
23222004-05-30 Andrew Pinski <pinskia@physics.uc.edu>
2323
2324 * fold-const.c (fold) [case TRUTH_NOT_EXPR]: Make sure the type is
2325 of BOOLEAN_TYPE.
2326
1ea7e6ad
KH
23272004-05-30 Kazu Hirata <kazu@cs.umass.edu>
2328
2329 * c-common.c, calls.c, cfgcleanup.c, cgraph.c, cgraphunit.c,
2330 ddg.c, ddg.h, df.c, df.h, except.c, expr.c, flags.h,
2331 fold-const.c, gcc.c, gimplify.c, haifa-sched.c,
2332 modulo-sched.c, tree-inline.c, tree-into-ssa.c, tree-nested.c,
2333 tree-nrv.c, tree-ssa-ccp.c, tree-ssa-dom.c, tree-ssa-live.c,
2334 tree-ssa-loop.c, tree-ssa-pre.c, tree-tailcall.c, tree.h: Fix
2335 comment typos. Follow spelling conventions.
2336
b453c95f
GK
23372004-05-29 Geoffrey Keating <geoffk@apple.com>
2338
2339 * gengtype-yacc.y: Add NESTED_PTR token.
2340 (option): Record `nested_ptr' option.
2341 * gengtype-lex.l: Handle `nested_ptr' keyword.
2342 * gengtype.c (walk_type): Process `nested_ptr' option.
2343 * gengtype.h (struct nested_ptr_data): New.
2344 * doc/gty.texi (GTY Options): Document `nested_ptr' option.
2345 * stringpool.c (struct string_pool_data): Make 'entries' point to
2346 ht_identifier instead of tree.
2347 (gt_pch_save_stringpool): Don't adjust pointers.
2348 (gt_pch_restore_stringpool): Call ht_load.
2349
be00f578
JM
23502004-05-29 Jason Merrill <jason@redhat.com>
2351
2352 * gimplify.c (gimplify_expr): Don't build a statement list
2353 if no gimplification was necessary.
2354
ca09cd34
JM
23552004-05-29 Joseph S. Myers <jsm@polyomino.org.uk>
2356
2357 * pretty-print.c (pp_base_format_text): Support %< instead of %`
2358 and %> as well as %'.
2359 * c-format.c: Use %< and %>.
2360 (gcc_diag_char_table, gcc_cdiag_char_table,
2361 gcc_cxxdiag_char_table): Update.
2362
5305f6d7
JM
23632004-05-29 Joseph S. Myers <jsm@polyomino.org.uk>
2364
2365 * c-typeck.c (common_type): Correct comment.
2366
d1fe6168
PB
23672004-05-29 Peter Barada <peter@the-baradas.com>
2368
28bad6d1
PB
2369 * config/m68k/m68k.c (CONST_METHOD): Add MVZ, MVS.
2370 * config/m68k/m68k.c (const_method): Likewise.
2371 * config/m68k/m68k.c (const_int_cost): Likewise.
2372 * config/m68k/m68k.c (const_int_cost): Likewise.
2373 * config/m68k/m68k.c (output_move_const_into_data_reg): Likewise.
2374
23752004-05-29 Peter Barada <peter@the-baradas.com>
2376
2377 * config/m68k/m68k.h (EXTRA_CONSTRAINT): add 'U' for register offset
d1fe6168
PB
2378 addressing.
2379 * config/m68k/m68k.md: Add 'U,U' alternative to ColdFire variants of
2380 movsi,movhi,movqi insn patterns.
2381
f935f97b
AP
23822005-05-28 Andrew Pinski <pinskia@physics.uc.edu>
2383
27e1a8d2
AP
2384 * c-semantics.c (emit_local_var): Remove code for DECL_INITIAL.
2385
f935f97b
AP
2386 PR target/15720
2387 * config/darwin.c (machopic_indirect_call_target): Copy
2388 the SYMBOL_REF_DECL from the original RTX for the new
2389 stub RTX.
2390
5182fafe
DD
23912004-05-28 DJ Delorie <dj@redhat.com>
2392
2393 * stor-layout.c (place_field): Revert erroneous commit.
2394
bfefd4d5
ZL
23952004-05-28 Ziemowit Laski <zlaski@apple.com>
2396
2397 * config/rs6000/altivec.h (vec_ctf, vec_vcfsx, vec_vcfux, vec_cts,
2398 vec_ctu, vec_dss, vec_dst, vec_dstst, vec_dststt, vec_dstt, vec_ld,
2399 vec_ldl, vec_lvsl, vec_lvsr, vec_sld, vec_splat, vec_vspltw,
2400 vec_vsplth, vec_vspltb, vec_splat_s8, vec_splat_s16, vec_splat_s32,
2401 vec_splat_u8, vec_splat_u16, vec_splat_u32, vec_st, vec_stl,
2402 vec_ste): Remove type checks for integral parameters and literals
2403 from '..._args_eq' macros.
2404
e851b373
AH
24052004-05-28 Aldy Hernandez <aldyh@redhat.com>
2406
2407 * c-common.c (fname_as_string): Fix xcalloc to xmalloc.
2408
0d0bc036
AH
24092004-05-28 Aldy Hernandez <aldyh@redhat.com>
2410
2411 * testsuite/g++.dg/charset/function.cc: New.
2412
2413 * testsuite/gcc.dg/charset/function.c: New.
2414
2415 * c-decl.c (c_make_fname_decl): Free return value from
2416 fname_as_string.
2417
2418 * cp/decl.c (cp_make_fname_decl): Free return value from
2419 fname_as_string.
2420
2421 * c-common.c (fname_as_string): Translate if necessary.
2422
4bb4ae96
GK
24232004-05-28 Geoffrey Keating <geoffk@apple.com>
2424
2425 * stringpool.c: Add comments to PCH saving/restoring routines.
2426
09b01df8
AP
24272004-05-28 Andrew Pinski <pinskia@physics.uc.edu>
2428
2fec96c1
AP
2429 * c-common.c (c_estimate_num_insns_1): Kill.
2430 (c_estimate_num_insns): Kill.
2431 * c-common.h (c_estimate_num_insns): Kill.
2432
2433 * gthr-posix.h: Check for _POSIX_PRIORITY_SCHEDULING
2434 when checking for _POSIX_THREAD_PRIORITY_SCHEDULING.
2435 Remove comment about not checking for
2436 _POSIX_PRIORITY_SCHEDULING.
2437 * gthr-posix.c: Likewise.
09b01df8 2438
d1a7edaf
PB
24392004-05-28 Paolo Bonzini <bonzini@gnu.org>
2440 Roger Sayle <roger@eyesopen.com>
2441
2442 PR rtl-optimization/15649
2443 Add LTGT_EXPR and improve pretty-printing of unordered
2444 comparisons.
2445 * c-common.c (c_common_truthvalue_conversion):
2446 Handle LTGT_EXPR.
2447 * c-typeck.c (build_binary_op): Likewise.
2448 * dojump.c (do_jump): Likewise.
2449 * expr.c (expand_expr_real_1, do_store_flag): Likewise.
2450 * predict.c (tree_predict_by_opcode): Likewise.
2451 * real.c (real_compare): Likewise.
2452 * tree-cfg.c (verify_expr): Likewise.
2453 * tree-inline.c (estimate_num_insns_1): Likewise.
2454 * tree-pretty-print.c (dump_generic_node): Likewise.
2455 Handle ORDERED_EXPR, UNORDERED_EXPR.
2456 (op_symbol): Print unordered comparisons differently
2457 than ordered ones.
2458 * tree.def (LTGT_EXPR): New '<' tree code.
2459 * doc/c-tree.texi (Expressions): Document floating-point
2460 comparison nodes.
2461
2462 Fold comparisons between floating point values.
2463 * fold-const.c (enum comparison_code): New, from
2464 #define'd constants. Define compcodes for unordered
2465 comparisons and for invalid transformations.
2466 (invert_tree_comparison): Add "honor_nans" parameter.
2467 (fold_truthop): Revamp to work on floating-point types too.
2468 (comparison_to_compcode): Support unordered comparisons.
2469 Use new enum comparison_code.
2470 (compcode_to_comparison): Likewise.
2471 (combine_compcodes): New function.
2472 (invert_truthvalue): Let invert_tree_comparison decide
2473 whether it is valid to fold the comparison. Fold ORDERED
2474 and UNORDERED even if flag_unsafe_math_optimizations is off,
2475 and the remaining even if flag_unsafe_math_optimizations
2476 is off but we are under -fno-trapping-math.
2477 (fold_relational_const): Integer modes do not honor NaNs.
61c627ed 2478
2966b00e
PB
24792004-05-28 Paul Brook <paul@codesourcery.com>
2480
2481 * config/arm/arm.c (arm_output_epilogue): Remove redundant code.
2482
3c7ad43e
PB
24832004-05-28 Paul Brook <paul@codesourcery.com>
2484
2485 * config/arm/arm.c (thumb_force_lr_save): New function.
2486 (arm_get_frame_offsets, thumb_unexpanded_epilogue,
2487 thumb_output_function_prologue): Use it.
2488 (thumb_expand_prologue): Set lr_save_eliminated.
2489
a97a3e73
RS
24902004-05-28 Richard Sandiford <rsandifo@redhat.com>
2491
2492 * config/mips/mips.md (extendsidi2): Tie the source and destination
2493 of the register alternative. Split it into nothing.
2494
6c2511d3
RS
24952004-05-28 Richard Sandiford <rsandifo@redhat.com>
2496
2497 * rtl.h (skip_consecutive_labels): Declare.
2498 * emit-rtl.c (skip_consecutive_labels): New function.
2499 * reorg.c (relax_delay_slots, dbr_schedule): Use it.
2500 * jump.c (follow_jumps): Say what null return values mean.
2501
4fbf3498
KK
25022004-05-28 Kaz Kojima <kkojima@gcc.gnu.org>
2503
2504 PR target/13250
2505 * config/sh/sh.md (rotlsi3): Use emit_move_insn.
2506
cc212178
KK
25072004-05-27 Kaz Kojima <kkojima@gcc.gnu.org>
2508
2509 * config/sh/t-linux (SHLIB_MAPFILES): Use sh specific
2510 libgcc-std.ver.
2511 * config/sh/libgcc-std.ver: New file.
2512
aed30657
BM
25132004-05-27 Bryce McKinlay <mckinlay@redhat.com>
2514
2515 * except.c: Revert change of 2004-05-26.
2516 * config/i386/i386.md: Revert change of 2004-05-27.
2517
13f05fd0
BM
25182004-05-27 Bryce McKinlay <mckinlay@redhat.com>
2519
2520 * configure.ac: Remove --enable-tree-browser option.
2521 Define TREEBROWSER when ac_tree_checking is defined.
2522 * configure: Rebuilt.
2523
7c50e202
OH
25242004-05-27 Olivier Hainque <hainque@act-europe.fr>
2525
2526 * expr.c (store_constructor): Restore sanity check on
2527 the size of the type before clearing.
2528
baf8706c
JH
25292004-05-27 Jan Hubicka <jh@suse.cz>
2530
2531 * cfgbuild.c (control_flow_insn_p): Notice noreturn call
2532
1999435c 25332004-05-27 Paolo Bonzini <bonzini@gnu.org>
dce1438a
PB
2534
2535 * combine.c (gen_binary): Remove.
2536 (known_cond, simplify_shift_const
2537 find_split_point, combine_simplify_rtx,
2538 simplify_if_then_else, simplify_set,
2539 simplify_logical, expand_field_assignment,
2540 extract_left_shift, force_to_mode,
2541 if_then_else_cond, apply_distributive_law,
2542 simplify_and_const_int, simplify_shift_const,
2543 gen_lowpart_for_combine, simplify_comparison,
2544 reversed_comparison): Replace with
2545 simplify_gen_binary, simplify_gen_relational or
2546 distribute_and_simplify_rtx.
2547 (distribute_and_simplify_rtx): New function.
2548 * simplify-rtx.c (simplify_binary_operation):
2549 Use nonzero_bits to simplify ANDs where we are
2550 turning off bits already known to be off in OP0.
2551
42f806e5
AM
25522004-05-27 Alan Modra <amodra@bigpond.net.au>
2553
2554 PR target/14478
2555 * config/rs6000/rs6000.c (reg_or_neg_short_operand): Don't allow zero.
2556
e314a036
JZ
25572004-05-27 Josef Zlomek <zlomekj@suse.cz>
2558
2559 PR middle-end/14084
2560 * emit-rtl.c (gen_rtx_REG_offset): Adjust the offset according
2561 to size of decl.
2562
61bea3b0
AH
25632004-05-26 Aldy Hernandez <aldyh@redhat.com>
2564
2565 PR/14924
2566 * config/rs6000/rs6000.c (spe_expand_stv_builtin): New.
2567
cdc9d803
RS
25682004-05-26 Roger Sayle <roger@eyesopen.com>
2569
2570 * tree.h: Fix comment typo.
2571
f667741c
SB
25722004-05-27 Steven Bosscher <stevenb@suse.de>
2573
2574 * gimplify.c (compare_case_labels): New function.
2575 (gimplify_switch_expr): Sort case labels, and make sure the
2576 last label in the label vector is the default case.
2577 * tree-cfg.c (group_case_labels): New function.
2578 (build_tree_cfg): Cleanup redundant labels and group case labels
2579 before creating edges.
2580 (cleanup_dead_labels): Handle GOTO_EXPRs.
2581 (find_case_label_for_value): Use a binary search to find the
2582 case label for the given value.
2583 * tree-gimple.c: Mention that labels are sorted, and that the
2584 last label must be the default.
2585
e4efa971
JH
25862004-05-27 Jan Hubicka <jh@suse.cz>
2587
2588 * cfgcleanup.c (try_optimize_cfg): Do not merge across jumptables.
2589
dabbc722
JH
25902004-05-27 Jan Hubicka <jh@suse.cz>
2591
2592 * i386.md (UNSPECV_EH_RETURN): Kill.
2593 (eh_return): Use jump_insn.
2594 (eh_return_si, eh_return_di): Change pattern to jump instruction.
2595
43acb4c4
JH
25962004-05-26 Jan Hubicka <jh@suse.cz>
2597
2598 * cfgcleanup.c (try_forward_edges): Do not check loop structure when
2599 not loop optimizing.
43acb4c4 2600
f00d196d
JH
26012004-05-26 Jan Hubicka <jh@suse.cz>
2602
2603 * except.c (can_throw_internal): Notice RESX instructions.
2604
42048866
EB
26052004-05-26 Eric Botcazou <ebotcazou@act-europe.fr>
2606
2607 * varasm.c (output_constant) <INTEGER_TYPE>: Pass the minimum
2608 of the two sizes to assemble_integer.
2609
b31ad637
PB
26102004-05-25 Paul Brook <paul@codesourcery.com>
2611
2612 * config/arm/arm.c (thumb_exit, thumb_unexpanded_epilogue): Remove
2613 pointless #ifdef.
2614
5da9128a
PB
26152004-04-25 Paolo Bonzini <bonzini@gnu.org>
2616
2617 * Makefile.in (top_builddir): Define to .
2618
08d105fa
AO
26192004-05-25 Alexandre Oliva <aoliva@redhat.com>
2620
2621 * configure.ac (gcc_cv_ld): Prefer in-tree ld over whatever the
2622 top-level detects, except when in-tree ld is being cross-built.
2623 (gcc_cv_as): Likewise for as. Use AS_FOR_TARGET otherwise, and
2624 then AS only if target is host.
2625 * configure: Rebuilt.
2626
9abe5d07
VM
26272004-05-25 Vladimir Makarov <vmakarov@redhat.com>
2628
2629 * global.c (global_alloc): Call make_accurate_live_analysis.
2630 (record_one_conflict): Remove dead code.
2631 (mark_reg_clobber): Remove ATTRIBUTE_UNUSED for parameter data.
2632 (bb_info): New structure.
2633 (BB_INFO, BB_INFO_BY_INDEX): New macros.
2634 (allocate_bb_info, free_bb_info, mark_reg_change,
2635 calculate_local_reg_bb_info, set_up_bb_rts_numbers, rpost_cmp,
2636 modify_bb_reg_pav, calculate_reg_pav,
2637 make_accurate_live_analysis): New functions.
61c627ed 2638
f411a73a
DP
26392004-05-25 Devang Patel <dpatel@apple.com>
2640
2641 * alias.c (init_alias_analysis): Use ggc_calloc instead of
2642 xrealloc.
2643 (end_alias_analysis): Use ggc_free instead fo free.
61c627ed 2644
104a4010
AP
26452004-05-25 Andrew Pinski <pinskia@physics.uc.edu>
2646
2647 PR target/15546
2648 * config/ia64/ia64.h (ASM_OUTPUT_FDESC): Mark the DECL
2649 as needed to be outputted.
2650
d601c996
JH
26512004-05-25 Jan Hubicka <jh@suse.cz>
2652
2653 * builtins.def (__builtin_expect): Mark the function as const&nothrow.
2654
e5626198
AZ
26552004-05-25 Ayal Zaks <zaks@il.ibm.com>
2656 Mostafa Hagog <mustafa@il.ibm.com>
2657
2658 * Makefile.in (modulo-sched.o, ddg.o): New.
2659 * ddg.h, ddg.c, modulo-sched.c: New files.
2660 * cfglayout.c (duplicate_insn_chain): Remove "static" and push
2661 internals to "dupicate_insn".
2662 (duplicate_insn): New function.
2663 * cfglayout.h (duplicate_insn_chain, duplicate_insn): New
2664 declarations.
2665 * common.opt (fmodulo-sched): New flag.
2666 * df.c (df_bb_regno_last_use_find, df_bb_regno_first_def_find):
2667 Remove static and forward declaration.
2668 (df_find_def, df_reg_used, df_bb_regno_last_def_find): New
2669 functions.
2670 * df.h (df_bb_regno_last_use_find, df_bb_regno_first_def_find,
2671 df_bb_regno_last_def_find, df_find_def, df_reg_used): New
2672 declarations.
2673 * flags.h (flag_modulo_sched): New flag.
2674 * opts.c (common_handle_option): Handle modulo-sched flag.
2675 * params.def (max-sms-loop-number, sms-max-ii-factor,
2676 sms-dfa-history, sms-loop-average-count-threshold): New
2677 parameters.
2678 * params.h (MAX_SMS_LOOP_NUMBER, SMS_MAX_II_FACTOR,
2679 SMS_DFA_HISTORY, SMS_LOOP_AVERAGE_COUNT_THRESHOLD): New
2680 parameters.
2681 * passes.c ("sms", "sms-vcg"): New dumps.
2682 (rest_of_handle_sched): Call sms_schedule.
2683 * rtl.h (sms_schedule): New declaration.
2684 * timevar.def (TV_SMS): New.
2685 * toplev.c (flag_modulo_sched): Initialize.
2686 (f_options): Handle -fmodulo-sched option.
2687 * docs/invoke.texi: Document -fmodulo-sched & -dm options.
2688 * docs/passes.texi: Document new SMS pass.
2689
2f93eea8
PB
26902004-05-25 Paolo Bonzini <bonzini@gnu.org>
2691
2692 * Makefile.in (OBJS): Add rtlhooks.o.
2693 (rtlanal.o): Depend on function.h.
2694 (cse.o): Depend on rtlhooks-def.h.
2695 (combine.o): Depend on rtlhooks-def.h.
2696 (rtlhooks.o): New rule.
2697 * combine.c: Include rtlhooks-def.h.
2698 (nonzero_bits, cached_nonzero_bits, nonzero_bits1,
2699 num_sign_bit_copies, cached_num_sign_bit_copies,
2700 num_sign_bit_copies1): Move most of the code to rtlanal.c.
2701 (reg_nonzero_bits_for_combine,
2702 reg_num_sign_bit_copies_for_combine): New functions holding
2703 the remnants of the above.
2704 (combine_rtl_hooks): New.
2705 (combine_instructions): Set rtl_hooks instead of gen_lowpart.
2706 * cse.c: Include rtlhooks-def.h.
2707 (cse_rtl_hooks): New.
2708 (cse_main): Set rtl_hooks instead of gen_lowpart.
2709 * emit-rtl.c (gen_lowpart): Remove.
2710 (gen_lowpart_general): Move to rtlhooks.c.
2711 * rtl.h (nonzero_bits, num_sign_bit_copies,
2712 struct rtl_hooks, rtl_hooks, general_rtl_hooks): New.
2713 (gen_lowpart_general): Remove.
2714 (gen_lowpart): Temporarily redefine as a macro.
2715 * rtlanal.c: Include function.h.
2716 (nonzero_bits, cached_nonzero_bits, nonzero_bits1,
2717 num_sign_bit_copies, cached_num_sign_bit_copies,
2718 num_sign_bit_copies1): New, from combine.c.
61c627ed 2719 * rtlhooks.c: New file.
789550d1 2720 * rtlhooks-def.h: New file.
2f93eea8 2721
11338cda
SS
27222004-05-25 Svein E. Seldal <Svein.Seldal@solidas.com>
2723
2724 * config/avr/avr.h (LONG_LONG_TYPE_SIZE): Changed long long type
2725 to support 32-bit -mint8 mode.
2726
2727 * doc/invoke.texi (-mint8): Added documentation for the -mint8
61c627ed 2728 option in the AVR architecture.
11338cda 2729
cfc984b5
MS
27302004-05-24 Mike Stump <mrs@apple.com>
2731
2732 * doc/install.texi: Document that dejagnu 1.4.4 is required.
2733
a668adb2
JM
27342004-05-24 Joseph S. Myers <jsm@polyomino.org.uk>
2735
2736 * intl.h (open_quote, close_quote): New.
2737 * intl.c (open_quote, close_quote): New.
2738 (gcc_init_libintl): Set them.
2739 * pretty-print.c: Include "intl.h".
2740 (pp_base_format_text): Support 'q' format flag and %` and %'
2741 formats. Use ' instead of ` in comments.
2742 * c-format.c (gcc_diag_flag_specs, gcc_cxxdiag_flag_specs,
2743 gcc_diag_char_table, gcc_cdiag_char_table, gcc_cxxdiag_char_table,
2744 foramt_types_orig): Describe these new formats.
2745 (decode_format_attr, check_function_format,
2746 check_format_info_main): Use these new formats.
2747 (status_warning): Use ATTRIBUTE_GCC_DIAG.
2748 * toplev.c (ATTRIBUTE_GCC_DIAG): Increase required GCC version to
2749 check these formats to 3.5.
2750
6046b0ed
RO
27512004-05-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2752
2753 * Makefile.in (CPPLIBS): Renamed to CPPLIB.
2754 (BACKEND): Reflect this.
2755 (LIBDEPS): Move CPPLIB before LIBIBERTY.
2756 (LIBS): Likewise.
2757
aef0afc4
UW
27582004-05-24 Ulrich Weigand <uweigand@de.ibm.com>
2759
2760 PR tree-optimization/14197
2761 * builtins.c: Include "tree-gimple.h"
61c627ed 2762 (readonly_data_expr): Use get_base_address. Make sure to call
aef0afc4
UW
2763 decl_readonly_section only on trees it can handle.
2764 * tree-gimple.c (get_base_address): Accept STRING_CST and
2765 CONSTRUCTOR expressions.
2766 * Makefile.in: Update dependencies.
2767
4f4e53dd
PB
27682004-05-23 Paolo Bonzini <bonzini@gnu.org>
2769
2770 Move libcpp to the toplevel.
2771 * Makefile.in: Remove references to libcpp files,
2772 use CPPLIBS instead of libcpp.a. Define SYMTAB_H
2773 and change hashtable.h to that.
2774 * aclocal.m4 (gcc_AC_HEADER_STDBOOL,
2775 gcc_AC_HEADER_STRING, gcc_AC_C__BOOL): Remove.
2776 * configure.ac (gcc_AC_C__BOOL, HAVE_UCHAR): Remove tests.
2777 * configure: Regenerate.
2778 * config.in: Regenerate.
2779 * c-ppoutput.c: Include ../libcpp/internal.h instead of cpphash.h.
2780 * cppcharset.c: Removed.
2781 * cpperror.c: Removed.
2782 * cppexp.c: Removed.
2783 * cppfiles.c: Removed.
2784 * cpphash.c: Removed.
2785 * cpphash.h: Removed.
2786 * cppinit.c: Removed.
2787 * cpplex.c: Removed.
2788 * cpplib.c: Removed.
2789 * cpplib.h: Removed.
2790 * cppmacro.c: Removed.
2791 * cpppch.c: Removed.
2792 * cpptrad.c: Removed.
2793 * cppucnid.h: Removed.
2794 * cppucnid.pl: Removed.
2795 * cppucnid.tab: Removed.
2796 * hashtable.c: Removed.
2797 * hashtable.h: Removed.
2798 * line-map.c: Removed.
2799 * line-map.h: Removed.
2800 * mkdeps.c: Removed.
2801 * mkdeps.h: Removed.
2802 * stringpool.h: Include symtab.h instead of hashtable.h.
2803 * tree.h: Include symtab.h instead of hashtable.h.
2804 * system.h (O_NONBLOCK, O_NOCTTY): Do not define.
2805
76391e5a
PB
28062004-05-23 Paolo Bonzini <bonzini@gnu.org>
2807
2808 * gcc.c (struct prefix_list): Add forward declaration.
2809 (do_spec_path): New function, extracted from...
2810 (do_spec_1) <'D'>: ... here. Drop support for
2811 SPACE_AFTER_L_OPTION.
2812 (do_spec_1) <'I'>: Use do_spec_path.
2813 (process_command): Do not store the 'include' suffix
2814 in include_prefixes.
2815 * system.h: Poison SPACE_AFTER_L_OPTION.
2816
8d4a2ff6
RS
28172002-05-23 Roger Sayle <roger@eyesopen.com>
2818
2819 * fold-const.c (non_lvalue): Explicitly list the tree codes that
2820 need to be wrapped by NON_LVALUE_EXPR, instead of those that don't.
2821
6972898c
JM
28222004-05-23 Joseph S. Myers <jsm@polyomino.org.uk>
2823
2824 * doc/gcc.texi, doc/gccint.texi, doc/include/gcc-common.texi:
2825 Update based on printed manual. Enable setting of offsets for
2826 FSFPRINT and move it to gcc-common.texi.
2827 * doc/gcc.texi: Update FSF printing details.
2828 * doc/gccint.texi: Remove FSF printing details.
2829
68ca1923
AP
28302004-05-23 Andrew Pinski <pinskia@physics.uc.edu>
2831
2832 * config/rs6000/t-rs6000: Remove the disabling -Werror.
2833
d6dc556b
RS
28342004-05-22 Roger Sayle <roger@eyesopen.com>
2835
2836 * builtins.c (expand_builtin_strstr, expand_builtin_strchr,
2837 expand_builtin_strrchr, expand_builtin_strpbrk,
2838 expand_builtin_mempcpy, expand_builtin_memcmp,
2839 expand_builtin_strcmp, expand_builtin_strncmp,
2840 expand_builtin_strcat, std_expand_builtin_va_start,
2841 std_expand_builtin_va_arg, expand_builtin_va_copy,
2842 expand_builtin_signbit, fold_builtin_cabs,
2843 fold_builtin_logarithm, fold_builtin_mempcpy,
2844 fold_builtin_signbit, fold_builtin_isascii,
2845 fold_builtin_toascii, fold_builtin_isdigit,
2846 fold_builtin_1, build_function_call_expr,
2847 simplify_builtin_strchr, simplify_builtin_strrchr,
2848 simplify_builtin_strpbrk, simplify_builtin_strncpy,
2849 simplify_builtin_memcmp, simplify_builtin_strcmp,
2850 simplify_builtin_strncmp, simplify_builtin_strncat,
2851 simplify_builtin_strspn, simplify_builtin_strcspn,
2852 simplify_builtin_fputs, simplify_builtin_sprintf): Replace calls
2853 to build with calls to build2, build3 or omit_one_operand.
2854
0a0de3bf
RS
28552004-05-22 Richard Sandiford <rsandifo@redhat.com>
2856
8e657c46 2857 * config/mips/mips.c (mips_file_start): Emit a .gcc_compiled_longXX
0a0de3bf
RS
2858 section when generating EABI code.
2859
79bba51c
AP
28602004-05-22 Andrew Pinski <pinskia@physics.uc.edu>
2861
2862 PR 15546
2863 * config/i386/i386.c (output_pic_addr_const <case SYMBOL_REF>):
2864 Call mark_decl_referenced on the SYMBOL_REF_DECL.
2865
6f312d18
ZW
28662004-05-22 Andrew Pinski <pinskia@physics.uc.edu>
2867
2868 * c-common.c (c_common_truthvalue_conversion): Handle
2869 UNEQ_EXPR, UNLE_EXPR, UNGE_EXPR, UNLT_EXPR, UNGT_EXPR,
2870 ORDERED_EXPR, and UNORDERED_EXPR as comparison operators,
2871 i.e. set the type to truthvalue_type_node and return.
2872
28732004-05-22 Zack Weinberg <zack@codesourcery.com>
2874
2875 * tree.h (struct tree_decl): Add possibly_inlined bit.
2876 (DECL_POSSIBLY_INLINED): New accessor macro.
2877 * cgraph.h: Remove declaration of cgraph_inline_hash.
2878 * cgraph.c: Remove definition of cgraph_inline_hash.
2879 (hash_node): Revert to hashing DECL_UID.
2880 (eq_node): Take two pointers to cgraph_node structures.
2881 Compare DECL_UIDs.
2882 (cgraph_remove_node): Pass the node directly to htab_find_slot.
2883 (cgraph_varpool_hash_node): Rename hash_varpool_node;
2884 hash on DECL_UID.
2885 (eq_cgraph_varpool_node): Rename eq_varpool_node; take two
2886 pointers to cgraph_varpool_node structures; compare DECL_UIDs.
2887 (cgraph_node): Allocate a temporary node on the stack, fill in
2888 its DECL field, and pass that to htab_find_slot.
2889 (cgraph_varpool_node): Likewise.
2890 (cgraph_function_possibly_inlined_p): If global info is ready,
2891 return the DECL_POSSIBLY_INLINED bit.
2892 * cgraphunit.c (cgraph_mark_inline_edge): Set DECL_POSSIBLY_INLINED
2893 instead of mucking with cgraph_inline_hash.
2894
2dec00bf
JM
28952004-05-22 Joseph S. Myers <jsm@polyomino.org.uk>
2896
2897 * doc/contrib.texi: Add g77 contributors.
2898
9fd47435
RS
28992004-05-22 Richard Sandiford <rsandifo@redhat.com>
2900
2901 * calls.c (initialize_argument_information): Forbid sibcalls if a
2902 callee-copied argument is stored in the current function's frame.
2903
0bc0f41d
EC
29042004-05-22 Eric Christopher <echristo@redhat.com>
2905
2906 * fix-header.c (read_scan_file): Update for add_path change.
2907
b02398bd
BE
29082004-05-22 Ben Elliston <bje@au.ibm.com>
2909
2910 * c.opt (Wmissing-include-dirs): New.
2911 * c-opts.c (c_common_handle_option): Pass true for user_supplied_p
2912 to add_path () for -I, but false for OPT_idirafter, OPT_iquote and
2913 OPT_isystem. Handle case OPT_Wmissing_include_dirs.
2914 * c-incpath.h (add_path): Add fourth (bool) argument.
2915 * c-incpath.c (add_env_var_paths): Pass false to add_path ().
2916 (add_standard_paths): Likewise.
2917 (remove_duplicates) [REASON_NOENT]: Warn if -Wmissing-include-dirs
2918 is used and the directory was user-supplied via -I.
2919 (add_path): Set p->user_supplied_p. Remove duplicated code by
2920 using add_cpp_dir_path ().
2921 * cpplib.h (struct cpp_options): Add warn_missing_include_dirs.
2922 (struct cpp_dir): Add user_supplied_p.
2923 * doc/invoke.texi (Warning Options): Document new option.
2924
12fea1f9
UW
29252004-05-21 Ulrich Weigand <uweigand@de.ibm.com>
2926
2927 * fold-const.c (fold_read_from_constant_string): Convert result to
2928 requested type.
2929
f0638e1d
RH
29302004-05-21 Richard Henderson <rth@redhat.com>
2931
2932 * gimplify.c (mostly_copy_tree_r): Don't attempt to copy decls.
2933 (copy_if_shared_r): Don't copy decls, types, constants, BINDs.
2934 Don't mark VA_ARG_EXPRs volatile here.
2935 (gimplify_modify_expr): Unshare TYPE_SIZE_UNIT.
2936
11ed191c
RH
29372004-05-21 Richard Henderson <rth@redhat.com>
2938
2939 * Makefile.in (tree-dump.o): Depend on tree-iterator.h.
2940 * tree-dump.c (dequeue_and_dump): Dump STATEMENT_LISTs.
2941
b953ebd6
RS
29422004-05-21 Roger Sayle <roger@eyesopen.com>
2943
2944 * fold-const.c (fold, fold_relational_hi_lo,
2945 nondestructive_fold_binary_to_constant,
2946 fold_read_from_constant_string): Use fold_convert instead of convert.
2947 * builtins.c (simplify_builtin, simplify_builtin_strstr,
2948 simplify_builtin_strchr, simplify_builtin_strrchr,
2949 simplify_builtin_strpbrk): Use fold_convert instead of convert.
2950
e54d0214
DN
29512004-05-21 Diego Novillo <dnovillo@redhat.com>
2952
2953 * tree-flow-inline.h (num_immediate_uses): Don't abort if DF
2954 is NULL.
2955
942e0f44
JJ
29562004-05-21 Jakub Jelinek <jakub@redhat.com>
2957
2958 * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): If SPARC_BI_ARCH,
2959 override sparc.h definition.
2960
59ce6d6b
RS
29612004-05-20 Roger Sayle <roger@eyesopen.com>
2962
2963 * tree.c (array_type_nelts, save_expr, substitute_in_expr,
2964 get_unwidened, get_narrower): Replace build with build2.
2965 * fold-const.c (negate_expr, associate_trees, size_binop,
2966 fold_convert, eval_subst, omit_one_operand, invert_truthvalue,
2967 pedantic_omit_one_operand, distribute_bit_expr,
2968 make_bit_field_ref, optimize_bit_field_compare,
2969 decode_field_reference, range_binop, make_range,
2970 build_range_check, fold_range_test, fold_truthop,
0bc0f41d 2971 optimize_minmax_comparison, extract_muldiv_1,
59ce6d6b
RS
2972 fold_binary_op_with_conditional_arg, fold_mathfn_compare,
2973 fold_inf_compare, fold_single_bit_test, fold,
2974 fold_relational_hi_lo, nondestructive_fold_binary_to_constant):
2975 Likewise replace build with either build2 or build3.
2976
3972995b
ILT
29772004-05-20 Ian Lance Taylor <ian@wasabisystems.com>
2978
2979 * system.h: Poison NO_RECURSIVE_FUNCTION_CSE.
2980 * calls.c (prepare_call_address): Don't test
2981 NO_RECURSIVE_FUNCTION_CSE.
2982 * config/arc/arc.h (NO_RECURSIVE_FUNCTION_CSE): Don't define.
2983 * config/arm/arm.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
2984 * config/avr/avr.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
2985 * config/frv/frv.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
2986 * config/i386/i386.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
2987 * config/ip2k/ip2k.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
2988 * config/iq2000/iq2000.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
2989 * config/m32r/m32r.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
2990 * config/m68k/m68k.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
2991 * config/mcore/mcore.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
2992 * config/mips/mips.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
2993 * config/stormy16/stormy16.h (NO_RECURSIVE_FUNCTION_CSE):
2994 Likewise.
2995 * config/xtensa/xtensa.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
2996 * config/sh/sh.h: Remove NO_RECURSIVE_FUNCTION_CSE comment.
2997 * doc/tm.texi (Costs): Remove documentation for
2998 NO_RECURSIVE_FUNCTION_CSE.
2999
0ef54a47
PB
30002004-05-20 Paul Brook <paul@codesourcery.com>
3001
3002 * unwind-dw2-fde.c (get_cie_encoding): Handle dwarf3 CIE format.
3003 * unwind-dw2.c (extract_cie_info): Ditto.
3004 (_Unwind_FrameState): Change retaddr_column to word type.
3005
f4085d4c
RS
30062004-05-20 Roger Sayle <roger@eyesopen.com>
3007
3008 PR middle-end/3074
3009 * fold-const.c (strip_compound_expr): Delete function.
3010 (count_cond): Delete function.
3011 (fold_binary_op_with_conditional_arg): Only perform transformations
3012 "a + (b?c:d) -> b ? a+c : a+d" and "(b?c:d) + a -> b ? c+a : d+a"
3013 when a is constant. This greatly simplifies this routine.
3014
3015 * tree.c (saved_expr_p): Delete function.
3016 * tree.h (saved_expr_p): Delete function prototype.
3017
b8850dd2
AP
30182004-05-20 Andrew Pinski <pinskia@physics.uc.edu>
3019
3020 * common.opt (ftree-loop-optimize): Remove.
3021
4ac29b33
DJ
30222004-05-20 Daniel Jacobowitz <dan@debian.org>
3023
3024 * Makefile.in (AR_FOR_TARGET, RANLIB_FOR_TARGET)
3025 (NM_FOR_TARGET): Use := and $(shell).
3026 (mainversion): Remove unused variable.
3027
52fe4de8
JDA
30282004-05-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3029
3030 * reorg.c (delete_from_delay_slot): If we have a barrier after the
3031 sequence containing the insn to be deleted, always reemit it.
3032
7e140280
RH
30332004-05-20 Richard Henderson <rth@redhat.com>
3034
3035 PR 15454
3036 * tree-nested.c (get_chain_decl): Create a PARM_DECL by hand.
3037 * function.c (expand_function_start): Expand static_chain_decl by hand.
3038 * gimplify.c (create_tmp_var_name): Export.
3039 * tree-gimple.h (create_tmp_var_name): Declare.
3040
9bf6462a
AP
30412004-05-20 Andrew Pinski <pinskia@physics.uc.edu>
3042
3043 * rs6000.c (print_operand) <case 'z'>: Call
3044 mark_decl_referenced before assemble_name.
3045
30719c65
ZW
30462004-05-20 Zack Weinberg <zack@codesourcery.com>
3047
3048 * cgraph.c (hash_node, eq_node, cgraph_node, cgraph_remove_node)
3049 (cgraph_varpool_hash_node, eq_cgraph_varpool_node)
3050 (cgraph_varpool_node): Hash on the pointer to the decl, not
3051 the DECL_UID. Fixes 64-bit bootstrap failure.
3052
69260355
RE
30532004-05-20 Richard Earnshaw <rearnsha@arm.com>
3054
3055 * arm.md (ite_ne_zeroextractsi, ite_ne_zeroextractsi_shifted): Ensure
3056 we don't earlyclobber operands used in the second insn.
3057
1ffae628
SB
30582004-05-20 Steven Bosscher <stevenb@suse.de>
3059
3060 * tree-mudflap.c: Formatting fixes.
3061
965ccc5a
R
30622004-05-20 J"orn Rennecke <joern.rennecke@superh.com>
3063
3064 * Makefile.in (GTFILES): Add $(srcdir)/reload.h.
3065 * gengtype.c (open_base_files): Include reload.h in ifiles.
3066 * reload.h (reg_equiv_memory_loc_varray): Declare.
3067 * reload1.c (reg_equiv_memory_loc_varray): New variable.
3068 (init_reload): Initialize it.
3069 (reload): Instead of freeing reg_equiv_memory_loc, 'grow'
3070 reg_equiv_memory_loc_varray to size 0.
3071 * ra.c (reg_alloc): Allocate reg_equiv_memory_loc by
3072 growing reg_equiv_memory_loc_varray to the desired size.
3073 * passes.c (rest_of_handle_old_regalloc): Likewise.
3074 * reload.c: Amend comment on calling init_reload.
3075
4ccfc10a
NC
30762004-05-20 Nick Clifton <nickc@redhat.com>
3077
3078 * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Replace 'tramp'
3079 with 'TRAMP' in the body of the macro definition.
3080
6bc709c1
L
30812004-05-19 H.J. Lu <hongjiu.lu@intel.com>
3082
3083 PR target/15383
3084 * config/ia64/ia64.c (ia64_expand_compare): Don't check
3085 TARGET_HPUX for TFmode compare. Abort if op0 is in TFmode and
3086 cmptf_libfunc isn't set.
3087 (ia64_init_libfuncs): Rename TFmode libfuncs using the HPUX
3088 conventions.
3089 (ia64_sysv4_init_libfuncs): New.
3090
3091 * config/ia64/sysv4.h (TARGET_INIT_LIBFUNCS): New. Defined as
3092 ia64_sysv4_init_libfuncs.
3093
d3a7ef9a
FH
30942004-05-20 Falk Hueffner <falk@debian.org>
3095
3096 PR other/15526
3097 * libgcc2.c (__mulvsi3): Fix overflow test.
3098
e916e1d0
AP
30992004-05-19 Andrew Pinski <pinskia@physics.uc.edu>
3100
dc44e18a 3101 PR c/14171
d2032ad8
AP
3102 * reg-stack.c (nan): Rename to ...
3103 (not_a_num): Here.
3104 (reg_to_stack): Rename nan to not_a_num.
3105 (subst_stack_regs_pat): Likewise.
3106 (convert_regs_entry): Likewise.
3107 (convert_regs_1): Likewise.
3108
e916e1d0
AP
3109 * tree-cfg.c (find_case_label_for_value): Replace call to
3110 simple_cst_equal with tree_int_cst_equal.
3111
84c672b9
JL
31122004-05-19 Jeff Law <law@redhat.com>
3113
34eb8991
JL
3114 * tree-into-ssa.c (prepare_operand_for_rename): New argument is_use.
3115 If the operand is for a use, then strip away the SSA_NAME, do not
3116 strip away the SSA_NAME for a set. Never call release_ssa_name.
3117 (mark_def_sites): Appropriately pass additional argument to
3118 prepare_operand_for_rename. If a VDEF_RESULT is not an SSA_NAME,
3119 then set the VDEF_RESULT to the VDEF_OP.
3120 (set_def_block): Strip away any SSA_NAME to get to the real
3121 underlying variable.
3122
84c672b9
JL
3123 * tree-ssa-phiopt.c (value_replacement): Handle the case where
3124 the desired edge out of COND_BLOCK reaches OTHER_BLOCK rather than
3125 BB directly.
3126
0aea6467
ZD
31272004-05-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3128
3129 PR c++/15463
3130 * loop-iv.c (iv_number_of_iterations): Use trunc_int_for_mode on
3131 result of inverse.
3132
3133 PR rtl-optimization/15274
3134 * loop-iv.c (determine_max_iter, shorten_into_mode,
3135 iv_number_of_iterations): Handle constants correctly.
3136 * rtl.h (get_mode_bounds): Declaration changed.
3137 * stor-layout.c (get_mode_bounds): Return a constant suitable for
3138 the target mode.
3139
3140 PR rtl-optimization/14692
3141 * loop-unswitch.c (may_unswitch_on): Try folding the result.
3142 (unswitch_single_loop): Work correctly when may_unswitch_on
3143 returns a folded constant.
3144
3145 * loop-iv.c (implies_p): Handle A < B ==> A + 1 <= B.
3146 * simplify-rtx.c (simplify_const_relational_operation): Optimize
3147 comparisons with mode bounds.
3148
3149 * function.c (struct temp_slot): Add new field prev.
3150 (free_after_compilation, init_temp_slots): Free new fields.
3151 (cut_slot_from_list, insert_slot_to_list,
3152 temp_slots_at_level, max_slot_level, move_slot_to_level,
3153 make_slot_available): New functions.
3154 (assign_stack_temp_for_type, combine_temp_slots,
3155 find_temp_slot_from_address, preserve_temp_slots,
3156 preserve_rtl_expr_result, free_temp_slots,
3157 free_temps_for_rtl_expr, pop_temp_slots): Work with
3158 the new structure of lists.
3159 (mark_all_temps_used): Removed.
3160 * function.h (struct function): Field x_temp_slots
3161 replaced by x_used_temp_slots and x_avail_temp_slots.
3162 (temp_slots): Replaced by ...
3163 (used_temp_slots, avail_temp_slots): New.
3164 * tree.h (mark_all_temps_used): Declaration removed.
3165
3166 * loop-iv.c (mark_single_set, get_biv_step_1, iv_analyze,
3167 simplify_using_assignment): Take the expression out of
3168 the expr_list wrapper.
3169
3170 * loop-iv.c (iv_number_of_iterations): Improve clasification of
3171 infinite loops.
3172
31a52b86
RS
31732004-05-19 Roger Sayle <roger@eyesopen.com>
3174
3175 * doc/tm.texi (TARGET_RTX_COSTS): Document that instruction
3176 costs should be based on code size when optimizing for size.
3177
d28f752b
PB
31782004-05-19 Paolo Bonzini <bonzini@gnu.org>
3179
3180 * fold-const.c: Remove non-printable character 160.
3181
d55b55aa
NC
31822004-05-19 Nick Clifton <nickc@redhat.com>
3183
34a86306
NC
3184 * doc/invoke.texi (ARM Options): Fix typo.
3185 Remove descrption of -mshort-load-bytes and
3186 -mno-short-load-bytes.
3187
d55b55aa
NC
3188 * config/ip2k/ip2k.c (ip2k_composite_xexp_not_uses_reg_p): Add
3189 missing parenthesis.
3190 * config/ip2k/ip2k.c (ip2k_unary_operator): Likewise.
3191 * config/ip2k/ip2k.c (ip2k_binary_operator): Likewise.
3192
6af8eb57
SB
31932004-05-19 Steven Bosscher <stevenb@suse.de>
3194
3195 * expr.c (store_constructor): Build loop start and end by hand
3196 instead of via loop functions from stmt.c.
3197 (expand_expr_real_1): Abort if we see an EXIT_EXPR or a LOOP_EXPR.
3198 Remove the code to expand them.
3199
3200 * stmt.c (loop_stack): Remove this and everything related.
3201 (struct nesting, enum nesting_desc): Update.
3202 (expand_fixup): Likewise.
3203 (expand_loop_start, expand_start_loop_continue_elsewhere,
3204 expand_start_null_loop, expand_loop_continue_here, expand_end_loop,
3205 expand_end_null_loop, expand_continue_loop, expand_exit_loop,
3206 expand_exit_loop_if_false, expand_exit_loop_top_cond,
3207 expand_exit_something): Remove.
3208 * tree.h: Remove prototypes.
3209
eeab4d81
MS
32102004-05-18 Mike Stump <mrs@apple.com>
3211 Devang Patel <dpatel@apple.com>
3212
3213 * doc/tm.texi (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument to indicate
3214 if this label is for eh.
3215 * config/darwin-protos.h (darwin_emit_unwind_label): Likewise.
3216 * config/darwin.c (darwin_emit_unwind_label): Likewise.
3217 * dwarf2out.c (output_call_frame_info): Likewise.
3218 * output.h (default_emit_unwind_label): Likewise.
3219 * target.h (unwind_label): Likewise.
3220 * varasm.c (default_emit_unwind_label): Likewise.
3221
3222 * config/darwin.h (DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
3223 DEBUG_FRAME_SECTION, DEBUG_INFO_SECTION, DEBUG_ABBREV_SECTION,
3224 DEBUG_ARANGES_SECTION, DEBUG_MACINFO_SECTION, DEBUG_LINE_SECTION,
3225 DEBUG_LOC_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_STR_SECTION,
3226 DEBUG_RANGES_SECTION): Define.
3227
bb9a388d
ZW
32282004-05-18 Zack Weinberg <zack@codesourcery.com>
3229
3230 * cgraph.c (hash_node, eq_node, cgraph_node, cgraph_remove_node)
3231 (cgraph_varpool_hash_node, eq_cgraph_varpool_node)
3232 (cgraph_varpool_node):
3233 Use DECL_UID for the key, not DECL_ASSEMBLER_NAME.
3234 (cgraph_function_possibly_inlined_p): Use the decl itself for
3235 the key, not DECL_ASSEMBLER_NAME.
3236 (change_decl_assembler_name): No need to muck with the hash tables.
3237 (cgraph_node_for_identifier, cgraph_varpool_node_for_identifier):
3238 Delete.
3239 * cgraphunit.c (cgraph_mark_inline_edge): Use the decl itself
3240 for the key, not DECL_ASSEMBLER_NAME.
3241 * cgraph.h: Remove prototypes of deleted functions.
3242 * varasm.c (mark_referenced): Just set TREE_SYMBOL_REFERENCED.
3243 (mark_decl_referenced): New function.
3244 * tree.h: Prototype mark_decl_referenced.
3245 * final.c (output_addr_const) <case SYMBOL_REF>: Call
3246 mark_decl_referenced before assemble_name.
3247 * c-decl.c (finish_decl): Use mark_decl_referenced.
3248
3a3f4da9
AP
32492004-05-18 Andrew Pinski <pinskia@physics.uc.edu>
3250 Jeff Law <law@redhat.com>
3251
cc52902d
AP
3252 * tree-ssa-phiopt.c (abs_replacement): New function.
3253 (empty_block_p): New function extracted from...
3254 (candidate_bb_for_phi_optimization): Break out empty block test.
3255 (conditional_replacement): Use empty_block_p.
3256 (value_replacement): Similarly.
3257
3a3f4da9
AP
3258 * Makefile.in (tree-ssa-phiopt.o): Depends on flags.h.
3259 * tree-ssa-phiopt.c: Include flags.h.
3260 (conditional_replacement): Remove argument names from prototype.
3261 Minor formatting and comment fixes.
3262 (tree_ssa_phiopt): If conditional_replacement returns false, then
3263 call value_replacement.
3264 (value_replacement): New function.
3265
14886ab7
JL
32662004-05-18 Jeff Law <law@redhat.com>
3267
1833df5c
JL
3268 * tree-ssa-phiopt.c (replace_phi_with_stmt): New function extracted
3269 from conditional_replacement.
3270 (candidate_bb_for_phi_optimization): Similarly.
3271 (conditional_replacement): Use replace_phi_with_stmt and
3272 candidate_bb_for_phi_optimization.
3273
14886ab7
JL
3274 * tree-ssa-phiopt.c: Fix various formatting issues.
3275
70315fcd
SB
32762004-05-18 Steven Bosscher <stevenb@suse.de>
3277
3278 * config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr,
3279 s390_expand_cmpmem): Do not use expand_start_loop and
3280 expand_end_loop, instead build the loop manually.
3281
f82ddcae
AM
32822004-05-18 Alan Modra <amodra@bigpond.net.au>
3283
3284 * config/rs6000/rs6000.md (ctrsi_internal3): Delete.
3285 (ctrsi_internal4, ctrdi_internal3, ctrdi_internal4): Delete.
3286
dd747311
JL
32872004-05-17 Jeff Law <law@redhat.com>
3288
3289 * toplev.h (flag_delete_null_pointer_checks): Move from here to...
3290 * flags.h (flag_delete_null_pointer_checks): Here.
3291 * tree-flow.h (cprop_into_successor_phis): Add argument to prototype.
3292 * tree-phinodes.c (resize_phi_node): Initialize PHI_ARG_NONZERO.
3293 (add_phi_arg, remove_phi_arg_num): Similarly.
3294 * tree-ssa-copy.c (cprop_into_successor_phis): Propagate nonzero
3295 property into PHI nodes.
3296 * tree-ssa-dom.c: Remove redundant inclusion of flags.h.
3297 (record_equivalences_from_phis): If all PHI arguments are known to be
3298 nonzero, then the result must be nonzero as well.
8eb14e2e
SB
3299 (cprop_into_phis): Pass nonzero_vars bitmap to cprop_into_successor_phis.
3300 (record_equivalences_from_stmt): Check flag_delete_null_pointer_checks
dd747311
JL
3301 appropriately. Walk the USE-DEF chains and propagate nonzero property
3302 as appropriate.
3303 * tree.h (PHI_ARG_NONZERO): Define.
3304 (phi_arg_d): Add nonzero flag.
3305
b4117c30
ZW
33062004-05-17 Zack Weinberg <zack@codesourcery.com>
3307
3308 * f: Entire directory removed
3309
3310 * c-common.h (CTI_G77_INTEGER_TYPE, CTI_G77_UINTEGER_TYPE)
3311 (CTI_G77_LONGINT_TYPE, CTI_G77_ULONGINT_TYPE)
3312 (g77_integer_type_node, g77_uinteger_type_node)
3313 (g77_longint_type_node, or g77_ulongint_type_node): Delete.
3314 * c-common.c (c_common_nodes_and_builtins): Do not initialize
3315 the above set of variables.
3316
3317 * config/i386/uwin.h: No need to define WIN32_UWIN_TARGET.
3318 * doc/invoke.texi, doc/standards.texi: Remove cross-references
3319 to g77 manual.
3320
6944d9dd
SB
33212004-05-17 Steven Bosscher <stevenb@suse.de>
3322
5e806501 3323 PR tree-optimization/15438
6944d9dd
SB
3324 * tree-ssa-operands.c (get_expr_operands): Do not treat malloc
3325 attributed functions as pure or const.
3326
e1564e1d
FCE
33272004-05-17 Frank Ch. Eigler <fche@redhat.com>
3328
3329 * tree-mudflap.c (mx_register_decls): Tolerate decl trees resulting
3330 from source code with errors.
3331
a2824db3
RM
33322004-05-17 Ranjit Mathew <rmathew@hotmail.com>
3333
3334 Enable tree browser for all front ends.
3335 * Makefile.in (cc1): Moved @TREEBROWSER@ from here...
3336 (BACKEND): ...to here.
3337
2c6b27c3
JH
33382004-05-17 Jan Hubicka <jh@suse.cz>
3339
3340 * i386.c (construct_container): Do not produce BLKmode registers.
3341 (classify_argument): Properly compute alignment of complex types.
3342
044b3892
L
33432004-05-17 H.J. Lu <hongjiu.lu@intel.com>
3344
3345 PR target/15084
3346 * config/i386/i386.md (*movsi_insv_1_rex64): Changed to DImode
3347 and renamed to movdi_insv_1_rex64.
3348 (insv): Support SImode for 32bit and DImode for 64bit.
3349
646ca712
RS
33502004-05-17 Richard Sandiford <rsandifo@redhat.com>
3351
3352 * config/mips/mips.h (MASK_DEBUG_G, TARGET_DEBUG_G_MODE): Delete.
3353 (TARGET_SWITCHES): Remove debugg.
3354 * config/mips/mips.md (adddi3, ashldi3, ashrdi3, lshrdi3): Only handle
3355 TARGET_64BIT.
3356 (subdi3): Replace the define_expand with a define_insn, the latter
3357 renamed from subdi3_internal_3.
3358 (negdi2): Likewise negdi2_internal_2.
3359 (adddi3_internal_[12], subdi3_internal, ashldi3_internal{,2,3})
3360 (ashrdi3_internal{,2,3}, lshrdi3_internal{,2,3}): Remove patterns
3361 and associated define_splits.
3362 (adddi3_internal): Renamed from adddi3_internal_3.
3363 (ashldi3_internal): Likewise ashldi3_internal4.
3364 (ashrdi3_internal): Likewise ashrdi3_internal4.
3365 (lshrdi3_internal): Likewise lshrdi3_internal4.
3366
d83aba0f
RS
33672004-05-17 Richard Sandiford <rsandifo@redhat.com>
3368
3369 * optabs.c (expand_unop): Try implementing negation using subtraction
3370 from zero.
3371
15581992
JDA
33722004-05-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3373
3374 * pa.md: Fix typo from last change. Remove DFmode move to and from
3375 SAR register.
3376
2a2789d8
RE
33772004-05-16 Richard Earnshaw <rearnsha@arm.com>
3378
3379 PR target/10982
3380 * arm.md (ne_zeroextractsi): Convert to insn-and-split.
3381 (ne_zeroextractsi_shifted): New pattern.
3382 (ite_ne_zeroextractsi): New pattern.
3383 (ite_ne_zeroextractsi_shifted): New pattern.
3384
673fda6b
SB
33852004-05-15 Steven Bosscher <stevenb@suse.de>
3386
3387 * c-gimplify.c (c_genericize):
3388 Replace calls via (*lang_hooks.foo) with lang_hooks.foo.
3389 * c-parse.in <expr_no_commas>: Likewise.
3390 <if_prefix>: Likewise.
3391 <select_or_iter_stmt>: Likewise.
3392 * expr.c (expand_var, expand_expr_real_1): Likewise.
3393 * expr.h (expand_expr): Make it a static inline function.
3394 Move prototype for expand_expr_real up before this.
3395 * fold-const.c (fold_relational_hi_lo, fold_relational_const):
3396 Likewise.
3397 * gimplify.c (gimple_boolify, gimplify_addr_expr,
3398 gimplify_asm_expr, gimplify_expr): Likewise.
3399 * tree-cfg.c (dump_tree_cfg, dump_cfg_stats, tree_cfg2vcg,
3400 dump_function_to_file): Likewise.
3401 * tree-dfa.c (dump_immediate_uses, dump_dfa_stats): Likewise.
3402 * tree-inline.c (remap_block, save_body, walk_tree): Likewise.
3403 * tree-into-ssa.c (dump_tree_ssa): Likewise.
3404 * tree-mudflap.c (mf_varname_tree, mf_file_function_line_tree):
3405 Likewise.
3406 * tree-optimize.c (execute_one_pass): Likewise.
3407 * tree-pretty-print.c (dump_generic_bb_buff): Likewise.
3408 * tree-ssa-alias.c (dump_alias_stats, dump_alias_info): Likewise.
3409
3410 * objc/objc-act.c (objc_build_try_enter_fragment,
3411 objc_build_try_epilogue, objc_build_catch_stmt,
3412 objc_build_finally_prologue): Replace calls via (*lang_hooks.foo)
3413 with lang_hooks.foo ().
3414
e2bb53e5
RS
34152004-05-15 Roger Sayle <roger@eyesopen.com>
3416
3417 * builtins.c (simplify_builtin_strcpy): Avoid use of chainon, so
3418 that simplify_builtin doesn't destructively modify its argument.
3419
dc491742
RE
34202004-05-15 Richard Earnshaw <reanrsha@arm.com>
3421
b4117c30 3422 * arm/lib1funcs.asm (_lshrdi3, _ashrdi3, _ashldi3): Add ASM
dc491742
RE
3423 implementations for ARM and Thumb.
3424 * arm/t-arm-elf (LIB1ASMFUNCS): Use them.
3425
428d4d76
TQ
34262004-05-15 Thomas Quinot <quinot@act-europe.fr>
3427
3428 * prefix.c (update_path): Replace PREFIX with KEY only
3429 when it matches a full directory name in PATH.
3430
61f0ccff
RE
34312004-05-15 Richard Earnshaw <reanrsha@arm.com>
3432
3433 * arm.h (TARGET_APCS_32): Delete.
3434 (TARGET_MMU_TRAPS): Delete.
3435 (TARGET_CPU_CPP_BUILTINS): Unconditionally define __APCS_32__. Never
3436 define __APCS_26__.
3437 (CPP_SPEC): Remove checking of -mapcs-{26,32}.
3438 (ARM_FLAG_APCS_32, ARM_FLAG_MMU_TRAPS): Delete.
3439 (TARGET_SWITCHES): Remove alignment_traps and apcs-{26,32} switches.
3440 (prog_mode_type): Delete.
3441 (PROMOTE_MODE): Always promote unsigned for HImode.
3442 (SECONDARY_INPUT_RELOAD_CLASS): Simplify.
3443 (MASK_RETURN_ADDR): Simplify.
3444 * arm.c (arm_prgmode): Delete.
3445 (arm_override_options, arm_gen_rotated_half_load): Simplify.
3446 (print_multi_reg, output_return_instruction): Simplify.
3447 (arm_output_epilogue, arm_final_prescan_insn): Simplify.
3448 (arm_return_addr): Simplify.
3449 * arm.md (prog_mode): Delete.
3450 (conds): Simplify.
3451 (zero_extendhisi2, extendhisi2, movhi, movhi_bytes): Simplify.
3452 (rotated_loadsi, movhi_insn_littleend, movhi_insn_bigend): Delete.
3453 (loadhi_si_bigend, loadhi_preinc, loadhi_shiftpreinc): Delete.
3454 (loadhi_shiftpredec): Delete.
3455 (peephole for post-increment on HImode load): Delete.
3456 * arm/crtn.asm: (FUNC_END): Simplify.
3457 * arm/lib1funcs.asm: Remove APCS-26 return macros.
3458 * arm/aof.h, arm/coff.h arm/elf.h arm/linux-elf.h arm/netbsd-elf.h
b4117c30 3459 * arm/netbsd.h arm/pe.h arm/semi.h arm/semiaof.h arm/unknown-elf.h
61f0ccff
RE
3460 * arm/vxworks.h arm/wince-pe.h: Tidy TARGET_DEFAULTS and
3461 MULTILIB_DEFAULTS as required.
3462 * arm/t-arm-elf arm/t-linux arm/t-pe arm/t-semi arm/t-wince-pe
3463 * arm/t-xscale-coff arm/t-xscale-elf arm/uclinux-elf: Tidy MULTILIB
3464 variables as required.
3465 * doc/invoke.texi (ARM Options): Remove obsolete flags.
3466
11c01dcc
AM
34672004-05-15 Alan Modra <amodra@bigpond.net.au>
3468
3469 * config/rs6000/rs6000.c (rs6000_va_arg <ABI_V4>): Don't use
3470 UNITS_PER_WORD to calculate gpr size. Re-instate code to set reg
3471 count to 8 to handle n_reg > 2.
3472
aaa67502
JM
34732004-05-15 Joseph S. Myers <jsm@polyomino.org.uk>
3474
3475 * doc/extend.texi: Update WG14 URL.
3476
827c06b6
SB
34772004-05-15 Steven Bosscher <stevenb@suse.de>
3478
3479 * basic-block.h (life_analysis, delete_noop_moves):
3480 Update prototypes.
3481 * bt-load.c (branch_target_load_optimize): Don't take the
3482 insns stream as an argument. Update the life_analysis calls.
3483 * combine.c (combine_instructions): Update delete_noop_moves
3484 calls.
3485 * flow.c (notice_stack_pointer_modification): Don't take the
3486 insns stream as an argument. Work on the flow graph.
3487 (life_analysis): Likewise.
3488 (delete_noop_moves): Likewise.
3489 * passes.c (rest_of_handle_stack_regs): Update reg_to_stack call.
3490 (rest_of_handle_life): Update life_analysis call.
3491 (rest_of_compilation): Likewise, and also update
3492 branch_target_load_optimize call.
3493 * ra.c (reg_alloc): Update life_analysis call.
3494 * reg-stack.c (reg_to_stack): Likewise. Also, don't take
3495 the insns stream as an argument.
3496 * regrename.c (copyprop_hardreg_forward): Update delete_noop_moves
3497 call.
3498 * rtl.c (branch_target_load_optimize, reg_to_stack): Update
3499 prototypes.
3500 * value-profile.c (branch_prob): Update life_analysis call.
3501 * web.c (web_main): Work on the CFG, not on the insns stream.
3502
3503 * config/ip2k/ip2k.c (ip2k_reorg): Update life_analysis calls.
3504 * config/m68hc11/m68hc11.c (m68hc11_reorg): Likewise.
3505 * config/sh/sh.c (sh_output_mi_thunk): Likewise.
3506
e9a75776
JM
35072004-05-15 Joseph S. Myers <jsm@polyomino.org.uk>
3508
3509 PR c/15444
3510 * c-format.c (avoid_dollar_number): New function.
3511 (check_format_info_main): Call avoid_dollar_number when operand
3512 numbers might occur but has_operand_number == 0.
3513
3053b100
RE
35142004-05-14 Richard Earnshaw <rearnsha@arm.com>
3515
3516 * arm.md (all peephole2 patterns): Use predicates that validate
3517 register classes as appropriate.
3518
b89e96ac
SB
35192004-05-14 Steven Bosscher <stevenb@suse.de>
3520
3521 PR opt/14472
3522 * tree-tailcall.c (process_assignment): Use STRIP_NOPS to
3523 ignore type conversions that do not inhibit tail calling.
3524 (find_tail_calls): Likewise.
3525
14bc8dc2
JL
35262004-05-14 Jeff Law <law@redhat.com>
3527
91cde0c3
JL
3528 * tree-ssa-dom.c (redirect_edges_and_update_ssa_graph): Don't even
3529 bother marking bypassed virtuals for out-of-ssa. Instead merge
827c06b6 3530 bypassed virtuals into vars_to_rename just before into-ssa pass.
91cde0c3 3531
14bc8dc2
JL
3532 * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Reorganize
3533 so that it picks up more opportunities to eliminate ABS expressions
3534 or turn them into negations.
3535
e83f4801
SB
35362004-05-14 Steven Bosscher <stevenb@suse.de>
3537
3538 * passes.c (rest_of_handle_null_pointer): Remove.
3539 (rest_of_handle_cse): Don't call rest_of_handle_null_pointer.
3540 (rest_of_compilation): Likewise.
3541 * rtl.h (delete_null_pointer_checks): Remove prototype.
3542 * gcse.c (rd_kill, rd_gen, reaching_defs, rd_out, ae_in, ae_out):
3543 Remove declarations.
3544 (get_bitmap_width, alloc_rd_mem, free_rd_mem, handle_rd_kill_set,
3545 compute_kill_rd, compute_rd, alloc_avail_expr_mem,
3546 free_avail_expr_mem, compute_ae_gen, expr_killed_p, compute_ae_kill,
3547 expr_reaches_here_p, computing_insn, def_reaches_here_p,
3548 can_disregard_other_sets, handle_avail_expr, classic_gcse,
3549 one_classic_gcse_pass, invalidate_nonnull_info,
3550 delete_null_pointer_checks_1, delete_null_pointer_checks,
3551 expr_reached_here_p_work): Remove.
3552 (gcse_main): Do not perform classic GCSE when optimizing for size.
3553 (alloc_pre_mem, free_pre_mem): Don't touch ae_in and ae_out, they
3554 are never used.
3555
571325db
AP
35562004-05-14 Andrew Pinski <pinskia@physics.uc.edu>
3557
3558 PR optimization/14466
3559 * tree-complex.c (make_temp): Remove.
3560 (gimplify_val): Replace make_temp with make_rename_temp
3561 and add NULL as the second argument.
3562 (expand_complex_div_wide): Likewise.
3563 * tree-dfa.c (make_rename_temp): New function.
3564 * tree-flow.h (make_rename_temp): Declare.
3565 * tree-sra.c (make_temp): Remove.
3566 (lookup_scalar): Replace make_temp with make_rename_temp.
3567 (create_scalar_copies): Likewise.
3568 * tree-ssa-phiopt.c (conditional_replacement): When we
3569 get non gimple create a temporary variable to hold the
3570 casted expression.
3571
13c1cd82
PB
35722004-05-14 Paul Brook <paul@codesourcery.com>
3573
3574 * stor-layout.c (update_alignment_for_field): Use
3575 targetm.align_anon_bitfield.
3576 * target-def.h (TARGET_ALIGN_ANON_BITFIELD): Define.
3577 (TARGET_INITIALIZER): Use it.
3578 * target.h (struct gcc_target): Add align_anon_bitfield.
3579 * config/arm/arm.c (arm_align_anon_bitfield): New function.
3580 (TARGET_ALIGN_ANON_BITFIELD): Define.
3581 * doc/tm.texi: Document TARGET_ALIGN_ANON_BITFIELD.
3582
90afe2c9
ZW
35832004-05-13 Zack Weinberg <zack@codesourcery.com>
3584
3585 * tree.def (documentation): Remove mention of class 'b'.
3586 (BLOCK): Now in class 'x'.
3587 * c-common.c (verify_tree): Remove case 'b'.
3588 * c-typeck.c (same_translation_unit_p): Change 'b' to 'x'.
3589 * calls.c (calls_function_1): Control cannot get past the switch
3590 when exp is a BLOCK.
3591 * print-tree.c (print_node): Move code for class 'b' to the class
3592 'c'/'x' switch, as case BLOCK.
3593 * tree.c (tree_size, make_node_stat, tree_node_structure): Likewise.
3594 (unsafe_for_reeval, substitute_placeholder_in_expr)
3595 (stabilize_reference_1): Remove case 'b'.
3596 * tree-browser.c (browse_tree): Change all tests for TREE_CODE_CLASS
3597 of something being 'b' to tests for TREE_CODE of something being
3598 BLOCK.
3599 * tree-ssa-operands.c (get_expr_operands): Likewise.
3600
eadf906f
DN
36012004-05-13 Diego Novillo <dnovillo@redhat.com>
3602
3603 * tree-gimple.c: Rename from tree-simple.c.
3604 * tree-gimple.h: Rename from tree-simple.h.
3605 * c-gimplify.c: Rename from c-simplify.c
3606 * Makefile.in, c-decl.c, gimple-low.c, gimplify.c,
3607 langhooks.c, tree-alias-ander.c, tree-alias-common.c,
3608 tree-complex.c, tree-dfa.c, tree-flow.h, tree-inline.c,
3609 tree-into-ssa.c, tree-iterator.c, tree-mudflap.c,
3610 tree-nested.c, tree-nomudflap.c, tree-outof-ssa.c, tree-sra.c,
3611 tree-ssa-alias.c, tree-ssa-ccp.c, tree-ssa-copyrename.c,
3612 tree-ssa-dce.c, tree-ssa-live.c, tree-ssa-pre.c, tree-ssa.c:
3613 Update.
3614
fc55c95e
RM
36152004-05-14 Ranjit Mathew <rmathew@hotmail.com>
3616
3617 * doc/sourcebuild.texi: Mention libbanshee and libmudflap.
3618
2b648957
AP
36192004-05-13 Andrew Pinski <pinskia@physics.uc.edu>
3620
6b9bee8e
AP
3621 * tree-ssa.c (delete_tree_ssa): XFREE
3622 bitmaps allocated with BITMAP_XMALLOC.
3623
15342341
AP
3624 * tree-ssa-pre.c (execute_pre): Free ephi_use_pool and
3625 idfs_cache at the end of the function.
3626
3627 * tree-ssa-live.c (calculate_live_on_entry): Free saw_def
623f4556
AP
3628 at the end of the function.
3629
960076d9
AP
3630 * tree-ssa-dce.c (perform_tree_ssa_dce): Free
3631 el at the end of the function.
3632
8b752086
AP
3633 * tree-into-ssa.c (insert_phi_nodes_for): XFREE
3634 bitmaps allocated with BITMAP_XMALLOC.
3635
77e23325
AP
3636 * loop-unswitch.c (unswitch_single_loop): Free bbs at
3637 the end.
3638
07a1f795
AP
3639 * final.c (shorten_branches): Free uid_shuid before
3640 reallocating it.
3641
2b648957
AP
3642 * bb-reoder.c (connect_traces): Free cold_traces at the end.
3643
91581bcc
JL
36442004-05-13 Jeff Law <law@redhat.com>
3645
02ea8d06
JL
3646 * tree-ssa-live.c (calculate_live_on_entry): Ignore virtual
3647 variables. Simplify slightly by using USE_OP/DEF_OP instead
3648 of USE_OP_PTR/DEF_OP_PTR and dereferencing the result.
3649
6c875a31
JL
3650 * tree-into-ssa.c (compute_global_livein): Use EXECUTE_IF_SET_IN_BITMAP
3651 rather than iterating through the blocks testing each bit in
3652 livein to initialize the worklist.
3653 (mark_def_sites): Remove useless checks of KILLS for virtual
3654 operands.
3655
91581bcc
JL
3656 * tree-ssa-forwprop.c (record_single_argument_cond_exprs): Accept
3657 new parameters for the statement and variable worklist as well
3658 as a bitmap of interesting SSA_NAMEs. Walk over the statement
3659 worklist recording interesting variables in the variable worklist
3660 and bitmap. Handle casts between integral and boolean types.
3661 (substitute_single_use_vars): Accept new parameters for the statement
3662 and variable worklist. When a substitution is made add a new
3663 entry to the statement worklist. Handle casts between integral
3664 and boolean types.
3665 (tree_ssa_forward_propagate_single_use_vars): Rework to pass
3666 worklists to children. Iterate until the statement worklist
3667 is empty.
3668
0b87eff5
AP
36692004-05-13 Andrew Pinski <pinskia@physics.uc.edu>
3670
520f0c48
AP
3671 * tree-outof-ssa.c (rewrite_vars_out_of_ssa): Free map at
3672 the end of the block.
3673
f472590a
AP
3674 * tree-into-ssa.c (def_blocks_free): XFREE bitmaps allocated
3675 with BITMAP_XMALLOC.
3676
d1f9044b
AP
3677 * tree-ssa-alias.c (delete_alias_info): XFREE bitmaps allocated
3678 with BITMAP_XMALLOC.
3679
cfa4cb00
AP
3680 * tree-ssa-dom.c (tree_ssa_dominator_optimize):
3681 Free nonzero_vars at the end of the function.
3682
0b87eff5
AP
3683 * convert.c (convert_to_integer): Make a CONVERT_EXPR when there is a
3684 need to generate code instead of a NOP_EXPR.
3685
eb18fd8d
ILT
36862004-05-13 Ian Lance Taylor <ian@wasabisystems.com>
3687
3688 * gcc.c (default_compilers): Fill out initializers for new Fortran
3689 entries.
3690
d81d0bdd
PB
36912004-05-13 Paul Brook <paul@codesourcery.com>
3692
3693 * config/arm/arm.h (PCC_BITFIELD_TYPE_MATTERS): Define.
3694
6b045785
PB
36952004-05-13 Paul Brook <paul@codesourcery.com>
3696
3697 * config/arm/arm.c (arm_default_short_enums): New function.
3698 (TARGET_DEFAULT_SHORT_ENUMS): Define.
3699
6de9cd9a
DN
37002004-05-13 Diego Novillo <dnovillo@redhat.com>
3701
3702 Merge from tree-ssa-20020619-branch.
3703
3704 * Makefile.in (reload1.o-warn): Add.
3705 (tree-alias-ander.o-warn): Add.
3706 (GMPLIBS): Define.
3707 (GMPINC): Define.
3708 (BANSHEELIB): Define.
3709 (BANSHEEINC): Define.
3710 (TREE_DUMP_H): Define.
3711 (TREE_SIMPLE_H): Define.
3712 (TREE_FLOW_H): Define.
3713 (LIBDEPS): Add BANSHEELIB.
3714 (INCLUDES): Add BANSHEEINC and GMPINC.
3715 (C_AND_OBJC_OBJS): Add c-simplify.o, tree-mudflap.o,
3716 c-mudflap.o and c-pretty-print.o.
3717 (C_OBJS): Remove c-pretty-print.o.
3718 (OBJS-common): Remove sibcall.o.
3719 Add tree-cfg.o, tree-dfa.o, tree-eh.o,
3720 tree-ssa.o, tree-optimize.o, tree-simple.o,
3721 tree-alias-type.o, gimplify.o, tree-pretty-print.o,
3722 tree-into-ssa.o, tree-outof-ssa.o, tree-alias-common.o,
3723 tree-ssa-ccp.o, @ANDER@, tree-ssa-dce.o, tree-ssa-copy.o,
3724 tree-nrv.o, tree-ssa-copyrename.o, tree-ssa-pre.o,
3725 tree-ssa-live.o, tree-ssa-operands.o, tree-ssa-alias.o,
3726 tree-ssa-phiopt.o, tree-ssa-forwprop.o, tree-nested.o,
3727 tree-ssa-dse.o, tree-ssa-dom.o, domwalk.o,
3728 tree-tailcall.o, gimple-low.o, tree-iterator.o,
3729 tree-phinodes.o, tree-ssanames.o, tree-sra.o,
3730 tree-complex.o, tree-ssa-loop.o, rtl-profile.o and
3731 tree-profile.o.
3732 (OBJC-archive): Add tree-nomudflap.o.
3733 (cc1): Add dependency on @TREEBROWSER@.
3734 (c-decl.o): Add dependency on TREE_DUMP_H.
3735 (c-dump.o): Likewise.
3736 (c-common.o): Add dependency on tree-iterator.h
3737 (c-pretty-print.o): Add dependency on DIAGNOSTIC_H.
3738 (gtype-desc.o): Add dependency on TREE_FLOW_H.
3739 (tree.o): Add dependency on tree-iterator.h,
3740 BASIC_BLOCK_H and TREE_FLOW_H.
3741 (tree-dump.o): Depend on TREE_DUMP_H instead of tree-dump.h.
3742 (langhooks.o): Add dependency on TREE_SIMPLE_H.
3743 (tree-alias-type.o, tree-alias-ander.o,
3744 tree-alias-common.o, tree-ssa.o, tree-into-ssa.o,
3745 tree-outof-ssa.o, tree-ssa-dse.o, tree-ssa-forwprop.o,
3746 tree-ssa-phiopt.o, tree-nrv.o, tree-ssa-copy.o,
3747 tree-ssa-dom.o, tree-ssanames.o, tree-phinodes.o,
3748 domwalk.o, tree-ssa-live.o, tree-ssa-copyrename.o,
3749 tree-ssa-pre.o, tree-cfg.o, tree-tailcall.o,
3750 tree-nested.o, tree-iterator.o, tree-dfa.o,
3751 tree-ssa-operands.o, tree-eh.o, tree-ssa-loop.o,
3752 tree-ssa-alias.o, tree-optimize.o, c-simplify.o,
3753 gimplify.o, gimple-low.o, tree-browser.o, tree-simple.o,
3754 tree-mudflap.o, c-mudflap.o, tree-nomudflap.o,
3755 tree-pretty-print.o, tree-ssa-dce.o, tree-ssa-ccp.o,
3756 tree-sra.o, tree-complex.o, tree-profile.o,
3757 rtl-profile.o): New rules.
3758 (function.o): Add dependency on basic-block.h
3759 (expr.o): Add dependency on tree-iterator.h.
3760 (sibcall.o): Remove.
3761 (profile.o): Depend on TREE_FLOW_H instead of TREE_H.
3762 (cfg.o): Add dependency on TIMEVAR_H.
3763 (cfghooks.o): Add dependency on TREE_FLOW_H.
3764 (reg-stack.o): Add dependency on basic-block.h.
3765 (GTFILES): Add hwint.h, tree-mudflaph.c, tree-flow.h,
3766 c-objc-common.c, c-common.c, c-parse.in, tree-ssanames.c,
3767 tree-eh.c, tree-phinodes.c, tree-cfg.c, tree-dfa.c,
3768 tree-ssa-ccp.c, tree-iterator.c, gimplify.c,
3769 tree-alias-type.h, tree-alias-common.h,
3770 tree-alias-type.c, tree-alias-common.c,
3771 tree-ssa-operands.h, tree-ssa-operands.c, tree-profile.c,
3772 rtl-profile.c and tree-nested.c.
3773 (gt-tree-alias-common.h, gt-tree-mudflap.h,
3774 gt-tree-ssa-ccp.h, gt-tree-eh.h, gt-tree-ssanames.h,
3775 gt-tree-iterator.h, gt-gimplify.h, gt-tree-phinodes.h,
3776 gt-tree-cfg.h, gt-tree-nested.h): New rules.
3777 (TEXI_GCCINT_FILES): Add cfg.texi and tree-ssa.texi.
3778 * basic-block.h: Include predict.h
3779 (struct edge_def): Add GTY marker.
3780 Change field 'insns' to be a union of tree and rtx.
3781 (EDGE_TRUE_VALUE): Define.
3782 (EDGE_FALSE_VALUE): Define.
3783 (EDGE_EXECUTABLE): Define.
3784 (struct bb_ann_d): Forward declare.
3785 (struct basic_block_def): Add GTY marker.
3786 Remove fields head_tree and end_tree.
3787 Add fields stmt_list, rbi and tree_annotations.
3788 (struct reorder_block_def): Define.
3789 (basic_block_info): Add GTY marker.
3790 (ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR): Change to global
3791 variables instead of macros.
3792 (flow_call_edges_add): Remove declaration.
3793 (make_eh_edge): Remove declaration.
3794 (brief_dump_cfg, find_edge, tree_predicted_by_p,
3795 rtl_predicted_by_p, tree_predict_edge, rtl_predict_edge,
3796 predict_edge_def, rtl_make_eh_edge, find_basic_blocks,
3797 cleanup_cfg, delete_unreachable_blocks, merge_seq_blocks,
3798 alloc_rbi_pool, initialize_bb_rbi, free_rbi_pool): Declare.
3799 (try_redirect_by_replacing_jump): Modfiy return type to
3800 edge instead of bool.
3801 * bb-reorder.c (copy_bb): Call duplicate_block
3802 instead of cfg_layout_duplicate_bb.
3803 (copy_bb_p): Call can_duplicate_block_p instead of
3804 cfg_layout_can_duplicate_bb_p.
3805 * bitmap.c (bitmap_first_set_bit): Abort if word
3806 wasn't found.
3807 (bitmap_last_set_bit): Likewise.
3808 * builtin-types.def (DEF_FUNCTION_TYPE_2): Add
3809 (DEF_FUNCTION_TYPE_3): Add.
3810 * builtins.c (c_strlen): Make extern.
3811 (builtin_save_expr): New.
3812 (expand_builtin_nonlocal_goto): New.
3813 (expand_builtin_constant_p): Remove.
3814 (expand_builtin_mathfn): Call builtin_save_expr instead
3815 of save_expr.
3816 (expand_builtin_mathfn_2): Likewise.
3817 (expand_builtin_strcmp): Likewise.
3818 (expand_builtin_strncmp): Likewise.
3819 (expand_builtin_strcat): Likewise.
3820 (fold_builtin_cabs): Likewise.
3821 (expand_builtin_alloca): Don't trigger if -fmudflap is
3822 given.
3823 (build_string_literal): Set TREE_INVARIANT on new node.
3824 (expand_builtin_profile_fun): New.
3825 (round_trampoline_addr): New.
3826 (expand_builtin_init_trampoline): New.
3827 (expand_builtin_adjust_trampoline): New.
3828 (expand_builtin) <BUILT_IN_NEXT_ARG>: Call simplify_builtin_next_arg.
3829 <BUILT_IN_CONSTANT_P>: Return const0_rtx;
3830 <BUILT_IN_STACK_ALLOC, BUILT_IN_STACK_SAVE,
3831 BUILT_IN_STACK_RESTORE, BUILT_IN_NONLOCAL_GOTO,
3832 BUILT_IN_PROFILE_FUNC_ENTER, BUILT_IN_PROFILE_FUNC_EXIT,
3833 BUILT_IN_INIT_TRAMPOLINE, BUILT_IN_ADJUST_TRAMPOLINE>:
3834 Handle.
3835 (fold_builtin_expect): New.
3836 (fold_builtin_isascii): Don't return non-constant results
3837 in GIMPLE form.
3838 (fold_builtin_isdigit): Likewise.
3839 (fold_builtin_1): New.
3840 (fold_builtin): Call it.
3841 (build_function_call_expr): Update call to build a new
3842 CALL_EXPR.
3843 (purge_builtin_constant_p): Remove.
3844 (simplify_builtin, simplify_builtin_memcmp,
3845 simplify_builtin_strcmp, simplify_builtin_strncmp,
3846 simplify_builtin_strpbrk, simplify_builtin_strstr,
3847 simplify_builtin_strchr, simplify_builtin_strrchr,
3848 simplify_builtin_strcat, simplify_builtin_strncat,
3849 simplify_builtin_strspn, simplify_builtin_strcspn,
3850 simplify_builtin_next_arg, simplify_builtin_va_start,
3851 simplify_builtin_sprintf): New.
3852 * builtins.def (BUILT_IN_STACK_ALLOC,
3853 BUILT_IN_STACK_SAVE, BUILT_IN_STACK_RESTORE,
3854 BUILT_IN_INIT_TRAMPOLINE, BUILT_IN_ADJUST_TRAMPOLINE,
3855 BUILT_IN_NONLOCAL_GOTO, BUILT_IN_PROFILE_FUNC_ENTER,
3856 BUILT_IN_PROFILE_FUNC_EXIT): Define.
3857 * c-common.c: Include tree-iterator.h and hashtab.h.
3858 (lang_statement_code_p): Declare.
3859 (lang_gimplify_stmt): Declare.
3860 (fix_string_type): Set TREE_INVARIANT for value.
3861 (pointer_int_sum): Rely on build to set TREE_CONSTANT.
3862 (c_type_hash): New.
3863 (c_common_get_alias_set): Handle multiple type nodes
3864 referring to "the same" type, currently for C90 only.
3865 (c_add_case_label): Use create_artificial_label.
3866 (finish_label_address_expr): Don't set TREE_CONSTANT on
3867 result.
3868 (c_expand_expr): Don't handle STMT_EXPR.
3869 (handle_alias_attribute): Marke aliased variables to be
3870 TREE_STATIC.
3871 (handle_nonnull_attribute): Initialize arg_num.
3872 (check_function_nonnull): Likewise.
3873 (c_walk_subtrees): New.
3874 (c_estimate_num_insns_1): Don't handle
3875 EXPR_WITH_FILE_LOCATION nor FILE_STMT.
3876 (c_decl_uninit_1): Remove.
3877 (c_decl_uninit): Remove.
3878 (c_warn_unused_result): New.
3879 * c-common.def (ASM_STMT): Change number of operands
3880 to 4.
3881 (FILE_STMT): Remove.
3882 * c-common.h (lang_expand_stmt, lang_expand_decl_stmt):
3883 Remove.
3884 (lang_gimplify_stmt): Add.
3885 (expand_stmt): Remove.
3886 (ASM_CV_QUAL, ASM_STRING, ASM_OUTPUTS, ASM_INPUTS,
3887 ASM_CLOBBERS, STMT_EXPR_WARN_UNUSED_RESULT,
3888 ASM_VOLATILE_P, FILE_STMT_FILENAME_NODE,
3889 FILE_STMT_FILENAME, STMT_LINENO, STMT_LINENO_FOR_FN_P,
3890 ASM_INPUT_P, DECL_C_HARD_REGISTER): Remove.
3891 (genrtl_do_pushlevel, genrtl_goto_stmt, genrtl_expr_stmt,
3892 genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
3893 genrtl_while_stmt, genrtl_do_stmt, genrtl_return_stmt,
3894 genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt,
3895 genrtl_scope_stmt, genrtl_switch_stmt, genrtl_case_label,
3896 genrtl_compound_stmt, genrtl_asm_stmt,
3897 genrtl_cleanup_stmt, c_decl_uninit): Remove.
3898 (c_do_switch_warnings, c_gimplify_expr, c_walk_subtrees,
3899 c_tree_chain_matters_p, c_warn_unused_result,
3900 c_genericize, c_gimplify_stmt, stmt_expr_last_stmt):
3901 Declare.
3902 * c-convert.c (convert): Make convert work when
3903 converting to compatible types across translation unit.
3904 * c-decl.c: Include langhooks.h, tree-mudflap.h,
3905 tree-simple.h, diagnostic.h and tree-dump.h
3906 (merge_decls): Initialize oldtype to NULL.
3907 (finish_decl): Use DECL_HARD_REGISTER instead of
3908 DECL_C_HARD_REGISTER.
3909 (check_bitfield_type_and_width): Check for null
3910 lang_type_specific when check the precision of an enum.
3911 (grokdeclarator): Immediately layout an ARRAY_TYPE used
3912 in a pointer-to-array declarator.
3913 (finish_struct): Clear allocated struct lang_type.
3914 (finish_enum): Set enum_min and enum_max. Set
3915 TYPE_MIN/MAX_VALUE to the limits of the compatible type,
3916 not to the enumerators.
3917 (set_decl_nonlocal): New.
3918 (store_parm_decls): Use it via walk_tree.
3919 (c_finalize): New.
3920 (finish_function): When !targetm.have_ctors_dtors,
3921 record static constructors and destructors here...
3922 (c_expand_body_1): ... not here.
3923 (c_expand_decl): Rename from c_expand_decl_stmt.
3924 Handle all C-specific expansion semantics.
3925 * c-dump.c (dump_stmt): Use EXPR_LOCUS instead of
3926 STMT_LINENO.
3927 * c-format.c (handle_format_arg_attribute): Initialize
3928 format_num.
3929 * c-lang.c: Include tree-inline.h
3930 (LANG_HOOKS_EXPAND_DECL,
3931 LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P,
3932 LANG_HOOKS_TREE_INLINING_WALK_SUBTREES,
3933 LANG_HOOKS_TREE_INLINING_TREE_CHAIN_MATTERS_P,
3934 LANG_HOOKS_GIMPLIFY_EXPR, LANG_HOOKS_TYPES_COMPATIBLE_P): Define.
3935 (LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_STMT,
3936 LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): Remove.
3937 (c_types_compatible_p): New.
3938 * c-mudflap.c: New file.
3939 * c-objc-common.c: Include tree-mudflap.h
3940 (start_cdtor, finish_cdtor): Collapse
3941 together into
3942 (build_cdtor): ...here. Update to construct a complete tree
3943 for the function. No need to call push_scope, pop_scope, or
3944 clear_last_expr, or set current_function_cannot_inline.
3945 (c_missing_noreturn_ok_p): Change prototype to return
3946 bool.
3947 (c_objc_common_init): Don't set lang_missing_noreturn_ok_p.
3948 * c-opts.c (c_common_handle_option): Move handling of -fdump- to
3949 opts.c.
3950 (c_common_post_options): Don't ever use rtl inlining.
3951 * c-parse.in: Use EXPR_LOCUS instead of STMT_LINENO.
3952 * c-pragma.c (handle_pragma_redefine_extname): Define
3953 always.
3954 (init_pragma): Activate #pragma redefine_extname for mudflap.
3955 * c-pretty-print.c (pp_c_statement): Remove FILE_STMT.
3956 (pp_c_initializer): Accept any type CONSTRUCTOR.
3957 (pp_c_initializer_list): Fix code expectations for VECTOR_TYPE and
3958 COMPLEX_TYPE.
3959 (decl_name_str): New local function.
3960 (pp_c_direct_declarator): Call it.
3961 (pp_c_primary_expression): Call it.
3962 (pp_c_id_expression): Call it.
3963 (pp_c_statement): Call it.
3964 (print_c_tree): Create new pp object.
3965 * c-pretty-print.h (pp_c_tree_decl_identifier,
3966 print_c_tree): Declare.
3967 * c-semantics.c: Include langhooks.h
3968 (lang_expand_stmt, lang_expand_decl_stmt,
3969 find_reachable_label_1, find_reachable_label,
3970 expand_unreachable_if_stmt, expand_unreachable_stmt,
3971 genrtl_do_stmt_1): Remove.
3972 (begin_stmt_tree): Don't check for changed filename.
3973 Call annotate_with_locus.
3974 (finish_stmt_tree): Don't set line for end of function.
3975 (build_stmt): Don't check type nodes for
3976 side effects.
3977 (build_stmt): Set TREE_SIDE_EFFECTS.
3978 Set EXPR_LOCUS instead of STMT_LINENO.
3979 (lang_expand_stmt, lang_expand_decl_stmt,
3980 expand_cond, genrtl_do_pushlevel, genrtl_goto_stmt, genrtl_expr_stmt,
3981 genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
3982 genrtl_while_stmt, genrtl_do_stmt_1, genrtl_do_stmt,
3983 genrtl_return_stmt, genrtl_for_stmt, genrtl_break_stmt,
3984 genrtl_continue_stmt, genrtl_scope_stmt, genrtl_switch_stmt,
3985 genrtl_case_label, genrtl_compound_stmt, genrtl_asm_stmt,
3986 genrtl_cleanup_stmt, expand_stmt, find_reachable_label,
3987 find_reachable_label_1, expand_unreachable_if_stmt,
3988 expand_unreachable_stmt): Remove.
3989 (prep_stmt): Use EXPR_LOCUS instead of STMT_LINENO.
3990 * c-simplify.c: New file.
3991 * c-tree.h (C_LANG_TREE_NODE_CHAIN_NEXT): Define.
3992 (struct lang_type): Add fields enum_min and enum_max.
3993 (c_expand_decl_stmt, c_missing_noreturn_ok_p): Remove.
3994 (c_expand_decl, c_missing_noreturn_ok_p,
3995 c_types_compatible_p): Declare.
3996 * c-typeck.c (tagged_types_tu_compatible_p): Allow for
3997 compiler-generated TYPE_DECLs without a DECL_ORIGINAL_TYPE.
3998 (default_function_array_conversion): Rely on build to
3999 set TREE_CONSTANT.
4000 (parser_build_binary_op, pointer_diff): Likewise.
4001 (build_unary_op, build_binary_op): Likewise.
4002 (build_array_ref):
4003 (build_external_ref): Set TREE_INVARIANT.
4004 (build_c_cast, pop_init_level): Likewise.
4005 (process_init_element): Use ASM_VOLATILE_P.
4006 (build_asm_expr): Adapt to GENERIC/GIMPLE syntax.
4007 (c_finish_case): Call c_do_switch_warnings.
4008 * c.opt (fdump-): Remove.
4009 * calls.c (try_to_integrate): Remove.
4010 (prepare_call_address): Replace fndecl arg with a
4011 precomputed static chain value.
4012 (emit_call_1): New argument for full call expr.
4013 (flags_from_decl_or_type): Call special_function_p.
4014 (initialize_argument_information): Add argument
4015 may_tailcall.
4016 (purge_reg_equiv_notes): New.
4017 (expand_call): Do not try to expand calls inline.
4018 (fixup_tail_calls): New.
4019 * cfg.c: Include timevar.h and ggc.h.
4020 (bb_pool, edge_pool): Remove.
4021 (ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR): Declare.
4022 (entry_exit_blocks): Remove.
4023 (rbi_pool): Declare.
4024 (init_flow): Do not create pools.
4025 Allocate entry/exit block.
4026 (free_edge, alloc_block, expunge_block, unchecked_make_edge): Use GGC.
4027 (alloc_rbi_pool, free_rbi_pool, initialize_bb_rbi): New.
4028 (unlink_block): Clear b->prev_bb and b->next_bb.
4029 (compact_blocks): Clear all slots of BASIC_BLOCK array.
4030 (dump_flow_info): Work on trees too.
4031 (dump_cfg_bb_info): New.
4032 (brief_dump_cfg): New.
4033 * cfganal.c (need_fake_edge_p, flow_call_edges_add): Remove.
4034 (find_edge): New.
4035 * cfgbuild.c (rtl_make_eh_edge): Rename from
4036 make_eh_edge. Update all users.
4037 (find_basic_blocks): Don't call VARRAY_FREE on
4038 basic_block_info.
4039 * cfgcleanup.c (outgoing_edges_match): Initialize newpos1
4040 and newpos2.
4041 (delete_unreachable_blocks): Return changed status.
4042 (merge_seq_blocks): New.
4043 * cfghooks.c: Include tree-flow.h
4044 (tree_register_cfg_hooks, ir_type): New.
4045 (redirect_edge_and_branch): Change return type to edge.
4046 (predict_edge, predicted_by_p, can_duplicate_block_p,
4047 duplicate_block, block_ends_with_call_p,
4048 block_ends_with_condjump_p, flow_call_edges_add): New.
4049 * cfghooks.h (redirect_edge_and_branch): Change return
4050 type to edge.
4051 (predict_edge, predicted_by_p, can_duplicate_block_p,
4052 duplicate_block, block_ends_with_call_p,
4053 block_ends_with_condjump_p, flow_call_edges_add): Declare.
4054 (redirect_edge_and_branch): Change return type to edge.
4055 (struct cfg_hooks): Add fields block_ends_with_call_p,
4056 block_ends_with_condjump_p, flow_call_edges_add,
4057 predict_edge, predicted_by_p, can_duplicate_block_p and
4058 duplicate_block.
4059 (tree_cfg_hooks, ir_type, tree_register_cfg_hooks): Declare.
4060 * cfglayout.c (cfg_layout_pool, cfg_layout_initialize_rbi): Removed.
4061 (fixup_reorder_chain): Use initialize_bb_rbi.
4062 (cfg_layout_can_duplicate_bb_p, cfg_layout_duplicate_bb): Hookized.
4063 (cfg_layout_initialize): Use cfg.c rbi pool manipulation functions.
4064 (can_copy_bbs_p, copy_bbs): Use cfghooks for bb duplication.
4065 (insn_locators_initialize): Use new info about blocks.
4066 * cfglayout.h (typedef struct reorder_block_def): Moved to
4067 basic_block.h.
4068 (cfg_layout_can_duplicate_bb_p, cfg_layout_duplicate_bb): Declaration
4069 removed.
4070 * cfgloop.c: Include tree.h and tree-flow.h.
4071 * cfgloop.h (create_loop_notes): Declare.
4072 * cfgloopmanip.c (create_loop_notes): New.
4073 * cfgrtl.c (cfg_layout_create_basic_block): Use initialize_bb_rbi.
4074 (rtl_cfg_hooks, cfg_layout_rtl_cfg_hook): Fill in can_duplicate_block_p
4075 and duplicate_block fields.
4076 (create_basic_block_structure): Don't look at
4077 RTX_INTEGRATED_P.
4078 (rtl_block_ends_with_call_p): New.
4079 (rtl_block_ends_with_condjump_p): New.
4080 (need_fake_edge_p): Moved from cfganal.c.
4081 (rtl_flow_call_edges_add): Moved from cfganal.c (flow_call_edges_add).
4082 (rtl_cfg_hooks): Add rtl_block_ends_with_call_p,
4083 rtl_block_ends_with_condjump_p, rtl_flow_call_edges_add.
4084 (cfg_layout_rtl_cfg_hooks): Ditto.
4085 * cgraph.c (cgraph_mark_reachable_node): Don't force nested
4086 functions to be reachable.
4087 * cgraphunit.c (decide_is_function_needed):
4088 * cgraphunit.c (decide_is_function_needed): Nested functions of extern
4089 inline functions don't need to be output.
4090 (cgraph_assemble_pending_functions): Don't do anything
4091 special for nested functions.
4092 (cgraph_mark_functions_to_output): Likewise.
4093 (cgraph_finalize_function): Don't zap DECL_STRUCT_FUNCTION.
4094 (cgraph_analyze_function): Use estimate_num_insns.
4095 (cgraph_mark_functions_to_output): Likewise.
4096 (cgraph_estimate_growth, cgraph_clone_inlined_nodes): Likewise.
4097 (cgraph_expand_function): Allow functions to not be
4098 emitted.
4099 (cgraph_remove_unreachable_nodes):
4100 (cgraph_recursive_inlining_p): Simplify.
4101 (lookup_recursive_calls,
4102 cgraph_decide_recursive_inlining): New.
4103 (cgraph_decide_inlining_*): Update calls of
4104 cgraph_mark_inline.
4105 * combine.c (get_pos_from_mask): Always set *plen.
4106 * common.opt (fdump-, fmudflap, fmudflapth, fmudflapir,
4107 ftree-based-profiling, ftree-ccp, ftree-ch,
4108 ftree-combine-temps, ftree-copyrename, ftree-dce,
4109 ftree-dominator-opts, ftree-dse, ftree-loop-optimize,
4110 ftree-points-to, ftree-pre, ftree-sra, ftree-ter,
4111 ftree-lrs): Add.
4112 * config.in (HAVE_LD_PIE, HAVE_BANSHEE, PREFIX_INCLUDE_DIR):
4113 Undefine.
4114 * configure.ac: Add --enable-tree-browser option.
4115 Add --with-libbanshee option.
4116 Add GMPLIBS and GMPINC.
4117 * configure: Regenerate.
4118 * coverage.c (tree_ctr_tables): New.
4119 (coverage_counter_alloc): Use it.
4120 (build_ctr_info_value): Ditto.
4121 (coverage_counter_ref): Ditto. Rename to rtl_coverage_counter_ref.
4122 (tree_coverage_counter_ref): New.
4123 * coverage.h (coverage_counter_ref): Remove declaration.
4124 (rtl_coverage_counter_ref): Declare.
4125 (tree_coverage_counter_ref): Declare.
4126 * cppexp.c (append_digit): Rearrange unsignedp/overflow setting.
4127 (eval_token, num_binary_op, num_part_mul, num_div_op): Likewise.
4128 * cse.c (fold_rtx): Do not handle CONSTANT_P_RTX.
4129 (struct cse_basic_block_data): Rename enum values to not
4130 conflict with profile.h; update all uses.
4131 * dbxout.c (dbxout_symbol_location): Don't mention integrate.c
4132 in comments.
4133 * defaults.h (TRAMPOLINE_ALIGNMENT): Move from function.c.
4134 * diagnostic.h (debug_output_buffer, dump_generic_node,
4135 print_generic_stmt, print_generic_stmt_indented,
4136 print_generic_expr, print_generic_decl,
4137 debug_generic_expr, debug_generic_stmt, debug_c_tree):
4138 Declare.
4139 * dominance.c: Cache immediate dominators.
4140 * domwalk.c: New file.
4141 * domwalk.h: New file.
4142 * dwarf2out.c (is_fortran): Support DW_LANG_Fortran95.
4143 (gen_subprogram_die): Generate a DIE for a named
4144 return value.
4145 (loc_descriptor_from_tree): Treat RESULT_DECL like VAR_DECL.
4146 (add_location_or_const_value_attribute): Likewise.
4147 (add_bound_info): Likewise.
4148 (gen_decl_die): Likewise.
4149 * emit-rtl.c (maybe_set_first_label_num): New.
4150 (copy_most_rtx): Don't copy the integrated flag.
4151 Copy the new return_val flag.
4152 * et-forest.c (MAX_NODES): Define.
4153 (record_path_before_1): Abort if len is greater than
4154 MAX_NODES.
4155 * except.c (gen_eh_region, gen_eh_region_cleanup, gen_eh_region_try,
4156 gen_eh_region_catch, gen_eh_region_allowed,
4157 gen_eh_region_must_not_throw, get_eh_region_number,
4158 get_eh_region_may_contain_throw, get_eh_region_tree_label,
4159 set_eh_region_tree_label, expand_resx_expr): New.
4160 (expand_eh_region_start, expand_start_catch): Use them.
4161 (expand_end_catch): Tidy.
4162 (note_eh_region_may_contain_throw): Take region argument.
4163 (note_current_region_may_contain_throw): New.
4164 (get_exception_filter): Export.
4165 (collect_eh_region_array): Export.
4166 (remove_unreachable_regions): Check ERT_TRY based on reachability
4167 of catches, not reachability of continue_label. Never remove
4168 ERT_MUST_NOT_THROW regions.
4169 (collect_rtl_labels_from_trees): New.
4170 (convert_from_eh_region_ranges): Use it.
4171 (connect_post_landing_pads): Handle dying cleanups.
4172 (struct reachable_info): Add callback data.
4173 (add_reachable_handler): Invoke the callback.
4174 (foreach_reachable_handler): New.
4175 (reachable_handlers): Use it.
4176 (arh_to_landing_pad, arh_to_label): New.
4177 (can_throw_internal_1): Split out from can_throw_internal.
4178 (can_throw_external_1): Similarly.
4179 * except.h: Update.
4180 * explow.c (emit_stack_save): Remove savearea mode check.
4181 (update_nonlocal_goto_save_area): New.
4182 (allocate_dynamic_stack_space): Use it.
4183 (probe_stack_range): Never emit loop notes.
4184 * expmed.c (extract_fixed_bit_field): Always propagate the
4185 target for the shift if it is a REG.
4186 * expr.c: Include tree-iterator.h
4187 (is_zeros_p): Remove.
4188 (categorize_ctor_elements_1, categorize_ctor_elements): New.
4189 (count_type_elements): New.
4190 (mostly_zeros_p): Use them.
4191 (expr_wfl_stack): Remove.
4192 (convert_move): Do nothing if to and from are the same.
4193 (emit_block_move_via_loop): Don't emit LOOP notes.
4194 (emit_move_insn): Don't handle CONSTANT_P_RTX.
4195 (emit_move_insn_1): Don't generate inline warnings.
4196 (expand_vars, expand_var): Split from ...
4197 (expand_expr_1): ... here.
4198 (expand_expr_real, expand_expr_real_1): Use new macros
4199 EXPR_LOCATION and EXPR_HAS_LOCATION.
4200 * expr.h (simplify_builtin_fputs,
4201 simplify_builtin_strcpy, simplify_builtin_strncpy,
4202 expand_var, fixup_tail_calls,
4203 update_nonlocal_goto_save_area): Declare.
4204 (lookup_static_chain, expand_inline_function,
4205 mark_seen_cases): Remove.
4206 (prepare_call_address): Change type of 2nd argument to
4207 rtx.
4208 * final.c (profile_function): Update static chain test.
4209 (final): Don't look at RTX_INTEGRATED_P.
4210 * flags.h (flag_mudflap, flag_mudflap_threads,
4211 flag_mudflap_ignore_reads, flag_tree_pre, flag_tree_ccp,
4212 flag_tree_dce, flag_tree_combine_temps,
4213 flag_tree_live_range_split, flag_tree_dom, flag_tree_ch,
4214 flag_tree_dse, flag_tree_sra, flag_tree_copyrename,
4215 flag_tree_points_to): Declare.
4216 (enum pta_type): Declare.
4217 * flow.c (lang_missing_noreturn_ok_p): Remove.
4218 (check_function_return_warnings): Remove.
4219 (update_life_info): Update comments.
4220 (free_basic_block_vars): Don't call VARRAY_FREE for
4221 basic_block_info.
4222 (regno_uninitialized): Remove.
4223 * fold-const.c (int_const_binop): Make extern.
4224 (non_lvalue): Rely on build to set TREE_CONSTANT.
4225 (operand_equal_p): Replace only_const argument with
4226 flags. Allow pure functions if OEP_PURE_SAME.
4227 (fold): Use OEP_ONLY_CONST.
4228 (invert_truthvalue) <NOP_EXPR> Break if argument is of
4229 boolean type.
4230 (fold_relational_hi_lo,
4231 nondestructive_fold_binary_to_constant,
4232 nondestructive_fold_unary_to_constant,
4233 fold_read_from_constant_string): New.
4234 * function.c (struct function): Remove calls_constant_p.
4235 (current_function_calls_constant_p): Remove.
4236 (inline_function_decl): Remove.
4237 (put_var_into_stack): Don't use it.
4238 (fix_lexical_addr): Likewise.
4239 (inline_function_decl): Remove extern declaration.
4240 (TRAMPOLINE_ALIGNMENT): Move to defaults.h.
4241 (trampolines_created): Move to varasm.c.
4242 (free_after_compilation): Update for removed fields.
4243 (allocate_struct_function): Likewise.
4244 (delete_handlers, lookup_static_chain): Remove.
4245 (fix_lexical_addr): Don't consider non-local variable refs.
4246 (trampoline_address): Remove.
4247 (round_trampoline_addr): Move to builtins.c.
4248 (adjust_trampoline_addr): Remove.
4249 (expand_function_start): Update for changes to static chain
4250 and nonlocal goto handling.
4251 (initial_trampoline): Move to varasm.c.
4252 (expand_function_end): Don't build trampolines or kill
4253 unreferenced nonlocal goto labels.
4254 (free_after_compilation): Don't set it.
4255 (expand_function_end): Likewise.
4256 (setjmp_vars_warning): Rename from
4257 uninitialized_vars_warning, remove uninitialized vars warning.
4258 (uninitialized_vars_warning): Remove old comment
4259 and check for DECL_INITIAL, replace with a check of TREE_NO_WARNING
4260 and do not call the langhook.
4261 (expand_function_start, expand_function_end): Don't do
4262 function instrumentation here.
4263 (clear_block_marks): Rename from reorder_blocks_0, export.
4264 (blocks_nreverse): Export.
4265 (uninitialized_vars_warning): Use DECL_RTL_SET_P to test for presence
4266 of rtl.
4267 (reset_block_changes, record_block_change, finalize_block_changes,
4268 check_block_change, free_block_changes): New functions.
4269 (assign_parms): Setting of current_function_stdarg
4270 moved ...
4271 (allocate_struct_function): ... here.
4272 * function.h (struct function): Remove x_nonlocal_labels,
4273 x_nonlocal_goto_handler_slots, x_nonlocal_goto_stack_level,
4274 x_context_display, x_trampoline_list, needs_context.
4275 Add static_chain_decl, nonlocal_goto_save_area.
4276 (struct function): Remove x_clobber_return_insn.
4277 Add tail_call_emit field, last_label_uid,
4278 unexpanded_var_list, dont_emit_block_notes,
4279 ib_boundaries_block, function_end_locus and saved_tree/saved_args.
4280 (clear_block_marks): Declare.
4281 * gcc.c (MFWRAP_SPEC, MFLIB_SPEC): Add -fmudflapth support.
4282 (mfwrap_spec, mflib_spec): Declare.
4283 (cpp_unique_options, cc1_options): Ditto.
4284 (default_compilers): Add .F and .f90.
4285 (static_specs): Add mfwrap and mflib.
4286 * gcse.c (want_to_gcse_p, gcse_constant_p): Don't handle
4287 CONSTANT_RTX_P.
4288 (reg_used_on_edge, reg_killed_on_edge, bypass_block):
4289 Update to match insns field in struct edge_def.
4290 * gdbinit.in (pgs, pge): Define.
4291 * genattrtab.c (ATTR_PERMANENT_P): Use the return_val flag
4292 instead of the integrated flag.
4293 * gengtype-lex.l (IWOrD): Add HOST_WIDEST_INT
4294 * gengtype-yacc.y (bitfieldlen): Add empty action.
4295 (struct_fields): Accept unnamed bitfields.
4296 (bitfieldlen): Split from ...
4297 (bitfieldopt): ... here.
4298 * gengtype.c (ifiles): Add tree-alias-type.h and
4299 tree-flow.h.
4300 * genrecog.c (validate_pattern): Do not handle
4301 CONSTANT_P_RTX.
4302 * gimple-low.c: New file.
4303 * gimplify.c: New file.
4304 * haifa-sched.c (priority): Do not handle CONSTANT_P_RTX.
4305 (restore_line_notes): Do not set RTX_INTEGRATED_P.
4306 * ifcvt.c (dead_or_predicable): Initialize local variable
4307 'earliest'.
4308 * input.h (expr_wfl_stack): Remove.
4309 * integrate.c (INTEGRATE_THRESHOLD): Remove.
4310 (setup_initial_hard_reg_value_integration): Likewise.
4311 (initialize_for_inline): Likewise.
4312 (note_modified_parmregs): Likewise.
4313 (integrate_parm_decls): Likewise.
4314 (process_reg_param): Likewise.
4315 (save_parm_insns): Likewise.
4316 (copy_insn_list): Likewise.
4317 (copy_insn_notes): Likewise.
4318 (compare_blocks): Likewise.
4319 (find_block): Likewise.
4320 (inlining): Likewise.
4321 (function_cannot_inline_p): Likewise.
4322 (parmdecl_map): Likewise.
4323 (in_nonparam_insns): Likewise.
4324 (save_for_inline): Likewise.
4325 (FIXED_BASE_PLUS): Likewise.
4326 (expand_inline_function): Likewise.
4327 (copy_rtx_and_substitute): Don't look at map->integrating,
4328 map->inline_target, and inlining, since we are never copying
4329 for integrating.
4330 Don't abort on RTX_INTEGRATED_P.
4331 (old_fun): Remove.
4332 (output_inline_function): Remove.
4333 * integrate.h (struct inline_map): Remove fields integrating,
4334 block_map, leaf_reg_map, inline_target, and local_return_label.
4335 * jump.c (next_nonnote_insn_in_loop, duplicate_loop_exit_test,
4336 copy_loop_headers, never_reached_warning): Removed.
4337 (any_uncondjump_p): Reject nonlocal goto.
4338 * langhooks-def.h (lhd_types_compatible_p,
4339 lhd_expand_decl, lhd_gimplify_expr): Declare.
4340 (LANG_HOOKS_EXPAND_DECL, LANG_HOOKS_TYPES_COMPATIBLE_P,
4341 LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P,
4342 LANG_HOOKS_FUNCTION_LEAVE_NESTED,
4343 LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P,
4344 LANG_HOOKS_GIMPLIFY_EXPR,
4345 LANG_HOOKS_GIMPLE_BEFORE_INLINING,
4346 LANG_HOOKS_EXPAND_DECL, LANG_HOOKS_TYPES_COMPATIBLE_P,
4347 LANG_HOOKS_GIMPLIFY_EXPR,
4348 LANG_HOOKS_GIMPLE_BEFORE_INLINING): Define.
4349 (LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_START,
4350 LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END,
4351 LANG_HOOKS_FUNCTION_LEAVE_NESTED,
4352 LANG_HOOKS_RTL_EXPAND_INITIALIZER,
4353 LANG_HOOKS_DECL_UNINIT,
4354 LANG_HOOKS_RTL_EXPAND_INITIALIZER): Remove.
4355 * langhooks.c: Include tree-simple.h.
4356 (lhd_expand_decl): New.
4357 (lhd_types_compatible_p): New.
4358 (lhd_decl_uninit): Remove.
4359 (lhd_gimplify_expr): New.
4360 * langhooks.h (struct lang_hooks_for_rtl_expansion):
4361 Remove.
4362 (struct lang_hooks_for_functions): Add field
4363 missing_noreturn_ok_p.
4364 (struct lang_hooks): Add field expand_decl,
4365 types_compatible_p, gimplify_expr and
4366 gimple_before_inlining.
4367 Remove fields decl_uninit and rtl_expand
4368 * opts.c (decode_options): Set flag_tree_ccp,
4369 flag_tree_dce, flag_tree_dom, flag_tree_dse,
4370 flag_tree_pre, flag_tree_ter,
4371 flag_tree_live_range_split, flag_tree_sra,
4372 flag_tree_copyrename and flag_tree_ch at -O1 and higher.
4373 (common_handle_option): Handle OPT_fdump_, OPT_fmudflap,
4374 OPT_fmudflapth, OPT_fmudflapir,
4375 OPT_ftree_based_profiling, OPT_ftree_ccp, OPT_ftree_dce,
4376 OPT_ftree_combine_temps, OPT_ftree_ter, OPT_ftree_lrs,
4377 OPT_ftree_dominator_opts, OPT_ftree_copyrename,
4378 OPT_ftree_ch, OPT_ftree_dse, OPT_ftree_sra,
4379 OPT_ftree_points_to_ and OPT_ftree_pre.
4380 * output.h (regno_uninitialized, find_basic_blocks,
4381 cleanup_cfg, delete_unreachable_blocks,
4382 check_function_return_warnings): Remove.
4383 * params.def (PARAM_MAX_INLINE_INSNS_RECURSIVE,
4384 PARAM_MAX_INLINE_INSNS_RECURSIVE_AUTO,
4385 PARAM_MAX_INLINE_RECURSIVE_DEPTH,
4386 PARAM_MAX_INLINE_RECURSIVE_DEPTH_AUTO,
4387 PARAM_GLOBAL_VAR_THRESHOLD, PARAM_MAX_ALIASED_VOPS):
4388 * params.h (GLOBAL_VAR_THRESHOLD, MAX_ALIASED_VOPS):
4389 Define.
4390 * passes.c (rest_of_decl_compilation):
4391 (rest_of_handle_sibling_calls): Remove.
4392 (rest_of_handle_inlining): Remove.
4393 (rest_of_handle_gcse): Do not run
4394 purge_builtin_constant_p.
4395 (rest_of_compilation): Update.
4396 Do not call copy_loop_headers.
4397 Do rtl-based profiling only when
4398 !flag_tree_based_profiling. Register rtl-based profiling
4399 hooks.
4400 * predict.c: Include tree-flow.h, ggc.h, tree-dump.h
4401 (predicted_by_p): Rename to ...
4402 (rtl_predicted_by_p): .. this one; make global
4403 (tree_predicted_by_p): New.
4404 (dump_prediction): Add FILE argument.
4405 (predict_edge): Rename to ...
4406 (rtl_predict_edge): .. this one.
4407 (tree_predict_edge): New.
4408 (combine_predictions_for_insn): Update calls of predict_edge.
4409 (predict_loops): Break out from ...
4410 (estimate_probability): ... here; update comments; move updating
4411 of unknown probabilities from ...
4412 (estimate_bb_frequencies): ... here.
4413 (combine_predictions_for_bb): New.
4414 (tree_predict_by_opcode): New.
4415 (tree_estimate_probability): New.
4416 * predict.def (PRED_TREE_POINTER, PRED_TREE_OPCODE_POSITIVE,
4417 PRED_TREE_OPCODE_NONEQUAL, PRED_TREE_FPOPCODE): New predictors.
4418 * predict.h: Add include guard.
4419 (predict_edge, predict_edge_def): Move prototypes to basic_block.h
4420 * pretty-print.c (pp_write_text_to_stream): Make extern.
4421 * pretty-print.h (pp_write_text_to_stream): Declare.
4422 * print-rtl.c (print_rtx): Don't print the integrated flag.
4423 Print the return_val flag.
4424 * print-tree.c: Use TREE_FILENAME and TREE_LINENO instead
4425 of DECL_SOURCE_FILE and DECL_SOURCE_LINE respectively.
4426 Remove support for EXPR_WITH_FILE_LOCATION nodes.
4427 (print_node): Print TREE_INVARIANT and TREE_VISITED.
4428 * profile.c: Include cfghooks.h, tree-flow.h.
4429 (profile_hooks): New.
4430 (profile_dump_file): New.
4431 (instrument_edges): Use hooks instead of RTL-specific code.
4432 (instrument_values): Ditto.
4433 (get_exec_counts): Ditto.
4434 (compute_branch_probabilities): Ditto.
4435 (compute_value_histograms): Ditto.
4436 (branch_prob): Ditto.
4437 (find_spanning_tree): Ditto.
4438 (end_branch_prob): Ditto.
4439 (gen_edge_profiler): Move to rtl-profile.c (rtl_gen_edge_profiler).
4440 (gen_interval_profiler): Ditto (rtl_gen_interval_profiler).
4441 (gen_pow2_profiler): Ditto (rtl_gen_pow2_profiler).
4442 (gen_one_value_profiler): Ditto (rtl_gen_one_value_profiler).
4443 (tree_register_profile_hooks): New.
4444 (rtl_register_profile_hooks): New.
4445 * ra-rewrite.c (rewrite_program): Clear variable info.
4446 * recog.c (immediate_operand): Do not handle CONSTANT_P_RTX.
4447 * regs.h: Add include guards.
4448 * reload.c (decompose): Clear val using memset.
4449 * rtl.def (CONSTANT_P_RTX): Remove.
4450 * rtl.h (CONSTANT_P): Do not handle CONSTANT_P_RTX.
4451 (copy_loop_headers): Remove.
4452 (struct rtx_def): Replace the integrated flag with the
4453 return_val flag.
4454 (maybe_set_first_label_num): Declare.
4455 (init_branch_prob): Move declaration to value-prof.h.
4456 (end_branch_prob): Ditto.
4457 (branch_prob): Ditto.
4458 (never_reached_warning): Don't declare it.
4459 * rtlanal.c (get_related_value): Initialize get_jump_table_offset
4460 (hoist_insn_to_edge): Update to match field insns in
4461 struct edge_def.
4462 * sbitmap.c (sbitmap_realloc): New.
4463 * sbitmap.h (sbitmap_realloc): Declare.
4464 * sibcall.c: Remove file.
4465 * simplify-rtx.c (simplify_rtx): Do not handle
4466 CONSTANT_P_RTX.
4467 * stmt.c (parse_output_constraint): Don't warn for read-write
90afe2c9 4468 memory operand.
6de9cd9a
DN
4469 (tail_recursion_args): Use types_compatible_p langhook.
4470 (force_label_rtx): Don't look at inline_function_decl.
4471 (label_rtx): Set LABEL_PRESERVE_P appropriately.
4472 (expand_label): Handle DECL_NONLOCAL and FORCED_LABEL.
4473 (declare_nonlocal_label): Remove.
4474 (expand_goto): Don't handle nonlocal gotos.
4475 (expand_nl_handler_label): Remove.
4476 (expand_nl_goto_receivers): Remove.
4477 (expand_end_bindings): Don't expand_nl_goto_receivers. Use
4478 update_nonlocal_goto_save_area.
4479 (expand_expr_stmt_value): Check TREE_NO_WARNING.
4480 (warn_if_unused_value): Likewise.
4481 (expand_start_loop, expand_loop_continue_here,
4482 expand_end_loop): Don't create loop notes.
4483 (all_cases_count, BITARRAY_TEST, BITARRAY_SET,
4484 mark_seen_cases, check_for_full_enumeration_handling): Remove.
4485 (expand_end_case_type): Don't do warn_switch handling.
4486 (pushcase, pushcase_range) Update add_case_node calls.
4487 (add_case_node): Add dont_expand_label argument.
4488 (same_case_target_p): Don't search rtl.
4489 (expand_start_bindings_and_block, expand_end_bindings):
4490 Don't emit block notes when dont_emit_block_notes.
4491 (using_eh_for_cleanups_p): Export.
4492 (expand_return): Allow any typed rhs.
4493 (expand_stack_alloc): New.
4494 (expand_stack_save, expand_stack_restore): New.
4495 (containing_blocks_have_cleanups_or_stack_level): New
4496 function.
4497 (asm_op_is_mem_input): New fn.
4498 (expand_asm_expr): New fn.
4499 (warn_if_unused_value): Check operand 0 of SAVE_EXPR
4500 nodes.
4501 * stor-layout.c (layout_type): Just return if type is
4502 error_mark_node.
4503 (update_alignment_for_field): Export.
4504 (variable_size): We don't care about global_bindings_p if
4505 the frontend doesn't want a list of the expressions.
4506 * system.h: Poison INTEGRATE_THRESHOLD.
4507 * timevar.def (TV_TREE_GIMPLIFY, TV_TREE_EH, TV_TREE_CFG,
4508 TV_TREE_CLEANUP_CFG, TV_TREE_PTA, TV_TREE_MAY_ALIAS,
4509 TV_TREE_INSERT_PHI_NODES, TV_TREE_SSA_REWRITE_BLOCKS,
4510 TV_TREE_SSA_OTHER, TV_TREE_OPS,
4511 TV_TREE_SSA_DOMINATOR_OPTS, TV_TREE_SRA, TV_TREE_CCP,
4512 TV_TREE_SPLIT_EDGES, TV_TREE_PRE, TV_TREE_PHIOPT,
4513 TV_TREE_FORWPROP, TV_TREE_DCE, TV_TREE_CD_DCE,
4514 TV_TREE_DSE, TV_TREE_LOOP, TV_TREE_CH,
4515 TV_TREE_SSA_TO_NORMAL, TV_TREE_SSA_TO_NORMAL,
4516 TV_TREE_NRV, TV_TREE_COPY_RENAME, TV_TREE_SSA_VERIFY,
4517 TV_TREE_STMT_VERIFY, TV_DOM_FRONTIERS,
4518 TV_CONTROL_DEPENDENCES): Define.
4519 * toplev.c: Include tree-alias-common.h
4520 (current_file_decl, flag_mudflap, flag_mudflap_threads,
4521 flag_mudflap_ignore_reads, flag_tree_based_profiling,
4522 flag_tree_gvn, flag_tree_points_to, flag_tree_ccp,
4523 flag_tree_dce, flag_tree_ch, flag_tree_sra,
4524 flag_tree_combine_temps, flag_tree_ter,
4525 flag_tree_live_range_split, flag_tree_dom,
4526 flag_tree_copyrename, flag_tree_dse): Declare.
4527 (f_options): Add tree-based-profiling, tree-gvn,
4528 tree-pre, tree-ccp, tree-dce,
4529 tree-dominator-opts, tree-copyrename, tree-dse,
4530 tree-combine-temps, tree-ter, tree-lrs and tree-ch.
4531 (wrapup_global_declarations): Don't output nested inlined functions.
4532 (general_init): Call init_tree_optimization_passes.
4533 (process_options): Sorry for -ftree-based-profiling plus
4534 -ftest-coverage or -fprofile-values.
4535 * toplev.h (init_tree_optimization_passes,
4536 flag_tree_based_profiling): Declare.
4537 * tracer.c (tail_duplicate): Use cfghooks for bb duplication.
4538 * tree-alias-ander.c: New file.
4539 * tree-alias-ander.h: New file.
4540 * tree-alias-common.c: New file.
4541 * tree-alias-common.h: New file.
4542 * tree-alias-type.c: New file.
4543 * tree-alias-type.h: New file.
4544 * tree-browser.c: New file.
4545 * tree-browser.def: New file.
4546 * tree-cfg.c: New file.
4547 * tree-complex.c: New file.
4548 * tree-dfa.c: New file.
4549 * tree-dump.c (dump_enable_all): New.
4550 (dequeue_and_dump): Do not handle EXPR_WITH_FILE_LOCATION.
4551 (dump_node): Remove const from field suffix and swtch.
4552 (dump_files): Add null entry, .generic, .nested, .vcg,
4553 .xml and a match-all entry.
4554 (extra_dump_files, extra_dump_files_in_use,
4555 extra_dump_files_alloced): Declare
4556 (dump_option_value_info): Add raw, details, stats,
4557 blocks, vops, lineno, uid and all.
4558 (dump_register): New.
4559 (get_dump_file_info): New.
4560 (dump_begin): Call it.
4561 Do nothing for TDI_none.
4562 (dump_begin): Include phase number in dump filename.
4563 (dump_enable_all): New.
4564 (dump_switch_p_1): Split out from dump_switch_p.
4565 (dump_switch_p): Handle extra_dump_files.
4566 Start our scan at TDI_none + 1.
4567 If -fdump-tree-all was given, call dump_enable_all.
4568 * tree-dump.h: Include splay-tree.h.
4569 (dump_function, dump_function_to_file, dump_register):
4570 Declare.
4571 * tree-eh.c: New file.
4572 * tree-flow-inline.h: New file.
4573 * tree-flow.h: New file.
4574 * tree-inline.c: Re-write to handle inlining on GIMPLE.
4575 * tree-inline.h (walk_tree,
4576 walk_tree_without_duplicates): Move to tree.h.
4577 (estimate_num_insns): Declare.
4578 * tree-into-ssa.c: New file.
4579 * tree-iterator.c: New file.
4580 * tree-iterator.h: New file.
4581 * tree-mudflap.c: New file.
4582 * tree-mudflap.h: New file.
4583 * tree-nested.c: New file.
4584 * tree-nomudflap.c: New file.
4585 * tree-nrv.c: New file.
4586 * tree-optimize.c (dump_flags, vars_to_rename,
4587 in_gimple_form, all_passes, pass_gimple,
4588 pass_rebuild_bind, pass_all_optimizations, pass_del_cfg): Declare.
4589 (execute_gimple, execute_rebuild_bind,
4590 gate_all_optimizations, execute_del_cfg,
4591 register_one_dump_file, register_dump_files, dup_pass_1,
4592 init_tree_optimization_passes, execute_todo,
4593 execute_one_pass, execute_pass_list): New.
4594 (clear_decl_rtl): Remove.
4595 (tree_rest_of_compilation): Update to use tree
4596 optimizers.
4597 * tree-outof-ssa.c: New file.
4598 * tree-pass.h: New file.
4599 * tree-phinodes.c: New file.
4600 * tree-pretty-print.c: New file.
4601 * tree-profile.c: New file.
4602 * tree-simple.c: New file.
4603 * tree-simple.h: New file.
4604 * tree-sra.c: New file.
4605 * tree-ssa-alias.c: New file.
4606 * tree-ssa-ccp.c: New file.
4607 * tree-ssa-copy.c: New file.
4608 * tree-ssa-copyrename.c: New file.
4609 * tree-ssa-dce.c: New file.
4610 * tree-ssa-dom.c: New file.
4611 * tree-ssa-dse.c: New file.
4612 * tree-ssa-forwprop.c: New file.
4613 * tree-ssa-live.c: New file.
4614 * tree-ssa-live.h: New file.
4615 * tree-ssa-loop.c: New file.
4616 * tree-ssa-operands.c: New file.
4617 * tree-ssa-operands.h: New file.
4618 * tree-ssa-phiopt.c: New file.
4619 * tree-ssa-pre.c: New file.
4620 * tree-ssa.c: New file.
4621 * tree-ssanames.c: New file.
4622 * tree-tailcall.c: New file.
4623 * tree.c: Include tree-iterator.h, basic-block.h and
4624 tree-flow.h.
4625 (tree_node_kind): Add phi_nodes and ssa names.
4626 (tree_size): Handle PHI_NODE, EPHI_NODE, SSA_NAME,
4627 EUSE_NODE, EKILL_NODE, EEXIT_NODE and STATEMENT_LIST.
4628 (make_node_stat): Handle PHI_NODE and SSA_NAME.
4629 <'c'> Set TREE_INVARIANT.
4630 (copy_node_stat): Abort if trying to copy a
4631 STATEMENT_LIST.
4632 Clear TREE_VISITED.
4633 Clear annotation field.
4634 (build_constructor): Copy TREE_INVARIANT from vals.
4635 Don't clear TREE_CONSTANT.
4636 (expr_first, expr_last, expr_length): Remove.
4637 (staticp): Pass unknown component references to the language.
4638 (save_expr): Check TREE_INVARIANT instead of TREE_CONSTANT.
4639 (skip_simple_arithmetic): Likewise.
4640 (stabilize_reference_1): Likewise.
4641 (tree_node_structure): Handle PHI_NODE, EPHI_NODE,
4642 EUSE_NODE, EKILL_NODE, EEXIT_NODE, SSA_NAME and
4643 STATEMENT_LIST.
4644 (lhd_unsave_expr_now): Remove.
4645 (unsafe_for_reeval): Handle LABEL_EXPR and BIND_EXPR.
4646 (recompute_tree_invarant_for_addr_expr): New.
4647 (build1_stat): Clear EXPR_LOCUS and TREE_BLOCK.
4648 Call recompute_tree_invarant_for_addr_expr.
4649 Set TREE_INVARIANT accordingly.
4650 (build2_stat): Don't handle CALL_EXPR.
4651 (build3_stat): Don't call build2_stat for CALL_EXPRs.
4652 (build_expr_wfl): Remove.
4653 (annotate_with_file_line, annotate_with_locus): New.
4654 (simple_cst_equal): Call simple_cst_list_equal to compare
4655 CONSTRUCTOR_ELTS pointers.
4656 (iterative_hash_expr): Don't hash types associated
4657 with conversions. Instead hash on the signedness of the
4658 toplevel object and the operand of the conversion.
4659 (dump_tree_statistics): Call ssanames_print_statistics
4660 and phinodes_print_statistics.
4661 (ephi_node_elt_check_failed, phi_node_elt_check_failed,
4662 add_var_to_bind_expr, build_empty_stmt, is_essa_node,
4663 needs_to_live_in_memory): New.
4664 (initializer_zerop): Handle VECTOR_CST. Don't check
4665 AGGREGATE_TYPE_P for CONSTRUCTOR.
4666 * tree.def (FILTER_EXPR, CASE_LABEL_EXPR, RESX_EXPR,
4667 SSA_NAME, EUSE_NODE, EKILL_NODE, EPHI_NODE, EEXIT_NODE,
4668 PHI_NODE, CATCH_EXPR, EH_FILTER_EXPR, STATEMENT_LIST): Define.
4669 (GOTO_SUBROUTINE_EXPR): Change type to 's'.
4670 (CALL_EXPR): Add another operand.
4671 (EXPR_WITH_FILE_LOCATION): Remove.
4672 (SWITCH_EXPR): Add another operand.
4673 * tree.h: Update various comments.
4674 (union tree_ann_d): Forward declare.
4675 (struct tree_common): Add fields nowarning_flag,
4676 invariant_flag and visited.
4677 (EREF_NODE_CHECK, EPHI_NODE_ELT_CHECK,
4678 PHI_NODE_ELT_CHECK, EREF_NODE_CHECK, PHI_NODE_ELT_CHECK,
4679 EPHI_NODE_ELT_CHECK, TREE_BLOCK,
4680 STRIP_USELESS_TYPE_CONVERSION, CALL_EXPR_TAILCALL,
4681 TREE_NO_WARNING, FORCED_LABEL, TREE_INVARIANT,
4682 IS_EMPTY_STMT, EXPR_LOCUS, SET_EXPR_LOCUS, EXPR_FILENAME,
4683 EXPR_LINENO, EXPR_LOCATION, EXPR_HAS_LOCATION,
4684 EXIT_EXPR_COND, SWITCH_COND, SWITCH_BODY, SWITCH_LABELS,
4685 CASE_LOW, CASE_HIGH, CASE_LABEL, BIND_EXPR_VARS,
4686 BIND_EXPR_BODY, BIND_EXPR_BLOCK, GOTO_DESTINATION,
4687 ASM_STRING, ASM_OUTPUTS, ASM_INPUTS, ASM_CLOBBERS,
4688 ASM_INPUT_P, ASM_VOLATILE_P, COND_EXPR_COND,
4689 COND_EXPR_THEN, COND_EXPR_ELSE, LABEL_EXPR_LABEL,
4690 CATCH_TYPES, CATCH_BODY, EH_FILTER_TYPES,
4691 EH_FILTER_FAILURE, EH_FILTER_MUST_NOT_THROW,
4692 SSA_NAME_VAR, SSA_NAME_DEF_STMT, SSA_NAME_VERSION,
4693 SSA_NAME_OCCURS_IN_ABNORMAL_PHI, SSA_NAME_IN_FREE_LIST,
4694 PHI_RESULT, PHI_REWRITTEN, PHI_NUM_ARGS,
4695 PHI_ARG_CAPACITY, PHI_ARG_ELT, PHI_ARG_EDGE, PHI_ARG_DEF,
4696 EREF_PROCESSED, EREF_ID, EREF_NAME, EREF_STMT,
4697 EREF_RELOAD, EREF_SAVE, EREF_CLASS, EREF_INJURED,
4698 EREF_TEMP, EUSE_DEF, EUSE_PHIOP, EUSE_INSERTED,
4699 EUSE_LVAL, EPHI_NUM_ARGS, EPHI_ARG_CAPACITY,
4700 EPHI_ARG_ELT, EPHI_ARG_EDGE, EPHI_ARG_PRED, EPHI_ARG_DEF,
4701 EPHI_ARG_INJURED, EPHI_ARG_DELAYED_RENAME,
4702 EPHI_ARG_HAS_REAL_USE, EPHI_ARG_STOPS,
4703 EPHI_ARG_PROCESSED2, EPHI_IDENTITY, EPHI_IDENT_INJURED,
4704 EPHI_REP_OCCUR_KNOWN, EPHI_IDENTICAL_TO, EPHI_DOWNSAFE,
4705 EPHI_CANT_BE_AVAIL, EPHI_DEAD, EPHI_USES, EPHI_STOPS,
4706 TREE_VISITED, SSA_VAR_P, DECL_NUM_STMTS,
4707 DECL_HARD_REGISTER, DECL_PTA_ALIASVAR, LABEL_DECL_UID,
4708 DECL_NEEDS_TO_LIVE_IN_MEMORY_INTERNAL,
4709 STATEMENT_LIST_HEAD, STATEMENT_LIST_TAIL, TDF_RAW,
4710 TDF_DETAILS, TDF_STATS, TDF_BLOCKS, TDF_VOPS, TDF_LINENO,
4711 TDF_UID,): Define.
4712 (TREE_NO_UNUSED_WARNING, EXPR_WFL_EMIT_LINE_NOTE,
4713 EXPR_WFL_NODE, EXPR_WFL_FILENAME_NODE, EXPR_WFL_FILENAME,
4714 EXPR_WFL_LINECOL, EXPR_WFL_LINENO, EXPR_WFL_COLNO,
4715 EXPR_WFL_SET_LINECOL): Remove.
4716 (phi_node_elt_check_failed, ephi_node_elt_check_failed,
4717 make_phi_node, init_phinodes, fini_phinodes,
4718 release_phi_node, phinodes_print_statistics,
4719 init_ssanames, fini_ssanames, make_ssa_name,
4720 release_ssa_name, ssanames_print_statistics,
4721 annotate_with_file_line, build_empty_stmt,
4722 annotate_with_locus, expr_only, categorize_ctor_elements,
4723 count_type_elements, add_var_to_bind_expr, is_essa_node,
4724 expand_stack_alloc, expand_stack_save,
4725 expand_stack_restore, add_case_node, operand_equal_p,
4726 nondestructive_fold_unary_to_constant,
4727 nondestructive_fold_binary_to_constant,
4728 fold_read_from_constant_string, int_const_binop,
4729 strip_float_extensions, simplify_builtin, c_strlen,
4730 recompute_tree_invarant_for_addr_expr,
4731 needs_to_live_in_memory, make_vector,
4732 setjmp_vars_warning, update_alignment_for_field,
4733 expand_asm_expr, asm_op_is_mem_input,
4734 containing_blocks_have_cleanups_or_stack_level,
4735 create_artificial_label, gimplify_function_tree,
4736 get_name, unshare_expr, walk_tree,
4737 walk_tree_without_duplicates, in_gimple_form): Declare.
4738 (struct tree_exp): Add fields locus and block.
4739 (struct tree_ssa_name, struct edge_def, struct
4740 tree_phi_node, struct tree_eref_common, struct
4741 tree_euse_node, struct ephi_arg_d, struct tree_ephi_node,
4742 union alias_var_def, struct tree_statement_list_node,
4743 struct tree_statement_list, enum operand_equal_flag): Declare.
4744 (enum tree_node_structure_enum): Add TS_SSA_NAME,
4745 TS_PHI_NODE, TS_EPHI_NODE, TS_EUSE_NODE, TS_EREF_NODE,
4746 TS_STATEMENT_LIST.
4747 (union tree_node): Add fields ssa_name, phi, eref, ephi,
4748 euse and stmt_list.
4749 (function_cannot_inline_p, uninitialized_vars_warning,
4750 save_for_inline, output_inline_function, all_cases_count,
4751 check_for_full_enumeration_handling,
4752 declare_nonlocal_label): Remove.
4753 (enum tree_dump_index): Add TDI_none, TDI_tu,
4754 TDI_generic, TDI_nested, TDI_vcg, TDI_xml.
4755 * unroll.c (unroll_loop): Don't clear map->inline_target.
4756 * unwind-sjlj.c (uw_install_context): Make a proper static inline
4757 function.
4758 * value-prof.c (value_prof_hooks): New.
4759 (find_values_to_profile): Rename to rtl_find_values_to_profile.
4760 Move rtl-specific bits in from branch_prob.
4761 (value_profile_transformations): Rename to
4762 rtl_value_profile_transformations.
4763 (struct value_prof_hooks): New.
4764 (rtl_value_prof_hooks): New.
4765 (rtl_register_value_prof_hooks): New.
4766 (tree_find_values_to_profile): New stub.
4767 (tree_value_profile_transformations): New stub.
4768 (tree_value_prof_hooks): New stub.
4769 (tree_register_value_prof_hooks): New stub.
4770 (find_values_to_profile): New.
4771 (value_profile_transformations): New.
4772 * value-prof.h: Add multiple inclusion guard.
4773 (struct histogram_value): Change rtx fields to void *.
4774 (rtl_register_value_prof_hooks): New declaration.
4775 (tree_register_value_prof_hooks): New declaration.
4776 (find_values_to_profile): New declaration.
4777 (free_profiled_values): New declaration.
4778 (value_profile_transformations): New declaration.
4779 (struct profile_hooks): New declaration.
4780 (init_branch_prob): Declaration moved from rtl.h.
4781 (branch_prob): Declaration moved from rtl.h.
4782 (end_branch_prob): Declaration mooved from rtl.h.
4783 (tree_register_profile_hooks): New declaration.
4784 (rtl_register_profile_hooks): New declaration.
4785 (tree_profile_hooks): New declaration.
4786 (rtl_profile_hooks): New declaration.
4787 * varasm.c: Include tree-mudflap.h.
4788 (TRAMPOLINE_ALIGNMENT): Remove.
4789 (make_decl_rtl): Call mudflap_enqueue_decl.
4790 (assemble_static_space):
4791 (assemble_trampoline_template): Set and return
4792 TRAMPOLINE_ALIGNMENT.
4793 * varray.c (element): Add GENERIC_PTR_NOGC entry.
4794 Add entry for 'tree *'.
4795 Add entry for struct edge_def *.
4796 (varray_copy): New.
4797 * varray.h (enum varray_data_enum): Add
4798 VARRAY_DATA_GENERIC_NOGC, VARRAY_DATA_EDGE and
4799 VARRAY_DATA_TREE_PTR.
4800 (union varray_data_tag): Corresponding changes.
4801 (VARRAY_GENERIC_PTR_NOGC_INIT, VARRAY_EDGE_INIT,
4802 VARRAY_TREE_PTR_INIT, VARRAY_GENERIC_PTR_NOGC,
4803 VARRAY_EDGE, VARRAY_TREE_PTR,
4804 VARRAY_PUSH_GENERIC_PTR_NOGC, VARRAY_PUSH_EDGE,
4805 VARRAY_PUSH_TREE_PTR, VARRAY_TOP_GENERIC_PTR_NOGC,
4806 VARRAY_TOP_EDGE, VARRAY_TOP_TREE_PTR): Define.
4807
4808 * config/*/*: Various updates for changed macros, tree
4809 codes, etc. Check ChangeLog.tree-ssa.
4810
4811 * doc/cfg.texi: New file.
4812 * doc/tree-ssa.texi: New file.
4813 * doc/c-tree.texi: Document new codes.
4814 * doc/gccint.texi: Include new files.
4815 * doc/install.texi: Document new features.
4816 * doc/invoke.texi: Document new switches.
4817 * doc/passes.texi: Document new passes.
4818 * doc/rtl.texi: Update changed RTL codes.
4819 * doc/sourcebuild.texi: Update build instructions.
4820 * doc/standards.texi: Document Fortran changes.
4821 * doc/tm.texi: Update.
4822
5eaad481
PB
48232004-05-12 Paolo Bonzini <bonzini@gnu.org>
4824
4825 Replace several arrays with a struct of arrays.
90afe2c9
ZW
4826 * combine.c (struct reg_stat): New.
4827 (init_reg_last_arrays): Renamed to...
4828 (init_reg_last): ...this. Callers adjusted.
4829 (reg_stat): New.
4830 (combine_instructions): Allocate it and use it.
4831 (reg_last_death, reg_last_set, reg_last_set_value,
4832 reg_last_set_label, reg_last_set_table_tick,
4833 reg_last_set_invalid, reg_nonzero_bits, reg_sign_bit_copies,
4834 reg_last_set_mode, reg_last_set_nonzero_bits,
4835 reg_last_set_sign_bit_copies): Replace throughout
4836 with items of reg_stat.
5eaad481 4837
e51f9159
KK
48382004-05-11 Kaz Kojima <kkojima@gcc.gnu.org>
4839
4840 PR optimization/15100
4841 * combine.c (distribute_notes): Don't create a dangling
4842 REG_LIBCALL/REG_RETVAL note.
4843
6a599451
AH
48442004-05-11 Aldy Hernandez <aldyh@redhat.com>
4845
4846 * config/rs6000/spe.md (spe_evneg): Rename to negv2si2.
4847
4848 * config/rs6000/rs6000.c (bdesc_1arg): Change spe_evneg to
4849 negv2si2.
4850
425a2bde
AH
48512004-05-11 Aldy Hernandez <aldyh@redhat.com>
4852
4853 * doc/md.texi (Standard Names): Fix typo in vec_init description.
4854
bed7b8f1
GK
48552004-05-11 Geoffrey Keating <geoffk@apple.com>
4856
4857 * doc/gty.texi (GTY Options): Clarify example.
4858
7958a2a6
FJ
48592004-05-11 Fariborz Jahanian <fjahanian@apple.com>
4860
4861 * config/rs6000/rs6000.c (rs6000_handle_altivec_attribute):
4862 Add const qualifier to altivec vector type if one is needed.
4863
32770746
PB
48642004-05-11 Paul Brook <paul@codesourcery.com>
4865
4866 * flags.h (flag_short_enums): Update comment.
4867 * opts.c (decode_options): Set flag_short_enums to 2.
4868 * toplev.c (flag_short_enums): Update comment.
4869 (process_options): Call default_short_enums target hook.
4870
78f59f3e
AP
48712004-05-11 Andrew Pinski <pinskia@gcc.gnu.org>
4872
4873 PR target/14063
4874 * config/rs6000/altivec.md (altivec_dssall):
4875 Change to unspec_volatile.
4876 (altivec_dss): Likewise.
4877
39302b6a
AH
48782004-05-10 Aldy Hernandez <aldyh@redhat.com>
4879
4880 * config/rs6000/altivec.md ("one_cmplv16qi2"): Change vnot to
4881 vnor.
4882 ("one_cmplv8hi2"): Same.
4883 ("one_cmplv4si2"): Same.
4884
726d4cb7
KK
48852004-05-10 Kaz Kojima <kkojima@gcc.gnu.org>
4886
4887 PR target/15130
4888 * config/sh/sh-protos.h (sh_expand_epilogue): Change prototype.
4889 * config/sh/sh.c (output_stack_adjust): Take the sibcall epilogue
4890 into account. Compute the correct number of general registers
4891 for the return value. Generate a special push/pop sequence when
4892 failing to get a temporary register for non SHmedia epilogue.
4893 (sh_expand_epilogue): Add an argument to show whether it's for
4894 sibcall or not. Set the 3rd argument of output_stack_adjust to
4895 -1 if needed.
4896 (sh_need_epilogue): Call sh_expand_epilogue with 0.
4897 * config/sh/sh.md (sibcall_epilogue): Call sh_expand_epilogue
4898 with 1.
4899 (epilogue): Call sh_expand_epilogue with 0.
4900
0c196bf9
AP
49012004-05-10 Andrew Pinski <pinskia@physics.uc.edu>
4902
4903 * gcse.c (eliminate_partially_redundant_loads): Instead of returning early,
4904 goto a cleanup label. After the cleanup, free the allocated memory.
4905
16cfa3dc
ZL
49062004-05-10 Ziemowit Laski <zlaski@apple.com>
4907
4908 * config/rs6000/altivec.h (vec_sld): Add overloads for
4909 argument/return types of 'vector bool int', 'vector bool short'
4910 and 'vector bool char'.
4911
3358cae0
ZW
49122004-05-10 Zack Weinberg <zack@codesourcery.com>
4913
4914 * c-decl.c (store_parm_decls_newstyle): Correct test for a
4915 nested function.
4916
62d45923
RS
49172004-05-10 Richard Sandiford <rsandifo@redhat.com>
4918
4919 * read-rtl.c (read_rtx): Allow 's' and 'T' strings to be omitted,
4920 treating missing ones as "".
4921 * config/mips/mips.md: Remove constraints from match_operands and
4922 match_scratches if they appear in define_expands (except reload*),
4923 define_peephole2s, define_splits or attribute specifications.
4924 * config/mips/7000.md, config/mips/sb1.md: Remove match_operand
4925 constraint strings.
4926
b2d04ecf
AM
49272004-05-10 Alan Modra <amodra@bigpond.net.au>
4928
4929 * config/rs6000/rs6000.c (function_arg_boundary): Always align
4930 AltiVec vectors.
4931 (function_arg_advance): Pass TARGET_32BIT -mabi=no-altivec AltiVec
4932 vectors by refererence. Align the same for TARGET_64BIT to a 16
4933 byte boundary. Remove useless code. Add function comment.
4934 (function_arg): Similarly. Move gpr rs6000_mixed_function_arg
4935 call to where it belongs.
4936 (function_arg_partial_nregs): Return true for all TARGET_32BIT
4937 -mabi=no-altivec AltiVec vectors. Fix debug output.
4938 (rs6000_va_arg): Adjust for AltiVec change.
4939
b6685939
PB
49402004-05-10 Paul Brook <paul@codesourcery.com>
4941
4942 * config/arm/arm.c (arm_promote_prototypes): Use TARGET_AAPCS_BASED.
4943 * config/arm/arm.h (TARGET_AAPCS_BASED): Define.
4944 (TARGET_DOUBLEWORD_ALIGN): Use it.
4945 (WCHAR_TYPE): Define.
4946 (WCHAR_SIZE_TYPE): Define.
4947 (SIZE_TYPE): Define.
4948
4ed78545
AM
49492004-05-10 Alan Modra <amodra@bigpond.net.au>
4950
4951 * config/rs6000/rs6000.c (function_arg_boundary): Align for ABI_V4
4952 when size is 8 bytes.
4953 (function_arg_advance): Account for stack space used by AltiVec
3358cae0 4954 args when -mabi=altivec. Simplify alignment calculations. For
4ed78545
AM
4955 ABI_V4, pass AltiVec vectors by reference when -mabi=no-altivec.
4956 (function_arg): Similarly.
4957 (function_arg_pass_by_reference): True for ABI_V4 AltiVec when
4958 not AltiVec ABI.
4959 (rs6000_va_arg): Correct fp arg test. Adjust for AltiVec change.
4960 Correct alignment, and align before testing reg count. Remove
4961 TREE_THIS_VOLATILE from reg. Don't emit unused labels.
4962 (rs6000_complex_function_value): Check TARGET_HARD_FLOAT and
4963 TARGET_FPRS here..
4964 (rs6000_function_value): .. not here before call.
4965
f350ff00
AH
49662004-05-09 Aldy Hernandez <aldyh@redhat.com>
4967
4968 * config/rs6000/spe.md ("tstsflt_gpr"): Fix typo in unspec.
4969
eecec698
ZW
49702004-05-09 Zack Weinberg <zack@codesourcery.com>
4971
4972 PR 15007
4973 * c-decl.c (current_file_decl): Rename to all_translation_units,
4974 adjust comment.
4975 (pop_scope): If popping file_scope, construct a
4976 TRANSLATION_UNIT_DECL and make it the context of all the
4977 symbols in the scope.
4978 (push_file_scope): Don't construct a TRANSLATION_UNIT_DECL here.
4979 (pushdecl): Clarify comment. Do not set DECL_CONTEXT of
4980 anything to current_file_decl.
4981 (pushdecl_top_level): Likewise.
4982 (store_parm_decls_newstyle): Adjust check for nested function.
4ed78545
AM
4983 (c_write_global_declarations): Update for renamed variable.
4984
2aa4498c
AH
49852004-05-09 Aldy Hernandez <aldyh@redhat.com>
4986
4987 * config/rs6000/rs6000-protos.h
4988 (rs6000_conditional_register_usage): Protoize.
4989
4990 * config/rs6000/rs6000.c (rs6000_conditional_register_usage): New.
4991
4992 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Call
4993 function.
4994
8dc2384c
RS
49952004-05-08 Roger Sayle <roger@eyesopen.com>
4996
4997 * fold-const.c (fold_div_compare): New function to optimize X/C1 op C2
4998 where op is a comparison operator and C1 and C2 are integer constants
4999 into a range check.
5000 (fold): Call fold_div_compare.
5001
ae81c844
EB
50022004-05-08 Eric Botcazou <ebotcazou@libertysurf.fr>
5003
5004 * doc/install.texi (sparc-sun-solaris2*): Document bootstrap
5005 problems with earlier versions of the GNU compiler.
5006
0d1fbc8c
AH
50072004-05-07 Aldy Hernandez <aldyh@redhat.com>
5008
5009 * config/rs6000/rs6000-protos.h (rs6000_hard_regno_mode_ok_p):
5010 Declare.
5011
5012 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok_p): New.
5013 (rs6000_hard_regno_mode_ok): New.
5014 (rs6000_init_hard_regno_mode_ok): New.
5015 (rs6000_override_options): Call rs6000_init_hard_regno_mode_ok.
5016
5017 * config/rs6000/rs6000.h (HARD_REGNO_NREGS): Use precomputed
5018 result.
5019
f95d9272
ZL
50202004-05-07 Ziemowit Laski <zlaski@apple.com>
5021
5022 * config/rs6000/altivec.h (vector, pixel, bool): Do not
5023 define as macros #ifdef __APPLE_ALTIVEC__.
5024
50252004-05-07 Fariborz Jahanian <fjahanian@apple.com>
5026
36a454e1
FJ
5027 * config/rs6000/rs6000.c (rs6000_mixed_function_arg):
5028 Generate appropriate parallels for vector arguments
5029 passed to vararg functions. (function_arg): make the call
5030 to rs6000_mixed_function_arg for vector args as needed.
eecec698 5031
f7dbd289
RS
50322004-05-07 Richard Sandiford <rsandifo@redhat.com>
5033
5034 * config/mips/mips.c (mips_va_arg): Fix calculation of osize for
5035 EABI_FLOAT_VARARGS_P.
5036
5c8a81d5
RS
50372004-05-07 Richard Sandiford <rsandifo@redhat.com>
5038
5039 * config/mips/mips.h (ISA_HAS_BRANCHLIKELY): Remove TARGET_MIPS5500.
5040 * config/mips/mips.c (override_options): Disable branch likely
5041 instructions if TUNE_MIPS5500.
5042
9045f39a
RS
50432004-05-07 Richard Sandiford <rsandifo@redhat.com>
5044
5045 * config/mips/mips.c (override_options): Allow the hi and lo registers
5046 to store any integral mode, not just MODE_INTs.
5047
bc21b3f3
PB
50482004-05-07 Paul Brook <paul@codesourcery.com>
5049
5050 * config/arm/arm.c (arm_promote_prototypes): Use TARGET_AAPCS_BASED.
5051 * config/arm/arm.h (TARGET_AAPCS_BASED): Define.
5052 (TARGET_DOUBLEWORD_ALIGN): Use it.
5053 (WCHAR_TYPE): Define.
5054 (WCHAR_SIZE_TYPE): Define.
5055 (SIZE_TYPE): Define.
5056
2484cc35
UB
50572004-05-07 Uros Bizjak <uros@kss-loka.si>
5058
5059 * config/i386/i386.c (ix86_emit_fp_unordered_jump): Use
5060 testb $4, %ah insn instead of sahf insn if !TARGET_USE_SAHF.
5061
7600f094
AP
50622004-05-07 Andrew Pinski <pinskia@physics.uc.edu>
5063
5064 * loop-doloop.c (doloop_valid_p): Make sure that body
5065 gets freed.
5066
bfb23806
EB
50672004-05-07 Eric Botcazou <ebotcazou@act-europe.fr>
5068
5069 * config/sparc/sparc-protos.h (sparc_skip_caller_unimp): New
5070 declaration.
5071 * config/sparc/sparc.c (SKIP_CALLERS_UNIMP_P): Delete.
5072 (sparc_skip_caller_unimp): New global variable.
5073 (sparc_function_epilogue): Set 'sparc_skip_caller_unimp'.
5074 Use it instead of SKIP_CALLERS_UNIMP_P.
5075 * config/sparc/sparc.md (call expander): Add sanity check.
5076 (call_address_struct_value_sp32): Re-sync with expander.
5077 (call_symbolic_struct_value_sp32): Likewise.
5078 (return peepholes): Use 'sparc_skip_caller_unimp' instead
5079 of custom predicate.
5080
92ff0c41
EB
50812004-05-07 Eric Botcazou <ebotcazou@libertysurf.fr>
5082
5083 PR c++/14962
5084 * c-pragma.c (handle_pragma_redefine_extname): Only change
5085 the assembler name of FUNCTION_DECLs and VAR_DECLs.
5086
c2fcfa4f
UB
50872004-05-07 Uros Bizjak <uros@kss-loka.si>
5088
5089 * optabs.h (enum optab_index): Add new OTI_log1p.
5090 (log1p_optab): Define corresponding macro.
5091 * optabs.c (init_optabs): Initialize log1p_optab.
5092 * genopinit.c (optabs): Implement log1p_optab using log1p?f2
5093 patterns.
5094 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LOG1P{,F,L}
5095 using log1p_optab.
5096 (expand_builtin): Expand BUILT_IN_LOG1P{,F,L} using
5097 expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
5098
5099 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FYL2XP1.
5100
5101 * config/i386/i386.c (ix86_emit_i387_log1p): New function.
5102 * config/i386/i386-protos.h (ix86_emit_i387_log1p):
5103 Prototype here.
5104 * config/i386/i386.md (UNSPEC_FYL2XP1): New unspec to represent
5105 x87's fyl2xp1 instruction.
5106 (*fyl2x_xf3): Rename insn definition to fyl2x_xf3.
5107 (fyl2xp1_xf3): New pattern to implement fyl2xp1 x87 instruction.
5108 (log1psf2, log1pdf2, log1pxf2): New expanders to implement log1pf,
5109 log1p and log1pl built-ins as inline x87 intrinsics.
5110
4d980568
LR
51112004-05-07 Loren James Rittle <ljrittle@acm.org>
5112
3c4392aa 5113 * config/alpha/freebsd.h (SUBTARGET_EXTRA_SPECS): Proper redefinition.
4d980568
LR
5114 * config/arm/freebsd.h: Likewise.
5115 * config/ia64/freebsd.h: Likewise.
5116 * config/sparc/freebsd.h: Likewise.
5117
afce2847
HPN
51182004-05-07 Hans-Peter Nilsson <hp@axis.com>
5119
5120 PR optimization/15296
5121 * reorg.c (fill_simple_delay_slots): Use next_real_insn when
5122 getting last consecutive label at a branch.
5123 (relax_delay_slots): Similar, near top of loop.
5124
9acf97b6
JDA
51252004-05-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5126
5127 PR target/15202
5128 * pa.md (movdi, movsi, movhi, movqi): Support move from shift amount
5129 register to general register.
5130
19fb36e3
AM
51312004-05-07 Alan Modra <amodra@bigpond.net.au>
5132
5133 * config/rs6000/rs6000.h (STACK_BOUNDARY): Use 128 bit for either
5134 TARGET_ALTIVEC or TARGET_ALTIVEC_ABI.
5135 * config/rs6000/sysv4.h (ABI_STACK_BOUNDARY): Likewise.
5136 (STACK_BOUNDARY): Delete.
5137
db643b91 51382004-05-06 Stuart Hastings <stuart@apple.com>
2484cc35 5139
db643b91
SH
5140 * gcc/doc/invoke.texi: Restore -fgcse-after-reload doc from 1.421,
5141 mistakenly clobbered by 1.423.
19fb36e3 5142
dc884a86
RS
51432004-05-06 Richard Sandiford <rsandifo@redhat.com>
5144
5145 * doc/invoke.texi: Document -mvr4130-align.
5146 * config/mips/mips.h (MASK_VR4130_ALIGN, TARGET_VR4130_ALIGN)
5147 (TUNE_MIPS4120, TUNE_MIPS4130): New macros.
5148 (TUNE_MACC_CHAINS): Include TUNE_MIPS4120 and TUNE_MIPS4130.
5149 (TARGET_SWITCHES): Add -mvr4130-align and -mno-vr4130-align.
5150 * config/mips/mips.md: Include sched-int.h.
5151 (USEFUL_INSN_P, SEQ_BEGIN, SEQ_END, FOR_EACH_SUBINSN): New macros.
5152 (mips_rtx_costs): Set integer multiplication costs for TUNE_MIPS4130.
5153 (override_options): Enable -mvr4130-align at -O3 and above.
5154 (mips_sim_insn): New variable.
5155 (mips_sim): New structure.
5156 (mips_sim_reset, mips_sim_init, mips_sim_next_cycle, mips_sim_wait_reg)
5157 (mips_sim_wait_regs_2, mips_sim_wait_regs_1, mips_sim_wait_regs)
5158 (mips_sim_wait_units, mips_sim_wait_insn, mips_sim_record_set)
5159 (mips_sim_issue_insn, mips_sim_issue_nop, mips_sim_finish_insn)
5160 (vr4130_avoid_branch_rt_conflict, vr4130_align_insns): New functions.
5161 (mips_reorg): Call vr4130_align_insns.
5162 (vr4130_last_insn): New variable.
5163 (vr4130_true_reg_dependence_p_1, vr4130_true_reg_dependence_p)
5164 (vr4130_swap_insns_p, vr4130_reorder): New functions.
5165 (mips_sched_reorder, mips_variable_issue): Hook in vr4130 code.
5166 (mips_issue_rate): Return 2 for PROCESSOR_R4130.
5167 (mips_use_dfa_pipeline_interface): Return true for the same.
5168 * config/mips/4130.md: New file.
5169 * config/mips/mips.md: Include it. Add a peephole2 to convert
5170 "mult;mflo" into "mtlo;macc".
5171 (*macc, *umul_acc_di, *smul_acc_di): Use $1 rather than $0 as the
5172 target of maccs.
5173 (*msac_using_macc): New pattern.
5174
615ccdd3
RS
51752004-05-06 Richard Sandiford <rsandifo@redhat.com>
5176
5177 * config/mips/5500.md (ir_vr55_store): Set latency to 0.
5178 (ir_vr55_hilo): Split into...
5179 (ir_vr55_mfhilo, ir_vr55_mthilo): ...these new reservations.
5180 (ir_vr55_imul_si, ir_vr55_imadd): Change latency to 5.
5181 (ir_vr55_imul_di): Change latency to 9. Reserve vr55_mac for 4 cycles.
5182 Add various multiplication bypasses.
5183 * config/mips/mips.c (mips_rtx_costs): Adjust VR5500 costs for integer
5184 multiplication.
5185
152e3565
UB
51862004-05-06 Uros Bizjak <uros@kss-loka.si>
5187
5188 * config/i386/i386.md (*fscalexf4): Correct insn "mode"
5189 attribute to "XF".
5190
5ae27cfa
UB
51912004-05-05 Uros Bizjak <uros@kss-loka.si>
5192
5193 * optabs.h (enum optab_index): Add new OTI_fmod and OTI_drem.
152e3565 5194 (fmod_optab, drem_optab): Define corresponding macros.
5ae27cfa
UB
5195 * optabs.c (init_optabs): Initialize fmod_optab and drem_optab.
5196 * genopinit.c (optabs): Implement fmod_optab and drem_optab
5197 using fmod?f3 and drem?f3 patterns.
5198 * builtins.c (expand_builtin_mathfn_2): Handle BUILT_IN_FMOD{,F,L}
5199 using fmod_optab and BUILT_IN_DREM{,F,L} using drem_optab.
5200 (expand_builtin): Expand BUILT_IN_FMOD{,F,L} and
5201 BUILT_IN_DREM{,F,L} using expand_builtin_mathfn_2 if
5202 flag_unsafe_math_optimizations is set.
5203
5204 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FPREM_F,
5205 UNSPEC_FPREM_U, UNSPEC_FPREM1_F and UNSPEC_FPREM1_U.
5206
5207 * config/i386/i386.c (ix86_emit_fp_unordered_jump): New function.
5208 * config/i386/i386-protos.h (ix86_emit_fp_unordered_jump):
5209 Prototype here.
5210 * config/i386/i386.md (UNSPEC_FPREM_F, UNSPEC_FPREM_U,
5211 UNSPEC_FPREM1_F, UNSPEC_FPREM1_U): New unspecs to represent x87's
5212 fprem and fprem1 instructions.
5213 (*x86_fnstsw_1): Change input parameter to (reg:CCFP 18).
5214 Rename insn definition to x86_fnstsw_1.
5215 (fpremxf4, fprem1xf4): New patterns to implement fprem and fprem1
5216 x87 instructions.
5217 (fmodsf3, fmoddf3, fmodxf3): New expanders to implement fmodf, fmod
5218 and fmodl built-ins as inline x87 intrinsics.
5219 (dremsf3, dremdf3, dremxf3): New expanders to implement dremf, drem
5220 and dreml built-ins as inline x87 intrinsics.
5221
cf9c6ca5
RS
52222004-05-05 Roger Sayle <roger@eyesopen.com>
5223
5224 * reload1.c (inherit_piecemeal_p): Mark parameters potentially unused.
5225
32dd2dc9
ILT
52262004-05-05 Ian Lance Taylor <ian@wasabisystems.com>
5227
5228 PR driver/9822
5229 * doc/invoke.texi (Spec Files): Remove documentation of %c.
5230
4a6f766d
CD
52312004-05-05 Chris Demetriou <cgd@broadcom.com>
5232
5233 * config/mips/mips.md: Update the msub define_split for new mflo/mfhi
5234 representation.
5235
fdd695fd
PB
52362004-05-06 Paul Brook <paul@codesourcery.com>
5237
5238 * config/arm/arm-protots.h (vfp_mem_operand): Rename ...
5239 (arm_coproc_mem_operand): ... To this.
5240 * config/arm/arm.c (arm_legitimate_address_p): Allow ldrd modes.
5241 (arm_legitimate_index_p): Ditto.
5242 (vfp_mem_operand): Rename ...
5243 (arm_coproc_mem_operand): ... To this. Handle writeback modes.
5244 (vfp_secondary_reload_class): Use it.
5245 (output_move_double): Use doubleword load/store instructions.
5246 (arm_hard_regno_mode_ok): Only allow even reg pairs for ldrd.
5247 * config/arm/arm.h (TARGET_LDRD): Define.
5248 (EXTRA_CONSTRAINT_STR_ARM): Add 'Uy'.
5249 * config/gcc/arm/arm.md (arm_movdi): Allow all valid memory operands.
5250 New splitter for invalid doubleword loads.
5251 * config/arm/iwmmxt.md (iwmmxt_arm_movdi): Use Uy constraint.
5252 * config/arm/vfp.md (arm_movdi_vfp): Allow all valid memory operands.
5253 * doc/md.texi: Document Uy constraint.
5254
59af0b6a
JH
52552004-05-05 Jan Hubicka <jh@suse.cz>
5256
5257 PR opt/14980
5258 * cgraphunit.c (cgraph_remove_unreachable_nodes): Deal properly with
5259 inline clones.
5260
9953b5e1
L
52612004-05-05 H.J. Lu <hongjiu.lu@intel.com>
5262
5263 PR target/15290
5264 * config/i386/i386.c (ix86_split_to_parts): Use real_to_target
5265 instead of REAL_VALUE_TO_TARGET_LONG_DOUBLE.
5266
e3c287c9
MS
52672004-05-05 Mike Stump <mrs@apple.com>
5268
5269 * config/darwin-c.c (add_framework): Copy the directory name as it
5270 can be freed later. Also, ensure we always allocate enough room
5271 for the cached framework information.
5272 (find_subframework_header): Keep track of the directory where the
5273 subframework header was found.
5274 (framework_construct_pathname): Speed up by not trying to re-add a
5275 framework.
5276 * cppfiles.c (search_path_exhausted): Arrange for the missing
5277 header callback to be able to set the directory where the header
5278 was found.
5279 (cpp_get_dir): Add.
5280 * cpplib.h (missing_header_cb): Add a parameter.
5281 (cpp_get_dir): Add.
5282
52832004-05-03 Mike Stump <mrs@apple.com>
4bed3787
MS
5284
5285 * doc/invoke.texi (Directory Options): Document -iquote.
5286 * doc/cpp.texi: Likewise.
5287 * doc/cppopts.texi: Likewise.
5288 * c-opts.c (c_common_missing_argument): Add -iquote processing.
5289 (c_common_handle_option): Likewise.
5290 * c.opt (iquote): Add.
5291 * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -iquote.
5292 * c-incpath.c (merge_include_chains): Update comment to use -iquote.
5293
5294 * c-opts.c (case OPT_I): Deprecate -I- support.
5295 * doc/invoke.texi: Likewise.
5296 * doc/cpp.texi: Likewise.
5297 * doc/cppopts.texi: Likewise.
5298
bb8a619e
SB
52992004-05-05 Steven Bosscher <stevenb@suse.de>
5300
5301 * basic-block.h (free_basic_block_vars): Update prototype.
5302 * flow.c (free_basic_block_vars): Remove the keep_head_end_p
5303 argument.
5304 (life_analysis): Update call.
5305 * ifcvt.c (if_convert): Likewise.
5306 * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
5307 * passes.c (rest_of_handle_final): Likewise.
5308 (rest_of_compilation): Likewise.
5309 * config/sh/sh.c (sh_output_mi_thunk): Likewise.
5310
5311 * emit-rtl.c (next_real_insn): Use INSN_P.
5312 (prev_real_insn): Likewise.
5313
2e592dce
EC
53142004-05-05 Eric Christopher <echristo@redhat.com>
5315
5316 * config/mips/mips.md: Update the madd define_split for new mflo/mfhi
5317 representation.
5318
7c62e993
PB
53192004-05-05 Paolo Bonzini <bonzini@gnu.org>
5320
5321 * config/rs6000/rs6000.c (build_opaque_vector_type):
5322 New function.
5323 (rs6000_init_builtins): Use it.
5324
87fac4e3
BG
53252004-05-04 Bernard Giroud <bgiroud2@free.fr>
5326
5327 * gcc/gcc/vmsdbgout.c (vms_func_node, vms_func_ref): New.
5328 (func_table): Change type from char ** to vms_func_ref.
5329 (write_rtnbeg): Update to reflect func_table change. Use
5330 fde->funcdef_number instead of rtnnum in output.
5331 (write_rtnend, vmxdbgout_begin_function, vmsdbgout_init): Likewise.
5332
cc27e657
PB
53332004-05-04 Paolo Bonzini <bonzini@gnu.org>
5334 Richard Henderson <rth@redhat.com>
5335
5336 PR target/14899
5337
5338 * c-common.c (vector_types_convertible_p): New function.
5339 * c-typeck.c (comptypes): Recurse on vector types.
5340 (convert_for_assignment): Use vector_types_convertible_p.
5341 (digest_init): Use vector_types_convertible_p to check
5342 validness of constant vector initializers; otherwise treat
5343 them as scalars.
5344 * tree.c (make_or_reuse_type): New.
5345 (build_common_tree_nodes): Use it.
5346 * cp/call.c (standard_conversion): Likewise.
5347 * cp/typeck.c (comptypes): Recurse on vector types.
5348 (convert_for_assignment): Use vector_types_convertible_p.
cc27e657 5349
6fc8a30a
CD
53502004-05-04 Chris Demetriou <cgd@broadcom.com>
5351
5352 * config/mips/mips.c (override_options): Default to no
5353 generation of branch-likely operations when tuning for
5354 CPUs where they tend to have a negative performance impact
5355 (e.g., SB-1).
5356
6c89c39a
RK
53572004-05-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5358
5359 * expr.c (store_constructor_field): Don't call store_constructor
5360 if bitsize is not a multiple of a byte.
5361
b5ba341f
RS
53622004-05-04 Richard Sandiford <rsandifo@redhat.com>
5363
5364 * reload1.c (inherit_piecemeal_p): New function.
5365 (emit_reload_insns): When reloading a group of hard registers, use
5366 inherit_piecemeal_p to decide whether the values of individual hard
5367 registers can be inherited.
5368
c6c8779b
L
53692004-05-04 H.J. Lu <hongjiu.lu@intel.com>
5370
5371 * config/ia64/t-ia64 (LIB2ADDEH): Remove gthr-gnat.c.
5372 * config/s390/t-tpf (LIB2ADDEHDEP): Likewise.
5373 * config/t-linux (LIB2ADDEHDEP): Likewise.
5374
82c732f9
PB
53752004-05-04 Paul Brook <paul@codesourcery.com>
5376
5377 * config/arm/crti.asm: Push an even number of registers.
5378 * config/arm/crtn.asm: And restore them. Load via sp.
5379
92e838e2
PB
53802004-05-04 Paolo Bonzini <bonzini@gnu.org>
5381
5382 * ggc-zone.c (ggc_alloc_zone_1): Add MEM_STAT_DECL parameter.
5383 Collect overhead information.
5384 (ggc_alloc_stat): New name of ggc_alloc. Add MEM_STAT_DECL
5385 parameter and pass it through.
5386 (ggc_alloc_typed_stat): New name of ggc_alloc_typed. Add
5387 MEM_STAT_DECL parameter and pass it through.
5388 (ggc_alloc_zone_stat): New name of ggc_alloc_zone. Add
5389 MEM_STAT_DECL parameter and pass it through.
5390
d8ecbcdb
AH
53912004-05-03 Aldy Hernandez <aldyh@redhat.com>
5392
5393 * config/rs6000/rs6000-protos.h: Protoize rs6000_hard_regno_nregs.
5394
5395 * config/rs6000/rs6000.c (rs6000_hard_regno_nregs): New.
5396
5397 * config/rs6000/rs6000.h (HARD_REGNO_NREGS): Call
5398 rs6000_hard_regno_nregs.
5399
2f7e5a0d
EC
54002004-05-03 Eric Christopher <echristo@redhat.com>
5401
5402 * config/s390/s390.c (s390_emit_prologue): Call unspec tpf
5403 prologue insn instead of setting up call.
5404 (s390_emit_epilogue): Ditto.
5405 * config/s390/s390.md (prologue_tpf, epilogue_tpf): New patterns.
5406 (define_constants): Add numbers for above patterns.
5407
38899e29
EC
54082004-05-03 Eric Christopher <echristo@redhat.com>
5409
5410 * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Move body...
5411 * config/s390/s390.c (s390_conditional_register_usage): ...here.
5412 * config/s390/s390-protos.h: Prototype.
5413
97d62313
JB
54142004-05-03 Joe Buck <jbuck@welsh-buck.org>
5415
5416 * cppfiles.c (pchf_adder): Eliminate use of |= in d->have_once_only
5417 assignment.
5418
03a53989
EC
54192004-05-03 Eric Christopher <echristo@redhat.com>
5420
5421 * config/mips/mips.md: Fix branch length attribute definition.
5422
318fec6d
AH
54232004-05-03 Aldy Hernandez <aldyh@redhat.com>
5424
5425 * config.gcc: Remove --enable-altivec support.
5426
5427 * config/rs6000/altivec-defs.h: Remove.
5428
553cba65
RO
54292004-05-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5430
5431 * fixinc/inclhack.def (svr4_profil): Don't apply on IRIX 5/6.
5432 * fixinc/fixincl.x: Regenerate.
5433
6adcf89d
UB
54342004-05-03 Uros Bizjak <uros@kss-loka.si>
5435
5436 * config/i386/i386.md (*fyl2x_sfxf3, *fyl2x_dfxf3): Remove insn
5437 definition.
5438 (log?f2, log10?f2, log2?f2): Reimplement expanders with
5439 float_truncate insn.
5440 (*fxtractsf3, *fxtractdf3): Remove insn definition.
5441 (logb?f2): Reimplement expanders with float_truncate insn.
5442
834eb1f0
GS
54432004-05-03 Graham Stott <graham.stott@btinternet.com>
5444
5445 PR 14718
5446 * dwarf2out.c (dwarf2out_imported_module_or_decl): Use
5447 force_type_die for CONST_DECL.
5448
bb8a619e
SB
54492004-05-03 Eric Botcazou <ebotcazou@libertysurf.fr>
5450 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
178af0f3
EB
5451
5452 * config.gcc (sparc64-*-solaris2*, sparcv9-*-solaris2*): Add
5453 tm-dwarf2.h to tm_file.
5454 (sparc-*-solaris2*): Add tm-dwarf2.h to tm_file for Solaris 7+.
5455 * config/sparc/sol2-bi.h (PREFERRED_DEBUGGING_TYPE): Delete.
5456 (ASM_DEBUG_SPEC): Delete.
5457
7a8e07c7
UB
54582004-05-03 Uros Bizjak <uros@kss-loka.si>
5459
5460 * optabs.h (enum optab_index): Add new OTI_expm1.
5461 (expm1_optab): Define corresponding macro.
5462 * optabs.c (init_optabs): Initialize expm1_optab.
5463 * genopinit.c (optabs): Implement expm1_optab using expm1?f2
5464 patterns.
5465 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXPM1{,F,L}
5466 using expm1_optab.
5467 (expand_builtin): Expand BUILT_IN_EXPM1{,F,L} using
5468 expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
5469
5470 * config/i386/i386.md (expm1df2, expm1sf2, expm1xf2): New expanders
5471 to implement expm1, expm1f and expm1l built-ins as inline x87
5472 intrinsics.
5473
5f2b9599
AO
54742004-05-02 Alexandre Oliva <aoliva@redhat.com>
5475
5476 2003-11-19 Richard Sandiford <rsandifo@redhat.com>
5477 * config/frv/frv.md (*return_true, *return_false): New patterns.
5478
1e5b67ff
KH
54792004-05-02 Kazu Hirata <kazu@cs.umass.edu>
5480
5481 * rtl.h (PHI_NODE_P): Remove.
5482
cfa29a4c
EB
54832004-05-02 Eric Botcazou <ebotcazou@act-europe.fr>
5484
5485 PR middle-end/14988
5486 * function.c (assign_stack_local_1): Use BITS_PER_UNIT alignment
5487 when passed -2 as 'align'.
5488 (put_var_into_stack): Use 'bool' as the type for the three local
5489 predicates. Adjust calls to put_reg_into_stack.
5490 When passed a CONCAT, instruct put_reg_into_stack to use
5491 a consecutive stack slot for the second part.
5492 (put_reg_into_stack): Remove 'promoted_mode' parameter, add
5493 'consecutive_p' parameter. Turn the three predicates into 'bool'
5494 parameters. Retrieve the register mode from 'reg'.
5495 When consecutive_p is true, instruct assign_stack_local_1 to use
5496 BITS_PER_UNIT alignment.
5497 (put_addressof_into_stack): Use 'bool' as the type for the two
5498 local predicates. Adjust call to put_reg_into_stack.
5499
fc627530
KG
55002004-05-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5501
5502 * fold-const.c (fold_convert_const, fold): Add missing
5503 FIX_ROUND_EXPR case.
5504
afbe7e61
AO
55052004-05-02 Alexandre Oliva <aoliva@redhat.com>
5506
9850f34a
AO
5507 * configure.ac (FLEX, BISON): Only use tools from the build tree
5508 if build equals host.
5509 * configure: Rebuilt.
5510
764678d1
AO
5511 * config/frv/frv-protos.h (frv_expand_epilogue,
5512 frv_expand_fdpic_call): Add bool argument.
5513 * config/frv/frv.c (frv_function_ok_for_sibcall): New.
5514 (TARGET_FUNCTION_OK_FOR_SIBCALL): Define to it.
5515 (frv_expand_epilogue): Use new argument to decide whether to emit
5516 return instruction or copy the return address to LR.
5517 (frv_expand_fdpic_call): Inline PLT entry when emitting direct
5518 sibcalls.
5519 (sibcall_operand): New.
5520 * config/frv/frv.h (PREDICATE_CODES): call_operand doesn't match
5521 PLUS nor LABEL_REF. Add sibcall_operand.
5522 * config/frv/frv.md (call, call_value): Pass false to
5523 frv_expand_fdpic_call.
5524 (call_fdpicdi, call_value_fdpicdi): Insert %i0 in calll.
5525 (sibcall, sibcall_internal, sibcall_fdpicdi, sibcall_value,
5526 sibcall_value_internal, sibcall_value_fdpicdi): New.
5527 (return_unsigned_true, return_unsigned_false): New.
5528 (epilogue): Adjust call to frv_expand_epilogue.
5529 (sibcall_epilogue): New.
5530
afbe7e61
AO
5531 * config/frv/frv.h (ASM_SPEC): Pass -mno-fdpic as -mnopic.
5532 (CPP_SPEC, CPP_SIMPLE_SPEC): Undefine __FRV_ACC__ and __FRV_FPR__
5533 before redefining them.
5534
ca3df643
KG
55352004-05-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5536
5537 * builtins.c (fold_fixed_mathfn): New function.
5538 (fold_builtin_lround, fold_builtin): Use it.
5539
f2c0cb15
JJ
55402004-05-01 Jakub Jelinek <jakub@redhat.com>
5541
5542 * config/sparc/linux64.h (TARGET_DEFAULT): Make 64-bit by default
5543 also for TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc3.
5544
ea2637eb
KH
55452004-05-01 Kazu Hirata <kazu@cs.umass.edu>
5546
5547 * config/cris/cris.h: Revert my "fix comment typos" patch.
5548
d0cb84e9
RS
55492004-05-01 Richard Sandiford <rsandifo@redhat.com>
5550
6c3db3ab 5551 * config/mips/mips.h (TUNE_MACC_CHAINS): Fix comment.
d0cb84e9 5552
ebade076
FH
55532004-05-01 Falk Hueffner <falk@debian.org>
5554
5555 * config/alpha/alpha.md (builtin_insbl, builtin_inswl,
5556 builtin_insll): Disallow 0 as first input operand.
5557
0962c33d
FH
55582004-05-01 Falk Hueffner <falk@debian.org>
5559
5560 * config/alpha/alpha.c (alpha_rtx_costs): Fix shiftadd costs.
5561
e2655d15 55622004-05-01 Ulrich Weigand <uweigand@de.ibm.com>
03a53989 5563
e2655d15 5564 PR middle-end/15054
03a53989 5565 * expr.c (expand_expr_real): Do not call preserve_temp_slots
e2655d15
UW
5566 on a TARGET_EXPR temp.
5567 * function.c (assign_stack_temp_for_type): Set 'keep' flag for
5568 TARGET_EXPR temp slots.
5569
77306e3e
PB
55702004-05-01 Paolo Bonzini <bonzini@gnu.org>
5571
5572 * simplify-rtx.c (simplify_ternary_operation): When
5573 converting an IF_THEN_ELSE to a relational op, return
5574 correct mode.
5575
3bf05748
KG
55762004-04-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5577
5578 * builtins.c (fold_builtin_round): Fix comment typo.
5579 (fold_builtin_lround): New function.
5580 (fold_builtin): Use it.
5581
c0873231
AP
55822004-04-20 Andrew Pinski <pinskia@physics.uc.edu>
5583
5584 PR target/11608
5585 * config/sh/elf.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Update and make it
5586 more like the one in config/dbxelf.h.
5587
5c5214a9
ZW
55882004-04-30 Zack Weinberg <zack@codesourcery.com>
5589
5590 * tree.h (SET_ARRAY_OR_VECTOR_CHECK): Rename to SET_OR_ARRAY_CHECK
5591 and adjust definition accordingly.
5592 (TYPE_DOMAIN): Allow only SET_TYPE and ARRAY_TYPE.
5593 (TYPE_DEBUG_REPRESENTATION_TYPE): Allow only VECTOR_TYPE.
5594 * expr.c (store_constructor): Do not access TYPE_DOMAIN of a
5595 VECTOR_TYPE.
5596
67214984
JM
55972004-04-30 Jason Merrill <jason@redhat.com>
5598
5599 PR c++/14587
5600 * config/i386/winnt.c (associated_type): Look for attributes on
5601 the TYPE_MAIN_VARIANT of *this.
5602 * attribs.c (decl_attributes): If ATTR_FLAG_TYPE_IN_PLACE, also
5603 apply the attributes to the variants.
5604
b73f075a
PB
56052004-04-30 Paul Brook <paul@codesourcery.com>
5606
5607 * config.gcc: Simplify arm --with-{cpu,tune} test.
5608 * config/arm/arm-cores.def: Document whitespace restrictions.
5609
5076da17
RO
56102004-04-30 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5611
5612 PR other/1963
5613 * config/alpha/osf.h (SWITCHES_NEED_SPACES): Define.
5614
8a897bf9 56152004-04-30 Brian Ford <ford@vss.fsi.com>
bb8a619e
SB
5616 DJ Delorie <dj@redhat.com>
5617
5618 * config/i386/cygming.h [HAVE_GAS_PE_SECREL32_RELOC]
5619 (DWARF2_DEBUGGING_INFO): Define to enable.
5620 (DBX_REGISTER_NUMBER): Define to use the svr4 register map for
5621 DWARF2.
5622 * configure.ac (Target-specific assembler checks)
5623 <i[34567]86-*-[cygwin*|pe|mingw32*]>: New test for .secrel32
5624 relocs.
5625 * configure: Regenerate.
5626 * config.in: Likewise.
5627
5628 * config/i386/cygming.h [HAVE_GAS_PE_SECREL32_RELOC]
5629 (ASM_OUPUT_DWARF_OFFSET): Define.
8a897bf9 5630
ed9676cf
AK
56312004-04-29 Andreas Krebbel <krebbel1@de.ibm.com>
5632
5633 * config/s390/s390-protos.h (s390_emit_epilogue): Parameter added.
5634 (s390_emit_call): New function prototype added.
5635 (s390_tls_get_offset): Function removed.
5636 * config/s390/s390.c (s390_function_ok_for_sibcall,
5637 s390_call_saved_register_used_p): New functions.
5638 (TARGET_FUNCTION_OK_FOR_SIBCALL): Definition of target macro added.
5639 (s390_tls_get_offset): Function merged into s390_emit_tls_call_insn.
5640 (s390_emit_tls_call_insn): New function.
5641 (legitimize_tls_address): Call s390_emit_tls_call_insn instead of
5642 emit_call_insn.
5643 (s390_emit_prologue): Use s390_emit_call instead of emit_call_insn.
5c5214a9 5644 (s390_emit_epilogue): Like s390_emit_prologue. Parameter for sibcalls
ed9676cf 5645 added.
5c5214a9 5646 * config/s390/s390.h (SIBCALL_REGNUM): New macro representing the
ed9676cf
AK
5647 register number used to hold the target address for sibcalls.
5648 * config/s390/s390.md ("sibcall", "sibcall_value", "sibcall_epilogue"):
5649 New expanders.
5c5214a9 5650 ("*sibcall_br", "*sibcall_brc", "*sibcall_brcl", "*sibcall_value_br",
ed9676cf 5651 "*sibcall_value_brc", "*sibcall_value_brcl"): New insns.
5c5214a9 5652 ("call_exp", "call_value_exp", "call_value_tls", "call_value_tls_exp"):
ed9676cf
AK
5653 Expanders removed.
5654 ("call", "call_value"): Call s390_emit_call to emit the call patterns.
5c5214a9 5655 ("*bras", "*brasl", "*bras_r", "*brasl_r", "*bras_tls", "*brasl_tls",
ed9676cf
AK
5656 "*basr", "*basr_r", "*basr_tls"): Added constraint: !SIBLING_CALL_P.
5657 ("epilogue"): Changed the call to s390_emit_epilogue to use the
5658 new parameter.
5659
1ae58c30
KH
56602004-04-30 Kazu Hirata <kazu@cs.umass.edu>
5661
5662 * bb-reorder.c, c-opts.c, cfglayout.c, cgraph.c, cgraphunit.c,
5663 cppfiles.c, fold-const.c, ggc-zone.c, loop-doloop.c, optabs.c,
5664 reg-stack.c, varasm.c, config/alpha/ev4.md,
5665 config/alpha/ev5.md, config/alpha/ev6.md, config/arm/arm.c,
5666 config/c4x/c4x.c, config/c4x/c4x.md, config/cris/cris.c,
5667 config/cris/cris.h, config/fr30/fr30.h, config/frv/frv.c,
5668 config/frv/frv.h, config/frv/frv.md, config/h8300/h8300.c,
5669 config/i386/i386.c, config/i386/i386.md, config/i386/winnt.c,
5670 config/ia64/itanium2.md, config/ip2k/ip2k.c,
5671 config/mips/mips.c, config/mips/mips.h, config/mips/sr71k.md,
5672 config/pa/pa.c, config/s390/s390.c, config/sh/sh.c: Fix
5673 comment typos.
5674
78011587
PB
56752004-04-30 Paul Brook <paul@codesourcery.com>
5676
2d84a437 5677 * config.gcc: Default ep9312 to hard-float.
78011587
PB
5678 * config/arm/arm-cores.def: Add ARCH field.
5679 * config/arm/arm.c (FL_FOR_ARCH*): Define.
5680 (arm_arch_cirrus): New variable.
5681 (all_cores): Set and use arch.
5682 (all_architectures): Ditto.
5683 (arm_arch_name): New variable.
5684 (arm_override_options): Set it. Use [SUB]TARGET_CPU_DEFAULT.
5685 Set and use arm_arch_cirrus.
5686 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Set arch defines.
5687 (enum processor_type): Update ARM_CORE define.
5688 (enum target_cpus): Add. Replaces TARGET_CPU_* defines.
5689 (CPP_SPEC): Remove %(cpp_cpu_arch).
5690 (CPP_ARCH_DEFAULT_SPEC): Remove.
5691 (CPP_CPU_ARCH_SPEC): Remove.
5692 (EXTRA_SPECS): Don't use CPP_*ARCH*_SPEC.
5693 (FPUTYPE_DEFAULT): Don't define here.
5694
e344dbf3
R
56952004-04-30 J"orn Rennecke <joern.rennecke@superh.com>
5696
5697 * flow.c (propagate_one_insn): Call mark_set_regs for stack pointer
5698 updates too.
5699
65a939f7
PB
57002004-04-30 Paul Brook <paul@codesourcery.com>
5701
5702 * arm.c (arm_needs_doubleword_align): Use mode alignment.
5703
0bf87ea5
PB
57042004-04-30 Paolo Bonzini <bonzini@gnu.org>
5705
5706 * config/altivec/altivec.h [__cplusplus] (vec_subsubs): Rename to
5707 vec_sububs.
5708 [__cplusplus] (vec_subsuhs): Rename to vec_subuhs, without
5709 duplicates.
5710
a6bf61c7
UB
57112004-04-30 Uros Bizjak <uros@kss-loka.si>
5712
65a939f7
PB
5713 * config/i386/i386.md (atansf2, atandf2, atanxf2): Move near
5714 atan2?f3 expanders.
a6bf61c7 5715
150e407a
NC
57162004-04-29 Nick Clifton <nickc@redhat.com>
5717
5718 Bug 14093
5719 * config/sh/sh-protos.h (sh_promote_prototypes): Declare.
5720 * config/sh/sh.c (sh_promote_prototypes): Remove declaration.
5721 Delete static from definition.
5722 * config/sh/sh.h (FUNCTION_VALUE): Add sh_promote_prototypes call.
5723
6862f97f
UB
57242004-04-30 Uros Bizjak <uros@kss-loka.si>
5725
65a939f7
PB
5726 * reg-stack.c (subst_stack_regs_pat): <UNSPEC_SIN, UNSPEC_COS,
5727 UNSPEC_FRNDINT, UNSPEC_F2XM1>: abort() if src1 dies.
5728 <UNSPEC_SINCOS_COS, UNSPEC_TAN_ONE, UNSPEC_XTRACT_FRACT>: Same.
5729 <UNSPEC_SINCOS_SIN, UNSPEC_TAN_TAN, UNSPEC_XTRACT_EXP>: Same.
6862f97f 5730
c65a01af
RG
57312004-04-29 Richard Guenther <richard.guenther@uni-tuebingen.de>
5732
5733 * commom.opt (Wfatal-errors): Add it.
5734 * diagnostic.c (flag_fatal_errors): Define it.
5735 (diagnostic_action_after_output): Check for flag_fatal_errors.
5736 * flags.h (flag_fatal_errors): Declare it.
5737 * opts.c (common_handle_option): Add OPT_Wfatal_errors.
5738 * doc/invoke.texi (Warning Options): Document -Wfatal-errors.
5739
d1c6a401
JZ
57402004-04-30 Josef Zlomek <zlomekj@suse.cz>
5741
5742 * gcse.c (remove_reachable_equiv_notes): Delete notes also in
5743 blocks which have kill flag set.
5744
99c012a8
BE
57452004-04-29 Ben Elliston <bje@au.ibm.com>
5746
5747 * configure.ac (--with-as): Abort if user-supplied assembler
5748 cannot be executed.
5749 (--with-ld): Likewise for the linker.
5750 * configure: Regenerate.
5751
d2be4368
KG
57522004-04-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5753
5754 * convert.c (convert_to_integer): Ensure `long_integer_type_node'
5755 isn't NULL before using it.
5756
15a6f2c3
RS
57572004-04-29 Richard Sandiford <rsandifo@redhat.com>
5758
5759 PR target/15189
5760 * config/mips/mips.md (load_df_low): Use default length.
5761 (load_df_high, store_df_high): Likewise.
5762
effa5d5d
KH
57632004-04-29 Kazu Hirata <kazu@cs.umass.edu>
5764
5765 * config/mips/mips.md, config/mips/sb1.md,
5766 config/rs6000/rs6000.c: Fix comment typos.
5767
2b8a92de
KH
57682004-04-29 Kazu Hirata <kazu@cs.umass.edu>
5769
5770 * builtins.c, cgraph.c, cgraphunit.c, final.c, fold-const.c:
5771 Fix comment typos.
5772
8fd58397
DR
57732004-04-29 Douglas B Rupp <rupp@gnat.com>
5774
5775 * gcc.c (DELETE_IF_ORDINARY): New macro default definition.
5776 (delete_if_ordinary): Use above macro.
5777 * config/alpha/xm-vms.h (DELETE_IF_ORDINARY): New macro VMS definition.
5778 Update copyright.
5779 * doc/hostconfig.texi (DELETE_IF_ORDINARY): Document new macro.
5780
56141a6a
RE
57812004-04-29 Richard Earnshaw <rearnsha@arm.com>
5782
5783 * c-decl.c (get_parm_info): Use the correct tag keywords when
5784 warning about type declarations in prototypes.
5785
2682e19f
PB
57862004-04-29 Paul Brook <paul@codesourcery.com>
5787
5788 * config.gcc: Pull list of cores from arm-cores.def.
5789
c6fb08ad
PB
57902004-04-29 Paolo Bonzini <bonzini@gnu.org>
5791
5792 * combine.c (combine_simplify_rtx): Adjust call to use
5793 simplify_relational_operation. Do not use SELECT_CC_MODE
5794 when a comparison already has a MODE_CC mode.
0bf87ea5
PB
5795
57962004-04-29 Paolo Bonzini <bonzini@gnu.org>
5797
c6fb08ad
PB
5798 (simplify_set): simplify_relational_operation may now
5799 return another relational expression.
5800 * cse.c (fold_rtx): simplify_relational_operation now
5801 takes of computing the comparison mode.
5802 * dojump.c (compare_from_rtx): Use simplify_relational_operation,
5803 remove dead code.
5804 (do_compare_rtx_and_jump): Likewise.
5805 * integrate.c (subst_constants): simplify_relational_operation
5806 may now return another relational expression.
5807 * simplify-rtx.c (simplify_gen_relational): Move most code to
5808 the new simplify_relational_operation and
5809 simplify_relational_operation_1 functions.
5810 (simplify_relational_operation): Rewritten.
5811 (simplify_relational_operation_1): New function.
5812 (simplify_ternary_operation): simplify_relational_operation
5813 may now return another relational expression.
5c5214a9 5814 (simplify_rtx): Remove unnecessary temp variable.
c6fb08ad 5815
f964bd29
UB
58162004-04-29 Uros Bizjak <uros@kss-loka.si>
5817
2682e19f
PB
5818 * reg-stack.c (swap_to_top): New function.
5819 (subst_stack_regs_pat): UNSPEC_FPATAN, UNSPEC_FYL2X: Use
5820 swap_to_top().
5821 (subst_stack_regs_pat): UNSPEC_FSCALE: Remove.
5c5214a9 5822 (subst_stack_regs_pat): Handle UNSPEC_FSCALE_FRACT and
2682e19f 5823 UNSPEC_FSCALE_EXP.
f964bd29 5824
2682e19f
PB
5825 * config/i386/i386.md (UNSPEC_FSCALE): Remove.
5826 (*fscale_sfxf3, *fscale_dfxf3, *fscale_xf3): Remove insn pattern.
5827 (UNSPEC_FSCALE_FRACT, UNSPEC_FSCALE_EXP): New unspecs to represent
5828 x87's fscale insn.
5829 (*fscalexf4: Define new insn pattern to implement x87 fscale insn.
5830 (exp?f2, exp10?f2, exp2?f2): Use *fscalexf4 and float_truncate
5831 patterns.
f964bd29 5832
cb83302c
SB
58332004-04-28 Serge Belyshev <1319@bot.ru>
5834
5835 PR 14944
5836 * coverage.c (read_counts_file): Fix usage of warning () call.
5837 * pretty-print.c (pp_base_format_text): Fix typo in the comment.
5838
5ad7ae7f
BE
58392004-04-28 Ben Elliston <bje@au.ibm.com>
5840
5841 * doc/invoke.texi (Objective-C Dialect Options): Don't prefix
5842 options with "-" in the option index.
5843 (SPARC Options): Likewise.
5844 (M32R/D Options): Likewise.
5845
332d782c
KG
58462004-04-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5847
5848 * convert.c (convert_to_integer): Convert (long)round -> lround,
5849 etc.
5850
90f81f99
AP
58512004-04-28 Andrew Pinski <pinskia@physics.uc.edu>
5852
5853 * config/rs6000/rs6000.c (registers_ok_for_quad_peep):
5854 Return false if we do not have fp register.
5855 (addrs_ok_for_quad_peep): Rename to ...
5856 (mems_ok_for_quad_peep): this.
5857 Add check for volatile memory.
5858 * config/rs6000/rs6000-protos.h (addrs_ok_for_quad_peep):
5859 Rename to ...
5860 (mems_ok_for_quad_peep): this.
5861 * config/rs6000/rs6000.md: Change peephole's for lfq/stq
5862 to peephole2's.
5863 (lfq_power2): New instruction.
5864 (stfq_power2): Likewise.
5865
902edd36
JH
58662004-04-28 Jan Hubicka <jh@suse.cz>
5867
5868 PR c/15004
5869 * function.c (do_warn_unused_parameter): Break out form ...
5870 (expand_function_end): ... here; warn only when not using cgraphunit.
5871 * function.h (do_warn_unused_parameter): Declare.
5872 * cgraphunit.c: Include function.h.
5873 (cgraph_finalize_function): Do unused parameter warning.
5874 * Makefile.in (cgraphunit.o): Depend on function.h
5875
a89f5df3
JM
58762004-04-28 Joseph S. Myers <jsm@polyomino.org.uk>
5877
5878 * Makefile.in ($(DESTDIR)$(infodir)/%.info): Don't condition
5879 calling install-info on $(DESTDIR)$(infodir)/dir already being
5880 present.
5881
40f0b3ee
PB
58822004-04-28 Paul Brook <paul@codesourcery.com>
5883
5884 * dwarf2out.c (mem_loc_descriptor): Handle shifts.
5885
c2e2375e
UW
58862004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
5887
5c5214a9 5888 * gcse.c (find_moveable_store): Do not accept store insns with
c2e2375e
UW
5889 REG_EH_REGION note.
5890
9e1622ed
PB
58912004-04-28 Paul Brook <paul@codesourcery.com>
5892
5893 * calls.c (precompute_arguments): Remove PROMOTE_FOR_CALL_ONLY.
5894 * function.c (assign_temp): Ditto.
5895 * system.h (PROMOTE_FOR_CALL_ONLY): Poison.
5896
e0d4a859
PB
58972004-04-28 Paul Brook <paul@codesourcery.com>
5898
5899 * config/arm/lib1funcs.asm: Recognize armv5tej and armv6.
5900
83532fb7
JZ
59012004-04-28 Josef Zlomek <zlomekj@suse.cz>
5902
5903 * var-tracking.c (variable_different_p): Add a parameter
5904 compare_current_location, compare current location of variable parts
5905 if it is true.
5906 (dataflow_set_different_1): Pass compare_current_location == false.
5907 (dataflow_set_different_2): Pass compare_current_location == false.
5908 (emit_notes_for_differences_1): Pass compare_current_location == true.
5909
cfa29496
UW
59102004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
5911
5912 * config/s390/s390.md ("casesi"): Mark jump table access as
5913 non-trapping and unchanging.
5914
23959f19
JDA
59152004-04-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5916
5917 PR debug/14829
5918 * dwarf2out.c (reg_number): Rename to dbx_reg_number. Adjust all
5919 callers.
5920 (multiple_reg_loc_descriptor, reg_loc_descriptor): Use gcc register
5921 number for indexing hard_regno_nregs array.
5c5214a9 5922
2f70eed1
GK
59232004-04-27 Geoffrey Keating <geoffk@apple.com>
5924
5925 * config/darwin.h (STARTFILE_SPEC): Use %s to find crt2.o.
5926 * config/darwin-crt2.c: Only have contents on __ppc__.
5927
f1dfe704
BW
59282004-04-27 Bob Wilson <bob.wilson@acm.org>
5929
5930 * config/xtensa/xtensa.c (call_insn_operand): Check
5931 SYMBOL_REF_EXTERNAL_P in addition to SYMBOL_REF_LOCAL_P.
5932 * config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND): Likewise.
5933 * config/xtensa/xtensa.md (call, call_value): Likewise.
5934
80408cac
WY
59352004-04-27 Wu Yongwei <adah@sh163.net>
5936
5937 * gthr-win32.h (__gthread_mutex_t): Change typedef to new structure.
5938 (__GTHREAD_MUTEX_INIT_DEFAULT): Adjust.
5939 (__gthread_mutex_init_function): Replace CreateMutex with
5940 initialization of custom mutex using CreateSemaphore.
5941 (__gthread_mutex_lock): Use InterlockedIncrement.
5942 (__gthread_mutex_trylock): Use InterlockedCompareExchange.
5943 (__gthread_mutex_unlock): Use InterlockedDecrement and
5944 ReleaseSemaphore to unlock
5945 * config/i386/gthr-win32.c (__gthread_mutex_init_function,
5946 __gthread_mutex_lock, __gthread_mutex_trylock,
5947 __gthread_mutex_unlock): Adjust to match inline versions in
5948 gthr-win32.h.
5949
70301b45
PB
59502004-04-27 Paul Brook <paul@codesourcery.com>
5951
5952 * config/arm/arm.c (arm_promote_prototypes): New function.
5953 (TARGET_PROMOTE_PROTOTYPES): Use it.
5954
4b763d77
PB
59552004-04-27 Paul Brook <paul@codesourcery.com>
5956
5957 * config/arm/arm.c (arm_expand_epilogue): Count blocks of 4 regs.
5958
7053a0e2
BG
59592004-04-26 Bernard Giroud <bgiroud@free.fr>
5960
5961 * config/alpha.c (alpha_end_function): For OpenVMS gas,
5962 correctly output .pdesc directive before .end.
5963
6d7870d1
JW
59642004-04-26 James E Wilson <wilson@specifixinc.com>
5965
5966 Bug 14927
5967 * config/ia64/ia64.md (movxf): New local op0. Handle case where
5968 operands[0] is a SUBREG. Handle case where operands[1] is a GR reg.
5969
7dd7fb88
ZW
59702004-04-26 Zack Weinberg <zack@codesourcery.com>
5971
5972 * config/ia64/hpux.h: Predefine __STDCPP__ when compiling C++.
5973 * config/pa/pa-hpux10.h: Likewise.
5974 * config/pa/pa-hpux11.h: Likewise.
5975
488061c8
GK
59762004-04-26 Geoffrey Keating <geoffk@apple.com>
5977
5978 * doc/invoke.texi (Overall Options): Document default for -o
5979 for PCH files.
5980
2b92e7f5
RK
59812004-04-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5982
5983 * builtins.c (expand_builtin_update_setjmp_buf): New function.
5984 (expand_builtin, case BUILT_IN_UPDATE_SETJMP_BUF): New case.
5985 * builtins.def (BUILT_IN_UPDATE_SETJMP_BUF): New code.
5986
3657dc3e
PB
59872004-04-26 Paul Brook <paul@codesourcery.com>
5988
5989 * config/arm/arm.c (arm_legitimate_index_p): Correct iwmmxt offsets.
5990
778ebdd9
PB
59912004-04-26 Paul Brook <paul@codesourcery.com>
5992
5993 * config/arm/arm.c (arm_legitimate_index_p): Correct maverick offsets.
5994
7c95f621
RS
59952004-04-25 Roger Sayle <roger@eyesopen.com>
5996
5997 * fold-const.c (fold): Prefer fold_convert (negate_expr (...)) to
5998 fold (build1 (NEGATE_EXPR, ...)). Optimize X / -1 as -X and
5999 X % -1 as 0.
6000
29c246a7
HPN
60012004-04-26 Hans-Peter Nilsson <hp@bitrange.com>
6002
6003 PR bootstrap/15141
6004 * except.c (connect_post_landing_pads): Delete insns after the
6005 barrier when generating a unwind_resume_libfunc call.
6006
95df09f0
RK
60072004-04-25 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6008
6009 PR/c++ 15119
6010 * tree.c (substitute_placeholder_in_expr, case 4): New case,
6011 for TARGET_EXPR.
6012
60132004-04-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
060c5f00
ZD
6014
6015 * gcov-io.h (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle,
6016 __gcov_execv, __gcov_execvp, __gcov_execve): Do not declare when
6017 inhibit_libc is defined.
6018
39ba1719
RS
60192004-04-25 Richard Sandiford <rsandifo@redhat.com>
6020
6021 * config/mips/mips-protos.h (mips_linked_macc_p): Declare.
6022 * config/mips/mips.h (TUNE_MACC_CHAINS): New macro.
6023 * config/mips/mips.c (TARGET_SCHED_REORDER): Define.
6024 (TARGET_SCHED_VARIABLE_ISSUE): Define.
6025 (mips_adjust_cost): Move later in file, next to other sched hooks.
6026 (mips_macc_chains_last_hilo): New variable.
6027 (mips_linked_madd_p, mips_macc_chains_record, mips_macc_chains_reorder)
6028 (mips_promote_ready, mips_sched_reorder, mips_variable_issue): New.
6029 * config/mips/mips.md (may_clobber_hilo): New attribute.
6030
d3535e80
RS
60312004-04-24 Roger Sayle <roger@eyesopen.com>
6032 Bruce Korb <bkorb@gnu.org>
6033
6034 * fixinc/inclhack.def (aix_syswait_2): New fix.
6035 * fixinc/fixincl.x: Regenerate.
6036 * fixinc/tests/base/sys/wait.h: Update for new test.
6037
44688022
AM
60382004-04-24 Alan Modra <amodra@bigpond.net.au>
6039
6040 PR target/14960
6041 * config/rs6000/rs6000.c (rs6000_stack_info): Rename total_raw_size
6042 to non_fixed_size, and leave out fixed_size from the sum.
6043 (generate_set_vrsave): Correct clobbers.
6044 (rs6000_emit_epilogue): Test TARGET_ALTIVEC with TARGET_ALTIVEC_SAVE.
6045 (rs6000_function_value): Test TARGET_ALTIVEC and TARGET_ALTIVEC_ABI.
6046 (rs6000_libcall_value): Likewise.
6047 * config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Likewise.
6048 (FUNCTION_ARG_REGNO_P): Likewise.
6049
77278891
UW
60502004-04-24 Ulrich Weigand <uweigand@de.ibm.com>
6051
6052 * expmed.c (expand_mult_highpart_adjust): Do not assume OP1
6053 is a CONST_INT.
6054 (expand_mult_highpart_optab): Call expand_mult_highpart_adjust
6055 with NARROW_OP1 instead of OP1.
6056
170f9e63
UW
60572004-04-24 Ulrich Weigand <uweigand@de.ibm.com>
6058
6059 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for __s390__
6060 and __s390x__ hosts.
6061
d1c38823
ZD
60622004-03-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6063
6064 * Makefile.in (LIBGCOV): Add _gcov_fork, _gcov_execl, _gcov_execlp,
6065 _gcov_execle, _gcov_execv, _gcov_execvp, _gcov_execve.
6066 * builtin-types.def (BT_PID, BT_PTR_CONST_STRING, BT_FN_PID,
6067 BT_FN_INT_CONST_STRING_PTR_CONST_STRING,
6068 BT_FN_INT_CONST_STRING_PTR_CONST_STRING_PTR_CONST_STRING): New.
6069 * builtins.c (expand_builtin_fork_or_exec): New.
6070 (expand_builtin): Call it.
6071 * builtins.def (BUILT_IN_EXECL, BUILT_IN_EXECLP,BUILT_IN_EXECLE,
6072 BUILT_IN_EXECV, BUILT_IN_EXECVP, BUILT_IN_EXECVE, BUILT_IN_FORK): New.
6073 * c-common.c (PID_TYPE): New macro.
6074 (c_common_nodes_and_builtins): Initialize pid_type_node.
6075 * calls.c (special_function_p): Do not handle fork and exec.
6076 (expand_call): Do not handle ECF_FORK_OR_EXEC.
6077 * gcov-io.h (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle,
6078 __gcov_execv, __gcov_execvp, __gcov_execve): Declare.
6079 * libgcov.c (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle,
6080 __gcov_execv, __gcov_execvp, __gcov_execve): New.
6081 * tree.h (enum tree_index): Add TI_PID_TYPE.
6082 (pid_type_node): New macro.
6083 (ECF_FORK_OR_EXEC): Removed.
6084
1548580c
EB
60852004-04-23 Eric Botcazou <ebotcazou@libertysurf.fr>
6086
6087 PR optimization/13985
6088 * cfgloopmanip.c (fix_loop_placements): New prototype.
6089 Call fix_bb_placements on the preheader of loops that have
6090 been reparented.
6091 (remove_path): Adjust call to fix_loop_placements.
6092
9b2d02a0
AP
60932004-04-23 Andrew Pinski <pinskia@physics.uc.edu>
6094
6095 * config/darwin7.h: New file.
6096 * config.gcc (*-*-darwin*): Add darwin7.h if the
6097 version is greater than 6.
6098 * config/darwin.h (TARGET_C99_FUNCTIONS): Define.
6099 (MATH_LIBRARY): Wrap in ifdefs.
6100
01d4c813
DJ
61012004-04-23 Daniel Jacobowitz <drow@mvista.com>
6102
6103 * config/arm/arm.c (arm_output_epilogue): Reverse the order of
6104 loading iWMMXt registers with a frame pointer. Use post-increment
6105 without a frame pointer.
6106 (arm_expand_prologue): Reverse the order of saving iWMMXt registers.
6107
7797ff53
PB
61082004-04-23 Paolo Bonzini <bonzini@gnu.org>
6109
6110 * doc/invoke.texi (Optimize Options): Refer to "unit-at-a-time
6111 mode" rather than "-funit-at-a-time" since -O2 enables it
6112 without requiring -f* options. Refer to -fprofile-generate and
6113 -fprofile-use correctly. Move -funit-at-a-time among options
6114 enabled by -O. Add information about unit-at-a-time caveats.
6115
500bee0a
PB
61162004-04-22 Per Bothner <per@bothner.com>
6117
6118 * line-map.h (struct line_maps): New field highest_line.
6119 (linemap_position_for_column): Make non-inline function.
6120 (LINEMAP_POSITION_FOR_COLUMN): New macro.
6121 * line-map.c (linemap_init): Clear highest_line field.
6122 (linemap_add): Set highest_line field.
6123 (linemap_line_start): Minor optimization - use highest_line field.
6124 Reduce maximum column hint to 10000. Update highest_line field.
6125 (linemap_position_for_column): Moved from line-map.h. Optimize a bit.
6126 * cpphash.h (struct cpp_reader): Remove line field - instead use
6127 line_table->highest_line.
6128 (saved_line): Remove unused field.
6129 (CPP_INCREMENT_FILE): Don't do linemap_lookup - just use newest map.
6130 Use line_table's highest_line field instead of cpp_reader's line.
6131 * cpplib.c (start_directive): Likewise use highest_line field.
6132 (do_line, do_linemarker): Likewise just use newest map.
6133 (_cpp_do_file_change): Don't need to set cpp_reader's line field.
6134 * cpperror.c (cpp_error): Likewise use highest_line field.
6135 * cppfiles.c (open_file_failed: Likewise.
6136 (cpp_make_system_header): Likewise use newest map and highest_line.
6137 * cppinit.c (cpp_create_reader): Don't initialize removed field.
6138 * cpplex.c (_cpp_process_line_notes, _cpp_skip_block_comment,
6139 skip_line_comment, skip_whitespace, _cpp_get_fresh_line,
6140 _cpp_lex_direct): Likewise use highest_line.
6141 (_cpp_lex_direct): Use new LINEMAP_POSITION_FOR_COLUMN macro.
6142 * cppmacro.c (_cpp_builtin_macro_text): Likewise use highest_line,
6143 and use newest map.
6144 * cpppch.c (cpp_read_state): Don't save+restore cpp_reader's line.
6145 * cpptrad.c (_cpp_overlay_buffer): Don't save cpp_reader's line.
6146 (copy_comment, _cpp_scan_out_logical_line): Likewise use highest_line.
6147
8efcd34f
AM
61482004-04-23 Alan Modra <amodra@bigpond.net.au>
6149
9344fdb9 6150 PR bootstrap/14992
8efcd34f
AM
6151 * gcc.c (init_gcc_specs): Test USE_LD_AS_NEEDED, not HAVE_LD_AS_NEEDED.
6152 * config/linux.h (USE_LD_AS_NEEDED): Define.
6153 * gcc/config/alpha/linux.h (USE_LD_AS_NEEDED): Define.
6154 * gcc/config/arm/linux-elf.h (USE_LD_AS_NEEDED): Define.
6155 * gcc/config/rs6000/linux.h (USE_LD_AS_NEEDED): Define.
6156 * gcc/config/rs6000/linux64.h (USE_LD_AS_NEEDED): Define.
6157 * gcc/config/sh/linux.h (USE_LD_AS_NEEDED): Define.
6158 * gcc/config/sparc/linux.h (USE_LD_AS_NEEDED): Define.
6159 * gcc/config/sparc/linux64.h (USE_LD_AS_NEEDED): Define.
6160
3092d0fc
PB
61612004-04-22 Per Bothner <per@bothner.com>
6162
6163 * cppinit.c (cpp_read_main_file): Return NULL rather than false.
6164 Fixes PR preprocessor/15067.
6165
e203404e
AS
61662004-04-23 Andreas Schwab <schwab@suse.de>
6167
6168 * config/ia64/ia64intrin.h: Add intermediate cast to void * to
6169 avoid aliasing warning.
6170
bade3a00 61712004-04-22 Jan Hubicka <jh@suse.cz>
bdabb153 6172 Mostafa Hagog <mustafa@il.ibm.com>
bade3a00
JH
6173
6174 * cfgloopmanip.c (scale_bbs_frequencies): Use RDIV macro
6175 * cfgloopanal.c (expected_loop_iterations): Change the return value
6176
fb5d4a68
JJ
61772004-04-22 Jakub Jelinek <jakub@redhat.com>
6178
6179 * cselib.h (struct elt_loc_list): Remove canon_loc field.
6180 * cselib.c (new_elt_loc_list): Remove canon_loc initialization.
6181 (cselib_invalidate_mem): Remove all canon_loc and canon_x
6182 traces.
6183
b10e5b3a
JZ
61842004-04-22 Josef Zlomek <zlomekj@suse.cz>
6185
6186 Revert
6187 2004-04-20 Josef Zlomek <zlomekj@suse.cz>
6188
6189 * var-tracking.c (variable_part_different_p): Variable parts
6190 differ when the most recent locations differ.
6191
827555ea
RS
61922004-04-22 Richard Sandiford <rsandifo@redhat.com>
6193
6194 * doc/invoke.texi: Remove the MIPS -membedded-pic option.
6195 * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): Delete.
6196 (embedded_pic_offset): Delete.
6197 * config/mips/mips.h (MASK_EMBEDDED_PIC): Delete. Shuffle other
6198 MASK_* constants.
6199 (TARGET_EMBEDDED_PIC): Delete.
6200 (TARGET_SWITCHES): Remove -m{no-,}embedded-pic.
6201 (ASM_SPEC): Remove -membedded-pic.
6202 (ASM_OUTPUT_ADDR_DIFF_ELT): Remove embedded-pic handling.
6203 (ASM_OUTPUT_CASE_LABEL): Likewise.
6204 * config/mips/vxworks.h (ASM_SPEC): Remove -membedded-pic.
6205 * config/mips/windiss.h (ASM_SPEC): Likewise.
6206 * config/mips/mips.c (struct machine_function): Remove
6207 embedded_pic_fnaddr_rtx.
6208 (TARGET_ENCODE_SECTION_INFO): Remove override.
6209 (embedded_pic_fnaddr_reg, embedded_pic_offset): Delete.
6210 (override_options): Remove -membedded-pic handling.
6211 (print_operand): Remove handling of '%S'.
6212 (mips_select_section: Remove -membedded-pic handling.
6213 (mips_encode_section_info): Delete.
6214 (mips_output_conditional_branch): Remove mention of -membedded-pic.
6215 * config/mips/mips.md (define_attr length, movsi, movdi, jump): Remove
6216 -membedded-pic handling.
6217 (casesi, casesi_internal, casesi_internal_di, get_fnaddr): Delete.
6218
00ca716b
AM
62192004-04-22 Alan Modra <amodra@bigpond.net.au>
6220
6221 * var-tracking.c (frame_base_decl): Remove useless GTY.
6222
e4463bf1
AH
62232004-04-21 Aldy Hernandez <aldyh@redhat.com>
6224
6225 * config/rs6000/rs6000.c (rs6000_override_options): Error when
6226 user wants altivec and e500 instructions.
6227
e24e0aa7
L
62282004-04-21 H.J. Lu <hongjiu.lu@intel.com>
6229
6230 PR target/14813
6231 * config/ia64/crtend.asm: Move pointer to __do_global_ctors_aux
6232 in .init_array section to ...
6233 * config/ia64/crtbegin.asm: Here.
6234
6235 * config/ia64/crtend.asm: Mark __do_global_ctors_aux global
6236 and hidden if HAVE_INITFINI_ARRAY is defined.
6237
cb7761f5
JW
62382004-04-21 James E Wilson <wilson@specifixinc.com>
6239
50d32cf6
JW
6240 * config/mips/mips-protos.h (fp_register_operand, lo_operand): Declare.
6241 * config/mips/mips.c (mips_multipass_dfa_lookahead): Declare.
6242 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): New.
6243 (fp_register_operand, lo_operand): New.
6244 (mips_rtx_costs): Add TUNE_SB1 support.
6245 (mips_issue_rate): Add comment. Add PROCESSOR_SB1 support.
6246 (mips_use_dfa_pipeline_interface): Add PROCESSOR_SB1 support.
6247 (mips_multipass_dfa_lookahead): New.
6248 * config/mips/mips.h (MASK_FP_EXCEPTIONS, TARGET_FP_EXCEPTIONS,
6249 TUNE_SB1): New.
6250 (TARGET_SWITCHES): Add -mfp-exceptions support.
6251 (TARGET_FP_EXCEPTIONS_DEFAULT): New.
6252 (BRANCH_COST): Fix whitespace.
6253 * config/mips/mips.md: Include sb1.md.
6254 * config/mips/sb1.md: New file.
6255 * doc/invoke.texi: Document -mfp-exceptions.
6256
cb7761f5
JW
6257 * Makefile.in (fixinc.sh): Don't set or export WARN_CFLAGS. Fix
6258 comment.
6259 * fixinc/Makefile.in (FL_LIST): Don't mention WARN_CFLAGS.
6260 (fixincl.o-warn): Delete.
6261
a031e781
AP
62622004-04-21 Andrew Pinski <pinskia@physics.uc.edu>
6263
6264 * config/rs6000/rs6000 (print_operand) ['z']:
6265 Change ifdef of TARGET_MACHO to if TARGET_MACHO.
6266
06a6469a
DJ
62672004-04-21 Daniel Jacobowitz <drow@mvista.com>
6268
6269 * config.gcc: Support --with-arch=iwmmxt for ARM.
6270
665acd1e
RK
62712004-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6272
6273 * expmed.c (expand_mult_highpart_optab): Use narrower version of OP1
6274 in two more places; remove unneeded force_reg
6275
f9da97f0
AP
62762004-04-21 Andrew Pinski <pinskia@physics.uc.edu>
6277
6278 * config/rs6000/rs6000.c (symbol_ref_operand): Remove hack
6279 for TARGET_MACHO.
6280 (print_operand): For TARGET_MACHO check to see if we need a stub
6281 and output one if we need it.
de3c6d93
AP
6282
6283 PR debug/15033
6284 * dwarf2out.c (rtl_for_decl_location): Check for NULL
6285 rtl.
6286
75293ad6
JW
62872004-04-20 James E Wilson <wilson@specifixinc.com>
6288
6289 * config/ia64/ia64.md (call_value_nogp): Add constraints for op0.
6290 (vall_value_gp): Likewise.
6291
8b495402 62922004-04-20 DJ Delorie <dj@redhat.com>
7dd7fb88 6293
8b495402
DD
6294 * dwarf2out.c (rtl_for_decl_location): Adjust rtl for byte
6295 variables stored in word registers, then in memory.
6296
77a705e4
EC
62972004-04-20 Eric Christopher <echristo@redhat.com>
6298
6299 * cp/parser.c (cp_parser_declaration): Move translate
6300 up before tokens are lexed.
6301
c56122d8
UB
63022004-04-20 Uros Bizjak <uros@kss-loka.si>
6303
6304 * optabs.h (enum optab_index): Add new OTI_asin and OTI_acos.
6305 (asin_optab, acos_optab): Define corresponding macros.
6306 * optabs.c (init_optabs): Initialize asin_optab and acos_optab.
6307 * genopinit.c (optabs): Implement asin_optab and acos_optab
6308 using asin?f2 and acos?f2 patterns.
6309 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_ASIN{,F,L}
6310 using asin_optab, and BUILT_IN_ACOS{,F,L} using acos_optab.
6311 (expand_builtin): Expand BUILT_IN_ASIN{,F,L} and BUILT_IN_ACOS{,F,L}
6312 using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
6313
6314 * config/i386/i386.md (asindf2, asinsf2, asinxf2, acosdf2,
6315 acossf2, acosxf2): New expanders to implement asin, asinf, asinl,
6316 acos, acosf and acosl built-ins as inline x87 intrinsics.
6317
386d3a16
PB
63182004-04-20 Paul Brook <paul@codesourcery.com>
6319
6320 * config/arm/arm.c (arm_legitimate_address_p): Use rtx_equal_p.
6321
7aebacee
PB
63222004-04-20 Paul Brook <paul@codesourcery.com>
6323
6324 * config/arm/arm.c (arm_expand_prologue): Fix size calculation.
6325
a7b1dc36
PB
63262004-04-20 Paolo Bonzini <bonzini@gnu.org>
6327
6328 Revert part of 2004-04-17 change that moved -frename-registers
6329 to -O1. -frename-registers is buggy.
6330
6331 * toplev.c (flag_rename_registers): Initialize to 0.
6332 * doc/invoke.texi (Optimize options): Move -frename-registers
6333 to "Not triggered by any -O level" section. Adjust commentary
6334 accordingly.
77a705e4 6335
1548580c 63362004-04-20 Anil Paranjpe <anilp1@kpitcummins.com>
57bef48e
AP
6337
6338 * toplev.c (compile_file): Move targetm.asm_out.file_end call to end.
6339
169304de
RS
63402004-04-20 Richard Sandiford <rsandifo@redhat.com>
6341
6342 * config/mips/mips.c (mips_legitimize_move): Generate special patterns
6343 for mflo and mfhi instructions.
6344 (mips_output_move): Remove mflo and mfhi handling.
6345 * config/mips/mips.md (UNSPEC_MFHILO): New unspec.
6346 (*mulsidi3_64bit): Update for new mfhi/mflo representation.
6347 Likewise various define_peephole2s.
6348 (*movdi_32bit, *movdi_64bit, *movsi_internal): Merge x<-J and x<-d
6349 alternatives.
6350 (*movdi_64bit, *movdi_64bit_mips16, *mov[shq]i_internal)
6351 (*mov[shq]i_mips16): Remove mflo and mfhi alternatives.
6352 (mfhilo_di, mfhilo_si): New patterns.
6353
c6ca23fb
JZ
63542004-04-20 Josef Zlomek <zlomekj@suse.cz>
6355
6356 * function.c (assign_parms): Force
6357 MEM_EXPR (DECL_INCOMING_RTL (parm)) == parm.
6358
6f615a28
JZ
63592004-04-20 Josef Zlomek <zlomekj@suse.cz>
6360
6361 * var-tracking.c (variable_part_different_p): Variable parts differ
6362 when the most recent locations differ.
6363
a1bac22c
JW
63642004-04-19 James E Wilson <wilson@specifixinc.com>
6365
6366 * rtl.h (reg_set_last): Delete declaration.
6367 * rtlanal.c (reg_set_last): Delete.
6368
e419fe91
RS
63692004-04-19 Roger Sayle <roger@eyesopen.com>
6370
6371 * fold-const.c (fold_convert): Make function extern/public.
6372 * tree.h (fold_convert): Prototype here.
6373 * builtins.c (expand_builtin_strstr, expand_builtin_strchr,
6374 expand_builtin_strrchr, expand_builtin_strpbrk,
6375 expand_builtin_mempcpy, expand_builtin_bcopy,
6376 expand_builtin_bzero, expand_builtin_memcmp,
6377 expand_builtin_strcmp, expand_builtin_strncmp,
6378 stabilize_va_list, expand_builtin_sprintf,
6379 fold_trunc_transparent_mathfn, fold_builtin_logarithm,
6380 fold_builtin_exponent, fold_builtin_mempcpy,
6381 fold_builtin_strcpy, fold_builtin_strcmp, fold_builtin_strncmp,
6382 fold_builtin_signbit, fold_builtin_isdigit, fold_builtin): Prefer
6383 fold_convert to "convert" or "fold (build1 (NOP_EXPR, ...))".
6384
423c1189
AH
63852004-04-19 Aldy Hernandez <aldyh@redhat.com>
6386
7dd7fb88
ZW
6387 * config/rs6000/rs6000.md (UNSPEC_MV_CR_GT): New constant.
6388 (move_from_CR_gt_bit): New.
6389 (cceq_ior_compare): Name previously unnamed pattern. Disable for
6390 E500.
6391 (cceq_rev_compare): Name previously unnamed pattern. Allow for
6392 E500.
6393
6394 * config/rs6000/spe.md (cmpsfeq_gpr): Rewrite as unspec.
6395 (tstsfeq_gpr): Same.
6396 (cmpsfgt_gpr): Same.
6397 (tstsfgt_gpr): Same.
6398 (cmpsflt_gpr): Same.
6399 (tstsflt_gpr): Same.
6400 (e500_cceq_ior_compare): New.
6401 (e500_flip_gt_bit): New.
6402
6403 * config/rs6000/rs6000.c (ccr_bit): Remove E500 specific code.
6404 (print_operand): Add 'c' and 'D'.
6405 (rs6000_generate_compare): Rewrite to generate correct rtl.
6406 (rs6000_emit_sCOND): Handle E500.
6407 (output_cbranch): Adjust for changes in rs6000_generate_compare.
6408 (output_e500_flip_gt_bit): New.
6409
6410 * config/rs6000/rs6000-protos.h (output_e500_flip_gt_bit):
6411 Protoize.
423c1189 6412
d2beeae7
EC
64132004-04-19 Eric Christopher <echristo@redhat.com>
6414
6415 * config/mips/mips.h (DWARF2_ADDR_SIZE): New.
6416
06e7f299
DE
64172004-04-19 David Edelsohn <edelsohn@gnu.org>
6418
6419 * doc/install.texi (*-ibm-aix*): Add AIX 5.1 assembler and archiver
6420 fix information.
d2beeae7 6421
8df5a2b4
RO
64222004-04-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6423
6424 * doc/install.texi (Specific, mips-sgi-irix5): Fix IRIX 5.3 IDO
6425 download URL.
6426
9ca75f15
DJ
64272004-04-19 Daniel Jacobowitz <drow@mvista.com>
6428
6429 * stor-layout.c (layout_decl): Check DECL_PACKED before calling
6430 ADJUST_FIELD_ALIGN. Check maximum_field_alignment after.
6431
4b493aa5
AP
64322004-04-19 Andrew PInski <pinskia@physics.uc.edu>
6433
66a5d24b
AP
6434 * builtins.c (fold_builtin_cabs): Remove fndecl parameter.
6435 (fold_builtin): Update caller to match.
6436
4b493aa5
AP
6437 PR bootstrap/15009
6438 * bb-reorder.c (fix_up_fall_thru_edges): Init cond_jump.
6439
6440 PR bootstrap/14999
6441 * builtins.c (fold_builtin_cabs): Mark fndecl as unused.
6442
3d8f2528
RK
64432004-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6444
a3d71605
RK
6445 * varasm.c (compare_constant, case VIEW_CONVERT_EXPR): Add case.
6446
3d8f2528
RK
6447 * expmed.c (expand_mult_highpart_adjust): Make OP1 valid for MODE.
6448 (expand_mult_highpart_optab): Likewise.
6449 (expand_mult_highpart): Make OP1 valid for WIDER_MODE, not MODE.
6450
6f6c1f6d
PB
64512004-04-19 Paul Brook <paul@codesourcery.com>
6452
6453 * config/arm/arm.md (fixuns_truncsfsi2, fixuns_truncdfsi2,
6454 floatunssisf2, floatunssidf2): New patterns.
6455
fea77ed9
MM
64562004-04-18 Mark Mitchell <mark@codesourcery.com>
6457
33adcb6c
MM
6458 PR other/14918
6459 * doc/invoke.texi (-fprofile-generate): Document requirement to
6460 use -fprofile-generate when linking.
6461
fea77ed9
MM
6462 * doc/extend.texi (Strong Using): Warn users against using this
6463 feature.
6464
76cbf5bf
RS
64652004-04-18 Richard Sandiford <rsandifo@redhat.com>
6466
6467 * config/mips/mips-protos.h (m16_usym8_4, m16_usym5_4): Delete.
6468 * config/mips/mips.h (mips_entry, mips_string_length): Delete.
6469 (CONSTANT_POOL_BEFORE_FUNCTION, ASM_OUTPUT_POOL_EPILOGUE): Undefine.
6470 * config/mips/mips.c (struct mips16_constant): Renamed from struct
6471 constant. Propogate change throughout file.
6472 (struct machine_function): Remove insns_len.
6473 (mips_string_length, mips16_strings, string_constants): Delete.
6474 (mips_classify_symbol): Return SYMBOL_CONSTANT_POOL for LABEL_REFs
6475 when generating mips16 code. Remove special mips16 treatment of
6476 string constants.
6477 (mips_symbolic_constant_p): Allow mips16 constant pool accesses
6478 to have the form LABEL+CONSTANT.
6479 (mips_symbolic_address_p): Fix comment.
6480 (m16_usym8_4, m16_usym5_4): Delete.
6481 (mips_output_function_epilogue): Remove mips16 string handling.
6482 (mips_output_mi_thunk): Call mips16_lay_out_constants.
6483 (mips_select_section, mips_encode_section_info): Remove mips16
6484 string handling.
6485 (struct mips16_constant_pool): New.
6486 (add_constant): Take a mips16_constant_pool structure. Keep pool
6487 sorted into order of ascending mode size. Keep track of the highest
6488 possible start address, taking padding and the masking of the base PC
6489 value into account.
6490 (dump_constants_1): New function, split out from dump_constants.
6491 Handle vector constants. Use gen_consttable_{int,float} rather than
6492 separate functions for each mode.
6493 (dump_constants): Simplify. Use GET_MODE_ALIGNMENT. Use gen_align
6494 rather than separate functions for each alignment.
6495 (mips_find_symbol): Delete.
6496 (mips16_insn_length): New function, split out from
6497 mips16_lay_out_constants.
6498 (mips16_rewrite_pool_refs): New function.
6499 (mips16_lay_out_constants): Rework. Remove string handling.
6500 Always create an inline constant pool.
6501 * config/mips/mips.md (UNSPEC_CONSTTABLE_INT, UNSPEC_CONSTTABLE_FLOAT)
6502 (UNSPEC_ALIGN): New constants.
6503 (UNSPEC_CONSTTABLE_[QHSD]I, UNSPEC_CONSTTABLE_[SD]F): Delete.
6504 (UNSPEC_ALIGN_[248]): Delete.
6505 (consttable_int, consttable_float, align): New patterns.
6506 (consttable_[qhsd]i, consttable_[sd]f, align_[248]): Delete.
6507
8d33585c
AH
65082004-04-17 Aldy Hernandez <aldyh@redhat.com>
6509
6510 * config/rs6000/altivec.h (vec_any_numeric): Correct typo in
6511 __unn_args_eq.
6512
03e007d7
AM
65132004-04-17 Alan Modra <amodra@bigpond.net.au>
6514
6515 PR target/14715
6516 * config/rs6000/rs6000.c (rs6000_stack_info): Make parm_size agree
6517 with STARTING_FRAME_OFFSET.
6518
3bd06df7
RS
65192004-04-17 Richard Sandiford <rsandifo@redhat.com>
6520
6521 * config/mips/mips.h (PREDICATE_CODES): Add macc_msac_operand.
6522 * config/mips/mips.c (macc_msac_operand): New function.
6523 * config/mips/mips.md (*msac): Move after *macc.
6524 (*msac2): New. Generalize macc-related peepholes so that they apply
6525 to msac too.
6526
38d396e5
PB
65272004-04-17 Paolo Bonzini <bonzini@gnu.org>
6528
6529 * opts.c (decode_options): Do not enable flag_rename_registers
6530 and flag_web at -O3.
6531 * toplev.c (flag_rename_registers): Initialize
6532 flag_rename_registers and flag_web to
6533 AUTODETECT_FLAG_VAR_TRACKING.
6534 (default_debug_hooks): New global.
6535 (process_options): Initialize default_debug_hooks. Warn if
6536 -fvar-tracking specified but not supported by the current
6537 debug format. Do not run var tracking at -O0 or if not
6538 supported by the current debug format, even if
6539 -fvar-tracking was given. If -fno-rename-registers
6540 is not specified, always run register renaming if var
6541 tracking is supported by the default debugging information
6542 format for the target, and we are at -O1 or higher; similarly
6543 for -fweb, but only at -O2 or higher.
6544 * doc/invoke.texi (Optimize Options): Document this.
6545
82e923f6
RS
65462004-04-17 Richard Sandiford <rsandifo@redhat.com>
6547
6548 * configure.ac (gcc_cv_ld_as_needed): Use AC_CACHE_CHECK.
6549 * configure: Regenerate.
6550
f645e2bd
RS
65512004-04-17 Richard Sandiford <rsandifo@redhat.com>
6552
6553 * gcc.c (used_arg): Check whether an option has been removed.
6554
04db08db
RO
65552004-04-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6556
6557 * config.gcc (i[34567]86-*-solaris2*): Default to DWARF-2
6558 debugging on Solaris 7 and up.
6559
7e270317
RO
65602004-04-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6561
6562 * doc/install.texi (Specific, mips-sgi-irix5): Reflect working
6563 IRIX 5 port.
6564 Remove -save-temps workaround, handled automatically.
6565 Require GNU binutils 2.15 for debugging.
6566 Remove SGI make warnings since GNU make is now required.
6567 (Specific, mips-sgi-irix6): Some markup fixes.
6568 Describe MIPSpro C problems and workarounds.
6569 Mention working O32 ABI support.
6570 Recommend GNU as 2.15 for O32 with debugging.
6571 Remove description of fixed structure pass/return bug.
6572
2d49ce67
DD
65732004-04-16 DJ Delorie <dj@redhat.com>
6574
6575 * sdbout.c (sdbout_one_type): Use TYPE_VALUES for enums, not
6576 TYPE_FIELDS.
6577 (sdbout_finish): Don't free deferred_global_decls; it's GC'd.
6578
41067a2f
JDA
65792004-04-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6580
e6b75edc
JDA
6581 * pa.md: Remove unnecessary declarations for asm_out_file.
6582
7945b276
JDA
6583 * pa64-regs.h (DBX_REGISTER_NUMBER): Simplify and correct mapping of
6584 SAR register. Fix comment.
6585 (ADDITIONAL_REGISTER_NAMES): Correct register number of SAR register
6586 (%cr11).
6587
41067a2f
JDA
6588 * pa64-hpux.h (LIB_SPEC): Fix library specification used with GNU ld.
6589
c805f22e
NC
65902004-04-16 Nick Clifton <nickc@redhat.com>
6591
6592 * config/arm/arm.c (arm_override_options): Revert previous patch.
6593 * config/arm/t-xscale-elf: Disable iwmmxt multilibs until they can
6594 be safely built.
6595
7b14411a 65962004-04-16 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
8a897efe
KI
6597
6598 * config/m32r/m32r.h (BIG_ENDIAN_BIT): Deleted to fix endian
6599 bug.
6600 (TARGET_LITTLE_ENDIAN, TARGET_BIG_ENDIAN,
6601 TARGET_DEFAULT): Changed. Ditto.
6602 (LITTLE_ENDIAN_BIT, TARGET_CPU_DEFAULT,
6603 TARGET_ENDIAN_DEFAULT): Added. Ditto.
6604 * config/m32r/little.h (TARGET_LITTLE_ENDIAN): Deleted.
6605 (TARGET_ENDIAN_DEFAULT): Added.
6606
b069dd3f
KG
66072004-04-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6608
6609 * builtins.def (BUILT_IN_ISDIGIT, BUILT_IN_ISXDIGIT): Mark with
6610 ATTR_CONST_NOTHROW_LIST.
6611
df28deda
KG
66122004-04-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6613
6614 PR/middle-end 14915
6615 * builtins.c (expand_builtin_signbit): Test BYTES_BIG_ENDIAN, not
6616 BITS_BIG_ENDIAN.
6617
c87fbb0a
PH
66182004-04-15 Pat Haugen <pthaugen@us.ibm.com>
6619
6620 * ra-debug.c (ra_print_rtx): Add break's to case legs.
6621
ea7b98d0
JW
66222004-04-14 James E Wilson <wilson@specifixinc.com>
6623
6624 * Makefile.in (fixinc.sh): Set WARN_CFLAGS to empty string.
6625
69f9a345
NN
66262004-04-14 Nathanael Nerode <neroden@gcc.gnu.org>
6627
6628 * libada-mk.in: New file.
6629 * configure.ac: Create libada-mk from libada-mk.in.
6630 * configure: Regenerate.
6631
88b28a31
UB
66322004-04-14 Uros Bizjak <uros@kss-loka.si>
6633
6634 * optabs.h (enum optab_index): Add new OTI_logb and OTI_ilogb.
6635 (logb_optab, ilogb_optab): Define corresponding macros.
6636 * optabs.c (init_optabs): Initialize logb_optab and ilogb_optab.
6637 * genopinit.c (optabs): Implement logb_optab and ilogb_optab
6638 using logb?f2 and ilogb?i2 patterns.
6639 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LOGB{,F,L}
6640 using logb_optab, and BUILT_IN_ILOGB{,F,L} using ilogb_optab.
6641 (expand_builtin): Expand BUILT_IN_LOGB{,F,L} and BUILT_IN_ILOGB{,F,L}
6642 using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
6643
6644 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_XTRACT_FRACT
6645 and UNSPEC_XTRACT_EXP.
6646
6647 * config/i386/i386.md (*fxtractdf3, *fxtractsf3, *fxtractxf3): New
6648 patterns to implement fxtract x87 instruction.
6649 (logbdf2, logbsf2, logbxf2, ilogbsi2): New expanders to implement
6650 logb, logbf, logbl, ilogb, ilogbf and ilogbl built-ins as inline x87
6651 intrinsics.
6652 (UNSPEC_XTRACT_FRACT, UNSPEC_XTRACT_EXP): New unspecs to represent
6653 x87's fxtract insn.
6654
ec6e4092
EC
66552004-04-14 Eric Christopher <echristo@redhat.com>
6656
6657 * config/mips/t-elf: Enable multilibs by default.
6658
ef482a86
AT
66592004-04-14 Andreas Tobler <a.tobler@schweiz.ch>
6660
6661 * bb-reorder.c (fix_crossing_conditional_branches): Adjust the
6662 previous fix to check HAVE_return at runtime too.
6663
cd2b7af0
NC
66642004-04-14 Nick Clifton <nickc@redhat.com>
6665
6666 * config/arm/arm.c (arm_override_options): If the user has not
6667 specified an ABI, then default to AAPCS for the iWMMXt processor.
6668 * config/arm/t-xscale-elf: Remove redundant multilib specifications.
6669 * config/arm/t-xscale-coff: Likewise.
6670
61218d19
KG
66712004-04-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6672
6673 * builtins.c (fold_builtin_isdigit): New.
6674 (fold_builtin): Handle BUILT_IN_ISDIGIT.
6675 * defaults.h: Add TARGET_DIGIT0 and sort.
6676 * doc/tm.texi: Add TARGET_BS and TARGET_DIGIT0.
6677
a69934e0
KG
66782004-04-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6679
6680 * builtins.c (fold_builtin_cabs, fold_builtin): Use
6681 `mathfn_built_in' to determine the new builtin.
6682 * fold-const.c (fold): Likewise.
6683
74b9f2d5
RS
66842004-04-14 Richard Sandiford <rsandifo@redhat.com>
6685
6686 * doc/invoke.texi: Rename MIPS's -mfix-vr4122-bugs to -mfix-vr4120.
6687 * config/mips/mips.h (MASK_FIX_VR4120): Renamed from MASK_FIX_VR4122.
6688 (TARGET_FIX_VR4120): Likewise TARGET_FIX_VR4122.
6689 (TARGET_SWITCHES): Replace -mfix-vr4122-bugs with -mfix-vr4120.
6690 (ASM_SPEC): Update accordingly.
6691 * config/mips/mips.c: Update after above renaming.
6692 * config/mips/mips.md, config/mips/t-vr, config/mips/vr.h: Likewise.
6693 * config/mips/vr4120-div.S: Renamed from vr4122-div.S.
6694
540554f4
JW
66952004-04-13 James E Wilson <wilson@specifixinc.com>
6696
6697 * c-opt.c (c_common_post_options): If this_input_filename is NULL,
6698 increment errorcount and return false instead of true.
6699
a072d43b
UB
67002004-04-13 Uros Bizjak <uros@kss-loka.si>:
6701
6702 * optabs.c (expand_twoval_unop): Reorder function arguments.
6703 * builtins.c (expand_builtin_mathfn_3): Update calls to
6704 expand_twoval_unop.
6705
6706 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_TAN_ONE
6707 and UNSPEC_TAN_TAN. Add missing comment.
6708
6709 * config/i386/i386.md (*tandf3_1, *tansf3_1, *tanxf3_1): New
6710 patterns to implement fptan x87 instruction.
6711 (tandf2, tansf2, tanxf2): New expanders to implement tan, tanf
6712 and tanl built-ins as inline x87 intrinsics. Define corresponding
6713 peephole2 optimizers for 'fptan; fstp %st(0); fld1' sequence.
6714 (UNSPEC_TAN_ONE, UNSPEC_TAN_TAN): New unspecs to represent
6715 x87's fptan insn.
6716
b50b729d
RH
67172004-03-13 Richard Henderson <rth@redhat.com>
6718
6719 * bb-reorder.c (fix_crossing_unconditional_branches): Use Pmode
6720 for LABEL_REFs.
6721
3a4bdd05
RH
6722 * defaults.h (HOT_TEXT_SECTION_NAME): Add leading dot.
6723 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Likewise.
6724 * doc/invoke.texi: Update to match.
6725
73ad3de5
RH
6726 * varasm.c (unlikely_text_section): Use assemble_align instead of
6727 ASM_OUTPUT_ALIGN. Use it in the correct place with an approximately
6728 correct alignment argument.
6729
9532c14f
UW
67302004-04-13 Ulrich Weigand <uweigand@de.ibm.com>
6731
6732 * reload1.c (emit_reload_insns): Set reg_has_output_reload to one
6733 after setting reg_last_reload_reg for optional output reloads.
6734
3d3947a9
FJ
67352004-04-12 Fariborz Jahanian <fjahanian@apple.com>
6736
6737 * config/rs6000/altivec.h (vec_mergeh, vec_mergel):
6738 Definition of these two macros are corrected by adding
6739 matchine right paren.
6740
f778cbf0
JL
67412004-04-12 Jonathan Larmour <jifl@eCosCentric.com>
6742
6743 * fix-header.c: kill(), putenv() and tzset() are POSIX not ANSI.
6744
5ea9cb6e
RS
67452004-04-12 Roger Sayle <roger@eyesopen.com>
6746
6747 * config/i386/i386.c (output_387_reg_move): New function.
6748 * config/i386/i386-protos.h (output_387_reg_move): Prototype here.
6749 * config/i386/i386.md (*movsf_1, *movsf1_nointerunit,
6750 *movdf_nointeger, *movdf_integer, *movxf_nointeger, *movxf_integer,
6751 *extendsfdf2_1, *extendsfxf2_1, *extenddfxf2_1, truncdfsf2_noop,
6752 truncxfsf2_noop, truncxfdf2_noop): Call output_387_reg_move.
6753
1c9766da
RK
67542004-04-12 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6755
6756 * c-decl.c (finish_decl): Make a decl_stmt for a variable-sized
6757 TYPE_DECL.
6758 * c-semantics.c (genrtl_decl_stmt): Handle TYPE_DECL.
6759 * stmt.c (expand_decl): Remove redundant expansion of TYPE_DOMAIN.
6760 * stor-layout.c (variable_size): Don't check for MINUS_EXPR.
6761 Use skip_simple_arithmetic to find SAVE_EXPR.
6762 (force_type_save_exprs, force_type_save_exprs_1): New functions.
6763 * tree-inline.c (remap_type, case POINTER_TYPE, case REFERENCE_TYPE):
6764 Properly chain multiple pointers.
6765 (copy_tree_r): Copy a TYPE_DECL.
6766 * tree.c (variably_modified_type_p): Add some missing tests and
6767 make some other minor changes.
6768 * tree.h (force_type_save_exprs): New declaration.
6769
1e9b78b0
RS
67702004-04-12 Roger Sayle <roger@eyesopen.com>
6771
6772 * simplify-rtx.c (simplify_binary_operation) <UDIV, DIV, UMOD, MOD>:
6773 Remove fall throughs. Convert 0/x and 0%x into x&0 when x has
6774 side-effects. Don't convert x/1.0 into x if we honor signaling NaNs.
6775 Convert x/-1.0 into -x if we don't honor signaling NaNs. Convert
6776 x/-1 into -x. Optimize x%1 into x&0 if x has side-effects. Optimize
6777 x%-1 into 0 (or x&0 if x has side-effects).
6778
fef98bf2
AH
67792004-04-11 Aldy Hernandez <aldyh@redhat.com>
6780
6781 * config/rs6000/rs6000.md: Document why a pattern is not
6782 available.
6783
6784 * config/rs6000/rs6000.c (rs6000_emit_cmove): Disable comparisons
6785 of floats on the E500.
6786 (branch_positive_comparison_operator): Do not allow NE even on the
6787 E500.
6788
642af3be
AH
67892004-04-11 Aldy Hernandez <aldyh@redhat.com>
6790
6791 * config/rs6000/rs6000.c (rs6000_assemble_integer): Change
6792 in_text_unlikely_section to in_unlikely_text_section.
6793
b3e65ebb
RS
67942004-04-11 Roger Sayle <roger@eyesopen.com>
6795
6796 * fold-const.c (fold_binary_op_with_conditional_arg): Tweak
6797 calling convention to allow a NULL_TREE to be returned. Factor
6798 sanity checks from callers, return NULL_TREE when appropriate.
6799 (fold): Handle COMPOUND_EXPR operands of binary expressions
6800 before COND_EXPR operands. Use reorder_operands_p(a,b) to check
6801 whether a op (b,c) can be rewritten as (b, a op c). Simplify
6802 calls to fold_binary_op_with_conditional_arg.
6803
19d33948
KG
68042004-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6805
6806 * config/mips/iris5.h (current_section_flags): Add
6807 in_unlikely_executed_text and default case.
6808
cf22ce3c
AT
68092004-04-11 Andreas Tobler <a.tobler@schweiz.ch>
6810
6811 * bb-reorder.c (fix_crossing_conditional_branches): Fix bootstrap
6812 failure on solaris. Place ifdef HAVE_return around gen_ret call.
6813 * cfgrtl.c (force_nonfallthru_and_redirect): Remove ifdef
6814 HAVE_return and place it around the place where it is needed.
6815
34982294
AP
68162004-04-11 Andrew Pinski <pinskia@physics.uc.edu>
6817
6818 * varasm.c (text_section): Use TEXT_SECTION_ASM_OP and
6819 ASM_OUTPUT_ALIGN instead of SECTION_FORMAT_STRING
6820 and NORMAL_TEXT_SECTION_NAME.
6821 (unlikely_text_section): Check targetm.have_named_sections
6822 instead of TARGET_ASM_NAMED_SECTION and use TEXT_SECTION_ASM_OP
6823 instead of SECTION_FORMAT_STRING.
6824 * config/mips/iris5.h (current_section_name): Add
6825 in_unlikely_executed_text case and move the abort into the switch.
6826 * config/rs6000/sysv4.h (HOT_TEXT_SECTION_NAME): Remove.
6827 (NORMAL_TEXT_SECTION_NAME): Remove.
6828 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
6829 (SECTION_FORMAT_STRING): Remove.
6830 * defaults.h (SECTION_FORMAT_STRING): Remove.
6831 * tm.texi (NORMAL_TEXT_SECTION_NAME): Remove.
6832 (SECTION_FORMAT_STRING): Remove.
6833
c7e1876b
JM
68342004-04-10 Joseph S. Myers <jsm@polyomino.org.uk>
6835
6836 * c-typeck.c (common_type): Prefer long long to long when same
6837 precision.
6838
7c3ac422
ZW
68392004-04-09 Zack Weinberg <zack@codesourcery.com>
6840
6841 PR 14887
6842 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Look only at
6843 mode argument.
6844 * config/ia64/ia64.c (ia64_hpux_file_end): Check
6845 TREE_SYMBOL_REFERENCED on DECL_ASSEMBLER_NAME, not DECL_NAME.
6846
0b24db88
RS
68472004-04-09 Roger Sayle <roger@eyesopen.com>
6848
6849 * simplify-rtx.c (mode_signbit_p): New function to check whether
6850 an RTX is an immediate constant that represents the most significant
6851 bit of a given machine mode.
6852 (simplify_unary_operation) <NOT>: Optimize ~(X+C) as X ^ ~C, where
6853 C is the sign bit.
6854 (simplify_binary_operation) <PLUS>: Optimize (X^C1) + C2 as X^(C1^C2)
6855 when C2 is the sign bit.
6856 (simplify_binary_operation) <XOR>: Canonicalize X^C as X+C when C
6857 is the sign bit. Optimize (X+C1) ^ C2 as X^(C1^C2) when C1 is the
6858 sign bit.
6859
ce58118c
KG
68602004-04-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6861
6862 * builtins.c (mathfn_built_in): Check TYPE_MAIN_VARIANT, not
6863 TYPE_MODE.
6864
c29726e2
AP
68652004-04-09 Andrew Pinski <pinskia@physics.uc.edu>
6866
6867 * c-common.c (handle_noreturn_attribute): Use TYPE_READONLY instead
6868 of TREE_READONLY for types.
6869
750054a2
CT
68702004-04-09 Caroline Tice <ctice@apple.com>
6871
7c3ac422 6872 * basic-block.h (struct edge_def): Add new field, crossing_edge.
750054a2
CT
6873 (struct basic_block_def): Add new field, partition.
6874 (UNPARTITIONED, HOT_PARTITION, COLD_PARTITION): New constant macro
6875 definitions.
7c3ac422 6876 (partition_hot_cold_basic_blocks): Add extern function
750054a2 6877 declaration.
7c3ac422 6878 * bb-reorder.c (function.h, obstack.h, expr.h, regs.h): Add four new
750054a2
CT
6879 include statements.
6880 (N_ROUNDS): Increase the maximum number of rounds by 1.
6881 (branch_threshold): Add array value for new round.
6882 (exec_threshold): Add array value for new round.
6883 (push_to_next_round_p): New function.
6884 (add_unlikely_executed_notes): New function.
6885 (find_rarely_executed_basic_blocks_and_crossing_edges): New function.
6886 (mark_bb_for_unlikely_executed_section): New function.
6887 (add_labels_and_missing_jumps): New function.
6888 (add_reg_crossing_jump_notes): New function.
6889 (fix_up_fall_thru_edges): New function.
6890 (find_jump_block): New function.
6891 (fix_crossing_conditional_branches): New function.
6892 (fix_crossing_unconditional_branches): New function.
6893 (fix_edges_for_rarely_executed_code): New function.
6894 (partition_hot_cold_basic_blocks): New function.
6895 (find_traces): Add an extra round for partitioning hot/cold
6896 basic blocks.
6897 (find_traces_1_round): Add a parameter. Modify to push all cold blocks,
6898 and only cold blocks, into the last (extra) round of collecting traces.
7c3ac422 6899 (better_edge_p): Add a parameter. Modify to favor non-crossing edges
750054a2 6900 over crossing edges.
7c3ac422 6901 (bb_to_key): Add code to correctly identify cold blocks when
750054a2
CT
6902 doing partitioning.
6903 (connect_traces): Modify to connect all the non-cold traces first, then
6904 go back and connect up all the cold traces.
6905 (reorder_basic_blocks): Add call to add_unlikely_executed_notes.
6906 * cfg.c (entry_exit_blocks): Add initialization for partition field in
6907 entry and exit blocks.
7c3ac422 6908 * cfgbuild.c (make_edges): Update current_function_has_computed_jump
750054a2
CT
6909 if we are doing hot/cold partitioning.
6910 * cfgcleanup.c (cfglayout.h): Add new include statement.
7c3ac422 6911 (try_simplify_condjump): Modify to not attempt on blocks with jumps
750054a2
CT
6912 that cross section boundaries.
6913 (try_forward_edges): Likewise.
6914 (merge_blocks_move_predecessor_nojumps): Likewise.
6915 (merge_blocks_move_successor_nojumps): Likewise.
6916 (merge_blocks_move): Likewise.
6917 (try_crossjump_to_edge): Modify to not attempt after we have done
6918 the block partitioning.
6919 (try_crossjump_bb): Modify to not attempt on blocks with jumps that
6920 cross section boundaries.
6921 (try_optimize_cfg): Likewise.
6922 * cfghooks.c (tidy_fallthru_edges): Modify to not remove indirect
6923 jumps that cross section boundaries.
7c3ac422 6924 * cfglayout.c (flags.h): Add new include statement.
750054a2 6925 (update_unlikely_executed_notes): New function.
7c3ac422
ZW
6926 (fixup_reorder_chain): Add code so when a new jumping basic block is
6927 added, it's UNLIKELY_EXECUTED_CODE and REG_CROSSING_JUMP notes are
750054a2
CT
6928 updated appropriately.
6929 (duplicate_insn_chain): Add code to duplicate the new NOTE insn
6930 introduced by this optimization.
7c3ac422
ZW
6931 * cfglayout.h (scan_ahead_for_unlikely_executed_note): Add new
6932 extern function declaration.
750054a2
CT
6933 * cfgrtl.c (can_delete_note_p): Add NOTE_INSN_UNLIKELY_EXECUTED_CODE to
6934 list of notes that can be deleted.
6935 (create_basic_block_structure): Add initialization for partition field.
6936 (rtl_can_merge_blocks): Modify to test blocks for jumps that cross
6937 section boundaries.
6938 (try_redirect_by_replacing_jump): Modify to not attempt on jumps that
6939 cross section boundaries.
6940 (commit_one_edge_insertion): Add code so newly created basic block
7c3ac422 6941 ends up in correct (hot or cold) section. Modify to disallow
750054a2
CT
6942 insertions before NOTE_INSN_UNLIKELY_EXECUTED_CODE notes.
6943 (rtl_verify_flow_info_1): Add code to verify that no fall_thru edge
6944 crosses section boundaries.
6945 (cfg_layout_can_merge_blocks_p): Modify to test blocks for jumps that
6946 cross section boundaries.
6947 (force_nonfallthru_and_redirect): Modify to make sure new basic block
6948 ends up in correct section, with correct notes attached.
7c3ac422
ZW
6949 * common.opt (freorder-blocks-and-partition): Add new flag for this
6950 optimization.
6951 * dbxout.c (dbx_function_end): Add code to make sure scope labels at
6952 the end of functions are written into the correct (hot or cold)
6953 section.
750054a2
CT
6954 (dbx_source_file): Add code so writing debug file information
6955 doesn't incorrectly change sections.
7c3ac422 6956 * defaults.h (NORMAL_TEXT_SECTION_NAME): New constant macro, for use
750054a2 6957 in partitioning hot/cold basic blocks into separate sections.
7c3ac422 6958 (SECTION_FORMAT_STRING): New constant macro, for linux/i386 hot/cold
750054a2
CT
6959 section partitioning.
6960 (HAS_LONG_COND_BRANCH): New constant macro, indicating whether or not
6961 conditional branches can span all of memory.
6962 (HAS_LONG_UNCOND_BRANCH): New constant macro, indicationg whether or not
6963 unconditional branches can span all of memory.
7c3ac422
ZW
6964 * final.c (scan_ahead_for_unlikely_executed_note): New function.
6965 (final_scan_insn): Add code to check for NOTE instruction indicating
6966 whether basic block belongs in hot or cold section, and to make sure
6967 the current basic block is being written to the appropriate section.
6968 Also added code to ensure that jump table basic blocks end up in the
6969 correct section.
6970 * flags.h (flag_reorder_blocks_and_partition): New flag.
750054a2
CT
6971 * ifcvt.c (find_if_case_1): Modify to not attempt if conversion if
6972 one of the branches has a jump that crosses between sections.
6973 (find_if_case_2): Likewise.
7c3ac422 6974 (ifcvt): Modify to not attempt to mark loop exit edges after
750054a2 6975 hot/cold partitioning has occurred.
7c3ac422
ZW
6976 * opts.c (decode_options): Code to handle new flag,
6977 flag_reorder_blocks_and_partition; also to turn it off if
750054a2 6978 flag_exceptions is on.
7c3ac422
ZW
6979 (common_handle_option): Code to handle new flag,
6980 flag_reorder_blocks_and_partition.
6981 * output.h (unlikely_text_section): New extern function declaration.
750054a2 6982 (in_unlikely_text_section): New extern function declaration.
7c3ac422
ZW
6983 * passes.c (rest_of_handle_stack_regs): Add
6984 flag_reorder_blocks_and_partition as an 'or' condition for calling
750054a2 6985 reorder_basic_blocks.
7c3ac422 6986 (rest_of_handle_reorder_blocks): Add flag_reorder_blocks_and_partition
750054a2
CT
6987 as an 'or' condition for calling reorder_basic_blocks.
6988 (rest_of_compilation): Add call to partition_hot_cold_basic_blocks.
7c3ac422
ZW
6989 * print-rtl.c (print_rtx): Add code for handling new note,
6990 NOTE_INSN_UNLIKELY_EXECUTED_CODE
6991 * rtl.c (NOTE_INSN_UNLIKELY_EXECUTED_CODE): New note insn (see below).
750054a2
CT
6992 (REG_CROSSING_JUMP): New kind of reg_note, to mark jumps that
6993 cross between section boundaries.
7c3ac422
ZW
6994 * rtl.h (NOTE_INSN_UNLIKELY_EXECUTED_CODE): New note instruction,
6995 indicating the basic block containing it belongs in the cold section.
750054a2
CT
6996 (REG_CROSSING_JUMP): New type of reg_note, to mark jumps that cross
6997 between hot and cold sections.
7c3ac422
ZW
6998 * toplev.c (flag_reorder_blocks_and_partition): Add code to
6999 initialize this flag, and to tie it to the command-line option
7000 freorder-blocks-and-partition.
7001 * varasm.c (cfglayout.h): Add new include statement.
7002 (unlikely_section_label_printed): New global variable, used for
7003 determining when to output section name labels for cold sections.
750054a2
CT
7004 (in_section): Add in_unlikely_executed_text to enum data structure.
7005 (text_section): Modify code to use SECTION_FORMAT_STRING and
7006 NORMAL_TEXT_SECTION_NAME macros.
7007 (unlikely_text_section): New function.
7008 (in_unlikely_text_section): New function.
7c3ac422
ZW
7009 (function_section): Add code to make sure beginning of function is
7010 written into correct section (hot or cold).
7011 (assemble_start_function): Add code to make sure stuff is written to
7012 the correct section.
7013 (assemble_zeros): Add in_unlikely_text_section as an 'or' condition
7014 to an if statement that was checking 'in_text_section'.
7015 (assemble_variable): Add 'in_unlikely_text_section' as an 'or'
7016 condition to an if statement that was checking 'in_text_section'.
7017 (default_section_type_flags_1): Add check: if in cold section
7018 flags = SECTION_CODE.
750054a2
CT
7019 * config/darwin.c (darwin_asm_named_section): Modify to use
7020 SECTION_FORMAT_STRING if we are partitioning hot/cold blocks.
7c3ac422 7021 * config/i386/i386.h (HAS_LONG_COND_BRANCH): Defined this macro
750054a2
CT
7022 specifically for the i386.
7023 (HAS_LONG_UNCOND_BRANCH): Defined this macro specifically for the i386.
7c3ac422 7024 * config/rs6000/darwin.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Change
750054a2
CT
7025 text string to something more informative.
7026 (NORMAL_TEXT_SECTION_NAME): Add new definition.
7027 (SECTION_FORMAT_STRING): Add new definition.
7c3ac422
ZW
7028 * config/rs6000/rs6000.c (rs6000_assemble_integer): Add
7029 '!in_unlikely_text_section' as an 'and' condition to an if statement
7030 that was already checking '!in_text_section'.
7031 * config/rs6000/sysv4.h (HOT_TEXT_SECTION_NAME,NORMAL_TEXT_SECTION_NAME,
7032 UNLIKELY_EXECUTED_TEXT_SECTION_NAME,SECTION_FORMAT_STRING): Make
7033 sure these are properly defined for linux on ppc.
7034 * doc/invoke.texi (freorder-blocks-and-partition): Add documentation
7035 for this new flag.
750054a2
CT
7036 * doc/rtl.texi (REG_CROSSING_JUMP): Add documentation for new
7037 reg_note.
7c3ac422
ZW
7038 * doc/tm.texi (NORMAL_TEXT_SECTION_NAME, SECTION_FORMAT_STRING,
7039 HAS_LONG_COND_BRANCH, HAS_LONG_UNCOND_BRANCH): Add documentation for
750054a2
CT
7040 these new macros.
7041
88673361
RS
70422004-04-08 Roger Sayle <roger@eyesopen.com>
7043
7044 * function.c (gen_mem_addressof): When changing the RTX from a REG
7045 to a MEM, clear MEM_VOLATILE_P which was formerly REG_USERVAR_P.
7046
82a6a758
RS
70472004-04-08 Roger Sayle <roger@eyesopen.com>
7048
7049 PR target/14888
7050 * config/i386/i386.md (truncdfsf2_noop, truncxfsf2_noop,
7051 truncxfdf2_noop): Provide dummy "fmov" implementations.
7052
febc5365
ILT
70532004-04-08 Ian Lance Taylor <ian@wasabisystems.com>
7054
2a782c52
ILT
7055 * gcc.c (default_compilers): Add missing initializers.
7056
febc5365
ILT
7057 * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
7058 Return 1 if file was successfully mapped.
7059
f07e9f0f
GK
70602004-04-08 Geoffrey Keating <geoffk@apple.com>
7061
54e109ed
GK
7062 PR pch/13419
7063 PR pch/14137
7064 Radar #: 3315288
7065 * doc/invoke.texi (Precompiled Headers): Suggest -o
7066 to put an output file in a particular place. Be more detailed
7067 about which options affect PCH validity and which options
7068 might not work.
7069 * c-pch.c (pch_matching): New.
7070 (MATCH_SIZE): New.
7071 (struct c_pch_validity): New field 'match'.
7072 (pch_init): Handle pch_matching.
7073 (c_common_valid_pch): Check pch_matching.
7074
f07e9f0f
GK
7075 * explow.c: Fix typo defining default of PROMOTE_FUNCTION_MODE.
7076
f7b6f250
MM
70772004-04-08 Mark Mitchell <mark@codesourcery.com>
7078
7079 * doc/invoke.texi (Precompiled Headers): Warn about known
7080 problems.
7081
4a77e08c
DS
70822004-04-08 Danny Smith <dannysmith@users.sourceforge.net>
7083
7084 PR c++/14808
7085 * defaults.h (TARGET_USE_LOCAL_THUNK_ALIAS_P): New macro. Default
7086 to 1 if ASM_OUTPUT_DEF is defined.
7087 * doc/tm.texi (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document.
7088 * config/i386/cygming.h (TARGET_USE_LOCAL_THUNK_ALIAS_P): Define.
7089 Set to non-zero iff not a one_only decl.
7090
cc81dde8
PB
70912004-04-08 Paul Brook <paul@codesourcery.com>
7092
7093 * arm.h (CLASS_LIKELY_SPILLED_P): Define.
7094
d4453b7a
PB
70952004-04-08 Paul Brook <paul@codesourcery.com>
7096
7097 * explow.c (promote_mode): Use PROMOTE_FUNCTION_MODE instead of
7098 PROMOTE_FOR_CALL_ONLY.
7099 * config/arm/arm-protos.h (arm_function_value): Declare.
7100 * config/arm/arm.h (TARGET_PROMOTE_FUNCTION_ARGS): Define.
7101 (TARGET_PROMOTE_PROTOTYPES): Return false.
7102 (arm_function_value): New function.
7103 * config/arm/arm.h (PROMOTE_FUNCTION_MODE): Define.
7104 (FUNCTION_VALUE): Call arm_function_value.
7105 * config/cris/cris.h (PROMOTE_MODE): Rename ...
7106 (PROMOTE_FUNCTION_MODE): ... to this.
7107 (PROMOTE_FOR_CALL_ONLY): Remove.
7108 * config/mmix/mmix.h: Likewise.
7109 * config/s390/s390.h: Likewise.
7110 * config/sparc/sparc.h: Likewise.
7111 * config/sparc/sparc.c: Update comments about PROMOTE_MODE.
7112 * doc/tm.texi (PROMOTE_FUNCTION_MODE): Document.
7113 (TARGET_PROMOTE_FUNCTION_MODE, TARGET_PROMOTE_FUNCTION_RETURN): Update.
7114 (PROMOTE_FOR_CALL_ONLY): Remove.
7115
c00e272e
JS
71162004-04-08 Joel Sherrill <joel@oarcorp.com>
7117
7118 PR ada/14538
7119 * ada/5rosinte.adb: Remove fake mprotect() body.
7120 * ada/5rosinte.ads: Add SA_SIGINFO.
7121 * ada/5rtpopsp.adb: Rewrite to use new interface.
7122 * ada/init.c: Reorder so the simple single OS conditional __rtems__
7123 is tested before more complex ones which mix UNIX and embedded
7124 systems in the conditional.
7125
4afae4b9
JS
71262004-04-08 Joel Sherrill <joel@oarcorp.com>
7127
7128 PR ada/14665
7129 * ada/osint.adb (Find_Program_Name): Rework to properly handle
7130 filenames which end in .exe or have versioning suffixes like VMS.
7131
bfbdca0b
AP
71322004-04-08 Andrew Pinski <pinskia@physics.uc.edu>
7133
467f3af0 7134 PR target/10129
bfbdca0b
AP
7135 * config/darwin.c (darwin_encode_section_info): When the decl has
7136 a DECL_INITIAL, it is only defined also when it is not a common.
7137
df0785d6
KG
71382004-04-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7139
7140 * builtins.c (fold_builtin_isascii, fold_builtin_toascii): New.
7141 (fold_builtin): Handle BUILT_IN_ISASCII and BUILT_IN_TOASCII.
7142
2897f1d4
L
71432004-04-07 H.J. Lu <hongjiu.lu@intel.com>
7144
7145 * config/ia64/ia64.c (ia64_encode_section_info): Don't prod
7146 global register variables.
7147
6ed6a1b9
JM
71482004-04-07 Joseph S. Myers <jsm@polyomino.org.uk>
7149
7150 * fixinc/inclhack.def (rpc_xdr_lvalue_cast_a,
7151 rpc_xdr_lvalue_cast_b): New fixes.
7152 * fixinc/fixincl.x: Regenerate.
7153 * fixinc/tests/base/rpc/xdr.h: Add new tests.
7154
fc091c8e
DE
71552004-04-07 David Edelsohn <edelsohn@gnu.org>
7156
7157 * config/rs6000/rs6000.c (processor_target_table): Add MASK_MFCRF
7158 to power4 and power5 entries.
7159
7876228d
GK
71602004-04-06 Geoffrey Keating <geoffk@apple.com>
7161
7162 * c-common.h (pending_lang_change): Mark for PCH.
7163
b21292d0
CT
71642004-04-07 Caroline Tice <ctice@apple.com>
7165
7166 * gcc.c (main): Move 'break' in main loops (on an error)
7167 to wait until error processing has occurred.
7c3ac422 7168
615be2cf
NN
71692004-04-06 Nathanael Nerode <neroden@gcc.gnu.org>
7170
7171 * config.gcc: Stop changing enable_threads midstream.
7172 Replace uses of enable_threads_flag with enable_threads.
7173 * configure.ac: Replace uses of enable_threads_flag with
7174 enable_threads. Improve autoconf quotation in one place.
7175 * configure: Regenerate.
7176
6c7cf1f0
UB
71772004-04-06 Uros Bizjak <uros@kss-loka.si>
7178
7179 * builtins.c: Implement support for sincos function.
7180 (expand_builtin_mathfn): Remove BUILT_IN_SIN{,F,L} and
7181 BUILT_IN_COS{,F,L}.
7182 (expand_builtin_mathfn_3): New function.
7183 (expand_builtin): Expand BUILT_IN_SIN{,F,L} and
7184 BUILT_IN_COS{,F,L} using expand_builtin_mathfn_3 if
7185 flag_unsafe_math_optimization is set.
7186
7187 * optabs.h (enum optab_index): Add new OTI_sincos.
7188 (sincos_optab): Define corresponding macro.
7189
7190 * optabs.c (init_optabs): Initialize sincos_optab.
7191 (expand_twoval_unop): New function.
7192
7193 * genopinit.c (optabs): Implement sincos_optab using sincos?f3
7194 patterns.
7195
7196 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_SINCOS_COS
7197 and UNSPEC_SINCOS_SIN.
7198
7199 * config/i386/i386.md (sincosdf3, sincossf3, *sincosextendsfdf3,
7200 sincosxf3): New patterns to implement sincos, sincosf and sincosl
7201 built-ins as inline x87 intrinsics. Define splits for
7202 sindf2, sinsf2, *sinextendsfdf2, sinxf2, cosdf2,
7203 cossf2, *cosextendsfdf2 and cosxf2 patterns from corresponding
7204 sincos patterns.
7205 (sindf2, sinsf2, sinxf2): Rename to *sindf2, *sinsf2, *sinxf2.
7206 (cosdf2, cossf2, cosxf2): Rename to *cosdf2, *cossf2, *cosxf2.
7207
a072d43b
UB
7208 (UNSPEC_SINCOS_SIN, UNSPEC_SINCOS_COS): New unspecs to represent
7209 x87's fsincos insn.
6c7cf1f0 7210
23bd1514
DP
72112004-04-06 Devang Patel <dpatel@apple.com>
7212
7213 PR 14467
7214 * config/darwin.h (LINK_COMMAND_SPEC): Use c++filt instead of c++filt3.
7c3ac422 7215
c5124497
JDA
72162004-04-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7217
7218 * doc/install.texi: Update HP-UX 11 installation procedure.
7219
485d61a7
PB
72202004-04-06 Paul Brook <paul@codesourcery.com>
7221
7222 * doc/sourcebuild.texi: Remove obsolete contraint on testcases.
7223
13ecc9e0
KK
72242004-04-05 Kaz Kojima <kkojima@gcc.gnu.org>
7225
7226 * config/sh/sh.c (prepare_move_operands): Use emit_call_insn
7227 when the TLS address is generated by a function call.
7228 * config/sh/sh.md (tls_global_dynamic): Use a call expression.
7229 (tls_local_dynamic): Likewise.
7230
e0e4ac7f
AP
72312004-04-05 Andrew Pinski <pinskia@physics.uc.edu>
7232
7233 * tree.c (reconstruct_complex_type): Use TYPE_READONLY
7234 and TYPE_VOLATILE.
7235
0855eab7
CT
72362004-04-05 Caroline Tice <ctice@apple.com>
7237
485d61a7 7238 * gcc.c (combine_flag): New global variable, for new driver option.
0855eab7
CT
7239 (struct compiler): Add two new fields, to be used when
7240 combining multiple input files in a single pass (IMA).
7c3ac422
ZW
7241 (default_compilers): Add values for the new fields to all
7242 compiler entries. Modify the "@c" compiler entry for doing IMA
0855eab7
CT
7243 properly with "-save-temps" and the "combine" flag.
7244 (option_map): Add new driver option, "--combine", to tell driver
7245 to pass multiple input files to compiler at one time.
7246 (have_o_argbuf_index): New global variable.
7247 (store_arg): Modify to assign value to have_o_argbuf_index.
7248 (struct infile): Add three new fields, to help with IMA.
7249 (display_help): Add help for new "combine" option.
7250 (process_command): Remove local variable have_o; add code to check
7251 for new "combine" option; remove assignment to combine_inputs.
7252 (do_spec_1): Modify to deal with IMA better.
7253 (main): Make variable 'lang_n_infiles' local to entire function
7c3ac422
ZW
7254 rather than to a single block. Use flag combine_flag to
7255 determine whether to do IMA or not; Modify loop initializing
0855eab7
CT
7256 infiles to deal properly with linker files.
7257 Add code for doing preprocessing in presence of
7258 IMA with "-save-temps" flag. Modify "main" loop to handle
7259 multiple input files, in multiple languages, with or without
7260 preprocessing, gracefully.
7261 * toplev.c (set_src_pwd): Modify to not complain if attempting to
7262 re-set it to same directory it's previously been set to (avoid
7c3ac422 7263 irritating, meaningless warning messages when doing IMA with
0855eab7
CT
7264 save-temps).
7265 * doc/invoke.texi: Add "-combine" to list of Overall Options;
7266 remove documentation about IMA that is no longer accurate; Add
7267 documentation explaining what "-combine" does.
7268 * ada/lang-specs.h: Add initialization values for new fields in
7269 "struct compiler".
7270 * cp/lang-specs.h: Likewise.
7271 * f/lang-specs.h: Likewise.
7272 * java/lang-specs.h: Likewise.
7273 * objc/lang-specs.h: Likewise.
7274 * treelang/lang-specs.h: Likewise.
7275
26be75db
DE
72762004-04-05 David Edelsohn
7277
7278 * config/rs6000/rs6000.c (VTABLE_NAME_P): Add _ZTI to special
7279 symbol handling.
7280
fda935a2 72812004-04-05 Jakub Jelinek <jakub@redhat.com>
26be75db 7282 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
fda935a2
JJ
7283
7284 PR optimization/13424 (hppa), bootstrap/14462, c/14828
7285 * pa.md: Use replace_equiv_address to retain the attributes of the
7286 memory operands used in the split and peephole2 patterns for optimizing
7287 the pre-reload movstrsi, movstrdi, clrstrsi and clrstrdi patterns.
7288
4f976745
RK
72892004-04-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7290
7291 * c-decl.c (build_compound_literal): Use TYPE_READONLY.
7292 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
7293 * objc/objc-act.c (adorn_decl, gen_declspecs): Likewise.
7294 * c-typeck.c (decl_constant_value): Don't access DECL_INITIAL of a
7295 PARM_DECL.
7296 * calls.c (flags_from_decl_or_type): Use TYPE_READONLY and do so only
7297 for a type.
7298 * print-tree.c (print_node): Properly handle side-effects, readonly,
7299 and constant flags.
7300 * tree.c (build1_stat, build_expr_wfl): Only look at TREE_SIDE_EFFECTS
7301 and TREE_CONSTANT if not a type.
7302 * tree.h (IS_NON_TYPE_CODE_CLASS): New macro.
7303 (IS_EXPR_CODE_CLASS): Write 'E', not 'e'.
7304 (NON_TYPE_CHECK): New macro.
7305 (TREE_SIDE_EFFECT, TREE_READONLY, TREE_CONSTANT: Add check.
7306
5ffc4730
EB
73072004-04-05 Eric Botcazou <ebotcazou@libertysurf.fr>
7308
7309 * config/sparc/sol2-bi.h (PREFERRED_DEBUGGING_TYPE): Set
7310 to DWARF2_DEBUG unconditionally.
7311 (ASM_DEBUG_SPEC): Set the default to --gdwarf2 unconditionally.
7312
c38f02df
ILT
73132004-04-04 Ian Lance Taylor <ian@wasabisystems.com>
7314 Nathanael Nerode <neroden@gcc.gnu.org>
7315
7316 PR target/14548
7317 * config.host: Set the shell variable host_can_use_collect2.
7318 Set it to yes by default, and to no for alpha*-dec-*vms*,
7319 i[34567]86-*-mingw32*, and powerpc-*-beos*.
7320 * configure.ac: Set and substitute the shell variable collect2.
7321 Give an error if use_collect2 is yes and host_can_use_collect2 is
7322 no.
7323 * Makefile.in (COLLECT2): Rename from USE_COLLECT2. Change all
7324 uses. Initialize to @collect2@.
7325 (STAGESTUFF): Remove $(USE_COLLECT2).
7326 * config/alpha/x-vms (USE_COLLECT2): Don't set.
7327 * config/i386/t-mingw32 (USE_COLLECT2): Likewise.
7328 * config/rs6000/t-beos (USE_COLLECT2): Likewise.
7329 * config/pa/t-pa64: Remove commented out USE_COLLECT2.
7330 * configure: Regenerate.
7331
9d317251
RS
73322004-04-04 Roger Sayle <roger@eyesopen.com>
7333
7334 * simplify-rtx.c (simplify_binary_operation): Constant fold
7335 DIV, MOD, UDIV and UMOD using div_and_round_double.
7336
64480988
MM
73372004-04-04 Mark Mitchell <mark@codesourcery.com>
7338
7339 PR c++/14804
7340 * varasm.c (initializer_constant_valid_p): Allow NOP_EXPRs to
7341 RECORD_TYPEs.
7342
aaf3c6d9
MM
73432004-04-04 Mark Mitchell <mark@codesourcery.com>
7344
7345 * doc/invoke.texi (-mabi=o64): Create link to O64 ABI
7346 documentation.
cd3f11a6 7347
d8b7ec41
RS
73482004-04-04 Roger Sayle <roger@eyesopen.com>
7349
7350 * cse.c (cse_insn): Correct usage of simplify_replace_rtx when
7351 updating the REG_EQUAL note on an insn's libcall_insn.
7352
4012b7db
RS
73532004-04-04 Roger Sayle <roger@eyesopen.com>
7354
7355 * df.h: Tidy up whitespace in the definitions of the DF_ flags.
7356
2f63a457
RS
73572004-04-03 Roger Sayle <roger@eyesopen.com>
7358
7359 * fold-const.c (fold) <PLUS_EXPR>: Guard (-A)+B -> B-A transformation
7360 with reorder_operands_p.
7361
ef1140a9
JH
73622004-04-03 Jan Hubicka <jh@suse.cz>
7363
7364 * md.texi (vec_set, vec_extract, vec_init): Document.
7365
f736cb3e
GL
73662004-04-02 Gabor Loki <loki@inf.u-szeged.hu>
7367
7368 * opts.c (decode_options): Do function inlining with very small
7369 max-inline-insns-* parameters when optimizing for size.
7370
89c43c0a
VM
73712004-04-02 Vladimir Makarov <vmakarov@redhat.com>
7372
7373 * config/i386/i386.h (TARGET_NOCONA): New macro.
7374 (TARGET_CPU_CPP_BUILTINS): Add code for Nocona.
7375 (processor_type): Add PROCESSOR_NOCONA.
7c3ac422 7376
89c43c0a
VM
7377 * config/i386/i386.md (cpu): Add nocona to the attribute values.
7378
7379 * config/i386/i386.c (nocona_cost): New variable.
7380 (m_NOCONA): New macro.
7381 (x86_push_memory, x86_movx, x86_cmove, x86_deep_branch,
7382 x86_branch_hints, x86_use_sahf, x86_single_stringop,
7383 x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8,
7384 x86_integer_DFmode_moves, x86_partial_reg_dependency,
7385 x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
7386 x86_decompose_lea, x86_arch_always_fancy_math_387,
7387 x86_sse_partial_reg_dependency, x86_sse_load0_by_pxor,
7388 x86_ext_80387_constants, x86_four_jump_limit):
7389 (override_options): Add nocona_cost to processor_target_table.
7390 Set up PROCESSOR_NOCONA for Nocona entry in processor_alias_table.
7391 (incdec_operand): Prevent inc/dec generation for Nocona too.
7392 (ix86_issue_rate): Add PROCESSOR_NOCONA.
7c3ac422 7393
cd798543
AP
73942004-04-01 Andrew Pinski <pinskia@physics.uc.edu>
7395
7396 * rtlanal.c (find_reg_note): Manually
7397 unswitch the loop.
7398
a406f566
MM
73992004-04-01 Mark Mitchell <mark@codesourcery.com>
7400
7401 * genemit.c (gen_split): Change prototype of generated code.
7402 * genrecog.c (write_action): Adjust prototype for and calls to
7403 gen_split_*.
7404 * gensupport.c (struct queue_elem): Add split field.
7405 (queue_pattern): Return a value. Clear the split field.
7406 (process_rtx): Maintain an association between an insn and the
7407 split generated from it for a define_insn_and_split.
7408 (process_one_cond_exec): Generate a new split for a
7409 define_insn_and_split.
7410 * config/arm/arm-protos.h (arm_split_constant): Add insn
7411 parameter.
7412 (emit_constant_insn): New function.
7413 (arm_gen_constant): Use it.
7414 * config/arm/arm.md: Adjust calls to arm_split_constant.
7415
18c6ada9
JH
74162004-04-02 Jan Hubicka <jh@suse.cz>
7417
7418 * cgraph.c: Add overall comment.
7419 (cgraph_inline_hash): New global variable.
7420 (cgraph_create_node): Break out from ...
7421 (cgraph_node): ... here.
7422 (cgraph_edge): New function.
7423 (cgraph_create_edge): New CALL_EXPR argument; some sanity checking.
7424 (cgraph_remove_edge): Accept edge, intead of source and destination.
7425 (cgraph_redirect_edge_callee): New.
7426 (cgraph_remove_node): Update all new datastructures.
7427 (cgraph_record_call, cgraph_remove_call): Kill.
7428 (dump_cgraph_node): Break out from ... ; dump new datastructures.
7429 (dump_cgraph): ... here.
7430 (cgraph_function_possibly_inlined_p): Use new hashtable.
7431 (cgraph_clone_edge, cgraph_clone_node): New.
7432 * cgraph.h: Include hashtab.h
7433 (struct cgraph_global_info): Kill cloned_times, inline_once, will_be_output
7434 fields, add inlined_to pointer.
7435 (cgraph_node): Add pointer to next_clone.
7436 (cgraph_remove_edge, cgraph_create_edge): Update prototype.
7437 (cgraph_remove_call, cgraph_record_call): Kill.
7438 (cgraph_inline_hash): Declare.
7439 (dump_cgraph_node, cgraph_edge, cg4raph_clone_edge, cgraph_clone_node,
7440 cgraph_redirect_edge_callee): Declare.
7441 (cgraph_create_edges, cgraph_inline_p): Update prorotype.
7442 (cgraph_preserve_function_body_p, verify_cgraph, verify_cgraph_node,
7443 cgraph_mark_inline_edge, cgraph_clone_inlined_nodes): Declare.
7444 * cgraphunit.c: Add overall comment.
7445 (cgraph_optimize_function): Kill.
7446 (cgraph_assemble_pending_functions): Do not assemble inline clones.
7447 (cgraph_finalize_function): Update call of cgraph_remove_node
7448 (record_call_1): Record call sites.
7449 (cgraph_create_edges): Accept node instead of decl argument.
7450 (error_found): New static variable.
7451 (verify_cgraph_node_1, verify_cgraph_node, verify_cgraph): New functions.
7452 (cgraph_analyze_function): Update for new datastructures.
7453 (cgraph_finalize_compilation_unit): Plug memory leak.
7454 (cgraph_optimize_function): Kill.
7455 (cgraph_expand_function): Do not use cgraph_optimize_function.
7456 (INLINED_TIMES, SET_INLINED_TIMES, cgraph_inlined_into,
7457 cgraph_inlined_callees): Kill.
7458 (cgraph_remove_unreachable_nodes): Verify cgraph; update handling of
7459 clones.
7460 (estimate_growth): Simplify.
7461 (cgraph_clone_inlined_nodes): New function.
7462 (cgraph_mark_inline_edge): Re-implement.
7463 (cgraph_mark_inline): Likewise.
7464 (cgraph_check_inline_limits): Simplify.
7465 (cgraph_recursive_inlining_p): New.
7466 (update_callee_keys): Break out from ...
7467 (cgraph_decide_inlining_of_small_functions): ... here; simplify.
7468 (cgraph_decide_inlining, cgraph_decide_inlining_incrementally):
7469 Likewise.
7470 (cgraph_expand_all_functions): Remove inline clones from the ordered
7471 list.
7472 (cgraph_preserve_function_body_p): New predicate.
7473 (cgraph_optimize): Verify cgraph.
7474 * function.h (struct function): Add fields saved_tree/saved_args.
7475 * timevar.def (TV_CGRAPH_VERIFY): Use verifier.
7476 * toplev.c (rest_of_compilation): Do not free cfun.
7477 * tree-inline.c: Include function.h
7478 (struct inline_data): Add saving_p field; replace decl/current_decl by
7479 node/current_node.
7480 (insert_decl_map): New function.
7481 (copy_body_r): Handle saving; update cgraph datastructure.
7482 (copy_body): Handle recursive inlining.
7483 (initialize_inlined_parameters): Likewise.
7484 (expand_call_inline): Propagate node attributes; update cgraph.
7485 (optimize_inline_calls): Verify that datastructure still match.
7486 (save_body): New function.
7487 * tree-inline.h (save_body): New.
7488 * tree-optimize.c (tree_rest_of_compilation): preserve function body; do inlining.
7489 * langhooks-def.c (LANG_HOOKS_UPDATE_DECL_AFTER_SAVING): New.
7490 * langhooks.c (lang_hooks): Add update_decl_after_saving.
7491
717415ad
SB
74922004-04-01 Serge Belyshev <1319@bot.ru>
7493
7c3ac422
ZW
7494 PR target/14702
7495 * config/i386/i386.md: fix source operand constraints in
7496 mmx_pshufw, sse2_pshufd, sse2_pshuflw, sse2_pshufhw
717415ad 7497
af5bdf6a
WH
74982004-04-01 Waldek Hebisch <hebisch@math.uni.wroc.pl>
7499
7500 * fold-const.c (folda): Preserve types of comparisons.
7501
54fdc910
RH
75022004-04-01 Richard Henderson <rth@redhat.com>
7503
7504 * toplev.c (backend_init): Move init_optimization_passes call ...
7505 (lang_dependent_init): ... here.
7506
765f1bf9
AM
75072004-04-01 Alan Modra <amodra@bigpond.net.au>
7508 Jakub Jelinek <jakub@redhat.com>
7509
7510 * gcc.c (init_gcc_specs): If HAVE_LD_AS_NEEDED, link with
7511 -lgcc --as-needed -lgcc_s --no-as-needed by default.
7512 * configure.ac (HAVE_LD_AS_NEEDED): Check for ld --as-needed.
7513 * configure: Rebuilt.
7514 * config.in: Rebuilt.
7515 * Makefile.in (stage1-start): Copy also libgcc_s*$(SHLIB_EXT).
7516 (stage2-start, stage3-start, stage4-start): Likewise.
7517 (stageprofile-start, stagefeedback-start): Likewise.
7518
45dcc026
JJ
75192004-04-01 Jakub Jelinek <jakub@redhat.com>
7520
7521 * config/sparc/sparc.h (DITF_CONVERSION_LIBFUNCS): Define to 0.
7522 * config/sparc/linux.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
7523 * config/sparc/linux64.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
7524 * config/sparc/sol2.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
7525 (SOLARIS_CONVERSION_LIBFUNCS): Rename to SUN_CONVERSION_LIBFUNCS.
7526 * config/sparc/sparc.c (sparc_init_libfuncs): Initialize optabs
7527 with _Q_qtoll, _Q_qtoull and _Q_lltoq if DITF_CONVERSION_LIBFUNCS.
7528 * config.gcc (sparc-*-linux*): Revert 2004-03-23 change.
7529 * config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Likewise.
7530 * config/sparc/t-linux: Removed.
7531
0b612185
JJ
75322004-04-01 Jakub Jelinek <jakub@redhat.com>
7533
7534 PR c++/14755
7535 * fold-const.c (fold) <EQ_EXPR>: Properly compute newconst in
7536 "bitfld++ == const" to "++bitfld == const + incr" transformations.
7537
a150de29
RK
75382004-04-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7539
7540 * expr.c (get_inner_reference): Use DECL_UNSIGNED, not TREE_UNSIGNED.
7541 * stor-layout.c (layout_decl): Likewise.
7542 * tree.c (get_narrower): Likewise and also use BIT_FIELD_REF_UNSIGNED.
7543 * fold-const.c (make_bit_field_ref): Use BIT_FIELD_REF_UNSIGNED.
7544 * print-tree.c (print_node): Handle various used of unsigned_flag.
7545 * tree.def (BIT_FIELD_REF): Update comment.
7546 * tree.h (TREE_UNSIGNED): Deleted.
7547 (DECL_UNSIGNED, BIT_FIELD_REF_UNSIGNED): New macros.
7548
8df83eae
RK
75492004-03-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7550
7551 * builtins.c, c-aux-info.c, c-common.c, c-cppbuiltin.c, c-decl.c:
7552 Change most occurrences of TREE_UNSIGNED to TYPE_UNSIGNED.
7553 * c-format.c, c-opts.c, c-pretty-print.c, c-typeck.c: Likewise.
7554 * calls.c, convert.c, dbxout.c, dojump.c, dwarf2out.c: Likewise.
7555 * expmed.c, expr.c, fold-const.c, function.c, integrate.c: Likewise.
7556 * optabs.c, sdbout.c, stmt.c, stor-layout.c, tree-dump.c: Likewise.
7557 * tree.c, config/iq2000/iq2000.c, config/m32r/m32r.c: Likewise.
7558 * config/mips/mips.c, config/rs6000/rs6000.c: Likewise.
7559 * config/s390/s390.c, config/sparc/sparc.c, objc/objc-act.c: Likewise.
7560 * stor-layout.c (layout_type, case COMPLEX_TYPE): Test for
7561 REAL_TYPE, not INTEGER_TYPE.
7562 (layout_type, case VECTOR_TYPE): Simplify code.
7563 * tree.c (build_vector_type_for_mode): Remove dup unsigned setting.
7564 * tree.h: Update comments.
7565 (STRIP_NOPS): Use TYPE_UNSIGNED.
7566 (TYPE_UNSIGNED): New macro.
7567 (TYPE_TRAP_SIGNED): Remove now redundant check.
7568 (SAVE_EXPR_NOPLACEHOLDER): Don't use TREE_UNSIGNED.
7569
8465edcc
RK
75702004-03-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7571
7572 * function.c (put_var_into_stack): Properly set orig_reg for indirect.
7573
75742004-03-31 Andrew Pinski <pinskia@physics.uc.edu>
efdc5d91
AP
7575
7576 * config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA):
7577 Add darwin-fpsave.asm, darwin-vecsave.asm,
7578 and darwin-world.asm.
7579 (TARGET_LIBGCC2_CFLAGS): Add -Wa,-force_cpusubtype_ALL
7580 as the asm files contain altivec instructions.
7581 * config/rs6000/darwin-fpsave.asm: New file.
7582 * config/rs6000/darwin-vecsave.asm: New file.
7583 * config/rs6000/darwin-world.asm: New file.
7584
5fece182
ZW
75852004-03-31 Zack Weinberg <zack@codesourcery.com>
7586
7587 * gengtype-yacc.y (option, stringseq): Add missing
7588 terminating semicolon.
7589
b150f4f3
DE
75902004-03-30 David Edelsohn <edelsohn@gnu.org>
7591
7592 * config/rs6000/rs6000.md (tls_gd_32, tls_gd_64,
7593 tls_ld_32, tls_ld_64, tls_dtprel_32, tls_dtprel_64,
7594 tls_dtprel_ha_32, tls_dtprel_ha_64,
7595 tls_dtprel_lo_32, tls_dtprel_lo_64,
7596 tls_got_dtprel_64, tls_tprel_32, tls_tprel_64,
7597 tls_tprel_ha_32, tls_tprel_ha_64,
7598 tls_tprel_lo_32, tls_tprel_lo_64,
7599 tls_got_tprel_32, tls_got_tprel_64,
7600 tls_tls_32, tls_tls_64): Replace register_operand with
7601 gpc_reg_operand.
7602
76032004-03-30 Mostafa Hagog <mustafa@il.ibm.com>
7604
7605 * config/rs6000/rs6000.md (*ctrsi_internal1, *ctrsi_internal2,
7606 *ctrdi_internal1, *ctrdi_internal2, *ctrsi_internal3,
7607 *ctrsi_internal4, *ctrdi_internal3, *ctrdi_internal4,
7608 *ctrsi_internal5, *ctrsi_internal6, *ctrdi_internal5,
7609 *ctrdi_internal6): Replace register_operand with
7610 nonimmediate_operand.
7611
0af5da7f
FJ
76122004-03-29 Fariborz Jahanian <fjahanian@apple.com>
7613
5fece182
ZW
7614 * fold-const.c (fold): Reassociate multiply expression
7615 with an adjacent non-multiply expression to use
7616 architecture's multiply-add instruction.
0af5da7f 7617
1431042e
ZW
76182004-03-30 Zack Weinberg <zack@codesourcery.com>
7619
7620 * gengtype.c (create_option): New function.
7621 * gengtype.h: Prototype it.
7622 * gengtype-yacc.y (stringseq): New rule.
7623 (option): Use create_option. Add new bare ID production. Use
7624 stringseq, not STRING directly.
7625
7626 * alias.c, bitmap.c, c-decl.c, cgraph.h, cpplib.h, cselib.h
7627 * dwarf2out.c, emit-rtl.c, function.h, lists.c, tree.h
7628 * varray.h, config/alpha/alpha.c:
7629 Use new shorter form of GTY markers.
7630
7631 * doc/gty.texi: Rewrite.
7632
9ffab06b
AP
76332004-03-30 Andrew Pinski <pinskia@physics.uc.edu>
7634
7635 * config/darwin.c (machopic_function_base_name):
7636 Remove current_name and getting the name of the
7637 current function.
7638
a2246edc
NC
76392004-03-30 Nick Clifton <nickc@redhat.com>
7640
7641 * config/arm/arm.md (thumb_jump): Reduce the backward branch
7642 range, and increase the forward branch range, to allow for
7643 the fact that the PC will be off by 4.
7644
547799a7
AM
76452004-03-30 Alan Modra <amodra@bigpond.net.au>
7646
7647 * .cvsignore: Add GPATH, GRTAGS, GSYMS and GTAGS (GNU GLOBAL)
7648
452a7d36
HP
76492004-03-30 Hartmut Penner <hpenner@de.ibm.com>
7650
1431042e
ZW
7651 * config/rs6000/rs6000.c (output_vec_const_move):
7652 Find all cases of EASY_VECTOR_15_ADD_SELF.
7653 (easy_vector_constant_add_self): Accept
7654 all vector constant loadable by vsplt* and vadd*.
452a7d36
HP
7655 (easy_vector_same): Use easy_vector_splat_const.
7656 (easy_vector_const): Use easy_vector_splat_const.
1431042e 7657 (easy_vector_splat_const): New function.
452a7d36 7658 (gen_easy_vector_constant_add_self): New function.
1431042e 7659
452a7d36
HP
7660 * config/rs6000/rs6000-protos.c (gen_easy_vector_constant_add_self):
7661 New prototype.
7662
1431042e 7663 * config/rs6000/altivec.md (movv4si splitter): Change to
452a7d36
HP
7664 emit move insn with halfed vector constant.
7665 (*movv8hi splitter): Likewise.
7666 (*movv16qi splitter): Likewise.
1431042e 7667
708d2456
HP
76682004-03-30 Hartmut Penner <hpenner@de.ibm.com>
7669
1431042e
ZW
7670 PR 11591
7671 * config/rs6000/rs6000.c (rs6000_legitimate_address):
708d2456
HP
7672 Allow any offset to argument pointer in no-strict case.
7673
6868bb1c
JH
76742004-03-30 Jan Hubicka <jh@suse.cz>
7675
7676 * toplev.c (backend_init): Add missing call to inint_optimization_passes.
7677 * passes.c (init_optimization_passes, finish_optimization_passes): Output cgraph
7678 dump file in non-unit-at-a-time mode.
7679
43537bf6
HPN
76802004-03-29 Hans-Peter Nilsson <hp@axis.com>
7681
7682 * config/cris/cris.h: Correct #ifdef to test for
7683 HAVE_AS_NO_MUL_BUG_ABORT_OPTION, not
7684 HAVE_AS_MUL_BUG_ABORT_OPTION.
7685
97955d55
RK
76862004-03-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7687
7688 * function.c (put_var_into_stack): If old RTL was ADDRESSOF, update
7689 the address inside the old RTL.
7690
18d5f982
ZW
76912004-03-28 Zack Weinberg <zack@codesourcery.com>
7692
7693 * c-decl.c: Verify that C_SIZEOF_STRUCT_LANG_IDENTIFIER is correct.
7694 (struct c_binding, struct c_scope): Add chain_next
7695 attributes to GTY markers.
7696 (struct lang_identifier, struct lang_tree_node): Define
7697 here...
7698 * c-tree.h: ... not here. No longer need to declare struct
7699 c_binding either. Do define C_SIZEOF_STRUCT_LANG_IDENTIFIER.
7700 * c-lang.c, objc/objc-lang.c: Set LANG_HOOKS_IDENTIFIER_SIZE
7701 to C_SIZEOF_STRUCT_LANG_IDENTIFIER.
7702
7703 PR 14734, 11944
7704 * c-decl.c (get_parm_info): If error_mark_node is encountered
7705 in the bindings chain, unbind and discard it; don't abort.
7706
e20f3dd1 77072004-03-28 Olga Golovonevsky <olga@il.ibm.com>
18d5f982 7708 Dorit Naishlos <dorit@il.ibm.com>
e20f3dd1 7709
18d5f982
ZW
7710 * config/rs6000/altivec.md: (andvv16qi3, andv8hi3, one_cmplv16qi2,
7711 one_cmplv8hi2, one_cmplv4si2, iorv16qi3, iorv8hi3,): New modelling.
e20f3dd1 7712
d5ebbf58
SC
77132004-03-28 Stephane Carrez <stcarrez@nerim.fr>
7714
7715 * config/m68hc11/m68hc11-protos.h (m68hc11_page0_symbol_p): Declare.
7716
7717 * config/m68hc11/m68hc11.c (m68hc11_handle_page0_attribute): New.
7718 (m68hc11_attribute_table): New attribute "page0" to mark a global
7719 variable as being allocated from within page0 section.
7720 (m68hc11_encode_label): New function.
7721 (m68hc11_strip_name_encoding): New function.
7722 (m68hc11_page0_symbol_p): New function.
7723 (m68hc11_indirect_p): Accept global variables marked in page0.
7724 (m68hc11_encode_section_info): Lookup "page0" attribute.
7725
7726 * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): 'R' constraint also
7727 represents access to page0 variables.
7728
7729 * config/m68hc11/m68hc11.md ("*logicalsi3_zexthi"): Use gen_rtx_REG.
7730 ("*logicalsi3_silshl16_zext"): Likewise.
7731 ("*ashldi3_const32"): Likewise.
7732 (peephole2 ashift): Likewise.
7733
5baeaac0
JM
77342004-03-28 Joseph S. Myers <jsm@polyomino.org.uk>
7735
7736 * c-tree.h (C_DECL_REGISTER): New.
7737 * c-aux-info.c (gen_decl), c-decl.c (objc_mark_locals_volatile,
7738 finish_decl, grokdeclarator, get_parm_info), c-typeck.c
7739 (build_array_ref, c_mark_addressable): Set and use it.
7740 * c-decl.c (grokdeclarator), c-typeck.c (c_mark_addressable):
7741 Allow structures with volatile fields to be declared register.
7742 Don't check TREE_ADDRESSABLE before warning about taking address
7743 of register.
7744 * c-decl.c (finish_decl): Don't allow structures with volatile
7745 fields to be placed in named register.
7746 * doc/trouble.texi: Remove reference to structures with volatile
7747 fields in registers.
7748
84c1fa24
UW
77492004-03-27 Ulrich Weigand <uweigand@de.ibm.com>
7750
7751 * function.c (thread_prologue_and_epilogue): Move
7752 NOTE_INSN_FUNCTION_END and NOTE_INSN_FUNCTION_BEG notes
7753 before the epilogue.
7754
053ee101
UW
77552004-03-27 Ulrich Weigand <uweigand@de.ibm.com>
7756
7757 * expr.c (store_constructor): Use gen_int_mode to correctly
7758 sign-extend CONST_INT value.
7759
ca4944e1
KG
77602004-03-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7761
7762 * builtin-types.def (BT_WINT, BT_FN_INT_WINT, BT_FN_WINT_WINT): New.
7763 * builtins.def (DEF_C94_BUILTIN): New. Add wctype builtins.
7764 * doc/extend.texi: Likewise.
7765
eb1a2c88
DN
77662004-03-26 Diego Novillo <dnovillo@redhat.com>
7767
7768 * c-typeck.c (comptypes): Replace calls to TYPE_DOMAIN
7769 with TYPE_ORIG_SIZE_TYPE.
7770
eabe2b29 77712004-03-25 Aldy Hernandez <aldyh@redhat.com>
18d5f982
ZW
7772
7773 PR 14219
7774 * c-typeck.c (build_binary_op): Do not allow comparisons of
7775 vectors.
eabe2b29 7776
9e1395f1
JM
77772004-03-26 James A. Morrison <ja2morri@uwaterloo.ca>
7778
7779 * config.gcc: Remove sparc-tti-*.
7780 * config/sparc/pbd.h: Delete.
7781
7782 * config/sparc/sol2.h: Remove note about Sun OS 4.x.
7783 * config/sparc/aout.h: Likewise.
7784
7785 * config/sparc/sparc.h: Remove if 0'd code.
7786 * config/sparc/sparc.md (call): Remove if 0'd code.
7787 (call_value): Likewise.
7788 (nonlocal_goto): Likewise.
7789 (unimp_insn): Delete.
7790
22e63bd3
RS
77912004-03-25 Roger Sayle <roger@eyesopen.com>
7792
7793 * fold-const.c (tree_expr_nonnegative_p): Handle BIT_XOR_EXPR like
7794 BIT_IOR_EXPR; A^B is nonnegative when A and B are nonnegative.
7795
0066ef9c
RH
77962004-03-25 Richard Henderson <rth@redhat.com>
7797
7798 PR 11527
18d5f982
ZW
7799 * c-typeck.c (pop_init_level): Emit pending init elements earlier
7800 rather than later.
0066ef9c 7801
3a048383
KG
78022004-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7803
7804 * builtins.c (fold_builtin): Fix error in last change.
7805
0d63bf21
RS
78062004-03-25 Richard Sandiford <rsandifo@redhat.com>
7807
7808 * config/mips/mips.h: Formatting fix.
7809
740e5b6f
KG
78102004-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7811
7812 * builtins.def: Add ctype builtins.
7813 * doc/extend.texi: Likewise.
7814
e19f6bde
KG
78152004-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7816
7817 * builtins.c (fold_builtin): Add new builtin optimizations for
7818 sqrt and/or cbrt.
7819 * fold-const.c (fold): Likewise.
7820
ec507f2d
DE
78212004-03-25 David Edelsohn <edelsohn@gnu.org>
7822
7823 * config/rs6000/rs6000.c (rs6000_always_hint): New variable.
7824 (rs6000_sched_groups): New variable.
7825 (processor_target_table): Add power5.
7826 (rs6000_override_options): Set rs6000_sched_insert_nops,
7827 rs6000_sched_costly_dep and rs6000_sched_restricted_insns_priority
7828 from rs6000_sched_groups.
7829 (output_cbranch): Use rs6000_always_hint.
7830 (rs6000_variable_issue): Use rs6000_sched_groups.
7831 (rs6000_adjust_cost): Add CPU_POWER5.
7832 (is_microcoded_insn): Use rs6000_sched_groups.
7833 (is_dispatch_slot_restricted): Use rs6000_sched_groups.
7834 Return 2 for POWER5 cracked instructions.
7835 (is_cracked_insn): Use rs6000_sched_groups.
7836 (is_branch_slot_insn): Use rs6000_sched_groups.
7837 (rs6000_issue_rate): Add CPU_POWER5.
7838 (rs6000_sched_finish): Use rs6000_sched_groups.
7839 (rs6000_rtx_costs): Add PROCESSOR_POWER5.
7840 * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_POWER5.
7841 (DEFAULT_SCHED_COSTLY_DEP): Delete.
7842 (DEFAULT_RESTRICTED_INSNS_PRIORITY): Delete.
7843 (DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Delete.
7844 * config/rs6000/rs6000.md (define_attr "cpu"): Add power5.
7845 * config/rs6000/power5.md: New file.
7846 * doc/invoke.texi: Add power5 option.
7847
666c27b9
KH
78482004-03-25 Kazu Hirata <kazu@cs.umass.edu>
7849
7850 * cfgrtl.c, dbxout.c, tree.def, config/darwin.h,
7851 config/arm/arm.c, objc/objc-act.c: Fix comment typos.
7852 * doc/invoke.texi: Fix a typo.
7853
43a21dfc
KH
78542004-03-25 Kazu Hirata <kazu@cs.umass.edu>
7855
7856 PR optimization/9707.
7857 * stmt.c (emit_case_nodes): Emit equality comparisons instead
7858 of recursing if both children are single-valued cases with no
7859 children.
7860
9728c9d1
PB
78612004-03-25 Paul Brook <paul@codesourcery.com>
7862
7863 * config/arm/arm.c (vfp_print_multi): Remove.
7864 (arm_output_fldmx): New function.
7865 (vfp_emit_fstmx): Return block size, not insn. Add ARM10 VFPr1 bugfix.
7866 (arm_expand_prologue): Update to match.
7867 (arm_get_vfp_saved_size): New Function.
7868 (arm_get_frame_offsets): Use it.
7869 (arm_output_epilogue): Use new functions.
7870
bb1acb3e
RH
78712004-03-24 Richard Henderson <rth@redhat.com>
7872
7873 * alias.c (alias_invariant, alias_invariant_size): Mark GTY.
7874 (reg_known_value, reg_known_value_size): Likewise; make static.
7875 (reg_known_equiv_p): Make static.
7876 (clear_reg_alias_info): Update for new indexing.
7877 (get_reg_known_value, set_reg_known_value): New.
7878 (get_reg_known_equiv_p, set_reg_known_equiv_p): New.
7879 (canon_rtx): Use them.
7880 (init_alias_analysis): Likewise. Allocate reg_known_value with gc.
7881 Don't play queer offsetting games with reg_known_value and
7882 reg_known_equiv_p.
7883 (end_alias_analysis): Free reg_known_value with gc.
7884 * rtl.h (get_reg_known_value, get_reg_known_equiv_p): Declare.
7885 * sched-deps.c (reg_known_equiv_p, reg_known_value): Remove.
7886 (deps_may_trap_p, sched_analyze_1, sched_analyze_2): Use the new
7887 functions instead.
7888
ef335eb8
KH
78892004-03-24 Kazu Hirata <kazu@cs.umass.edu>
7890
7891 * dwarf2asm.c, loop.h, pretty-print.c, pretty-print.h,
7892 config/i386/mmintrin.h: Update copyright.
7893
09a9c095
NN
78942004-03-24 Nathanael Nerode <neroden@gcc.gnu.org>
7895
7896 * configure.ac: Add --enable-werror-always (for top level bootstrap
7897 support).
7898 * configure: Regenerate.
7899
f75963f5
ZL
79002004-03-24 Ziemowit Laski <zlaski@apple.com>
7901
7902 * objc/objc-act.c (objc_comptypes): Treat comparisons
7903 between 'Class' and '<class> *' as explicitly invalid.
7904
8d3b3fb7
DE
79052004-03-24 David Edelsohn <edelsohn@gnu.org>
7906
827c06b6 7907 * doc/invoke.texi (-frename-registers): Add enabled at -O3.
8d3b3fb7
DE
7908 (-fprofile-values): Add enabled with profile-{generate,use}.
7909 (-fvpt): Same.
7910 (-ftracer): Add enabled with profile-use.
7911 (-funit-at-a-time): Add enabled at -O2,-O3.
7912 (-funroll-loops): Add enabled with profile-use.
7913 (-funswitch-loops): Add enabled with profile-use. Remove duplicates.
7914 (max-gcse-passes): Mention default.
7915 (max-cse-path-length): Mention default.
7916
643d3bd2
NN
79172004-03-24 Nathanael Nerode <neroden@gcc.gnu.org>
7918
7919 * Makefile.in (STRICT2_WARN): Reorder.
7920 * configure.ac: Check for -Wold-style-definition, and use it
7921 in strict1_warn if it's available.
7922 * configure: Regnerate.
7923
5848830f
PB
79242004-03-24 Paul Brook <paul@nowt.org>
7925
7926 * config.gcc <arm>: Add --with-abi=
7927 * config/arm/arm-protos.h (arm_get_frame_size, thumb_get_frame_size,
7928 thumb_far_jump_used): Remove prototypes.
7929 (arm_needs_doubleword_align): Add prototype.
7930 (thumb_compute_initial_elimination_offset): Ditto.
7931 * config/arm/arm.c (arm_get_frame_offsets): New function.
7932 (use_return_insn, output_return_instruction, arm_output_epilogue,
7933 arm_output_function_epilogue, arm_compute_initial_elimination_offset,
7934 arm_expand_prologue, thumb_expand_epilogue): Use it.
7935 (arm_abi, target_abi_name, all_arm_abis): New variables.
7936 (arm_override_options): Set them. Set structure padding for AAPCS.
7937 (arm_return_in_memory): Update ABI check.
7938 (arm_init_cumulative_args): Initialize can_split.
7939 (arm_needs_doubleword_align): New function.
7940 (arm_function_arg): Don't split args after pushing to stack. Handle
7941 doubleword/even reg alignment.
7942 (arm_va_arg): Handle all doubleword aligned args.
7943 (add_minpoolforward ref, dump_minpool, push_minpool_fix): Align based
7944 on ABI, not CPU.
7945 (arm_compute_save_reg0_reg12_mask): Fix comment.
7946 (thumb_get_frame_size, thumb_get_frame_size): Remove.
7947 (thumb_jump_far_used_p): Remove superfluous argument. Return save
7948 value for alignment.
7949 (thumb_unexpanded_epilogue, thumb_output_function_prologue): Change
7950 to match.
7951 (thumb_compute_initial_elimination_offset): New function.
7952 (thumb_expand_prologue): Use arm_get_frame_offsets. Remove
7953 unneccessary rounding.
7954 * config/arm/arm.h (target_abi_name): Declare.
7955 (ARM_DOUBLEWORD_ALIGN, DOUBLEWORD_ALIGNMENT, TARGET_IWMMXT_ABI,
7956 arm_abi_type, ARM_DEFAULT_ABI): Define.
7957 (ARM_FLAG_ATPCS): Remove.
7958 (TARGET_OPTIONS, OPTION_DEFAULT_SPECS): Add -mabi=.
7959 (BIGGEST_ALIGNMENT, PREFERRED_STACK_BOUNDARY, STACK_BOUNDARY): Use it.
7960 (ADJUST_FIELD_ALIGN, DATA_ALIGNMENT, LOCAL_ALIGNMENT,
7961 TYPE_NEEDS_IWMMXT_ALIGNMENT): Remove.
7962 (LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P, FUNCTION_ARG_REGNO_P):
7963 Contitionalize on ABI, not CPU.
7964 (struct arm_stack_offsets): Define.
7965 (struct machine_function): Add stack_offsets. Remove frame_size.
7966 (FUNCTION_ARG_PARTIAL_NREGS): Don't split if previous args have been
7967 pushed.
7968 (FUNCTION_ARG_ADVANCE, FUNCTION_ARG_BOUNDARY): Handle general
7969 doubleword alignment.
7970 (THUMB_INITIAL_ELIMINATION_OFFSET,
7971 ARM_INITIAL_ELIMINATION_OFFSET): Remove.
7972 (INITIAL_ELIMINATION_OFFSET): Call functions directly.
7973 * config/arm/arm.md (align_8): Enable for all targets.
7974 * config/arm/netbsd-elf.h (TARGET_DEFAULT): Remove TARGET_ATPCS.
7975 (ARM_DEFAULT_ABI): Define.
7976 * doc/invoke.texi <ARM>: Document -mabi=. Update documentation for
7977 -mstructure-size-boundary.
7978
b5472e1d
NN
79792004-03-24 Nathanael Nerode <neroden@gcc.gnu.org>
7980
7981 * configure.ac: Check for -Wno-variadic-macros; don't use
7982 -pedantic (in stage 1 or a simple 'make all') unless it's available,
7983 and if it's available, use it. Also, clean up check for
7984 -Wno-long-long.
7985 * configure: Regenerate.
7986
c1077e1e
RS
79872004-03-24 Richard Sandiford <rsandifo@redhat.com>
7988
7989 * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Remove tm_defines.
7990 * config/mips/vr.h (DEFAULT_VR_ARCH): New macro, defined to vr4130.
7991 (MULTILIB_DEFAULTS): Use it.
7992 (MIPS_CPU_STRING_DEFAULT): Remove.
7993 (MIPS_ABI_DEFAULT, MIPS_MARCH_CONTROLS_SOFT_FLOAT): Define.
7994 (DRIVER_SELF_SPECS): Make -mfix-vr4122-bugs imply -march=vr4120. Make
7995 EABI64 -mlong32 the default ABI. Enforce the default architecture.
7996 * config/mips/t-vr (MULTILIB_OPTIONS): Add mfix-vr4122-bugs,
398a9492 7997 march=vr4130, march=vr4300, march=vr5000 and march=vr5500.
c1077e1e
RS
7998 (MULTILIB_MATCHES): Use -mfix-vr4122-bugs multilibs for -march=vr4120.
7999 (MULTILIB_EXCEPTIONS): Change choice of multilibs. Update comments
8000 accordingly.
8001
c235ddf2
DD
80022004-03-24 DJ Delorie <dj@redhat.com>
8003 Richard Sandiford <rsandifo@redhat.com>
8004
8005 * config/mips/mips.h (MASK_FIX_VR4122, TARGET_FIX_VR4122): New macros.
8006 (TARGET_SWITCHES): Add -mfix-vr4122-bugs and -mno-fix-vr4122-bugs.
8007 (ASM_SPEC): Pass down -mfix-vr4122-bugs.
8008 * config/mips/mips.c (mips_avoid_hazards): Don't emit whole functions
8009 in .set noreorder and .set nomacro if TARGET_FIX_VR4122.
8010 (mips_init_libfuncs): Use special functions for divsi3 and modsi3
8011 if TARGET_FIX_VR4122.
8012 * config/mips/mips.md (define_attr length): Account for nops inserted
8013 after macc and dmult when using -mfix-vr4122-bugs.
8014 (umuldi3_highpart, divmodsi4, divmoddi4): Disable if TARGET_FIX_VR4122.
8015 * config/mips/t-vr (LIB2FUNCS_STATIC_EXTRA): Define instead of
8016 LIB2FUNCS_EXTRA. Add config/mips/vr4122-div.S.
8017 * config/mips/vr4122-div.S: New file.
8018 * doc/invoke.texi: Document -mfix-vr4122-bugs.
8019
cf768d70
RS
80202004-03-24 Richard Sandiford <rsandifo@redhat.com>
8021
8022 * config/mips/mips.h (PROCESSOR_R4130): New processor_type.
8023 (TARGET_MIPS4130): New macro.
8024 (ISA_HAS_MACC): Return true if TARGET_MIPS4130 && !TARGET_MIPS16.
8025 * config/mips/mips.c (mips_cpu_info_table): Add a vr4130 entry.
8026 (override_options): Extend MIPS_MARCH_CONTROLS_SOFT_FLOAT to deal
8027 with PROCESSOR_R4130.
8028 * config/mips/mips.md (define_attr cpu): Add r4130.
8029 * doc/invoke.texi: Document vr4130 as a supported MIPS architecture.
8030
5ef1a99d
MR
80312004-03-24 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
8032 Richard Sandiford <rsandifo@redhat.com>
8033
8034 * doc/invoke.texi: Apply missed hunk from 2004-03-03 change.
8035
ae87624f
AO
80362004-03-24 Alexandre Oliva <aoliva@redhat.com>
8037
8038 PR preprocessor/14438
8039 * cpplib.c (do_pragma): Remove line_change call after pragma
8040 handler.
8041
d63851eb
ILT
80422004-03-23 Ian Lance Taylor <ian@wasabisystems.com>
8043
8044 * doc/extend.texi (ARM Built-in Functions): Replace with correct
8045 declarations.
8046
0c5faf29
RS
80472004-03-23 Roger Sayle <roger@eyesopen.com>
8048
8049 * reg-stack.c (get_true_reg): Handle FLOAT_TRUNCATE like FLOAT_EXTEND
8050 if flag_unsafe_math_optimizations.
8051 * config/i386/i386.md (truncdfsf2): If flag_unsafe_math_optimizations
8052 and TARGET_80387 expand using truncdfsf2_noop pattern.
8053 (truncxfsf2): Likewise using truncxfsf2_noop.
8054 (truncxfdf2): Likewise using truncxfdf2_noop.
8055 (truncdfsf2_noop, truncxfsf2_noop, truncxfdf2_noop): New patterns.
8056
f18eca82
ZL
80572004-03-23 Ziemowit Laski <zlaski@apple.com>
8058
8059 * hooks.c (hook_constcharptr_tree_null): New hook.
8060 * hooks.h (hook_constcharptr_tree_null): New prototype.
8061 * target-def.h (TARGET_MANGLE_FUNDAMENTAL_TYPE): New target hook.
8062 * target.h (mangle_fundamental_type): New target hook.
8063 * config/rs6000/rs6000.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Point
8064 target hook at rs6000_mangle_fundamental_type.
8065 (rs6000_mangle_fundamental_type): New function.
8066 * doc/tm.texi (TARGET_MANGLE_FUNDAMENTAL_TYPE): Document.
8067
f75fbaf7
ZW
80682004-03-23 Zack Weinberg <zack@codesourcery.com>
8069
1b1d85bd 8070 PR 12267, 12391, 12560, 13129, 14114, 14133
f75fbaf7
ZW
8071 * c-tree.h: Forward declare struct c_binding. Declare
8072 c_override_bindings_to_false. Update prototypes.
8073 (struct lang_identifier): Update comments. Change fields to be
8074 struct c_binding *.
8075 (IDENTIFIER_SYMBOL_VALUE, IDENTIFIER_TAG_VALUE)
8076 (IDENTIFIER_LABEL_VALUE, C_DECL_INVISIBLE)
8077 (KEEP_NO, KEEP_YES, KEEP_MAYBE): Delete.
8078 (C_DECL_IN_EXTERNAL_SCOPE, C_DECL_DECLARED_BUILTIN): New.
8079 * c-common.h: Update prototypes.
8080 * c-decl.c (struct c_scope): Update commentary. Remove names,
8081 names_last, parms, parms_last, tags, and shadowed fields. Add
8082 bindings and depth fields.
8083 (scope_freelist): Move to more appropriate location.
8084 (c_print_identifier): Update for changes to struct lang_identifier.
8085 (objc_mark_locals_volatile): Update for new bindings structures.
8086 (global_bindings_p): Honor c_override_global_bindings_to_false.
8087 (pushlevel): Rename to push_scope; take no arguments; use the
8088 scope_freelist; initialize scope->depth and check for overflow.
8089 (poplevel): Rename to pop_scope; totally rewritten for new bindings
8090 structures.
8091 (diagnose_mismatched_decls): Use C_DECL_DECLARED_BUILTIN, not
8092 C_DECL_INVISIBLE, for certain decisions. Adjust some diagnostics.
8093 Improve some commentary. Adjust handling of forward parm decls.
8094 (merge_decls): Set C_DECL_DECLARED_BUILTIN when appropriate.
8095 Preserve C_DECL_IN_EXTERNAL_SCOPE.
8096 (warn_if_shadowing): Correct indentation. Improve diagnostics.
8097 (pushdecl): Remove unnecessary assertion. Short-circuit anonymous
8098 decls. Rewrite for new bindings structures. Improve commentary.
8099 Eliminate the copy_node call.
8100 (implicit_decl_warning): Use the "diag" idiom (as seen in
8101 locate_old_decl) to reduce code duplication; call locate_old_decl
8102 if appropriate. Relocate to remove need for forward declaration.
8103 (implicitly_declare): Adjust for new bindings structures. Kludge
8104 around Objective-C not-really-builtin functions.
8105 (undeclared_variable): Improve diagnostics. If current_function_decl
8106 is nonnull but current_function_scope is null, use current_scope.
8107 Use bind.
8108 (lookup_tag): Adjust for new bindings structures. Kludge around
8109 Objective-C's tag declarations that wind up in the external scope.
8110 (lookup_name): Adjust for new bindings structures. Kludge around
8111 c-common.c's pseudo-typedefs that wind up in the external scope.
8112 (lookup_name_current_level): Rename lookup_name_in_scope; take a
8113 second argument indicating the scope to examine; rewrite for
8114 new bindings structures.
8115 (c_init_decl_processing): Adjust for renamed functions. Do not
8116 initialize current_file_decl, first_builtin_decl, last_builtin_decl.
8117 First scope pushed is the external scope, not the global scope.
8118 (builtin_function): Use bind, not pushdecl. Adjust other bits
8119 for new data structures. Keep track of builtins that should be
8120 made visible automatically.
8121 (start_decl): Adjust diagnostics. Remove unnecessary call to
8122 expand_decl.
8123 (grokparms): Return 0 if arg_types is error_mark_node.
8124 (get_parm_info): Rename "void_at_end" argument to "ellipsis", with
8125 reversed sense. Rewrite for new bindings structures. Do not
8126 leave any decls in the scope, to prevent pop_scope from doing
8127 contradictory things with them.
8128 (finish_struct, finish_enum): Remove redundant diagnostics.
8129 (build_enumerator): Don't cascade diagnostics for error_mark_node.
8130 Mark location where -pedantic changes the meaning of the program.
8131 (store_parm_decls_newstyle, store_parm_decls_oldstyle): Load the
8132 parameter decls into the function's scope structure using bind.
8133 Warn here about function definitions in the wrong style.
8134 Adjust diagnostics.
8135 (store_parm_decls): Correct the determination of whether a
8136 function was defined with a prototype.
8137 (c_write_global_declarations): Operate on all file decls and on
8138 the external scope. Split body of the loop to...
8139 (c_write_global_declarations_1): ... this new function, to avoid
8140 code duplication.
8141 (truly_local_externals, first_builtin_decl, last_builtin_decl)
8142 (make_scope, pop_scope, in_parm_level_p, set_block)
8143 (any_external_decl, record_external_decl, bind_label, getdecls)
8144 (link_hash_hash, link_hash_eq, merge_translation_unit_decls)
8145 (c_reset_state): Delete.
8146 (visible_builtins, c_override_global_bindings_to_false)
8147 (c_binding, I_SYMBOL_BINDING, I_SYMBOL_DECL, I_TAG_BINDING)
8148 (I_TAG_DECL, I_LABEL_BINDING, I_LABEL_DECL, file_scope)
8149 (external_scope, binding_freelist, bind, free_binding_and_advance)
8150 (push_file_scope, pop_file_scope): New.
8151 (pushtag, pushdecl_top_level, lookup_label, declare_label)
8152 (define_label, c_make_fname_decl, finish_decl)
8153 (mark_forward_parm_decls, build_compound_literal)
8154 (grokdeclarator, start_function, check_for_loop_decls)
8155 (identifier_global_value, record_builtin_type): Minor adjustments
8156 for new bindings structures. Improve diagnostics and commentary.
8157 * c-objc-common.c (start_cdtor, finish_cdtor): Adjust calls to
8158 pushlevel/poplevel respectively.
8159 (c_objc_common_finish_file): Don't call merge_translation_unit_decls.
8160 * c-opts.c (c_common_parse_file): Remove spurious ATTRIBUTE_UNUSED.
8161 Warn about YYDEBUG not being defined only if -dy. Remove no-longer-
8162 correct loop over multiple translation units; call fatal_error if
8163 requested to compile more than one file at once. (This disables
8164 IMA temporarily - an up-front error being preferable to a crash.)
8165 * c-parse.in (pushlevel, poplevel rules): Rename push_scope, pop_scope.
8166 (all actions): Adjust calls to pushlevel/poplevel.
8167 (parsing_iso_function_signature): Delete.
8168 (extdef_1): Fold into extdef.
8169 (old_style_parm_decls_1): Fold into old_style_parm_decls. Don't
8170 warn here about function definitions in the wrong style.
8171 (after_tyle_declarator, parm_declarator_starttypename)
8172 (parm_declarator_nostarttypename, notype_declarator): Remove
8173 commented-out productions.
8174 (parmlist_1, parmlist_2): Use make_node, not tree_cons, to create
8175 an empty TREE_LIST node. Adjust calls to get_parm_info.
8176 (parmlist_2 : ELLIPSIS): Tag the arg-info block with error_mark_node
8177 to suppress -Wold-style-definition after this error.
8178 (c_parse_file): Don't clear the binding stack or call
8179 finish_fname_decls here. Correct comment.
8180 * c-typeck.c (same_translation_unit_p): Export.
8181 (common_type): Use c_override_global_bindings_to_false, not
8182 pushlevel/poplevel/declare_parm_level.
8183 * c-lang.c: Override LANG_HOOKS_CLEAR_BINDING_STACK,
8184 LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK,
8185 and LANG_HOOKS_GETDECLS with do-nothing stubs.
8186 * objc/objc-lang.c: Likewise.
8187 * objc/objc-act.c: Adjust all calls to pushlevel, poplevel,
8188 get_parm_info.
8189 (OBJC_VOID_AT_END): Delete; replace all uses
8190 with void_list_node.
8191 (generate_forward_declaration_to_string_table): Delete.
8192 * objc/objc-act.h (OCTI_STRG_DECL, UOBJC_STRINGS_decl): Delete.
8193
8194 * coverage.c (create_coverage): Don't pushdecl anything.
8195 * langhooks.c (lhd_clear_binding_stack): Call
8196 lang_hooks.decls.poplevel, not poplevel.
8197 * tree.c (list_length): If ENABLE_TREE_CHECKING, abort on a
8198 circular list rather than going into an infinite loop.
8199
0c0ab0f1
OH
82002004-03-23 Olivier Hainque <hainque@act-europe.fr>
8201
f75fbaf7
ZW
8202 * optabs.c (expand_binop): When synthesizing double word rotates
8203 from single word shifts, use a new register target if the provided
8204 target is not a REG already.
0c0ab0f1 8205
22421b79
RK
82062004-03-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8207
8208 * alias.c (get_alias_set): Add support for TYPE_REF_CAN_ALIAS_ALL.
8209 * c-common.c (handle_mode_attribute): Add extra arg to
8210 build_pointer_type_for_mode and build_reference_type_for_mode.
8211 * c-typeck.c (build_c_cast): Only look at TREE_CONSTANT_OVERFLOW
8212 for INTEGER_CST.
8213 * tree.c (build_pointer_type_for_mode): Add arg CAN_ALIAS_ALL.
8214 Chain pointers via TYPE_NEXT_PTR_TO.
8215 (build_reference_type_for_mode): Similarly.
8216 (build_type_no_quals): Add extra arg to build_pointer_type_for_mode
8217 and build_reference_type_for_mode.
8218 (tree_check4_failed): New function.
8219 * tree.h (TREE_CHECK4, PTR_OR_REF_CHECK): New macros.
8220 (TYPE_REF_CAN_ALIAS_ALL, TYPE_NEXT_PTR_TO, TYPE_NEXT_REF_TO): Likewise.
8221 (TREE_NO_UNSUED_WARNING, TREE_VIA_VIRTUAL, TREE_CONSTANT_OVERFLOW):
8222 Add check.
8223
b1500d00
RS
82242004-03-23 Roger Sayle <roger@eyesopen.com>
8225
8226 * fold-const.c (tree_expr_nonnegative_p): A&B is nonnegative when
8227 A is nonnegative or B is nonnegative. Similarly A|B is nonnegative
8228 when both A and B are nonnegative.
8229 (tree_expr_nonzero_p): A|B is nonzero when A is nonzero or B is
8230 nonzero.
8231
73b91357
KH
82322004-03-23 Kazu Hirata <kazu@cs.umass.edu>
8233
8234 * fold-const.c (fold): Remove cases for INTEGER_CST, REAL_CST,
8235 VECTOR_CST, STRING_CST, COMPLEX_CST, and CONSTRUCTOR.
8236
bb3a37ac
RS
82372004-03-23 Kazu Hirata <kazu@cs.umass.edu>
8238
8239 PR optimization/14669
8240 * fold-const.c (fold): Only unwiden integer comparisons for equality
8241 and inequality operators, or when the signedness doesn't change.
8242
f2c79f80
JJ
82432004-03-23 Jakub Jelinek <jakub@redhat.com>
8244
8245 * config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file.
8246 * config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Set.
8247 * config/sparc/t-linux: New file.
8248
1707bafa
RS
82492004-03-23 Richard Sandiford <rsandifo@redhat.com>
8250
8251 * gcse.c (can_assign_to_reg_p): New function, split out from...
8252 (want_to_gcse_p): ...here.
8253 (compute_ld_motion_mems): Use can_assign_to_reg_p to validate
8254 the rhs of a store.
8255
63185fab
DN
82562004-03-22 Diego Novillo <dnovillo@redhat.com>
8257
8258 * c-typeck.c (same_translation_unit_p): Fix pasto.
8259
f72c6b56
DE
82602004-03-22 David Edelsohn <edelsohn@gnu.org>
8261
8262 * params.def (PARAM_MAX_SCHED_REGION_BLOCKS): New.
8263 (PARAM_MAX_SCHED_REGION_INSNS): New.
8264 * sched-rgn.c: Include params.h
8265 (MAX_RGN_BLOCKS): Delete.
8266 (MAX_RGN_INSNS): Delete.
8267 (too_large): Return bool. Convert to PARAM_VALUE.
0483ab6e 8268 * Makefile.in (sched-rgn.o): Depend on $(PARAMS_H).
f72c6b56
DE
8269 * doc/invoke.texi (param): Document max-sched-region-blocks and
8270 max-sched-region-insns.
8271
d6672e91
JB
82722004-03-22 Joel Brobecker <brobecker@gnat.com>
8273
8274 * dwarf2out.c (is_subrange_type): Do not emit a subrange_type DIE
8275 for base types.
8276
886de2d4
JB
82772004-03-22 Joel Brobecker <brobecker@gnat.com>
8278
8279 * dwarf2out.c (is_subrange_type): Minor code rework. No behavior
8280 change.
8281
d915eec0
JJ
82822004-03-22 Jakub Jelinek <jakub@redhat.com>
8283
8284 PR c/14069
8285 * c-decl.c (finish_struct): Change type of incorrect flexible array
8286 field into error_mark_node.
8287
aa6d25c9
AP
82882004-03-22 Andrew Pinski <pinskia@physics.uc.edu>
8289
19a03303 8290 PR target/14580
aa6d25c9
AP
8291 * config/rs6000/rs6000.c (symbol_ref_operand): Reject symbols
8292 who are not local for Darwin PIC.
8293
ead61c1d
UW
82942004-03-22 Ulrich Weigand <uweigand@de.ibm.com>
8295
8296 * regrename.c (regrename_optimize): Set regs_ever_live for all
8297 registers introduced as replacement.
8298
1bbd65cd
EB
82992004-03-22 Eric Botcazou <ebotcazou@libertysurf.fr>
8300
8301 PR middle-end/14470
8302 * expr.c (mark_queue): New function.
8303 (emit_insns_enqueued_after_mark): New function replacing
8304 emit_queue. Clear the body of emitted queued insns.
8305 (emit_queue): Call emit_insns_enqueued_after_mark.
8306 (store_expr): Mark the increment queue on entry. Emit
8307 only the incrementations queued when expanding the source.
8308
6dd297da
NN
83092004-03-22 Nathanael Nerode <neroden@gcc.gnu.org>
8310
8311 * configure.ac: Allow --disable-coverage-flags (for the future benefit
8312 of top level bootstrap, and consistency). Reindent.
8313 * configure: Regenerate.
8314
400e39e3
KH
83152004-03-21 Kazu Hirata <kazu@cs.umass.edu>
8316
8317 * bt-load.c, builtins.c, cfghooks.c, cfgrtl.c, gcse.c,
8318 ggc-page.c, integrate.c, var-tracking.c, web.c: Remove
8319 unnecessary casts.
8320
bd8ec6a7
DS
83212004-03-22 Danny Smith <dannysmith@users.sourceforge.net>
8322
8323 PR target/14291
8324 * gcov-io.h (gcov_truncate): Define ftruncate as _chsize for
8325 __MINGW32__.
8326
bd446804
UW
83272004-03-21 Ulrich Weigand <uweigand@de.ibm.com>
8328
8329 * config/s390/s390.md ("*doloop_si"): Change predicate for operand 2
8330 to nonimmediate_operand.
8331 ("*doloop_di"): Likewise.
8332
1e92bbb9
AO
83332004-03-21 Alexandre Oliva <aoliva@redhat.com>
8334
8335 * real.h (struct real_value): Use the same type for all
8336 bitfields. Rename exp to uexp.
8337 (REAL_EXP, SET_REAL_EXP): New accessor macros for uexp.
8338 Adjust all uses of exp...
8339 * builtins.c: ... here, ...
8340 * emit-rtl.c: ... here, and ...
8341 * real.c: ... and here.
8342
b9b44fb9
GDR
83432004-03-21 Gabriel Dos Reis <gdr@integrable-solutions.net>
8344
8345 * pretty-print.c (pp_base_maybe_space): New function.
8346 * pretty-print.h (pp_base_maybe_space): Declare.
8347 (pp_maybe_space): New macro.
8348
1c7b1b7e
UW
83492004-03-21 Ulrich Weigand <uweigand@de.ibm.com>
8350
8351 * config/s390/s390.md ("addti3", "subti3"): New insns and splitters.
8352
f258e38b
UW
83532004-03-21 Ulrich Weigand <uweigand@de.ibm.com>
8354
8355 * expmed.c (choose_mult_variant): Pass MULT_COST as argument instead
8356 of using register multiplication cost.
8357 (expand_mult): Adapt choose_mult_variant call.
8358 (expand_mult_highpart): Call choose_mult_variant with WIDER_MODE
8359 of MODE; pass appropriate cost bound. Adjust result when
8360 performing signed multiplication by a negative constant.
8361 Don't use intermediate modes larger than word_mode.
8362
6fce44af
RK
83632004-03-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8364
8365 * alias.c (get_alias_set): Remove handling of PLACEHOLDER_EXPR.
8366 * emit-rtl.c (component_ref_for_mem_expr): Likewise.
8367 (set_mem_attributes_minus_bitpos): Call SUBSTITUTE_PLACEHOLDER_IN_EXPR.
8368 * explow.c (expr_size): Likewise.
8369 * expr.h (placeholder_list, find_placeholder): Deleted.
8370 * expr.c (store_constructor): Likewise.
8371 (get_inner_reference): Likewise. Also don't call find_placeholder.
8372 (placeholder_list, find_placeholder): Deleted.
8373 (is_aligning_offset): Don't handle WITH_RECORD_EXPR, PLACEHOLDER_EXPR.
8374 (expand_expr_real, cases PLACEHOLDER_EXPR, WITH_RECORD_EXPR): Likewise.
8375 (highest_pow2_factor, case WITH_RECORD_EXPR): Remove.
8376 * dojump.c (do_jump, case WITH_RECORD_EXPR): Likewise.
8377 * dwarf2out.c (loc_descriptor_from_tree, case WITH_RECORD_EXPR):
8378 Likewise.
8379 * fold-const.c (invert_truthvalue, case WITH_RECORD_EXPR): Likewise.
8380 (extract_muldiv, case WITH_RECORD_EXPR): Likewise.
8381 * tree.c (expr_align, case WITH_RECORD_EXPR): Likewise.
8382 (contains_placeholder_p): Don't handle WITH_RECORD_EXPR.
8383 Clean up by using first_rtl_op.
8384 (substitute_in_expr): Use SUBSTITUTE_IN_EXPR for recursive call.
8385 (substitute_placeholder_in_expr): New function.
8386 * tree.def (WITH_RECORD_EXPR): Deleted.
8387 * tree.h (SUBSTITUTE_IN_EXPR, SUBSTITUTE_PLACEHOLDER_IN_EXPR): New.
8388 (substitute_placeholder_in_expr): New.
8389
0f005f33
AP
83902004-03-21 Andrew Pinski <pinskia@gcc.gnu.org>
8391
8392 * dojump.c (prefer_and_bit_test): Fix which part of
8393 the and_test is replaced.
8394
f80352b8
JM
83952004-03-21 Joseph S. Myers <jsm@polyomino.org.uk>
8396
8397 * frontends.texi: Add missing line.
8398
6ad79f18 83992004-03-21 Zack Weinberg <zack@codesourcery.com>
f75fbaf7
ZW
8400 Chris Devers <cdevers@pobox.com>
8401 Joseph S. Myers <jsm@polyomino.org.uk>
6ad79f18
JM
8402
8403 * doc/frontends.texi: Rewrite.
8404 * doc/gcc.texi: Update last modification date.
8405
eabd7d31
JZ
84062004-03-21 Josef Zlomek <zlomekj@suse.cz>
8407
8408 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Print the debug
8409 message before redirecting the edge.
8410
f8ad8d7c
ZD
84112004-03-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8412
8413 * emit-rtl.c (set_mem_attributes_minus_bitpos): Set MEM_POINTER
8414 flag.
8415 * explow.c (force_not_mem): Set REG_POINTER flag according to
8416 MEM_POINTER one.
8417 * rtl.h (MEM_POINTER): New macro.
8418 (struct rtx_def): Use integrated for MEM_SCALAR_P and frame_related
8419 for MEM_POINTER.
8420
8cce3d04
RS
84212004-03-20 Roger Sayle <roger@eyesopen.com>
8422
8423 PR target/13889
8424 * cse.c (fold_rtx): Avoid substituting constants into unary
687c3ea5 8425 conversion operations.
8cce3d04 8426
05fe5c67
KH
84272004-03-20 Kazu Hirata <kazu@cs.umass.edu>
8428
8429 * fold-const.c (fold): Replace "expr" with "t".
8430
dea984dc
ILT
84312004-03-20 Ian Lance Taylor <ian@wasabisystems.com>
8432
8433 PR c/12373
8434 * c-typeck.c (tagged_types_tu_compatible_p): Don't use
8435 DECL_ORIGINAL_TYPE if there isn't one.
8436
079f946d
KH
84372004-03-20 Kazu Hirata <kazu@cs.umass.edu>
8438
8439 * fold-const.c (fold): Replace "final_type" with "type".
8440 Remove variable "final_type".
8441
8d3784af
KH
84422004-03-20 Kazu Hirata <kazu@cs.umass.edu>
8443
8444 * fold-const.c (fold): Constify "type".
8445 Replace "TREE_TYPE (t)" with "type".
8446
245f1bfa
KH
84472004-03-20 Kazu Hirata <kazu@cs.umass.edu>
8448
8449 * bb-reorder.c, bt-load.c, c-decl.c, cfgcleanup.c, coverage.c,
8450 dwarf2asm.c, ifcvt.c, stor-layout.c, varasm.c: Replace calls
8451 via (*targetm.foo) () with targetm.foo ().
8452
802f6d4b
JM
84532004-03-20 Joseph S. Myers <jsm@polyomino.org.uk>
8454
8455 PR other/14630
8456 * doc/install.texi: Add info directory category and entry.
8457
ea993805
KH
84582004-03-20 Kazu Hirata <kazu@cs.umass.edu>
8459
8460 * fold-const.c (fold): Replace "t" with "tem" where it is used
8461 as a temporary variable. Remove "orig_t" and all of its uses.
8462
8e7b3a43
KH
84632004-03-20 Kazu Hirata <kazu@cs.umass.edu>
8464
8465 * fold-const.c (fold): Remove variable "invert".
8466 Move the handling of relational expressions that can be folded
8467 to a constant ...
8468 (fold_relational_const): ... here.
8469 (tree_expr_nonzero_p): New.
8470
b1c2d04a
JM
84712004-03-20 Joseph S. Myers <jsm@polyomino.org.uk>
8472
8473 PR c/14635
8474 * builtins.def (nan, nanf, nanl, nans, nansf, nansl): Change to
8475 DEF_GCC_BUILTIN.
8476
dbf833ee
RS
84772004-03-20 Richard Sandiford <rsandifo@redhat.com>
8478
8479 * Makefile.in (dojump.o): Depend on $(GGC_H) and dojump.h.
8480 (GTFILES): Add $(srcdir)/dojump.h.
8481 (gt-dojump.h): New dependency.
8482 * dojump.c (and_reg, and_test, shift_test): New static variables.
8483 (prefer_and_bit_test): New function.
8484 (do_jump): Use it to choose between (X & (1 << C)) and (X >> C) & 1.
8485
d1a6adeb
KH
84862004-03-20 Kazu Hirata <kazu@cs.umass.edu>
8487
8488 * c-common.c, cfgcleanup.c, cgraphunit.c, c-pretty-print.c,
8489 expmed.c, ggc-common.c, jump.c, passes.c, recog.c, regmove.c,
8490 reorg.c, tree.h: Fix comment typos.
8491
5fd9b178
KH
84922004-03-19 Kazu Hirata <kazu@cs.umass.edu>
8493
8494 * alias.c, attribs.c, bt-load.c, builtins.c, c-common.c,
8495 c-decl.c, c-objc-common.c, c-typeck.c, calls.c, cfglayout.c,
8496 cse.c, dbxout.c, dwarf2out.c, except.c, final.c,
8497 haifa-sched.c, integrate.c, passes.c, rtlanal.c, sched-rgn.c,
8498 sched-vis.c, simplify-rtx.c, stor-layout.c, tree.c, varasm.c,
8499 vmsdbgout.c: Replace calls via (*targetm.foo) () with
8500 targetm.foo ().
8501
86e7df90
ZL
85022004-03-19 Ziemowit Laski <zlaski@apple.com>
8503
8504 * config/rs6000/altivec.h (vec_dst, vec_dstst, vec_dststt,
8505 vec_dstt, vec_sld, vec_splat): Add prototypes, marked with
8506 always_inline attribute.
8507 * config/rs6000/rs6000.c (altivec_expand_dst_builtin):
8508 Treat expansion as completed even if literal argument is
8509 invalid (so that other expansions are not tried in vain).
8510
147d77b6
KH
85112004-03-19 Kazu Hirata <kazu@cs.umass.edu>
8512
8513 * loop-doloop.c (add_test): Replace GEN_INT (0) with
8514 const0_rtx.
8515
73c4ab99
KH
85162004-03-19 Kazu Hirata <kazu@cs.umass.edu>
8517
8518 * fold-const.c (fold) <ABS_EXPR>: Move the handling of constants
8519 ...
8520 (fold_abs_const): ... here.
8521
a6002f8d
RK
85222004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8523
8524 * tree.h (TYPE_ARRAY_MAX_SIZE): Use type.maxval directly.
8525
829bde68
DC
85262004-03-19 Denis Chertykov <denisc@overta.ru>
8527
d0aa5f10 8528 PR target/11520
829bde68
DC
8529 * config/avr/avr.md ("call_insn"): Handle explicit integer
8530 specially.
8531 (call_value_insn): Likewise.
8532
9d2a492d
RK
85332004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8534
8535 * tree.c (substitute_in_expr): Rewrite to simplify and be more generic.
8536
33d13fac
KH
85372004-03-19 Kazu Hirata <kazu@cs.umass.edu>
8538
8539 * fold-const.c (negate_expr): Move the handling of constants
8540 ...
8541 (fold_negate_const): ... here.
8542
7548281d
RK
85432004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8544
8545 * langhooks-def.h (LANG_HOOKS_HASH_TYPES): New macro and hook.
8546 * langhooks.h (struct lang_hooks_for_types): New field hash_types.
8547 * tree.c (debug_no_type_hash): Deleted.
8548 (type_hash_canon): Abort if passed a variant.
8549 Check lang_hooks.types.hash_types.
8550 (build_type_no_quals): Copy mode of POINTER_TYPE and REFERENCE_TYPE.
8551 (build_array_type): Remove unnecessary allocation of pointer type.
8552 (build_complex_type): Properly qualify resulting type.
8553
7e463bda
PB
85542004-03-19 Paolo Bonzini <bonzini@gnu.org>
8555
8556 * config/rs6000/rs6000.c (rs6000_init_builtins): Fix typo.
8557
8efc8980
RS
85582004-03-19 Richard Sandiford <rsandifo@redhat.com>
8559
8560 * expmed.c (choose_mult_variant, expand_mult_const): New, split from...
8561 (expand_mult): ...here.
8562 (extract_high_half): New, split out from expand_mult_highpart.
8563 (expand_highpart_optab): Likewise. Don't clobber target prematurely.
8564 (expand_highpart): Evaluate the cost of a shift/add sequence,
8565 then see if any of the specialized optabs are cheaper.
8566
ff3fcb8a
ILT
85672004-03-18 Ian Lance Taylor <ian@wasabisystems.com>
8568
8569 * mklibgcc.in: Remove obsolete MAYBE_USE_COLLECT2.
8570
1fb7e3af
KG
85712004-03-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8572
8573 * convert.c (convert_to_real): Add more math builtins.
8574
b3810360
KG
85752004-03-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8576
8577 * convert.c (convert_to_real): Reformat using switch stmt.
8578
9d363a56
MM
85792004-03-18 Mark Mitchell <mark@codesourcery.com>
8580
8581 * c-common.c (pointer_int_sum): Do not complain about using
8582 pointers to pointers-to-members.
8583
c3690d79
KH
85842004-03-18 Kazu Hirata <kazu@cs.umass.edu>
8585
8586 * system.h (MD_ASM_CLOBBERS): Move to "Old target macros that
8587 have moved to the target hooks structure".
8588
c3840092
JW
85892004-03-18 James E Wilson <wilson@specifixinc.com>
8590
8591 * config/mips/mips.md (type): Split move into arith and fmove. Split
8592 hilo into mthilo and mfhilo. Add trap. Delete icmp. Fix all uses.
8593 * config/mips/5400.md (ir_vr54_hilo, ir_vr54_arith, ir_vr54_fabs):
8594 Likewise.
8595 * config/mips/5500.md (ir_vr55_hilo, ir_vr55_arith, ir_vr55_fabs):
8596 Likewise.
8597 * config/mips/7000.md (rm7_int_other, rm7_mthilo, rm7_mfhilo,
8598 rm7_fp_quick): Likewise.
8599 * config/mips/9000.md (rm9k_int, rm9k_mfhilo, rm9k_mthilo,
8600 rm9k_fquick): Likewise.
8601 * config/mips/sr71k.md (ir_sr70_hilo, ir_sr70_arith, ir_sr70_fabs):
8602 Likewise.
8603 (ir_sr70_icmp): Delete.
8604
eb34af89 86052004-03-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
f75fbaf7 8606
eb34af89
RK
8607 * tree.h (TREE_CHECK2, TREE_CHECK3, TREE_CHECK5): New macros.
8608 (tree_check2_failed, tree_check3_failed, tree_check5_failed): New decl.
8609 (FUNC_OR_METHOD_CHECK, SET_ARRAY_OR_VECTOR_CHECK): New macros.
8610 (REC_OR_UNION_CHECK, NUMERICAL_TYPE_CHECK): Likewise.
8611 (TYPE_VALUES, TYPE_DOMAIN, TYPE_FIELDS, TYPE_METHODS, TYPE_VFIELD):
8612 Protect with proper check.
8613 (TYPE_ARG_TYPES, TYPE_METHOD_BASETYPE, TYPE_OFFSET_BASETYPE): Likewise.
8614 (TYPE_MIN_VALUE, TYPE_MAX_VALUE): Likewise.
8615 * tree.c (type_hash_eq): Rewrite to access proper fields for each type.
8616 (tree_check2_failed, tree_check3_failed, tree_check5_failed): New.
8617 * c-typeck.c (build_array_ref): Use TYPE_DOMAIN, not TYPE_VALUES.
8618 * dwarf2out.c (gen_enumeration_type_die): Use TYPE_VALUES,
8619 not TYPE_FIELDS.
d3b6a5fb 8620 * stor-layout.c (set_sizetype): Use TYPE_ORIG_SIZE_TYPE.
eb34af89 8621
2171cb85
MH
86222004-03-18 Mostafa Hagog <mustafa@il.ibm.com>
8623
8624 * gcse.c (eliminate_partially_redundant_loads): Reject change if
8625 dest is set between beginning and current insn.
8626
4ada538b
MM
86272004-03-18 Mark Mitchell <mark@codesourcery.com>
8628
8629 * c-decl.c (grokdeclarator): Do not complain about redeclaring
8630 visible "static" identifiers "extern" in a local scope.
8631 * dwarf2out.c (loc_descriptor_from_tree): Handle pre- and
8632 post-increments/decrements.
8633
79e9ebdc
BW
86342004-03-18 Bob Wilson <bob.wilson@acm.org>
8635
8636 * config/xtensa/xtensa.c (current_function_arg_words): Delete.
8637 (xtensa_builtin_saveregs): Use current_function_args_info.arg_words.
8638 (xtensa_va_start): Remove assignment to current_function_arg_words.
8639
5da6f168
RS
86402004-03-18 Richard Sandiford <rsandifo@redhat.com>
8641
8642 * alias.c (record_set): Detect the case where a register is assigned
8643 a new value that has the same base term as the old one.
8644
689ba89d
ZD
86452004-03-18 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8646
8647 * doloop.c: Removed.
8648 * loop-doloop.c: New file.
8649 * Makefile.in (doloop.o): Remove.
8650 (loop-doloop.o): New.
8651 * cfgloop.h (get_loop_level, doloop_optimize_loops): Declare.
8652 * cfgloopanal.c (get_loop_level): New function.
8653 * loop-iv.c (iv_number_of_iterations): Handle case when loop
8654 is leaved immediatelly.
8655 * loop.c (strength_reduce): Do not call doloop optimization.
8656 * loop.h (LOOP_BCT): Removed.
8657 * passes.c (rest_of_handle_loop_optimize): Do not use LOOP_BCT.
8658 (rest_of_handle_loop2): Call doloop_optimize_loops.
8659 (rest_of_compilation): Test for optimizations moved to
8660 rest_of_handle_loop2.
8661
327e5343
FJ
86622004-03-17 Fariborz Jahanian <fjahanian@apple.com>
8663
f75fbaf7
ZW
8664 * config/rs6000/rs6000.c (rs6000_stack_info): correct reg_size
8665 for mixed mode.
8666 (rs6000_emit_prologue): Ditto.
8667 (rs6000_emit_epilogue): Ditto.
8668 * config/rs6000/rs6000.h: Definition of DWARF_CIE_DATA_ALIGNMENT
8669 macro for mixed mode.
327e5343 8670
214ee4a2
JH
86712004-03-18 Jan Hubicka <jh@suse.cz>
8672
8673 * predict.c (propagate_freq): Compute correctly frequency of
8674 EXIT_BLOCK.
8675
33521f7d
EC
86762004-03-17 Eric Christopher <echristo@redhat.com>
8677
8678 * builtins.c (apply_args_size): Use reg_raw_mode.
8679 (apply_result_size): Ditto.
8680
d3daf7bb
RC
86812004-03-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
8682
8683 PR target/14620
8684 * config/rtems.h: Add STD_LIB_SPEC and LIB_SPEC.
8685
bb6df272
JJ
86862004-03-17 Jakub Jelinek <jakub@redhat.com>
8687
8688 * config/rs6000/t-linux64 (bispecs): Don't add -mlong-double-128 for
8689 32-bit builds when defaulting to 32-bit.
8690
7eca0767
JH
86912004-03-17 Jan Hubicka <jh@suse.cz>
8692
8693 * cfgrtl.c (rtl_create_basic_block): Pre-allocate basic_block_info
8694 array.
8695
3a3ae5e5
JW
86962004-03-17 James E Wilson <wilson@specifixinc.com>
8697
8698 * config/mips/mips.md (zero_extendsidi2): Add length attribute.
8699 (hazard_nop): Change type to nop.
8700 (type): Split arith into arith, shift, slt, clz. Delete darith.
8701 Fix all uses. Change arith to multi if more than one insn emitted.
8702 * config/mips/5400.md (ir_vr54_arith): Likewise.
8703 * config/mips/5500.md (ir_vr55_arith): Likewise.
8704 * config/mips/7000.md (rm7_int_other): Likewise.
8705 * config/mips/9000.md (rm9k_int): Likewise.
8706 * config/mips/sr71k.md (ir_sr70_arith): Likewise.
8707
6582c808
JB
87082004-03-17 Joel Brobecker <brobecker@gnat.com>
8709
8710 * dwarf2out.c (subrange_type_die): Define new variable "subtype"
8711 to hold the subtype tree instead of recomputing it several times.
8712
7ae4afcb
KH
87132004-03-17 Kazu Hirata <kazu@cs.umass.edu>
8714
8715 * config/mn10300/mn10300.c (notice_update_cc): Don't handle
8716 CC_INVERT.
8717 * config/mn10300/mn10300.md (cc): Remove "invert".
8718
b57051b2
KG
87192004-03-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8720
d093738d
KG
8721 * builtins.c (integer_valued_real_p): Add builtin rint.
8722 (fold_builtin): Likewise.
8723 * convert.c (convert_to_real): Likewise.
8724
b57051b2
KG
8725 * convert.c (convert_to_real): Fix typos in `long double'
8726 builtins.
8727
88020bd8
MM
87282004-03-16 Mark Mitchell <mark@codesourcery.com>
8729
8730 PR c++/14481
8731 * fold-const.c (fold): Set TREE_NO_UNUSED_WARNING on implicitly
8732 generated COMPOUND_EXPRs.
8733
bf3864fe
RC
87342004-03-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
8735
8736 * config/h8300/t-rtems (h8300-*-rtems*): New.
8737
bc4c01b7
EC
87382004-03-16 Eric Christopher <echristo@redhat.com>
8739
8740 * doc/cppopts.texi(fwide-exec-charset): Fix typo.
8741
3c5cb3e4
KH
87422004-03-16 Kazu Hirata <kazu@cs.umass.edu>
8743
8744 * config/i386/i386-protos.h: Add a prototype for
8745 ix86_reverse_condition.
8746 * config/i386/i386.c (ix86_reverse_condition): New.
8747 * config/i386/i386.h (REVERSE_CONDITION): Use
8748 ix86_reverse_condition.
8749 * config/i386/i386.md: Use ix86_reverse_condition instead of
8750 REVERSE_CONDITION.
8751
fd5580cb
B
87522004-03-16 J. Brobecker <brobecker@gnat.com>
8753
8754 * dwarf2out.c (loc_descriptor_from_tree): Add handling for MIN_EXPR.
8755
78fab00f
NN
87562004-03-16 Nathanael Nerode <neroden@gcc.gnu.org>
8757
8758 PR bootstrap/12974
8759 * Makefile.in: Pass $(INCLUDES) down to libgcc.mk explicitly.
8760
4a5eab38
PB
87612004-03-16 Paolo Bonzini <bonzini@gnu.org>
8762
8763 * c-common.c (c_common_type_for_mode): Build vector types on
8764 demand.
8765 (handle_mode_attribute): Deprecate using the mode attribute
8766 to create vector types. Fix indentation.
8767 (vector_type_node_list): Remove.
8768 (handle_vector_size_attribute): Create vector types on demand.
8769 Strip a NON_LVALUE_EXPR from the attribute if there is one.
8770 * c-typeck.c (comptypes): Make vector types compatible if they
8771 have the same underlying mode.
8772 (convert_for_assignment): Use comptypes to convert between
8773 vector types.
8774 * tree.c (build_common_tree_nodes_2): Do not create vector types.
8775 * config/arm/arm.c (arm_init_iwmmxt_builtins): Create necessary
8776 vector types.
8777 * tree.h: Remove vector types.
8778 * config/i386/i386.c (i386_init_mmx_sse_builtins): Likewise.
8779 * config/rs6000/rs6000.c (rs6000_init_builtins): Likewise.
8780 (V16QI_type_node, V2SI_type_node, V2SF_type_node, V4HI_type_node,
8781 V4SI_type_node, V4SF_type_node, V8HI_type_node): New globals.
8782 * doc/extend.texi (Vector Types): Document how to use the
8783 vector_size attribute to create vectors, rather than mode.
8784
8785 * config/arm/mmintrin.h: Use vector_size attribute, not mode.
8786 * config/i386/emmintrin.h: Likewise.
8787 * config/i386/mmintrin.h: Likewise.
8788 * config/i386/xmmintrin.h: Likewise.
8789 * config/sh/ushmedia.h: Likewise.
8790
b862b3b3
KH
87912004-03-16 Kazu Hirata <kazu@cs.umass.edu>
8792
8793 * config/freebsd-spec.h, config/arc/arc-protos.h,
8794 config/arm/aout.h, config/arm/elf.h, config/arm/freebsd.h,
8795 config/arm/linux-gas.h, config/arm/semi.h,
8796 config/cris/cris-protos.h, config/i386/xm-djgpp.h,
8797 config/ia64/freebsd.h, config/mips/7000.md,
8798 config/mips/9000.md, config/ns32k/ns32k-protos.h,
8799 config/sparc/pbd.h: Update copyright.
8800
314733e2
RC
88012004-03-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
8802
8803 PR target/14577
8804 * config.gcc: Switch sh-*-rtems* to ELF. Add sh-*-rtemscoff.
8805
6621d78e
PB
88062004-03-16 Paolo Bonzini <bonzini@gnu.org>
8807
8808 * combine.c (combine_simplify_rtx): Remove the "last"
8809 parameter and its documentation. Adjust recursive calls.
8810 (simplify_logical): Always perform the only simplification
8811 controlled by "last", if the simplified expression is
8812 actually different.
8813 (try_combine): Do not pass the "last" parameter to
8814 combine_simplify_rtx.
8815
4e7edcca
RS
88162004-03-16 Richard Sandiford <rsandifo@redhat.com>
8817
8818 PR target/14599
8819 * config/mips/mips.md (UNSPEC_GP): New constant.
8820 * config/mips/mips.c (CONST_GP_P): Expect the CONST to contain
8821 an UNSPEC instead of (reg $gp).
8822 (mips16_gp_pseudo_reg): Change accordingly.
8823 (print_operand): Print $gp directly when handling CONST_GP_P.
8824
88252004-03-16 Richard Zidlicky <rz@linux-m68k.org>
3704aae9
RZ
8826
8827 * config.gcc, config/m68k/linux.h: Implement with-cpu for m68k-linux.
8828 * longlong.h: Make code 68060 clean when compiling for m68060.
8829
4e7edcca 88302004-03-16 Richard Zidlicky <rz@linux-m68k.org>
8ac658b6
RZ
8831
8832 * config/m68k/m68k.md: Fix constraints for bitfield instructions.
8833 * doc/md.texi: Clarify description of "i" constraint.
8834
1a478672
JW
88352004-03-15 James E Wilson <wilson@specifixinc.com>
8836
8837 * config/mips/mips.md (type): Split load into load, fpload, fpidxload.
8838 Split store into store, fpstore, fpidxstore. Fix all uses.
8839 * config/mips/5400.md (ir_vr54_load, ir_vr54_store, ir_vr54_fstore):
8840 Likewise.
8841 * config/mips/5500.md (ir_vr55_load, i5_vr55_store): Likewise.
8842 * config/mips/7000.md (rm7_ld, rm7_st): Likewise.
8843 * config/mips/9000.md (rm9k_load, rm9k_store): Likewise.
8844 * config/mips/sr71k.md (ir_sr70_load, ir_sr70_store, ir_sr70_fload,
8845 ir_sr70_fstore): Likewise.
8846
0977ab3a
RH
88472004-03-15 Richard Henderson <rth@redhat.com>
8848
8849 PR middle-end/14535
8850 * except.c (collect_one_action_chain): Record action for cleanup
8851 outer of exception spec.
8852
4e4083ad
ILT
88532004-03-15 Ian Lance Taylor <ian@wasabisystems.com>
8854
8855 * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
8856 Fix the check for abort and only do the mmap if we can.
8857
ed38d6fe
EB
88582004-03-15 Eric Botcazou <ebotcazou@act-europe.fr>
8859
8860 * config/sparc/sparc.h: Rework comments about the code model
8861 in 64-bit environment and the mode 'Pmode'.
8862 * doc/invoke.texi (SPARC options): Rework description of the
8863 different code models supported in 64-bit environment.
8864
1f8551b2
KH
88652004-03-15 Kazu Hirata <kazu@cs.umass.edu>
8866
8867 * defaults.h (REVERSIBLE_CC_MODE): Define.
8868 * jump.c (reversed_comparison_code_parts): Don't check if
8869 REVERSIBLE_CC_MODE is defined.
8870
ca2b05ba
KH
88712004-03-15 Kazu Hirata <kazu@cs.umass.edu>
8872
8873 * c-incpath.c, c-incpath.h, c-pch.c, c.opt, cppexp.c,
8874 et-forest.h, genattr.c, ggc-none.c, hosthooks-def.h,
8875 hosthooks.h, params.h, ra-colorize.c, web.c,
8876 config/darwin-c.c, config/alpha/freebsd.h, config/arm/pe.c,
8877 config/avr/avr-protos.h, config/avr/avr.md,
8878 config/fr30/fr30-protos.h, config/fr30/fr30.md,
8879 config/h8300/fixunssfsi.c, config/i386/darwin.h,
8880 config/i386/freebsd.h, config/i386/freebsd64.h,
8881 config/ia64/hpux.h, config/ia64/unwind-ia64.c,
8882 config/ip2k/libgcc.S, config/m32r/xm-m32r.h,
8883 config/mmix/mmix-modes.def, config/ns32k/netbsd.h,
8884 config/ns32k/ns32k.md, config/pa/pa64-hpux.h,
8885 config/pa/pa64-regs.h, config/rs6000/aix41.h,
8886 config/rs6000/aix43.h, config/rs6000/host-darwin.c,
8887 config/sparc/aout.h, config/sparc/freebsd.h,
8888 config/sparc/litecoff.h, config/vax/vax-protos.h,
8889 doc/hostconfig.texi, doc/include/gcc-common.texi: Update
8890 copyright.
8891
983e6484
PB
88922004-03-15 Paul Brook <paul@codesourcery.com>
8893
8894 * config/arm/arm.c (thumb_expand_prologue): Tie prologue insns to fp.
8895
5c3c69f4
GDR
88962004-03-15 Gabriel Dos Reis <gdr@integrable-solutions.net>
8897
8898 * c-pretty-print.c (pp_c_semicolon): Fix formatting.
8899 (pp_c_cv_qualifier): Document.
8900 (pp_c_space_for_pointer_operator): Likewise.
8901 (pp_c_integer_constant): Likewise.
8902 (pp_c_identifier): Likewise.
8903 (pp_c_init_declarator): Don't print function body.
8904
2dd76960
JM
89052004-03-14 Joseph S. Myers <jsm@polyomino.org.uk>
8906
8907 * doc/contrib.texi, doc/extend.texi, doc/gcov.texi,
8908 doc/install.texi, doc/invoke.texi, doc/makefile.texi,
8909 doc/sourcebuild.texi, doc/tm.texi, doc/trouble.texi: Capitalize
8910 "gcc", "g++" and "g77" or mark up with appropriate markup. Adjust
8911 wording and grammar.
8912
ae2bcd98
RS
89132004-03-14 Roger Sayle <roger@eyesopen.com>
8914
8915 * alias.c (get_alias_set): Replace calls via (*lang_hooks.foo) ()
8916 with lang_hooks.foo ().
8917 * builtins.c (expand_builtin_va_arg): Likewise.
8918 * c-common.c (fname_as_string, c_common_truthvalue_conversion,
8919 c_common_type_for_mode, c_common_nodes_and_builtins,
8920 handle_mode_attribute, handle_vector_size_attribute): Likewise.
8921 * c-convert.c (convert): Likewise.
8922 * c-format.c (check_format_types): Likewise.
8923 * c-objc-common.c (c_tree_printer): Likewise.
8924 * c-typeck.c (build_unary_op, build_conditional_expr,
8925 build_binary_op): Likewise.
8926 * calls.c (try_to_integrate, expand_call,
8927 emit_library_call_value_1): Likewise.
8928 * cgraph.c (cgraph_node_name, cgraph_function_possibly_inlined_p):
8929 Likewise.
8930 * cgraphunit.c (record_call_1, cgraph_analyze_function,
8931 cgraph_expand_function): Likewise.
8932 * convert.c (convert_to_pointer, convert_to_integer): Likewise.
8933 * coverage.c (build_fn_info_type, build_ctr_info_type,
8934 build_gcov_info, create_coverage): Likewise.
8935 * dbxout.c (dbxout_init): Likewise.
8936 * diagnostic.c (diagnostic_report_current_function): Likewise.
8937 * dojump.c (do_jump): Likewise.
8938 * dwarf2out.c (dwarf2_name): Likewise.
8939 * except.c (init_eh): Likewise.
8940 * explow.c (expr_size, int_expr_size): Likewise.
8941 * expmed.c (make_tree, const_mult_add_overflow_p, expand_mult_add):
8942 Likewise.
8943 * expr.c (store_expr, store_constructor, safe_from_p,
8944 expand_expr_real, do_store_flag, try_casesi): Likewise.
8945 * function.c (push_function_context_to, pop_function_context_from,
8946 free_after_parsing, assign_stack_local_1, assign_stack_temp_for_type,
8947 put_var_into_stack, allocate_struct_function, current_function_name):
8948 Likewise.
8949 * integrate.c (copy_decl_for_inlining, expand_inline_function):
8950 Likewise.
8951 * langhooks.c (lhd_clear_binding_stack, write_global_declarations,
8952 lhd_print_error_function): Likewise.
8953 * opts.c (handle_option, decode_options): Likewise.
8954 * passes.c (open_dump_file): Likewise.
8955 * print-tree.c (print_node): Likewise.
8956 * stmt.c (expand_fixup, fixup_gotos, expand_asm_operands,
8957 expand_decl_cleanup, emit_case_nodes): Likewise.
8958 * stor-layout.c (variable_size): Likewise.
8959 * toplev.c (announce_function, wrapup_global_declarations,
8960 check_global_declarations, compile_file, default_tree_printer,
8961 process_options, lang_dependent_init, finalize): Likewise.
8962 * tree-dump.c (dequeue_and_dump): Likewise.
8963 * tree-inline.c (remap_decl, remap_block, copy_body_r,
8964 initialize_inlined_parameters, declare_return_variable,
8965 inlinable_function_p, expand_call_inline, optimize_inline_calls,
8966 walk_tree, copy_tree_r): Likewise.
8967 * tree-optimize.c (tree_rest_of_compilation): Likewise.
8968 * tree.c (decl_assembler_name, tree_size, size_in_bytes, staticp,
8969 unsafe_for_reeval, get_unwidened, get_narrower, get_callee_fndecl,
8970 variably_modified_type_p, dump_tree_statistics): Likewise.
8971 * varasm.c (assemble_variable, compare_constant, copy_constant,
8972 force_const_mem, compute_reloc_for_constant, output_constant,
8973 output_addressed_constants, initializer_constant_valid_p): Likewise.
8974
89acbae0
KC
89752004-03-14 Kelley Cook <kcook@gcc.gnu.org>
8976
8977 * doc/install.texi: Make autoconf 2.13 the exception, not the rule.
8978
d01b30dc
AT
89792004-03-14 Andreas Tobler <a.tobler@schweiz.ch>
8980
8981 * doc/install.texi: Reflect autoconf and automake version for
8982 libffi. Update autoconf version to 2.59.
8983
5785c7de
RS
89842004-03-13 Roger Sayle <roger@eyesopen.com>
8985
8986 * fold-const.c (negate_expr, operand_equal_for_comparison_p,
8987 optimize_bit_field_compare, decode_field_reference, all_ones_mask_p,
8988 make_range, build_range_check, fold_range_test, unextend,
8989 constant_boolean_node, fold_binary_op_with_conditional_arg,
8990 fold_truthop, fold_mathfn_compare, fold_inf_compare,
8991 fold_single_bit_test, fold): Replace calls via (*lang_hooks.foo) ()
8992 with lang_hooks.foo ().
8993
edc62122
RE
89942004-03-14 Richard Earnshaw <rearnsha@arm.com>
8995
8996 * arm.h (EXTRA_CONSTRAINT_STR_ARM): Update comment.
8997
7db956db
DH
89982004-03-13 Dara Hazeghi <dhazeghi@yahoo.com>
8999
9000 * doc/install.texi: Note status of -fnew-ra.
9001
e6d55fd7
EB
90022004-03-13 Eric Botcazou <ebotcazou@libertysurf.fr>
9003
9004 PR middle-end/14470
9005 * expr.c (store_expr): Call emit_queue before generating the move
9006 from the temporary to the original target. Protect the temporary
9007 from emit_queue.
9008
cfbab41c
JJ
90092004-03-13 Jakub Jelinek <jakub@redhat.com>
9010
9011 PR target/14533
9012 * config/s390/s390.c (legitimize_pic_address): Don't abort on UNSPEC
9013 other than UNSPEC_GOTOFF.
9014
1e1ab407
RE
90152004-03-13 Richard Earnshaw <rearnsha@arm.com>
9016
9017 * arm.c (arm_legitimate_address_p): New argument, OUTER. Pass through
9018 to arm_legitimate_index_p. Update all callers with SET as default
9019 value.
9020 (arm_legitimate_index_p): New argument, OUTER. Restrict the index
9021 range if OUTER is a sign-extend operation on QImode. Correctly
9022 reject shift operations on sign-extended QImode addresses.
9023 (bad_signed_byte_operand): Delete.
9024 (arm_extendqisi_mem_op): New function.
9025 * arm.h (EXTRA_CONSTRAINT_ARM): Delete. Replace with...
9026 (EXTRA_CONSTRAINT_STR_ARM): ... this. Handle extended address
9027 constraints.
9028 (CONSTRAINT_LEN): New.
9029 (EXTRA_CONSTRAINT): Delete. Replace with...
9030 (EXTRA_CONSTRAINT_STR): ... this.
9031 (PREDICATE_CODES): Remove bad_signed_byte_operand.
9032 * arm.md (extendqihi_insn): Use new constraint Uq. Rework. Length
9033 is now always default.
9034 (define_splits for bad sign-extend loads): Delete.
9035 (arm_extendqisi, arm_extendqisi_v5): Likewise.
9036 * arm/vfp.md (arm_movsi_vfp, arm_movdi_vfp, movsf_vfp, movdf_vfp):
9037 Rework 'U' constraint to 'Uv'.
9038 * arm-protos.h: Remove bad_signed_byte_operand. Add
9039 arm_extendqisi_mem_op.
9040 * doc/md.texi (ARM constraints): Rename VFP constraint (now Uv).
9041 Add Uq constraint.
9042
c53bdcf5
AM
90432004-03-13 Alan Modra <amodra@bigpond.net.au>
9044
fa78dbea
AM
9045 * config/rs6000/rs6000.c (rs6000_va_arg): Replace SPLIT_COMPLEX_ARGS
9046 with targetm version.
9047
c53bdcf5
AM
9048 PR target/14567
9049 * config/rs6000/rs6000.h (UNITS_PER_ARG, RS6000_ARG_SIZE): Delete.
9050 (HARD_REGNO_MODE_OK): Disallow TFmode for fp31.
9051 * config/rs6000/rs6000.c (rs6000_arg_size): New function.
9052 Update all users of RS6000_ARG_SIZE.
9053 (function_arg_advance): Count fregno using mode size.
9054 (function_arg): Handle long double split over regs and memory.
9055 (function_arg_partial_nregs): Likewise.
9056 (rs6000_va_arg): Repackage complex args.
9057
992ab122
DF
90582004-03-13 Dean Ferreyra <dferreyra@igc.org>
9059
9060 PR target/14047
9061 * config/avr/avr.c (avr_progmem_p): Add "attributes" parameter.
9062 (avr_insert_attributes): Pass "attributes" to avr_progmem_p.
9063 * config/avr/avr-protos.h (avr_progmem_p): Change prototype.
9064
c973d557
JJ
90652004-03-12 Jakub Jelinek <jakub@redhat.com>
9066
9067 * config/rs6000/rs6000-protos.h (rs6000_output_dwarf_dtprel): Add
9068 prototype.
9069 * config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): New.
9070 * config/rs6000/rs6000.h (ASM_OUTPUT_DWARF_DTPREL): Define.
9071
4319ac92
AP
90722003-03-12 Andrew Pinski <apinski@apple.com>
9073
9074 * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
9075 Use ret instead of result. Use addr instead of base.
9076
bb674cef
DE
90772004-03-12 David Edelsohn <edelsohn@gnu.org>
9078
9079 * doc/install.texi (*-ibm-aix*): Document assembler and achiver
9080 fixes required by libstdc++ and update installation instructions
9081 for libstdc++.a.
9082
b1f123c7
DS
90832004-03-12 Danny Smith <dannysmith@users.sourceforge.net>
9084
9085 * config/i386/winnt.c (i386_pe_strip_name_encoding_full): Strip
9086 leading '@' on fastcall symbols before stripping suffix.
9087
67962db5
RS
90882004-03-12 Roger Sayle <roger@eyesopen.com>
9089
9090 * combine.c (unmentioned_reg_p): New function to check whether an
9091 expression is a "specialization" of another, i.e. that there are
9092 no registers or memory references mentioned in the first that don't
9093 appear in the second.
9094 (unmentioned_reg_p_1): New helper subroutine of unmentioned_reg_p.
9095 (combine_instructions): Also try combining instructions using the
9096 REG_EQUAL note from a preceding log-linked instruction.
9097
8937b6a2
RS
90982004-03-12 Roger Sayle <roger@eyesopen.com>
9099
9100 * config/i386/i386.c (ix86_split_ashrdi): Optimize shift by 63.
9101
4746cf84
MA
91022004-03-12 Matt Austern <austern@apple.com>
9103
9104 * target.h (struct gcc_target): New target hook, unwind_label.
9105 * target-def.h (TARGET_ASM_EMIT_UNWIND_LABEL): New hook.
9106 * output.h (default_emit_unwind_label): New function.
9107 * default.h (TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY): New macro.
9108 (TARGET_USES_WEAK_UNWIND_INFO): New target macro.
9109 (TARGET_SUPPORTS_HIDDEN): New target macro.
9110 * dwarf2out.c (struct dw_fde_struct): Add field for function decl
9111 that corresponds to this FDE.
9112 (FRAME_BEGIN_LABEL): Allow target to override default label.
9113 (output_call_frame_info): If FDEs are linknonce, then use extra
c53bdcf5 9114 indirection for FDE encoding, output a label for each FDE, and
4746cf84
MA
9115 output an empty label for each function without an FDE.
9116 (dwarf2out_begin_prologue): Set up decl field when creating an FDE.
9117 * varasm.c (globalize_decl): Call ASM_MAKE_LABEL_LINKONCE for
9118 decls with DECL_ONE_ONLY set, if that macro is defined.
9119 (make_decl_one_only): Don't use DECL_COMMON if we're compiling
9120 for a SUPPORTS_ONE_ONLY target.
9121 * config/darwin-protos.h (darwin_unique_section): Declare.
9122 (darwin_asm_named_section): Likewise.
9123 (darwin_section_type_flags): Likewise.
9124 (darwin_non_lazy_pcrel): Likewise.
9125 (darwin_emit_unwind_label): Likewise.
9126 (darwin_make_decl_one_only): Likewise.
9127 * config/darwin.c (machopic_finish): Get rid of tweak that
9128 eliminate stubs for symbols that are defined.
9129 (darwin_encode_section_info): Don't treat weak functions as defined.
9130 (darwin_make_decl_one_only): Define.
9131 (darwin_asm_named_section): Likewise.
9132 (darwin_section_type_flags): Likewise.
9133 (darwin_unique_section): Likewise.
9134 (darwin_emit_unwind_label): Likewise.
9135 (darwin_non_lazy_pcrel): Likewise.
9136 (darwin_asm_output_dwarf_delta): Difference between two labels is
9137 local only if both labels are local.
9138 * config/darwin.h (MAKE_DECL_ONE_ONLY): Define.
9139 (ASM_MAKE_LABEL_LINKONCE): Likewise.
9140 (TARGET_SUPPORTS_HIDDEN): Likewise.
9141 (TARGET_USES_WEAK_UNWIND_INFO): Likewise.
9142 (TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY): Likewise.
9143 (FRAME_BEGIN_LABEL): Likewise.
9144 (ASM_DECLARE_OBJECT_NAME): Make references to weak symbols indirect.
9145 (ASM_DECLARE_FUNCTION_NAME): Likewise.
9146 (darwin_eh_frame_section): Give __eh_frame section the coalesced flag.
9147 (TARGET_ASM_UNIQUE_SECTION): Define.
9148 (EH_FRAME_SECTION_NAME): Define.
9149 (EH_FRAME_SECTION_ATTR): Likewise.
9150 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
9151 (TARGET_ASM_NAMED_SECTION): Likewise.
9152 (TARGET_SECTION_TYPE_FLAGS): Likewise.
9153 * doc/tm.texi: Document TARGET_USES_WEAK_UNWIND_INFO,
9154 TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY, TARGET_SUPPORTS_HIDDEN,
9155 TARGET_ASM_EMIT_UNWIND_LABEL.
bc4c01b7 9156
fd0c8c8d
KG
91572004-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9158
9159 * builtins.c (expand_builtin_mathfn): Add pow10* to the
9160 existing exp10* case.
9161 (expand_builtin): Likewise.
9162
ca0b6e3b
EB
91632004-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
9164
9165 * doc/tm.texi (registers) <Values in Registers>: Add
9166 entry for REGMODE_NATURAL_SIZE.
9167
42ba5130
RH
91682004-03-12 Richard Henderson <rth@redhat.com>
9169
9170 PR target/14547
9171 * target.h (struct gcc_target): Move calls substructure before
9172 booleans. Add split_complex_arg.
9173 * function.c (assign_parms, split_complex_args): Use it.
c53bdcf5
AM
9174 * calls.c (expand_call): Likewise.
9175 (split_complex_values): Likewise. Check for splittable types
9176 before allocating memory.
9177 (split_complex_types): Likewise.
42ba5130
RH
9178 * system.h (SPLIT_COMPLEX_ARGS): Poison.
9179 * expr.h (SPLIT_COMPLEX_ARGS): Remove.
9180 * target-def.h (TARGET_SPLIT_COMPLEX_ARG): New.
9181 * config/alpha/alpha.c (alpha_split_complex_arg): New.
9182 (TARGET_SPLIT_COMPLEX_ARG): New.
9183 * config/alpha/alpha.h (SPLIT_COMPLEX_ARGS): Remove.
9184 * config/rs6000/rs6000.c (TARGET_SPLIT_COMPLEX_ARG): New.
9185 (rs6000_override_options): Zap it for non-AIX.
9186 (rs6000_function_value): Use targetm.calls.split_complex_arg.
9187 * config/rs6000/rs6000.h (SPLIT_COMPLEX_ARGS): Remove.
9188 * config/xtensa/xtensa.c (TARGET_SPLIT_COMPLEX_ARG): New.
9189 * config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Remove.
9190 * doc/tm.texi (TARGET_SPLIT_COMPLEX_ARG): Modify from old
9191 SPLIT_COMPLEX_ARGS entry.
9192
75959f0a
RH
91932004-03-11 Richard Henderson <rth@redhat.com>
9194
9195 * config/alpha/alpha.c (xfloating_ops, vax_cvt_ops): New.
9196 (alpha_lookup_xfloating_lib_func): Use them, return rtx.
9197 (alpha_emit_xfloating_arith): Update to match.
9198 (alpha_emit_xfloating_compare): Likewise.
9199 (alpha_emit_xfloating_cvt): Likewise.
9200 (alpha_emit_xfloating_libcall): Take already built symbol,
9201 mark call const.
9202 * config/alpha/alpha.md (extendsftf2, extenddftf2): Take
9203 op1 in a register.
9204
e5e10fb4
RH
92052004-03-11 Richard Henderson <rth@redhat.com>
9206
9207 PR target/14539
9208 * config/alpha/alpha.h (STACK_BOUNDARY): Set to 128.
9209
55cf9d62
RH
9210 * simplify-rtx.c (simplify_relational_operation): Fix typo.
9211
9caad63a
RH
92122004-03-11 Richard Henderson <rth@redhat.com>
9213
9214 PR middle-end/14477
9215 * except.c (remove_unreachable_regions): Look thru CALL_PLACEHOLDER.
9216
03ca1672
UW
92172004-03-11 Ulrich Weigand <uweigand@de.ibm.com>
9218
9219 PR target/14262
9220 * calls.c (load_register_parameters): If BLOCK_REG_PADDING is not
9221 defined, pass small BLKmode values in registers in the low-order part.
9222
bbe708a3
UW
92232004-03-11 Ulrich Weigand <uweigand@de.ibm.com>
9224
9225 * combine.c (if_then_else_cond): Check for NULL return value of
9226 simplify_gen_subreg.
9227
0e808055
RS
92282004-03-11 Richard Sandiford <rsandifo@redhat.com>
9229
9230 PR target/14496
9231 * config/mips/mips.h (UNITS_PER_FPVALUE): Fix value for
9232 TARGET_SINGLE_FLOAT.
9233
1f7aa7cd
SE
92342004-03-11 Steve Ellcey <sje@cup.hp.com>
9235
9236 * config/ia64/hpux.h (TARGET_INIT_LIBFUNCS): Add undef.
9237 * config/ia64/ia64.h (TARGET_INIT_LIBFUNCS): Add define.
9238 * config/ia64/ia64.c (ia64_init_libfuncs): New.
9239 (ia64_hpux_init_libfuncs): Add call to ia64_init_libfuncs.
9240
239a625e
RS
92412004-03-11 Roger Sayle <roger@eyesopen.com>
9242
9243 * fold-const.c (negate_expr_p) <RSHIFT_EXPR>: We can optimize
9244 -((int)X>>C) where C is an integer constant one bit less than the
9245 size of X into (unsigned)X>>C. Similarly for unsigned->signed.
9246 (negate_expr) <RSHIFT_EXPR>: Implement the above transformations.
9247
9248 * simplify-rtx.c (simplify_unary_operation): Also implement the
9249 above transformations at the RTL level.
9250
40131a38
AM
92512004-03-11 Alan Modra <amodra@bigpond.net.au>
9252
9253 * real.c (encode_ibm_extended): Do round low word.
9254
df8e2ad0
BE
92552004-03-11 Ben Elliston <bje@wasabisystems.com>
9256
9257 * config/arm/arm.md (is_xscale): Comment this attribute and move
9258 it a bit further up in the file, closer to related attributes.
9259
d1704a35
EB
92602004-03-11 Eric Botcazou <ebotcazou@libertysurf.fr>
9261
9262 * config/host-solaris.c (sol_gt_pch_use_address): Add
9263 missing terminating marker to comment.
9264
fc31c7ca
RS
92652004-03-11 Richard Sandiford <rsandifo@redhat.com>
9266
9267 * config/mips/mips.md: Use move_operand in splitters for 64-bit moves.
9268 (movdi, movsi, movhi, movqi, movsf, movdf): Remove predicates.
9269 (*movdi_32bit_mips16, *movsi_mips16, *movhi_mips16, *movqi_mips16)
9270 (*movsf_mips16, *movdf_mips16): Name unnamed patterns. Use
9271 move_operand as source predicate in all cases.
9272 (*movdi_32bit): Renamed from movdi_internal. Remove 'F' constraint.
9273 Test reg_or_0_operand. Use move_operand as source predicate.
9274 (*movdi_64bit): Renamed from movdi_internal2. Test reg_or_0_operand.
9275 (*movdi_64bit_mips16): Renamed from movdi_internal2_mips16.
9276 (*movsi_internal): Renamed from movsi_internal. Test reg_or_0_operand.
9277 (movhi, movqi, movsf, movdf): Use mips_legitimize_move.
9278 (*movhi_internal): Renamed from movhi_internal. Test reg_or_0_operand.
9279 Use move_operand as source predicate. Remove 'K' constraint.
9280 (*movqi_internal): Likewise movqi_internal.
9281 (*movsf_hardfloat): Renamed from movsf_internal1. Test
9282 reg_or_0_operand. Use move_operand as source predicate.
9283 (*movsf_softfloat): Likewise movsf_internal2.
9284 (*movdf_hardfloat_64bit): Likewise movsf_internal1a.
9285 (*movdf_hardfloat_32bit): Likewise movsf_internal1b.
9286 (*movdf_softfloat): Likewise movdf_internal2.
9287 * config/mips/mips.c (move_operand): Match arbitrary CONST_INTs
9288 for DImode if !TARGET_64BIT.
9289 (mips_legitimize_move): Simplify accordingly.
9290
81f2eadb
JZ
92912004-03-11 Josef Zlomek <zlomekj@suse.cz>
9292
9293 PR/14362
9294 * var-tracking.c (struct variable_def): Added field refcount.
9295 (variable_htab_free): Decrease the refcount and delete variable
9296 only if there are no more references.
9297 (unshare_variable): New function.
9298 (vars_copy_1): Increase refcount instead of copying the variable.
9299 (variable_union): Share the variables where possible, unshare
9300 the variables if needed.
9301 (variable_different_p): Return false if var1 and var2 are
9302 the same structure.
9303 (variable_was_changed): Init the refcount of new variable.
9304 (set_frame_base_location): Unshare variable if needed.
9305 (set_variable_part): Init the refcount of new variable.
9306 Unshare the variables if needed.
c53bdcf5 9307 (delete_variable_part): Unshare the variables if needed.
81f2eadb
JZ
9308 (emit_notes_for_differences_1): Init the refcount of new variable.
9309 (vt_add_function_parameters): Do not add function parameters to
9310 IN set of ENTRY_BLOCK_PTR because it is unused anyway.
9311 (vt_initialize): Do not add frame_base_decl to IN set of
9312 ENTRY_BLOCK_PTR because it is unused anyway.
9313
11599d14
JZ
93142004-03-11 Josef Zlomek <zlomekj@suse.cz>
9315
9316 * var-tracking.c (vars_copy_1): Cleanup and speedup chain operations.
9317 (vars_copy): Likewise.
9318 (variable_union): Likewise.
9319 (set_variable_part): Likewise.
9320 (delete_variable_part): Likewise.
9321
71cc389b
KH
93222004-03-11 Kazu Hirata <kazu@cs.umass.edu>
9323
9324 * c-typeck.c, combine.c, cse.c, dominance.c, et-forest.h,
9325 ggc-page.c, var-tracking.c, config/fp-bit.c, config/c4x/c4x.c,
9326 config/cris/cris.c, config/i386/ppro.md, config/i860/i860.c,
9327 config/i860/i860.h, config/m32r/m32r.h, config/m32r/xm-m32r.h,
9328 config/m68hc11/m68hc11.h, config/m68hc11/m68hc11.md,
9329 config/mips/mips.c, config/mmix/mmix.c, config/ns32k/ns32k.h,
9330 config/pa/pa.c, config/pa/pa32-regs.h, config/pa/pa64-regs.h,
9331 config/pdp11/pdp11.h, config/rs6000/rs6000.c,
9332 config/stormy16/stormy16.c: Fix comment typos and formatting.
9333
f3c9f174
NN
93342004-03-11 Nathanael Nerode <neroden@gcc.gnu.org>
9335
9336 * configure: Regenerate, since I forgot to while committing Paolo's
9337 changes.
9338
e4c9c075
PB
93392004-03-08 Paolo Bonzini <bonzini@gnu.org>
9340
9341 PR ada/14131
9342 Move language detection to the top level.
9343 * configure.ac: Remove code to detect languages,
9344 it now lives exclusively in the top level.
9345 * aclocal.m4 (gcc_AC_PROG_GNAT): Moved to the
9346 top level, renamed to ACX_PROG_GNAT.
9347
4d0c31e6
RH
93482004-03-10 Richard Henderson <rth@redhat.com>
9349
9350 * c-pch.c (c_common_no_more_pch): Update for gt_pch_use_address
9351 extra arguments.
9352 * config.host (*-*-solaris2*, *-*-linux*): Add out_host_hook_obj
9353 and host_xmake_file fragments.
9354 * ggc-common.c (gt_pch_save): Update for gt_pch_get_address change.
9355 (gt_pch_restore): Similarly for gt_pch_use_address.
9356 (default_gt_pch_get_address): New.
9357 (mmap_gt_pch_get_address): Split out of gt_pch_save.
9358 (default_gt_pch_use_address): Split out of gt_pch_restore.
9359 (mmap_gt_pch_use_address): Likewise.
9360 * hooks.c (hook_voidp_size_t_null): Remove.
9361 (hook_bool_voidp_size_t_false): Remove.
9362 * hooks.h: Likewise.
9363 * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): Use one of the
9364 default_ or mmap_ definitions.
9365 (HOST_HOOKS_GT_PCH_USE_ADDRESS): Likewise.
9366 * hosthooks.h (struct host_hooks): Update gt_pch_get_address
9367 and gt_pch_use_address.
9368 * config/host-linux.c, config/host-solaris.c: New files.
9369 * config/x-linux, config/x-solaris: New files.
bc4c01b7 9370 * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_get_address):
4d0c31e6
RH
9371 Update for changed definition.
9372 (darwin_rs6000_gt_pch_use_address): Likewise.
9373 * doc/hostconfig.texi: Update docs.
9374
28fca7e4
RH
93752004-03-10 Richard Henderson <rth@redhat.com>
9376
9377 PR c/14517
9378 * c-decl.c (grokdeclarator): Don't warn for duplicate qualifiers
9379 except for pedantic c90 mode.
9380
8ab705be
KC
93812004-03-10 Kelley Cook <kcook@gcc.gnu.org>
9382
9383 * configure.ac: Bump AC_PREREQ to 2.59.
9384 * configure: Regenerate.
9385
a251102e
UB
93862004-03-10 Uros Bizjak <uros@kss-loka.si>
9387
9388 * optabs.h (enum optab_index): Add new OTI_exp10 and OTI_exp2.
9389 (exp10_optab, exp2_optab): Define corresponding macros.
9390 * optabs.c (init_optabs): Initialize exp10_optab and exp2_optab.
9391 * genopinit.c (optabs): Implement exp10_optab and exp2_optab
9392 using exp10?f2 and exp2?f2 patterns.
9393 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP10{,F,L}
9394 using exp10_optab, and BUILT_IN_EXP2{,F,L} using exp2_optab.
9395 (expand_builtin): Expand BUILT_IN_EXP10{,F,L} and BUILT_IN_EXP2{,F,L}
9396 using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
9397
9398 * config/i386/i386.md (exp10sf2, exp10df2, exp10xf2, exp2sf2,
9399 exp2df2, exp2xf2): New patterns to implement exp10, exp10f, exp10l,
9400 exp2, exp2f and exp2l built-ins as inline x87 intrinsics.
9401
11f01d37
AG
94022004-03-10 Anthony Green <green@redhat.com>
9403
9404 * doc/invoke.texi (ARM Options): Fix -mpfu typo.
9405
bb904c1a
DE
94062004-03-10 David Edelsohn <edelsohn@gnu.org>
9407
9408 * config/rs6000/aix.h (TARGET_OS_CPP_BUILTINS): Rename to ...
9409 (TARGET_OS_AIX_CPP_BUILTINS): this. Conditionally define
9410 __LONGDOUBLE128.
9411 * config/rs6000/aix41.h (TARGET_OS_CPP_BUILTINS): Use
9412 TARGET_OS_AIX_CPP_BUILTINS.
9413 * config/rs6000/aix43.h (TARGET_OS_CPP_BUILTINS): Same.
9414 * config/rs6000/aix51.h (TARGET_OS_CPP_BUILTINS): Same.
9415 * config/rs6000/aix52.h (TARGET_OS_CPP_BUILTINS): Same.
9416 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Revert
9417 previous change.
9418
b45d3a36
KG
94192004-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9420
9421 * fold-const.c (tree_expr_nonnegative_p): Add more builtin cases.
9422
35ae04ba
DE
94232004-03-10 David Edelsohn <edelsohn@gnu.org>
9424
9425 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
9426 __LONGDOUBLE128 on AIX.
9427
ffad84cd
AH
94282004-03-10 Andrew Haley <aph@redhat.com>
9429
f7b48371 9430 PR optimization/14381
ffad84cd
AH
9431 * function.c (expand_function_end): Emit a blockage insn before
9432 the epilogue when -fnon-call-exceptions is used.
9433
9434 * except.c (expand_start_all_catch): Make comment more accurate.
9435
65cd26a6
JS
94362004-03-08 Joel Sherrill <joel@oarcorp.com>
9437
9438 PR target/14480
9439 * config/rs6000/t-rtems: Add missing file on branch.
9440
452c159e
UW
94412004-03-10 Ulrich Weigand <uweigand@de.ibm.com>
9442
9443 * dbxout.c (dbxout_symbol_location): Do not output references
9444 to optimized-out constant pool symbols.
9445
5f1b2068
AS
94462004-03-10 Andreas Schwab <schwab@suse.de>
9447
9448 * config/ia64/ia64.md (divsi3, udivsi3): Remove unused variable
9449 twon34_r.
9450
5399d643
JW
94512004-03-09 James E Wilson <wilson@specifixinc.com>
9452
9453 * alias.c (alias_sets_might_conflict_p): New.
9454 * c-typeck.c (build_c_cast): Call it if warn_strict_aliasing > 1.
9455 * common.opt (Wstrict-aliasing=): New.
9456 * flags.h (warn_strict_aliasing): Change type to int.
9457 * opts.c (warn_strict_aliasing): Change type to int.
9458 (common_handle_option): Handle OPT_Wstrict_aliasing_.
9459 * tree.h (alias_sets_might_conflict_p): Declare it.
9460 * doc/invoke.tex (-Wstrict-aliasing=2): Document it.
9461
a4e9467d
RZ
94622004-03-10 Roman Zippel <zippel@linux-m68k.org>
9463
9464 PR bootstrap/12371
9465 * config/m68k/m68k.h (FIXED_REGISTERS): Add arg pointer.
9466 (CALL_USED_REGISTERS): Likewise.
c53bdcf5 9467 (REG_CLASS_CONTENTS): Likewise.
a4e9467d
RZ
9468 (REG_ALLOC_ORDER): New.
9469 (REGNO_REG_CLASS): Use regno_reg_class.
9470 * config/m68k/m68k.c: Add regno_reg_class array.
9471
9aec7fb4
SE
94722004-03-09 Steve Ellcey <sje@cup.hp.com>
9473
9474 * config/ia64/ia64.md (divsi3): Fix algorithm.
9475 (udivsi3): Ditto.
9476 (setf_exp_xf): Remove '*' from name.
9477 * testsuite/gcc.dg/20040309-1.c: New test.
9478
9acd4a03
ILT
94792004-03-09 Ian Lance Taylor <ian@wasabisystems.com>
9480
9481 * system.h (SUNOS4_SHARED_LIBRARIES): Poison.
9482 * collect2.c: Remove SUNOS4_SHARED_LIBRARIES code.
9483 * config/sparc/aout.h (TARGET_ASM_SELECT_SECTION): Don't define.
9484 * config/sparc/sparc.c (sparc_aout_select_section): Remove.
9485 (sparc_aout_select_rtx_section): Don't check
9486 SUNOS4_SHARED_LIBRARIES.
9487 * config/sparc/sparc.h (SUNOS4_SHARED_LIBRARIES): Don't define.
9488
a5249a21
HPN
94892004-03-10 Hans-Peter Nilsson <hp@axis.com>
9490
9491 PR other/14474
9492 * doc/md.texi (Pattern Ordering, Dependent Patterns)
9493 (Jump Patterns, Looping Patterns): Wrap in separate "@ifset
9494 INTERNALS".
9495
e373cdb4
ZW
94962004-03-09 Zack Weinberg <zack@codesourcery.com>
9497
9498 * config/ia64/hpux.h (MULTILIB_DEFAULTS): Define.
9499 (LIBGCC_SPEC): Update to match.
9500
77dbdb57
ZW
95012004-03-09 Zack Weinberg <zack@codesourcery.com>
9502
9503 * c-decl.c (last_function_parms, last_function_parm_tags)
9504 (last_function_parm_others, current_function_parms)
9505 (current_function_parm_tags, current_function_parm_others):
9506 Delete.
9507 (ARG_INFO_PARMS, ARG_INFO_TAGS, ARG_INFO_TYPES, ARG_INFO_OTHERS):
9508 New macros.
9509 (grokdeclarator): For function definitions, save the arg-info
9510 block from the declarator in DECL_ARGUMENTS.
9511 (grokparms): Do not write to last_function_parm*. Use ARG_INFO_*
9512 macros to operate on arg-info block. Can assume ARG_INFO_PARMS
9513 contains only PARM_DECLs. Improve diagnostics.
9514 (get_parm_info): Use ARG_INFO_* macros. Improve comments and
9515 diagnostics. Disable some expensive checks if not ENABLE_CHECKING.
9516 (store_parm_decls_newstyle): Take the function to operate on,
9517 and an arg-info block, as arguments; don't get anything from
9518 current_function_* globals.
9519 (store_parm_decls_oldstyle): Likewise.
9520 (store_parm_decls): Pass fndecl and its arg-info block down to
9521 store_parm_decls_newstyle/oldstyle. Send functions with empty
9522 argument lists through store_parm_decls_newstyle to reduce
9523 overhead.
9524 (pushdecl): Comment on the problems with the call to copy_node.
9525 Clear DECL_ARGUMENTS of the old node after copying it, if it
9526 is an arg-info block instead of a chain of decls.
9527 (start_function): Do not manipulate current_function_parm* or
9528 last_function_parm*.
9529
305eeaeb
RS
95302004-03-09 Roger Sayle <roger@eyesopen.com>
9531 Andrew Pinski <pinskia@physics.uc.edu>
9532
9533 * ifcvt.c (noce_try_sign_mask): New function to transform
9534 "x = (y < 0) ? z : 0" into the equivalent "x = (y >> C) & z".
9535 (noce_process_if_block): Call noce_try_sign_mask.
9536
f38f747d
AP
95372004-03-09 Andrew Pinski <apinski@apple.com>
9538
9539 * c-typeck.c (tagged_types_tu_compatible_p):
9540 Fix typo.
9541
7ce3e360
RS
95422004-03-09 Roger Sayle <roger@eyesopen.com>
9543
9544 * simplify-rtx.c (simplify_const_relational_operation): New function
9545 renamed from simplify_relational_operation.
9546 (simplify_relational_operation): Change prototype to accept an
9547 additional mode argument. Call simplify_const_relational_operation.
9548 (simplify_gen_relational): Update simplify_relational_operation call.
9549 (simplify_ternary_operation): Update simplify_relational_operation
9550 subroutine call to use simplify_const_relational_operation instead.
9551
9552 * rtl.h (simplify_const_relational_operation): Prototype here.
9553 (simplify_relational_operation): Add addtional mode argument.
9554
9555 * combine.c (combine_simplify_rtx): Update calls to
9556 simplify_relational_operation.
9557 (simplify_set): Likewise.
9558 (gen_binary): Likewise.
9559 * cse.c (fold_rtx): Likewise.
9560 * dojump.c (compare_from_rtx): Likewise.
9561 (do_compare_rtx_and_jump): Likewise.
9562 * integrate.c (subst_constants): Likewise.
9563 * unroll.c (simplify_cmp_and_jump_insns): Likewise.
9564
c0e63064
KH
95652004-03-09 Kazu Hirata <kazu@cs.umass.edu>
9566
9567 * config/m32r/m32r.md: Remove all define_peephole's.
9568
6ae08853
AM
95692004-03-09 Alan Modra <amodra@bigpond.net.au>
9570
9571 * config/rs6000/rs6000.md: Remove trailing whitespace.
9572
5340bbea
EC
95732004-03-08 Eric Christopher <echristo@redhat.com>
9574
9575 * Makefile.in (site.exp): Add libiconv variable definition.
9576
3beb1315
HPN
95772004-03-09 Hans-Peter Nilsson <hp@axis.com>
9578
9579 * configure: Regenerate for config/accross.m4 correction.
9580
c589970a
JS
95812004-03-08 Joel Sherrill <joel@oarcorp.com>
9582
9583 PR target/14480
9584 * config/rs6000/t-rtems: Add missing file on branch.
9585
e697b20f
RS
95862004-03-08 Roger Sayle <roger@eyesopen.com>
9587
9588 PR middle-end/14289
9589 * c-typeck.c (c_mark_addressable): A register variable should
9590 be considered global if its not automatic, i.e. TREE_PUBLIC,
9591 TREE_STATIC or DECL_EXTERNAL.
9592 * function.c (put_var_into_stack): Call abort when placing a
9593 hard register into the stack, if x_parm_reg_stack_loc is NULL.
9594
59f8a8be
UW
95952004-03-08 Ulrich Weigand <uweigand@de.ibm.com>
9596
9597 * config/s390/s390.md ("*extendqidi2_short_displ"): Add CC clobber.
9598 ("*extendqisi2_short_displ"): Likewise.
9599
23bd99da
KH
96002004-03-08 Kazu Hirata <kazu@cs.umass.edu>
9601
9602 * config/pdp11/pdp11.c (comparison_operator_index): Remove.
9603 (comp_operator): Likewise.
9604 * config/pdp11/pdp11-protos.h: Remove corresponding
9605 prototypes.
9606
d50a16c4
EB
96072004-03-08 Eric Botcazou <ebotcazou@act-europe.fr>
9608
9609 * expr.c (highest_pow2_factor_for_type): Rename into
9610 highest_pow2_factor_for_target. Use DECL_ALIGN instead of
9611 TYPE_ALIGN when the target is a COMPONENT_REF.
9612 (expand_assignment): Ajust call to highest_pow2_factor_for_type.
9613
957211c3
AM
96142004-03-08 Alan Modra <amodra@bigpond.net.au>
9615
b1917422
AM
9616 * config/rs6000/rs6000.c: Formatting fix.
9617 (legitimate_offset_address_p): Correct offset range check.
9618
957211c3
AM
9619 * config/rs6000/rs6000.c (rs6000_override_options): Don't override
9620 -msoft-float by -mcpu. Consolidate similar code for MASK_MULTIPLE
9621 and MASK_STRING.
9622
97727e85 96232004-03-07 Aldy Hernandez <aldyh@redhat.com>
5340bbea 9624
77dbdb57
ZW
9625 * config/rs6000/rs6000.md (ashrdi3): Do not call ashrdi3_no_power
9626 for little endian.
9627 ("ashrdi3_no_power"): Disable for little endian.
97727e85
AH
9628 (ashrdi3): Same.
9629
280e63ec
KG
96302004-03-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9631
9632 * fold-const.c (tree_expr_nonnegative_p): Reformat checks for
9633 builtins.
9634
86da66b5
HPN
96352004-03-08 Hans-Peter Nilsson <hp@axis.com>
9636
9637 PR target/14471
9638 * configure.ac (Target-specific assembler checks) <cris-*-*>: New
9639 case, checking for -no-mul-bug-abort option.
9640 * configure, config.in: Regenerate.
9641 * doc/invoke.texi (CRIS Options): Document -mmul-bug-workaround
9642 and -mno-mul-bug-workaround.
9643 * config/cris/cris.md ("smulsi3_highpart", "umulsi3_highpart")
9644 ("mulsidi3", "umulsidi3"): Prefix output template with "%!".
9645 ("umulhisi3", "umulqihi3", "mulsi3", "mulqihi3", "mulhisi3"):
9646 Ditto. Make attribute "slottable" dependent on TARGET_MUL_BUG.
9647 * config/cris/mulsi3.asm (__Mul) [__CRIS_arch_version >= 10]: Make
9648 sure mulu.d is not last on cache-line.
9649 * config/cris/cris.h (ASM_SPEC): Translate -mno-mul-bug-workaround
9650 into -no-mul-bug-abort depending on HAVE_AS_MUL_BUG_ABORT_OPTION.
9651 (TARGET_MASK_MUL_BUG, TARGET_MUL_BUG): New macros.
9652 (TARGET_SWITCHES): New options -mmul-bug-workaround and
9653 -mno-mul-bug-workaround.
9654 (TARGET_DEFAULT): Include TARGET_MASK_MUL_BUG.
9655 (PRINT_OPERAND_PUNCT_VALID_P): Include '!'.
9656 * config/cris/cris.c (cris_operand_extend_operator): Clarify
9657 relation to MULT in head comment.
9658 (cris_op_str): Abort for MULT.
9659 (cris_print_operand) <case '!'>: New case.
9660
e7ee3914
AM
96612004-03-08 Alan Modra <amodra@bigpond.net.au>
9662
9663 PR debug/11983
9664 * dwarf2out.c (enum dw_val_class): Rename dw_val_class_float to
9665 dw_val_class_vec. Replace use throughout file.
9666 (dw_float_const): Delete.
9667 (dw_vec_const): New.
9668 (dw_val_struct_union): Rename val_float to val_vec. Replace use
9669 throughout file.
9670 (add_AT_vec): Rename from add_AT_float. Add elt_size param.
9671 (same_dw_val_p): Adjust vec comparison. Use memcmp.
9672 (size_of_die): Adjust dw_val_class_vec sizing.
9673 (output_die): Output dw_val_class_vec.
9674 (insert_int, extract_int, insert_float): New functions.
9675 (add_const_value_attribute): Use insert_float for CONST_DOUBLE.
9676 Handle CONST_VECTOR.
9677 (add_location_or_const_value_attribute): Handle CONST_VECTOR.
5cc73f91
AH
9678
96792004-03-07 Aldy Hernandez <aldyh@redhat.com>
9680
9681 * config/rs6000/rs6000.c (rs6000_parse_abi_options): SPE and
9682 AltiVec abi cannot co-exist.
9683
9684 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Same.
9685
a61bf177
JH
96862004-03-07 Jan Hubicka <jh@suse.cz>
9687
9688 * except.c (emit_to_new_bb_before): Break fallthru edges.
9689
17c60946
SC
96902004-03-07 Stephane Carrez <stcarrez@nerim.fr>
9691
9692 * config/m68hc11/m68hc11.md ("*lshrsi3_const"): Disable for 68HC12.
9693 ("*lshrsi3"): Also accept an immediate for 68HC12.
9694 ("*ashrsi3_const"): Likewise.
9695 ("*ashrsi3"): Likewise.
9696 ("*ashlsi3_const"): Likewise.
9697 ("*ashlsi3"): Likewise.
9698 ("cmphi_1_hc12"): Compare two hard register by pushing them and
9699 comparing with a pop; don't use a split for that.
9700 ("cmphi split"): Disable compare split for 68HC12.
9701
9702 * config/m68hc11/m68hc11.c (m68hc11_notice_update_cc): Invalidate
9703 the status operands if they have side effects.
9704
3e759eda
KH
97052004-03-07 Kazu Hirata <kazu@cs.umass.edu>
9706
9707 * defaults.h (LEGITIMIZE_ADDRESS): Provide a default
9708 definition.
9709 * config/arc/arc.h, config/fr30/fr30.h, config/frv/frv.h,
9710 config/h8300/h8300.h, config/ia64/ia64.h,
9711 config/mcore/mcore.h, config/mmix/mmix.h,
9712 config/ns32k/ns32k.h, config/pdp11/pdp11.h,
9713 config/stormy16/stormy16.h, config/v850/v850.h,
9714 config/vax/vax.h (LEGITIMIZE_ADDRESS): Remove.
9715 * doc/tm.texi (LEGITIMIZE_ADDRESS): Mention the default
9716 definition.
9717
cd2f1c7a
RS
97182004-03-07 Roger Sayle <roger@eyesopen.com>
9719
9720 * fold-const.c (fold) <IOR_EXPR>: Fold x | x as x.
9721 <XOR_EXPR>: Fold x ^ x as zero.
9722 <AND_EXPR>: Fold x & x as x.
9723
350f4ea8
RS
97242004-03-07 Roger Sayle <roger@eyesopen.com>
9725
9726 * fold-const.c (fold) <EQ_EXPR>: Rewrite optimization to transform
9727 "foo++ == const" into "++foo == const+incr".
9728
91455597
RS
97292004-03-07 Richard Sandiford <rsandifo@redhat.com>
9730
9731 * config/mips/mips.c (mips_in_small_data_p): Return false if
9732 TARGET_ABICALLS.
9733
a75ea627
SC
97342004-03-06 Stephane Carrez <stcarrez@nerim.fr>
9735
9736 * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Use 2,-sp to push
9737 the stack register.
9738 (expand_prologue): Don't make an interrupt or a trap handler a far
9739 symbol.
9740 (m68hc11_initial_elimination_offset): Likewise.
9741
7179b6db
RH
97422004-03-06 Richard Henderson <rth@redhat.com>
9743
9744 * config/alpha/alpha.c (alpha_in_small_data_p): False for functions.
9745
eff3c926
KH
97462004-03-06 Kazu Hirata <kazu@cs.umass.edu>
9747
9748 * config/ns32k/ns32k-protos.h: Add a prototype for
9749 ns32k_notice_update_cc.
9750 * config/ns32k/ns32k.c (ns32k_notice_update_cc): New.
9751 * config/ns32k/ns32k.h (NOTICE_UPDATE_CC): Call
9752 ns32k_notice_update_cc.
9753
22ea6b4f
UW
97542004-03-06 Ulrich Weigand <uweigand@de.ibm.com>
9755
9756 * config/s390/s390.md ("load_multiple", "*load_multiple_di",
9757 "*load_multiple_si"): Allow only if reload_completed.
9758 ("store_multiple", "*store_multiple_di", "*store_multiple_si"):
9759 Likewise.
9760
af0ec113
KH
97612004-03-06 Kazu Hirata <kazu@cs.umass.edu>
9762
9763 * config/vax/vax-protos.h: Add a prototype for
9764 vax_notice_update_cc.
9765 * config/vax/vax.c (vax_notice_update_cc): New.
9766 * config/vax/vax.h (NOTICE_UPDATE_CC): Call
9767 vax_notice_update_cc.
9768
aaef9b06
DE
97692004-03-06 David Edelsohn <edelsohn@gnu.org>
9770
9771 * collect2.c (main): Only export initfunc and finifunc if
9772 LD_INIT_SWITCH not defined.
9773 (scan_prog_file): Only export constructors and destructors if
9774 LD_INIT_SWITCH not defined. Only export symbols not found in
9775 shared objects.
9776
7a9a5a44
JDA
97772004-03-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9778
9779 * pa.md (icacheflush): Reorder operands to make match_scratch operand
9780 last.
9781 * pa.h (INITIALIZE_TRAMPOLINE): Remove unnecessary scratch argument
9782 from calls to gen_icacheflush.
9783
0f15adbd
RH
97842004-03-06 Richard Henderson <rth@redhat.com>
9785
9786 * config/alpha/alpha.h (MASK_LONG_DOUBLE_128): New.
9787 (TARGET_LONG_DOUBLE_128): New.
9788 (TARGET_SWITCHES): Add long-double-{128,64}.
9789 (TARGET_HAS_XFLOATING_LIBS): Default to TARGET_LONG_DOUBLE_128.
9790 (LONG_DOUBLE_TYPE_SIZE): Honor TARGET_LONG_DOUBLE_128.
9791 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New.
9792 (WIDEST_HARDWARE_FP_SIZE): New.
9793 (TARGET_CPU_CPP_BUILTINS): Define __LONG_DOUBLE_128__.
9794 * config/alpha/alpha.c (override_options): Clear MASK_LONG_DOUBLE_128
9795 if TARGET_VAX_FLOAT.
9796 * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): Remove.
9797 (TARGET_DEFAULT): Set MASK_LONG_DOUBLE_128.
9798
b9c685ae
RH
97992004-03-06 Richard Henderson <rth@redhat.com>
9800
9801 * config/alpha/alpha.c (alpha_swapped_comparison_operator): Fix
9802 botched rtx class conversion.
9803
82b4201f
KG
98042004-03-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9805
9806 * tree.h (BUILTIN_EXP10_P, BUILTIN_EXPONENT_P, BUILTIN_SQRT_P,
9807 BUILTIN_CBRT_P, BUILTIN_ROOT_P): New macros.
9808
9809 * builtins.c (fold_builtin_logarithm, fold_builtin): Use new
9810 macros.
9811 * fold-const.c (fold_mathfn_compare, fold): Likewise.
9812
84289c76
EB
98132004-03-06 Eric Botcazou <ebotcazou@libertysurf.fr>
9814
9815 PR target/14343
9816 * config/i386/i386.md (movv2di_internal): Conditionalize on
9817 TARGET_SSE, not TARGET_SSE2.
9818
3fdf09a1
CD
98192004-03-05 Chris Demetriou <cgd@broadcom.com>
9820
9821 * config.gcc (mips64orion-*-elf*, mips64orionel-*-elf*): Delete
9822 duplicated line.
9823
f2f4e976
KG
98242004-03-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9825
9826 * builtins.c: Consistently use logN not log* in comments.
9827
2b3493c8
AK
98282004-03-05 Andreas Krebbel <krebbel1@de.ibm.com>
9829
9830 * rtl.h (mem_expr_equal_p): Function prototype added.
9831 * cfgcleanup.c (merge_memattrs): New function.
9832 (flow_find_cross_jump): Call merge_memattrs for matching insns.
9833 * emit-rtl.c (mem_expr_equal_p): New function.
9834
1a4a7065
ZL
98352004-03-05 Ziemowit Laski <zlaski@apple.com>
9836
9837 * objc/objc-act.c (synth_module_prologue): Const-qualify
9838 objc_selector type if using the GNU runtime; fix generated
9839 signatures for objc_msg_lookup and objc_msg_lookup_super
9840 to match what GNU ObjC headers provide; reformat and clean up.
9841 (synth_self_and_ucmd_args): Use previously constructed (and
9842 hence possibly const-qualified) objc_selector type.
9843
150c9fe8
KH
98442004-03-05 Kazu Hirata <kazu@cs.umass.edu>
9845
9846 * doc/tm.texi (HARD_REGNO_RENAME_OK): Document.
9847
fd917e0d
JM
98482004-03-05 Jason Merrill <jason@redhat.com>
9849
9850 * tree.h (TYPE_HASH): Use TYPE_UID.
9851 (TREE_HASH): New macro with old definition of TYPE_HASH.
9852 * tree.c (build_type_attribute_variant): Use iterative_hash_object.
9853 (build_array_type, build_function_type): Likewise.
9854 (build_method_type_directly): Likewise.
9855 (build_offset_type, build_complex_type): Likewise.
9856 (type_hash_list, attribute_hash_list): Likewise. Now static.
9857 * except.c: s/TYPE_HASH/TREE_HASH/.
9858
822e895c
BW
98592004-03-05 Bob Wilson <bob.wilson@acm.org>
9860
9861 * config/xtensa/xtensa.c (function_arg): Handle 16-byte aligned args.
9862 (xtensa_va_start): Initialize __va_stk to ($arg_ptr - 32). Adjust
9863 __va_ndx by 2 words when referencing an argument on the stack.
9864 (xtensa_va_arg): Handle 16-byte aligned args. Adjust __va_ndx by 2
9865 words when an arg on the stack is first seen.
9866
2eb83715
PB
98672004-03-05 Paul Brook <paul@codesourcery.com>
9868
9869 * arm.h (ARM_FLAG_VFP): Remove.
9870 (ARM_FLAG_ATPCS, CIRRUS_FIX_INVALID_INSNS): Renumber.
9871 * netbsd-elf.h (ARM_FLAG_VFP): Remove.
9872
ce407aa9
PB
98732004-03-05 Paul Brook <paul@codesourcery.com>
9874
9875 * function.c (assign_parms): Include pretend alignment offset.
9876
019dd4ec
RK
98772004-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9878
9879 * stor-layout.c (layout_type, case FUNCTION_TYPE): Make size
9880 FUNCTION_BOUNDARY, not POINTER_SIZE * 2.
9881
33e70558
ILT
98822004-03-05 Ian Lance Taylor <ian@wasabisystems.com>
9883
9884 * configure.ac: When passing --enable-languages to subdir
9885 configure when host != build, make sure we don't pass an empty
9886 value.
9887 * configure: Regenerate.
9888
ab786753
NS
98892004-03-05 Nathan Sidwell <nathan@codesourcery.com>
9890
9891 PR 13577
9892 * gcc.c (cc1_options): Robustify -auxbase-strip from multiple -o
9893 options.
9894
d2782048
PB
98952004-03-05 Paolo Bonzini <bonzini@gnu.org>
9896
9897 * simplify-rtx.c (simplify_relational_operation): If
9898 flag_wrapv is set, do not move terms between the two
9899 side of a relational operator.
9900
f894b69b
PB
99012004-03-05 Paolo Bonzini <bonzini@gnu.org>
9902
9903 * rtlanal.c: Include target.h and output.h
9904 (rtx_cost, address_cost, default_address_cost): Move from...
9905 * cse.c (rtx_cost, address_cost, default_address_cost):
9906 ... this file.
9907 * rtl.h (rtx_cost, address_cost): Move under rtlanal.c.
9908 * Makefile.in: Adjust dependencies.
9909
86caf04d
PB
99102004-03-05 Paolo Bonzini <bonzini@gnu.org>
9911
9912 * cse.c (cse_end_of_basic_block): Make static.
9913 * local-alloc.c (function_invariant_p): Move to
9914 reload1.c.
9915 * loop.c (libcall_other_reg, record_excess_regs):
9916 Make static.
9917 * reload1.c (function_invariant_p): Moved here
9918 from local-alloc.c, made static.
9919 * rtl.h (cse_end_of_basic_block, function_invariant_p,
9920 libcall_other_reg, record_excess_regs): Remove
9921 declarations.
9922
d0fe265e
KH
99232004-03-05 Kazu Hirata <kazu@cs.umass.edu>
9924
9925 * config/m32r/m32r.c (signed_comparison_operator): Add a
9926 missing parenthesis.
9927
ee0d75ef
ILT
99282004-03-04 Ian Lance Taylor <ian@wasabisystems.com>
9929
9930 * ggc-common.c (gt_pch_restore): Don't unmap addr unless we are
9931 going to call mmap again. Read the file into the right place.
9932 Give a fatal error if we have to relocate.
9933
6e5ff6e7
BW
99342004-03-04 Bob Wilson <bob.wilson@acm.org>
9935
9936 * config/xtensa/xtensa.c (xtensa_return_in_msb): New function.
9937 (TARGET_RETURN_IN_MSB): Define to xtensa_return_in_msb.
9938
fc7b80e4
HPN
99392004-03-05 Hans-Peter Nilsson <hp@axis.com>
9940
fd9361f7 9941 PR other/14354
fc7b80e4
HPN
9942 * config/fp-bit.c (_fpdiv_parts): Do not round when pack_d would
9943 round the same. When rounding, clear bits that would cause a
9944 second rounding in pack_d.
9945 (_fpmul_parts): Ditto. Remove #if 0:d code.
9946
b9e4e5d1
ZL
99472004-03-04 Ziemowit Laski <zlaski@apple.com>
9948
9949 PR c++/14425, c++/14426
9950 * config/rs6000/altivec.h (vec_splat_s8, vec_splat_s16,
9951 vec_splat_s32, vec_splat_u8, vec_splat_u16, vec_splat_u32):
9952 Change C++ definitions to accept a 'const int' argument;
9953 the prototypes already do.
9954 * config/rs6000/rs6000.c (rs6000_common_init_builtins):
9955 Rename v4si_ftype_char, v8hi_ftype_char, v16qi_ftype_char,
9956 v4sf_ftype_v4si_char, v4si_ftype_v4sf_char, v4si_ftype_v4si_char,
9957 v8hi_ftype_v8hi_char, v16qi_ftype_v16qi_char,
9958 v16qi_ftype_v16qi_v16qi_char, v8hi_ftype_v8hi_v8hi_char,
9959 v4si_ftype_v4si_v4si_char and v4sf_ftype_v4sf_v4sf_char to
9960 end in ..._int; change them to accept an int instead of a char
9961 as the last parameter.
9962
8653fed7
PE
99632004-03-04 Phil Edwards <phil@codesourcery.com>
9964
9965 * genmultilib: Change '=' to '-' when translating option names
9966 to directory names.
9967
daae8185
RK
99682004-03-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9969
9970 * expr.c (expand_expr_real, case COMPONENT_REF): Get proper type of
9971 stack slot for temp used for result of BLKmode but in integral mode.
9972
f345f21a
JH
99732004-03-04 Jan Hubicka <jh@suse.cz>
9974
9975 * reload.c (find_reloads): Reorganize if seqeunce to switch.
9976
9977 * cfgrtl.c (rtl_redirect_edge_and_branch): Set the source BB as dirty.
9978 (cfglayout_redirect_edge_and_branch): Set the source BB as dirty.
9979
aa42f99d
SE
99802004-03-04 Steve Ellcey <sje@cup.hp.com>
9981
9982 * config/ia64/ia64.md (divdf3_internal_thr): Fix algorithm.
9983 * testsuite/gcc.dg/20040303-1.c: New test.
9984
56bab446
SB
99852004-03-04 Steven Bosscher <stevenb@suse.de>
9986
9987 * ppro.md: Rewrite as a DFA pipeline description.
9988 * i386.md: Remove all uses of the ppro_uops attribute.
9989 * i386.c: (ix86_safe_ppro_uops, ix86_dump_ppro_packet,
9990 ix86_reorder_insn, ix86_sched_reorder_ppro, ix86_sched_init,
9991 ix86_sched_reorder, ix86_variable_issue,
9992 struct ix86_sched_data, TARGET_SCHED_VARIABLE_ISSUE,
9993 TARGET_SCHED_INIT, TARGET_SCHED_REORDER): Remove.
9994 (ia32_use_dfa_pipeline_interface): Add TARGET_PENTIUMPRO.
9995 (ia32_multipass_dfa_lookahead): Add TARGET_PENTIUMPRO.
9996 * athlon.md (athlon_ssecmp_load): Fix comment
9997
5a26b329 99982004-03-04 Stuart Hastings <stuart@apple.com>
56bab446 9999
5a26b329
SH
10000 * gcc/doc/invoke.texi: Document -mlongcall for Darwin/PPC.
10001
2e5d2af9 100022004-03-04 Stuart Hastings <stuart@apple.com>
56bab446 10003
2e5d2af9
SH
10004 * gcc/config/i386/darwin.h: Darwin/x86 doesn't support CPUs before
10005 686, tell Darwin assembler to allow prefetch insns, non-empty def
10006 of SUBTARGET_OPTION_TRANSLATE_TABLE.
10007
58f206d6
DD
100082004-03-04 DJ Delorie <dj@redhat.com>
10009
10010 PR optimization/14282
10011 * sched-deps.c (sched_analyze_insn): Allow a stack adjustment
10012 between a call and the assignment of its return value.
10013
e9eba255
KH
100142004-03-04 Kazu Hirata <kazu@cs.umass.edu>
10015
10016 * config/h8300/h8300.c: Put a comment for every function.
10017
d3c40837
KH
100182004-03-04 Kazu Hirata <kazu@cs.umass.edu>
10019
10020 * config/h8300/h8300.md: Add comments about peephole2's.
10021
eb3d7f9d
SB
100222004-03-04 Steven Bosscher <stevenb@suse.de>
10023
10024 * i386.h (TARGET_CPU_DEFAULT_nocona): Fix value.
10025
463301c3
JH
100262004-03-04 Jan Hubicka <jh@suse.cz>
10027
10028 * cfgcleanup.c (thread_jump): Update call of cselib_init.
10029 * cselib.c (cselib_record_memory): New static variable.
10030 (cselib_lookup_mem, cselib_record_set, cselib_record_sets):
10031 Give up on memories when asked for.
10032 (cselib_init): Accept new argument.
10033 * cselib.h (cselib_init): Update prototype.
10034 * gcse.c (local_cprop_pass): Update call of cselib_init.
10035 * loop.c (load_mems): Update call of cselib_init.
10036 * postreload.c (reload_cse_regs_1): Update call of cselib_init.
10037 * sched-deps.c (sched_analyze): Update call of cselib_init.
10038
3b6ce0af
DE
100392004-03-04 David Edelsohn <edelsohn@gnu.org>
10040 GP <gp@qnx.com>
10041
10042 * config/rs6000/rs6000.c (output_function_profiler): Append @plt
10043 when compiling PIC.
10044
af931390
JZ
100452004-03-04 Josef Zlomek <zlomekj@suse.cz>
10046
10047 PR/14362
10048 * var-tracking.c (track_expr_p): Do not track variables which
10049 should be ignored for debugging purposes.
10050
ddc68564
AM
100512004-03-04 Alan Modra <amodra@bigpond.net.au>
10052
10053 * real.c (encode_ibm_extended): Don't bother rounding low double.
10054 * c-cppbuiltin.c (builtin_define_float_constants): Tweak MAX
10055 when fmt->pnan < fmt->p.
10056
ca87076c
EC
100572004-03-04 Eric Christopher <echristo@redhat.com>
10058
10059 * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Fix to check
10060 only range of valid arg registers and fixed_regs.
10061
1a402dc1
AM
100622004-03-04 Alan Modra <amodra@bigpond.net.au>
10063
10064 PR target/14406
10065 * config/rs6000/rs6000.md (abstf2, abstf2+1): Delete define_insn.
10066 (abstf2, abstf2_internal): New define_expand.
10067
6a2d136b
EB
100682004-03-04 Eric Botcazou <ebotcazou@libertysurf.fr>
10069
10070 PR optimization/14235
10071 * expr.c (convert_move): Copy the source to a new pseudo
10072 when converting from a sub-word source to a larger-than-word
10073 register which conflicts with the source.
10074
3205a71e
ZW
100752004-03-03 Zack Weinberg <zack@codesourcery.com>
10076
10077 PR 13728
10078 * c-decl.c (diagnose_mismatched_decls): Issue an error for two
10079 parameters with the same name, unless one is a forward decl.
10080 Do not issue a redundant-redeclaration warning for forward
10081 decls of parameters.
10082
e8d8a034
DE
100832004-03-04 David Edelsohn <edelsohn@gnu.org>
10084
10085 * doc/install.texi (*-ibm-aix*): Document use of Bash to speed up
10086 configuration.
10087
ebe29bbf
ILT
100882004-03-03 Ian Lance Taylor <ian@wasabisystems.com>
10089
10090 * ggc-zone.c (ggc_pch_write_object): Don't align file pointer.
10091
7cd60054
AM
100922004-03-04 Alan Modra <amodra@bigpond.net.au>
10093
10094 * target-def.h (TARGET_OPTF): Delete.
10095 * c-opts.c (TARGET_OPTF): Define.
10096
e654c19e
JH
100972004-03-04 Jan Hubicka <jh@suse.cz>
10098
10099 * cselib.c (cselib_finish): Fix another miss-application of my previous
10100 patch.
10101
94d1613b
MS
101022004-03-03 Mike Stump <mrs@apple.com>
10103
10104 Add framework support for darwin.
10105
10106 * c-incpath.c: Include target.h and machmode.h.
10107 (add_path): Use a consistent style for cpp_dir. Initialize
10108 p->construct to 0.
10109 (add_cpp_dir_path): New.
10110 (register_include_chains): Add use of extra_includes callback.
10111 (hook_void_int): Add.
10112 (target_c_incpath): Add.
10113 * c-incpath.h (add_cpp_dir_path): New.
10114 (target_c_incpath_s): Add.
10115 (target_c_incpath): Add.
10116 (C_INCPATH_INIT): Add.
10117 * c-opts.c (c_common_missing_argument,
10118 c_common_handle_option): Add -F argument processing.
10119 * c.opt: Add -F argument processing.
10120 * gcc.c (trad_capable_cpp): Add -F argument processing.
10121 * cppfiles.c (find_file_in_dir): Update to use construct
10122 callback.
10123 (search_path_exhausted, cpp_get_path, cpp_get_buffer,
10124 cpp_get_prev): New.
10125 (_cpp_find_file): Use search_path_exhausted.
10126 (make_cpp_dir): Initialize construct to 0.
10127 * cpplib.h (missing_header_cb
10128 cpp_get_path, cpp_get_buffer, cpp_get_file, cpp_get_prev): New.
10129 (cpp_callbacks): Add missing_header
10130 (cpp_dir): Add construct.
10131 * target-def.h: (TARGET_OPTF): New.
10132 * hooks.c (hook_void_int, hook_void_charptr): Add.
10133 * hooks.h (hook_void_int, hook_void_charptr): Add.
10134 * Makefile.in (c-incpath.o) : Add $(TARGET_H) and
10135 $(MACHMODE_H) dependencies.
10136 * doc/invoke.texi (Darwin Options): Document -F.
10137 * doc/tm.texi (TARGET_EXTRA_INCLUDES): Add.
10138 (TARGET_OPTF): Add.
10139 * fix-header.c (target_c_incpath): Add.
10140
10141 * config/darwin-c.c: Add c-incpath.h include.
10142 (using_frameworks, find_subframework_file,
10143 find_subframework_header, add_system_framework_path,
10144 frameworks_in_use, num_frameworks, max_frameworks,
10145 add_framework, find_framework, struct framework_header,
10146 framework_header_dirs, framework_construct_pathname,
10147 find_subframework_file, add_system_framework_path,
10148 add_framework_path, framework_defaults,
10149 darwin_register_frameworks, find_subframework_header): Add.
10150 * config/darwin.h (TARGET_EXTRA_INCLUDES, TARGET_OPTF): New.
10151 (TARGET_OPTION_TRANSLATE_TABLE): Add -framework support.
10152 (CPP_SPEC): Add __APPLE_CC__ support.
10153 * t-darwin (darwin-c.o): Add c-incpath.h dependency.
10154
0fc0c4c9
JH
101552004-03-04 Jan Hubicka <jh@suse.cz>
10156
10157 * cselib.c (cselib_finish): Fix miss-application of my previous
10158 patch.
10159
67dfe110
KH
101602004-03-03 Kazu Hirata <kazu@cs.umass.edu>
10161
10162 * hooks.c (hook_tree_tree_identity): New.
10163 * hooks.h: Add a prototype for hook_tree_tree_identity.
10164 * stmt.c (expand_asm_operands): Use targetm.md_asm_clobbers
10165 instead of MD_ASM_CLOBBERS.
10166 * system.h (MD_ASM_CLOBBERS): Poison.
10167 * target-def.h (TARGET_MD_ASM_CLOBBERS): New.
10168 (TARGET_INITIALIZER): Add TARGET_MD_ASM_CLOBBERS.
10169 * target.h (gcc_target): Add md_asm_clobbers.
10170 * config/i386/i386.c (TARGET_MD_ASM_CLOBBERS): New.
10171 (ix86_md_asm_clobbers): New.
10172 * config/i386/i386.h (MD_ASM_CLOBBERS): Remove.
10173 * doc/tm.texi (MD_ASM_CLOBBERS): Change to
10174 TARGET_MD_ASM_CLOBBERS.
10175
d79944f4 101762004-03-03 Stuart Hastings <stuart@apple.com>
67dfe110 10177
d79944f4 10178 * gcc/config.gcc: Arrange for Darwin/x86 to build libgcc_eh.a.
3205a71e 10179
fc9232c9
EB
101802004-03-03 Eric Botcazou <ebotcazou@libertysurf.fr>
10181
10182 * config/sparc/sparc.c (noov_compare64_op): Fix typo.
10183
10184 * config/sparc/sparc.h (ASM_FLOAT): Delete.
10185 (ASM_DOUBLE): Likewise.
10186 (ASM_LONGDOUBLE): Likewise.
10187 * config/sparc/pbd.h (ASM_INT_OP): Delete.
10188
b7048ab7
RH
101892003-03-03 Richard Henderson <rth@redhat.com>
10190
10191 PR opt/13862
10192 * cselib.c (cselib_record_sets): Don't record multiple sets in
10193 asm insns.
10194
f9957958
MH
101952004-03-03 Mostafa Hagog <mustafa@il.ibm.com>
10196
10197 * common.opt: Add description of the new -fgcse-after-reload flag.
10198
10199 * flags.h (flag_gcse_after_reload): Declaration of global variable.
10200
10201 * gcse.c (reg_used_on_edge ,reg_set_between_after_reload_p,
10202 reg_used_between_after_reload_p, rtx get_avail_load_store_reg,
10203 is_jump_table_basic_block, bb_has_well_behaved_predecessors,
10204 get_bb_avail_insn, hash_scan_set_after_reload,
10205 compute_hash_table_after_reload, eliminate_partially_redundant_loads,
10206 gcse_after_reload, get_bb_avail_insn): New functions to implement
10207 gcse-after-reload.
10208 (gcse_after_reload_main): New function, the main entry point to
10209 gcse-after-reload.
10210
10211 * rtl.h (gcse_after_reload_main): Declaration of the new function.
10212
10213 * opts.c (common_handle_option): Handle the -fgcse-after-reload flag.
10214
10215 * toplev.c (flag_gcse_after_reload): Initialization.
10216
10217 * passes.c (rest_of_handl_gcse2): Call gcse_after_reload_main.
10218
10219 * params.def (PARAM_GCSE_AFTER_RELOAD_PARTIAL_FRACTION,
10220 PARAM_GCSE_AFTER_RELOAD_CRITICAL_FRACTION): New parameters for tuning
10221 the gcse after reload optimization.
10222
10223 * params.h (GCSE_AFTER_RELOAD_PARTIAL_FRACTION,
10224 GCSE_AFTER_RELOAD_CRITICAL_FRACTION): Two macros to access the tuning
10225 parameters.
10226
10227 * doc/invoke.texi: Documentation for the new flag gcse-after-reload.
10228
6f6dedf5
NP
102292004-03-03 Nicolas Pitre <nico@cam.org>
10230
10231 * config/arm/ieee754-df.S (muldf3, divdf3): Fix denormalization of
10232 small negative values.
10233
6790d1ab
JH
102342004-03-03 Jan Hubicka <jh@suse.cz>
10235
10236 * cselib.c (hash_table): Remove GTY marker.
10237 (reg_values): Turn into array.
10238 (used_regs): Likewise.
10239 (n_used_regs): New static variable.
10240 (reg_values_old): Kill.
10241 (clear_table): Update uses of arrays.
10242 (cselib_lookup): Likewise.
10243 (cselib_record_set): Likewise.
10244 (cselib_init): Likewise.
10245 (cselib_finish): Likewise.
10246 (cselib_udpate_varray_sizes): Kill.
10247 * cselib.h (cselib_update_varray_sizes): Kill.
10248
33e6a97a
PB
102492004-03-03 Paul Brook <paul@codesourcery.com>
10250
10251 * flow.c (ior_reg_cond, and_reg_cond): Remove stray ")".
10252
b9dcdee4
JH
102532004-03-03 Jan Hubicka <jh@suse.cz>
10254
10255 * ggc-common.c (ggc_alloc_cleared_stat, ggc_realloc_stat):
10256 Rename from ...; make statistics transparent.
10257 (ggc_alloc_cleared, ggc_realloc_stat): ... these.
10258 (loc_descriptor): New structure.
10259 (hash_descriptor, eq_descriptor, loc_descriptor, cmp_statistics,
10260 add_statistics):
10261 New static function.
10262 (ggc_record_overhead, dump_statistics): New global function.
10263 * ggc-none.c (ggc_alloc_types_stat, ggc_alloc_stat, ggc_alloc_zone_stat,
10264 ggc_alloc_cleared_stat, ggc_realloc_stat, ggc_alloc_typed_stat): Rename
10265 from ...; accept locations
10266 (ggc_alloc_types, ggc_alloc, ggc_alloc_zone, ggc_alloc_cleared,
10267 ggc_realloc, ggc_alloc_typed): ... this one.
10268 from ...; accept locations
10269 * ggc-page.c (ggc_alloc_typed_stat, ggc_alloc_zone_stat,
10270 ggc_alloc_stat): Rename from ... ; pass locations
10271 * ggc-page.c (ggc_alloc_typed, ggc_alloc_zone, ggc_alloc):
10272 ... this one.
10273 (ggc_alloc_stat): Record overehead.
10274 * ggc.h (ggc_alloc_types, ggc_alloc, ggc_alloc_zone, ggc_alloc_cleared,
10275 ggc_realloc, ggc_alloc_typed): Turn to macros
10276 (ggc_alloc_types_stat, ggc_alloc_stat, ggc_alloc_zone_stat,
10277 ggc_alloc_cleared_stat, ggc_realloc_stat, ggc_alloc_typed_stat): Declare.
10278 (dump_ggc_loc_satistics, ggc_record_overehead): Declare.
10279 * langhooks.h (lhd_make_node): Declare.
10280 (LANG_HOOKS_MAKE_TYPE): Default to new function,
10281 * langhooks.c (lhd_make_node): New.
10282 * rtl.c (rtx_alloc_stat, swallow_copy_rtx_stat): Rename from ... ; pass
10283 locations.
10284 (rtx_alloc, swallow_copy_rtx): ... this one.
10285 * rtl.h (rtx_alloc, swallow_copy_rtx): Turn to macros.
10286 * rtl.c (rtx_alloc_stat, swallow_copy_rtx_stat): Declare.
10287 * toplpev.c (finalize): Dump stats.
10288 * tree.c (make_node_stat, copy_node_stat, make_tree_vec_stat,
10289 build_tree_list_stat, tree_cons_stat, build?_stat, build_decl_stat):
10290 Rename from ... ; pass locators.
10291 (make_node, copy_node, make_tree_vec, build_tree_list, tree_cons,
10292 build?, build_decl): Declare.
10293 * tree.h (make_node_stat, copy_node_stat, make_tree_vec_stat,
10294 build_tree_list_stat, tree_cons_stat, build?_stat, build_decl_stat):
10295 Declare.
10296 (make_node, copy_node, make_tree_vec, build_tree_list, tree_cons,
10297 build?, build_decl): New macros.
10298 * Makefile.in (RTL_H, TREE_H): Add statistics.h dependency.
10299 * statistics.h: New file.
10300
6ba7b547
MR
103012004-03-03 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
10302 Richard Sandiford <rsandifo@redhat.com>
10303
10304 * config/mips/mips.h (MASK_FIX_SB1): Bump.
10305 (MASK_FIX_R4400, TARGET_FIX_R4400): New macros.
10306 (TARGET_SWITCHES): Add -mfix-r4400 and -mno-fix-r4400.
10307 * config/mips/mips.c (mips_output_division): Fill the branch delay
10308 slot with a nop if TARGET_FIX_R4000. Extend R4000 workarounds to
10309 TARGET_FIX_R4400.
10310 (mips_output_division): Adjust accordingly.
10311 (override_options): Make -march=r4400 imply -mfix-r4400 by default.
10312 * doc/invoke.texi: Document -mfix-r4400 and new errata workarounds.
10313
ec8e098d
PB
103142004-03-03 Paolo Bonzini <bonzini@gnu.org>
10315
10316 * alias.c (rtx_equal_for_memref_p): Use predicates
10317 to test rtx classes and new rtx class codes, possibly
10318 splitting conditionals that tested against '<' and 'o'.
10319 * caller-save.c (save_call_clobbered_regs): Likewise.
10320 * combine.c (contains_muldiv, find_split_point, subst,
10321 combine_simplify_rtx, simplify_if_then_else,
10322 simplify_set, simplify_logical, expand_compound_operation,
10323 make_compound_operation, if_then_else_cond, known_cond,
10324 apply_distributive_law, cached_nonzero_bits,
10325 cached_num_sign_bit_copies, simplify_shift_const,
10326 gen_binary, simplify_comparison, update_table_tick,
10327 record_value_for_reg, get_lsat_value_validate): Likewise.
10328 * cse.c (mention_regs, find_best_addr, find_comparison_args,
10329 fold_rtx, cse_insn, invalidate_memory, cse_basic_block):
10330 Likewise.
10331 * emit-rtl.c (copy_insn_1): Likewise.
10332 * expr.c (force_operand): Likewise.
10333 * final.c (final_scan_insn, get_mem_expr_from_op): Likewise.
10334 * flow.c (notice_stack_pointer_modification_1,
10335 invalidate_mems_from_autoinc, ior_reg_cond, not_reg_cond,
10336 and_reg_cond, elim_reg_cond): Likewise.
10337 * function.c (update_epilogue_consts): Likewise.
10338 * genattrtab.c (attr_rtx_1): Likewise.
10339 * genopinit.c (gen_insn): Likewise.
10340 * integrate.c (subst_constants): Likewise.
10341 * jump.c (reversed_comparison_code_parts,
10342 reversed_comparison_code, delete_related_insns,
10343 rtx_renumbered_equal_p): Likewise.
10344 * local-alloc.c (block_alloc): Likewise.
10345 * loop.c (rtx_equal_for_prefetch_p, maybe_eliminate_biv,
10346 canonicalize_condition): Likewise.
10347 * loop-iv.c (simplify_using_conditions, iv_number_of_iterations):
10348 Likewise.
10349 * optabs.c (add_equal_node, expand_binop): Likewise.
10350 * predict.c (estimate_probability): Likewise.
10351 * ra-debug.c (ra_print_rtx_2op, ra_print_rtx): Likewise.
10352 * recog.c (validate_replace_rtx_1, comparison_operator,
10353 offsettable_address_p, constrain_operands): Likewise.
10354 * reg-stack.c (swap_rtx_condition_1, subst_stack_regs_pat):
10355 Likewise.
10356 * regclass.c (scan_one_insn): Likewise.
10357 * regmove.c (stable_and_no_regs_but_for_p): Likewise.
10358 * regrename.c (kill_autoinc_value): Likewise.
10359 * reload.c (find_reusable_reload, find_reloads,
10360 reg_overlap_mentioned_for_reload_p): Likewise.
10361 * reload1.c (gen_reload, delete_address_reloads_1): Likewise.
10362 * rtl.c (copy_rtx): Likewise.
10363 * rtl.h (CONSTANT_P, INSN_P): Likewise.
10364 * rtlanal.c (commutative_operand_precedence): Likewise.
10365 * sched-deps.c (conditions_mutex_p): Likewise.
10366 * sched-rgn.c (is_cfg_nonregular): Likewise.
10367 * simplify-rtx.c (simplify_gen_binary,
10368 simplify_gen_relational, simplify_replace_rtx,
10369 simplify_unary_operation, simplify_binary_operation,
10370 simplify_ternary_operation, simplify_rtx): Likewise.
10371 * unroll.c (reg_dead_after_loop): Likewise.
10372 * config/alpha/alpha.c (alpha_swapped_comparison_operator,
10373 print_operand): Likewise.
10374 * config/arc/arc.c (proper_comparison_operator): Likewise.
10375 * config/arm/arm.c (arm_arm_address_cost, arm_select_cc_mode):
10376 Likewise.
10377 * config/avr/avr.c (_reg_unused_after): Likewise.
10378 * config/frv/frv.c (frv_ifcvt_modify_tests,
10379 frv_ifcvt_modify_insn, frv_pack_insn): Likewise.
10380 * config/i386/i386.c (ix86_comparison_operator,
10381 ix86_carry_flag_operator, fcmov_comparison_operator,
10382 arith_or_logical_operator, print_operand,
10383 ix86_expand_binary_operator, ix86_binary_operator_ok):
10384 Likewise.
10385 * config/i386/i386.md: Likewise.
10386 * config/ia64/ia64.c (not_postinc_memory_operand,
10387 ia64_print_operand, update_set_flags, errata_emit_nops):
10388 Likewise.
10389 * config/ia64/ia64.h (PREFERRED_RELOAD_CLASS,
10390 CONSTRAINT_OK_FOR_S): Likewise.
10391 * config/ip2k/ip2k.c (mdr_resequence_xy_yx,
10392 mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
10393 ip2k_xexp_not_uses_reg_for_mem, ip2k_xexp_not_uses_reg_p,
10394 ip2k_composite_xexp_not_uses_reg_p, ip2k_unary_operator):
10395 Likewise.
10396 * config/iq2000/iq2000.c (cmp_op, symbolic_expression_p,
10397 eqne_comparison_operator, signed_comparison_operator):
10398 Likewise.
10399 * config/mips/mips.c (cmp_op, symbolic_expression_p):
10400 Likewise.
10401 * config/mmix/mmix (mmix_foldable_comparison_operator,
10402 mmix_comparison_operator): Likewise.
10403 * config/pa/pa.c (hppa_legitimize_address): Likewise.
10404 * config/rs6000/rs6000.c (stmw_operation,
10405 branch_comparison_operator, trap_comparison_operator,
10406 ccr_bit): Likewise.
10407 * config/rs6000/rs6000.h (SELECT_CC_MODE): Likewise.
10408 * config/s390/s390.c (s390_alc_comparison,
10409 s390_slb_comparison):L Likewise.
10410 * config/sh/sh.c (gen_block_redirect, reg_unused_after):
10411 Likewise.
10412 * config/sparc/sparc.c (eq_or_neq, normal_comp_operator,
10413 noov_compare_op, noov_compare64_op, v9_regcmp_op,
10414 emit_hard_tfmode_operation, reg_unused_after)
10415 * doc/md.texi, doc/rtl.texi: Likewise.
10416
10417 * ra-debug.c: Add 2004 to list of copyright years.
10418 * unroll.c: Likewise.
10419
10420 * combine.c (simplify_logical): Remove dummy test,
10421 (apply_distributive_law): Fix typo in comment.
10422 GET_CODE (x) == AND so x is a commutative binary op.
10423 * jump.c (delete_related_insns): simplify loop
10424 condition, move testing of RTX codes inside the loop.
10425 (rtx_renumbered_equal_p): do not use RTX_CODE.
10426 * rtl.c (rtx_class): Declare as enum rtx_class.
10427 * rtl.def (EQ, NE, UNEQ, LTGT, UNORDERED, ORDERED):
10428 Move to RTX_COMM_COMPARE class.
10429 (HIGH, SYMBOL_REF, LABEL_REF, CONST, CONST_INT, CONST_DOUBLE):
10430 Move to RTX_CONST_OBJ class.
10431 * rtl.h (enum rtx_class): New declaration,
10432 (RTX_OBJ_MASK, RTX_OBJ_RESULT, RTX_COMPARE_MASK,
10433 RTX_COMPARE_RESULT, RTX_ARITHMETIC_MASK, RTX_ARITHMETIC_RESULT,
10434 RTX_BINARY_MASK, RTX_BINARY_RESULT, RTX_COMMUTATIVE_MASK,
10435 RTX_COMMUTATIVE_RESULT, RTX_NON_COMMUTATIVE_RESULT,
10436 RTX_EXPR_FIRST, RTX_EXPR_LAST, UNARY_P, BINARY_P,
10437 ARITHMETIC_P, COMMUTATIVE_ARITHMETIC_P, COMPARISON_P,
10438 SWAPPABLE_OPERANDS_P, NON_COMMUTATIVE_P, COMMUTATIVE_P,
10439 OBJECT_P): New macros.
10440 * config/sparc/sparc.c (noov_compare_op): Remove register
10441 from parameter.
10442
a841ab8b
KH
104432004-03-03 Kazu Hirata <kazu@cs.umass.edu>
10444
10445 * target.h: Remove texi jargons in comments.
10446
cb36ddba
KH
104472004-03-02 Kazu Hirata <kazu@cs.umass.edu>
10448
10449 * config/h8300/lib1funcs.asm (___fixunssfsi): Change the
10450 threshold to 0x4f.
10451
10452 Revert:
10453 2004-02-27 Kazu Hirata <kazu@cs.umass.edu>
10454 * config/h8300/fixunssfsi.c (__fixunssfsi): Enable on H8/300
10455 as well.
10456 * config/h8300/lib1funcs.asm (___fixunssfsi): Remove.
10457 * config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _fixunssfsi_asm.
10458
66c87bae
KH
104592004-03-02 Kazu Hirata <kazu@cs.umass.edu>
10460
10461 * doc/md.texi (cbranchmode4): New.
10462
91e01231
EC
104632004-03-02 Eric Christopher <echristo@redhat.com>
10464
10465 * config/mips/mips16.S: Change fixsfsi and fixdfsi to
10466 fix_trunc.
10467 * config/mips/mips.c (mips_init_libfuncs): Change accordingly.
10468 * config/mips/t-elf (LIB1ASMFUNCS): Ditto.
10469 * config/mips/t-isa3264 (LIB1ASMFUNCS): Ditto.
10470 * config/mips/t-r3900 (LIB1ASMFUNCS): Ditto.
10471
27ab3e91
RH
104722004-03-02 Richard Henderson <rth@redhat.com>
10473
3205a71e
ZW
10474 PR middle-end/11767
10475 * coverage.c (coverage_counter_ref): Set MEM_NOTRAP_P.
10476 * optabs.c (prepare_cmp_insn): Force trapping memories to registers
10477 before the compare, if flag_non_call_exceptions.
27ab3e91 10478
0eadce52
RH
104792004-03-02 Richard Henderson <rth@redhat.com>
10480
10481 PR middle-end/14327
10482 * stmt.c (expand_computed_goto): Do do_pending_stack_adjust before
10483 emitting the label, not after.
10484
de70723b
SC
104852004-03-02 Stephane Carrez <stcarrez@nerim.fr>
10486
10487 * config/m68hc11/m68hc11.c (m68hc11_addr_mode): New variable.
10488 (m68hc11_mov_addr_mode): Likewise.
10489 (m68hc11_override_options): Initialize them based on target.
10490 (register_indirect_p): Allow a MEM for indirect addressing modes and
10491 use flags to control what is allowed.
10492 (m68hc11_small_indexed_indirect_p): Use m68hc11_mov_addr_mode for
10493 supported addressing modes.
10494 (m68hc11_register_indirect_p): Use m68hc11_addr_mode.
10495 (go_if_legitimate_address_internal): Likewise.
10496 (m68hc11_indirect_p): Likewise and check the mode.
10497 (print_operand): Allow a (MEM (MEM)) and generate indirect addressing.
10498
d6da68b9
KH
104992004-03-02 Kazu Hirata <kazu@cs.umass.edu>
10500
10501 * builtins.c (BUILTIN_SETJMP_FRAME_VALUE): Remove.
10502 (expand_builtin_setjmp_setup): Use
10503 targetm.builtin_setjmp_frame_value instead of
10504 BUILTIN_SETJMP_FRAME_VALUE.
10505 * system.h (BUILTIN_SETJMP_FRAME_VALUE): Poison.
10506 * target-def.h (TARGET_BUILTIN_SETJMP_FRAME_VALUE): New.
10507 (TARGET_INITIALIZER): Add TARGET_BUILTIN_SETJMP_FRAME_VALUE.
10508 * target.h (gcc_target): Add builtin_setjmp_frame_value.
10509 * targhooks.c (default_builtin_setjmp_frame_value): New.
10510 * targhooks.h: Add a prototype for
10511 default_builtin_setjmp_frame_value.
10512 * doc/tm.texi (BUILTIN_SETJMP_FRAME_VALUE): Change to
10513 TARGET_BUILTIN_SETJMP_FRAME_VALUE.
10514
d87e83b9
SC
105152004-03-02 Stephane Carrez <stcarrez@nerim.fr>
10516
10517 * config/m68hc11/m68hc11.md (move peephole2): New peepholes to optimize
10518 sequences of moves.
10519 (add peepholes): New peepholes to optimize sequences adding small
10520 constants.
10521 (bset peepholes): New peepholes to transform an OR in a bset form
10522 (bclr peepholes): Likewise for bclr form.
10523 (cmp peepholes): New peepholes to avoid register copies when comparing.
10524
d5111c9c
SC
105252004-03-02 Stephane Carrez <stcarrez@nerim.fr>
10526
10527 * config/m68hc11/m68hc11.md ("*pushdi_internal"): New insn and split
10528 to separate push from moves.
10529 ("*pushdf_internal"): Likewise.
10530 ("*pushsf_internal"): Likewise.
10531 ("*pushsi_internal"): Likewise.
10532 ("movdi_internal"): Use define_insn_and_split; non push operand.
10533 ("movdf_internal"): Likewise.
10534 ("movsf_internal"): Likewise.
10535 ("movsi_internal"): Likewise.
10536 ("*movhi_68hc12", "*addhi3_68hc12"): Fix and tune constraints
10537 ("*addhi3", "*subhi3", "*andhi3_mem", "*iorhi3_mem"): Likewise.
10538 ("*ashlsi3_const1", "*lshrsi3_const1"): Likewise.
10539
9449502d
SC
105402004-03-02 Stephane Carrez <stcarrez@nerim.fr>
10541
10542 * config/m68hc11/m68hc11.md ("tstqi_z_used"): Use define_insn_and_split.
10543 ("cmphi_z_used", "cmpqi_z_used"): Likewise.
10544 ("movstrictsi", "movstricthi", "movstrictqi"): Likewise.
10545 ("anddi3", "andsi3", "iordi3", "iorsi3"): Likewise.
10546 ("xordi3", "xorsi3", "*logicalsi3_zexthi"): Likewise.
10547 ("*logicalsi3_zextqi", "*logicalhi3_zexthi_ashift8"): Likewise.
10548 ("logicalhi3_zexthi", "*logicalsi3_silshr16"): Likewise.
10549 ("*logicalsi3_silshl16", "*logicalsi3_silshl16_zext"): Likewise.
10550 ("*ashldi3_const32", "*ashldi3_const1", "addsi_silshr16"): Likewise.
10551 ("addsi_andshr16", "*ashlsi3_const16_zexthi"): Likewise.
10552 ("*lshrdi3_const32", "*lshrdi_const1"): Likewise.
10553
b90f3299
SC
105542004-03-02 Stephane Carrez <stcarrez@nerim.fr>
10555
10556 * config/m68hc11/m68hc11.md (SOFT_TMP_REGNUM): Define.
10557 (SOFT_XY_REGNUM): Define.
10558 (cmp split): Use the above instead of hard coded numbers.
10559 (8-bit op split): No need to check the mode; allow Q_REG.
10560 (ashift split): Adjust the first operand if it uses the SP and we
10561 are pushing the shifted value.
10562 (plus shift split): Fix when a source is in register D+X.
10563 ("doloop_end"): Pass dummy arguments to gen_rtx_NE.
10564
77d2a36d
SC
105652004-03-02 Stephane Carrez <stcarrez@nerim.fr>
10566
10567 * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix when
10568 comparing with Z register.
10569
f2dca510
ZD
105702004-03-02 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10571
10572 * cfgloop.h (struct loop_desc): Removed.
10573 (struct loop): Fields simple, desc and has_desc removed.
10574 (simple_loop_p, count_loop_iterations): Declaration removed.
10575 * cfgloopanal.c (struct unmark_altered_insn_data): Removed.
10576 (unmark_altered, blocks_invariant_registers, unmark_altered_insn
10577 blocks_single_set_registers, invariant_rtx_wrto_regs_p_helper,
10578 invariant_rtx_wrto_regs_p, test_for_iteration, constant_iterations,
10579 simple_loop_exit_p, variable_initial_value, variable_initial_values,
10580 simple_condition_p, simple_increment, count_strange_loop_iterations,
10581 inverse, fits_in_mode_p, simple_loop_p, count_loop_iterations):
10582 Removed.
10583 * loop-iv.c (check_simple_exit, find_simple_exit): Update comments.
10584
87ca8b8c
KH
105852004-03-02 Kazu Hirata <kazu@cs.umass.edu>
10586
10587 * genattrtab.c: Don't handle MATCH_INSN.
10588 * genrecog.c: Likewise.
10589 * gensupport.c: Likewise.
10590 * rtl.def (match_insn): Remove.
10591 * doc/md.texi (match_insn, match_insn2): Remove.
10592
bdc2893c
MM
105932004-03-02 Mark Mitchell <mark@codesourcery.com>
10594
10595 * doc/c-tree.texi (DECL_ASSEMBLER_NAME): Mention that using this
10596 macro results in memory allocation.
10597
2de2f846
DB
105982004-03-02 David O'Brien <obrien@FreeBSD.org>
10599
10600 * config/freebsd-spec.h (FBSD_DYNAMIC_LINKER): Add.
10601 * config/alpha/freebsd.h (SUBTARGET_EXTRA_SPECS): Define
10602 %(fbsd_dynamic_linker),
10603 (LINK_SPEC): Use %(fbsd_dynamic_linker), and sync style with
10604 config/i386/freebsd.h
10605 * config/arm/freebsd.h: Ditto.
10606 * config/i386/freebsd.h: Ditto.
10607 * config/i386/freebsd64.h: Ditto.
10608 * config/ia64/freebsd.h: Ditto.
10609 * config/rs6000/sysv4.h: Ditto.
10610 * config/sparc/freebsd.h: Ditto.
10611
f08dc6c1
LR
106122004-03-02 Loren James Rittle <ljrittle@acm.org>
10613
10614 * gcc/doc/install.texi (*-*-freebsd*): Update target information.
10615
c24938d4
KH
106162004-03-02 Kazu Hirata <kazu@cs.umass.edu>
10617
10618 * rtl.def (define_combine): Remove.
10619
ba29f5de
KH
106202004-03-02 Kazu Hirata <kazu@cs.umass.edu>
10621
10622 * config/h8300/h8300.md: Tweak formatting.
10623
a5a0ab45
KH
106242004-03-02 Kazu Hirata <kazu@cs.umass.edu>
10625
10626 * config/h8300/h8300.md (*cmphi_h8300): Rename to
10627 *cmphi_h8300_znvc.
10628 (*cmphi_h8300hs): Rename to *cmphi_h8300hs_znvc.
10629
e451301f
MM
106302004-03-01 Mark Mitchell <mark@codesourcery.com>
10631
10632 PR bootstrap/14356
10633 * gcc.c (process_command): Remove const-qualification from argv.
10634 (main): Likewise.
10635
b698e58b
KH
106362004-03-02 Kazu Hirata <kazu@cs.umass.edu>
10637
10638 * config/h8300/h8300.md (pushqi1_h8300hs): Rename to
10639 pushqi1_h8300hs_advanced. Adjust its caller.
10640 (pushhi1_h8300hs): Rename to pushhi1_h8300hs_advanced.
10641 Adjust its caller.
10642
a5c40cfb 106432004-03-02 Nicolas Roche <roche@act-europe.fr>
3a41db81
NR
10644
10645 * Makefile.in (install-libgcc, install-multilib): Pass
10646 mkinstalldirs var to libgcc.mk.
10647
fdf89bf5
KH
106482004-03-01 Kazu Hirata <kazu@cs.umass.edu>
10649
10650 * system.h (DBX_OUTPUT_STANDARD_TYPES): Poison.
10651 * doc/tm.texi (DBX_OUTPUT_STANDARD_TYPES): Remove.
10652
0e26895c
KH
106532004-03-01 Kazu Hirata <kazu@cs.umass.edu>
10654
10655 * config/h8300/h8300.c (gtle_operator): Accept GT and LE.
10656 * config/h8300/h8300.md: Split several peephole2's, each into
10657 two.
10658
738ed977
ZD
106592004-03-02 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10660
10661 * dominance.c (recount_dominator): Handle postdominators.
10662
e245bd81
RS
106632004-03-01 Richard Sandiford <rsandifo@redhat.com>
10664
10665 * config/mips/mips-protos.h (enum mips_symbol_type): Move from mips.h.
10666 (NUM_SYMBOL_TYPES): Likewise.
10667 (SYMBOL_64_HIGH, SYMBOL_64_MID, SYMBOL_64_LOW): New symbol types.
10668 (mips_unspec_address): Declare.
10669 (mips_gotoff_page, mips_gotoff_global): Delete.
10670 * config/mips/mips.h (PREDICATE_CODES): Add general_symbolic_operand.
10671 * config/mips/mips.c (enum mips_symbol_type, NUM_SYMBOL_TYPES): Delete.
10672 (mips_symbolic_constant_p, mips_symbolic_address_p)
10673 (mips_symbol_insns): Handle new symbol types.
10674 (general_symbolic_operand): New predicate.
10675 (mips_unspec_address): Make extern.
10676 (mips_gotoff_page, mips_gotoff_global): Delete.
10677 (override_options): Allow -mabi=64 -mno-abicalls -mexplicit-relocs.
10678 Handle new symbol types.
10679 * config/mips/mips.md (*lea_high64, *lea64): New patterns.
10680 (*xgot_hi[sd]i, *xgot_lo[sd]i, *got_disp[sd]i, *got_disp[sd]i): Call
10681 mips_unspec_address directly.
10682 * doc/invoke.texi: Remove the -mabi=64 -mno-abicalls exception from
10683 the documentation of -mexplicit-relocs.
10684
9bf793f9
JL
106852004-03-01 Jeff Law <law@redhat.com>
10686
10687 * fold-const.c (fold): An equality comparison of a non-weak object
10688 against zero has a known result. Similarly an equality comparison
10689 of the address of two non-weak, unaliased symbols has a known result.
91e01231 10690
9bf793f9
JL
10691 * ggc-page.c (struct page_entry): New field PREV.
10692 (ggc_alloc): Update PREV field appropriately.
10693 (sweep_pages): Likewise.
10694 (ggc_free): Likewise. Use PREV field rather than loop to
10695 improve ggc_free performance.
91e01231 10696
c9e0ce37
RS
106972004-03-01 Richard Sandiford <rsandifo@redhat.com>
10698
10699 * config/mips/mips.c (mips_output_division): Use the division
10700 instruction to fill the delay slot of a zero check.
10701 (mips_idiv_insns): Adjust accordingly.
10702
65d151a7
NN
107032004-03-01 Nathanael Nerode <neroden@gcc.gnu.org>
10704
10705 * config.gcc: Create a default tmake_file for linux, and use
10706 it in all but two linux clauses. Comment those two.
10707
9a5a17f3
PB
107082004-03-01 Paolo Bonzini <bonzini@gnu.org>
10709
10710 * combine.c (try_combine): Do not refer to is_replaced.
10711 (gen_lowpart_for_combine): Perverse subregs now have a
10712 more politically correct name.
10713 * cse.c (cse_insn): Likewise.
10714 * jump.c: Fix bogus reference to delete_insn.
10715
c5b6f18e
MM
107162004-02-29 Mark Mitchell <mark@codesourcery.com>
10717
5bb2ed2c
MM
10718 PR debug/14328
10719 * dwarf2out.c (gen_enumeration_type_die): Output all enumeration
10720 constants as signed values.
10721
c5b6f18e
MM
10722 PR middle-end/13448
10723 * c-tree.h (readonly_warning): Rename to ...
10724 (readonly_error): ... this.
10725 * c-typeck.c (build_unary_op): Adjust accordingly.
10726 (readonly_warning): Rename to ...
10727 (readonly_error): ... this and issue errors, not warnings.
10728 (build_modify_expr): Call readonly_error, not readonly_warning.
10729 (c_expand_asm_operands): Likewise.
10730 * tree-inline.c (optimize_inline_calls): Do not inline functions
10731 after errors have occurred.
10732
8bb915b6
NN
107332004-02-29 Nathanael Nerode <neroden@gcc.gnu.org>
10734
10735 * configure.ac: Rearrange some threading code for clarity;
10736 add section comment.
10737 * configure: Regenerate.
10738
4ee31f1e
KH
107392004-02-29 Kazu Hirata <kazu@cs.umass.edu>
10740
10741 * passes.c, config/frv/frv.c, config/sh/sh.c: Fix comment
10742 typos.
10743 * doc/cppopts.texi: Fix a typo.
10744
15ec19b9
KH
107452004-02-29 Kazu Hirata <kazu@cs.umass.edu>
10746
10747 * config/i386/i386.md: Fix formatting.
10748
cbff2c1c
NN
107492004-02-29 Nathanael Nerode <neroden@gcc.gnu.org>
10750
630327c3
NN
10751 * configure.ac: Add some comments delineating sections of code.
10752
38fe9090
NN
10753 * doc/install.texi: Note that libada uses autoconf 2.57 also.
10754
42fce956
NN
10755 * doc/install.texi: Fix idiot typo in previous commit.
10756
cbff2c1c
NN
10757 * doc/install.texi: Update for conversion of intl to autoconf 2.57.
10758
c8574b54
KH
107592004-02-29 Kazu Hirata <kazu@cs.umass.edu>
10760
10761 * config/h8300/h8300.md: Add comments about peephole2's.
10762
2f537af9
KH
107632004-02-29 Kazu Hirata <kazu@cs.umass.edu>
10764
10765 * config/h8300/h8300.md: Tweak operand numbers of some
10766 peephole2's.
10767
a207f649
KH
107682004-02-29 Kazu Hirata <kazu@cs.umass.edu>
10769
10770 * config/h8300/h8300.md: Tweak comments about peephole2's.
10771
bc41842b
RS
107722004-02-29 Waldek Hebisch <hebisch@math.uni.wroc.pl>
10773
10774 PR middle-end/14203
10775 * function.c (uninitialized_vars_warning): Use DECL_RTL_SET_P
10776 instead of testing whether DECL_RTL is not NULL.
10777
832a3292
KH
107782004-02-28 Kazu Hirata <kazu@cs.umass.edu>
10779
10780 * config/sh/sh.c: Fix formatting.
10781
508ea1c5
KH
107822004-02-28 Kazu Hirata <kazu@cs.umass.edu>
10783
10784 * config/sh/sh.c: Convert to ISO-C.
10785
dd833c7b 107862004-02-28 Andrew Pinski <pinskia@physics.uc.edu>
91e01231 10787
8cd6bdd1
AP
10788 * c-typeck.c (tagged_types_tu_compatible_p): Fix pasto in
10789 my previous patch.
dd833c7b
AP
10790
10791 * config/darwin.h (machopic_finish): Output stub even if the
10792 symbol is already defined.
10793
5f190838
JDA
107942004-02-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10795
10796 * pa64-hpux.h (LIB_SPEC): Fix linking under HP-UX 11.00 with -p and -pg.
10797
c1a41c2f
KH
107982004-02-28 Kazu Hirata <kazu@cs.umass.edu>
10799
10800 * genattr.c (main): Don't define
10801 TRADITIONAL_PIPELINE_INTERFACE or DFA_PIPELINE_INTERFACE.
10802 * system.h (TRADITIONAL_PIPELINE_INTERFACE): Poison.
10803 (DFA_PIPELINE_INTERFACE): Likewise.
10804 * doc/tm.texi (TRADITIONAL_PIPELINE_INTERFACE): Remove.
10805 (DFA_PIPELINE_INTERFACE): Likewise.
10806
757f9053
RS
108072004-02-28 Richard Sandiford <rsandifo@redhat.com>
10808
10809 * config/mips/mips.md (tstsi, tstdi): Delete.
10810
23cf6987
MR
108112004-02-28 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
10812
91e01231 10813 * config/mips/mips.c (override_options): Remove an obsolete
23cf6987
MR
10814 duplicate definition of the "e" constraint.
10815 * config/mips/mips.h: Update a comment accordingly.
10816
bddbfe5f
MR
108172004-02-28 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
10818
10819 * config/mips/mips.md: Complete the unfinished R4000
10820 multiply/shift errata workaround. Improve documentation.
10821 (hazard): Use TARGET_FIX_R4000 to decide whether an "imul" instruction
10822 has a hilo hazard.
10823 (mulsi3, mulsi3_internal, mulsi3_r4000): Use TARGET_FIX_R4000.
10824 (muldi3, muldi3_internal): Likewise.
10825 (muldi3_internal2): Remove, replacing with...
10826 (muldi3_mult3, muldi3_r4000): ...these new patterns.
10827 (mulsidi3): Take the errata into account.
10828 (mulsidi3_32bit): Remove, replacing with...
10829 (mulsidi3_32bit_internal, mulsidi3_32bit_r4000): ...these new patterns.
10830 (mulsidi3_64bit, mulsidi3_64bit_parts): Disable if TARGET_FIX_R4000.
10831 (umulsidi3): Take the errata into account.
10832 (umulsidi3_32bit): Remove, replacing with..
10833 (umulsidi3_32bit_internal, umulsidi3_32bit_r4000): ...these patterns.
10834 (umulsi3_highpart, umulsi3_highpart_internal): Disable if
10835 TARGET_FIX_R4000.
10836 (smulsi3_highpart, smulsi3_highpart_internal): Likewise.
10837 (smuldi3_highpart, umuldi3_highpart): Likewise.
10838 * doc/invoke.texi: Document the errata workaround.
10839
46490403
MR
108402004-02-28 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
10841
10842 * config/mips/mips-protos.h (mips_idiv_insns): Declare.
10843 * config/mips/mips.h (MASK_FIX_SB1): Bump.
10844 (MASK_FIX_R4000, TARGET_FIX_R4000): New macros.
10845 (TARGET_SWITCHES): Add -mfix-r4000 and -mno-fix-r4000.
10846 * config/mips/mips.c (mips_idiv_insns): New function.
10847 (override_options): Make -march=r4000 imply -mfix-r4000 by default.
10848 (mips_output_division): Add a workaround for the R4000 divide/shift
10849 errata.
10850 * config/mips/mips.md (length): Use mips_idiv_insns() to calculate
10851 the length of an "idiv" instruction.
10852 * doc/invoke.texi: Document the new switches.
10853
1b2c3767
KH
108542004-02-28 Kazu Hirata <kazu@cs.umass.edu>
10855
10856 * doc/tm.texi (IS_COSTLY_DEPENDENCE): Change to
10857 TARGET_SCHED_IS_COSTLY_DEPENDENCE.
10858
79771cc4
ZD
108592004-02-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10860
10861 PR optimization/14229
10862 * cfgrtl.c (rtl_tidy_fallthru_edge): Do not fail for !onlyjump jump.
10863
68a1a5da
EB
108642004-02-28 Eric Botcazou <ebotcazou@act-europe.fr>
10865
10866 * fold-const.c (fold): Strip NOPs that change the signedness
10867 for RSHIFT too. Expand comment.
10868
a10016d3
ILT
108692004-02-27 Ian Lance Taylor <ian@wasabisystems.com>
10870
10871 PR optimization/7871
10872 * flow.c (mark_set_1): Don't add LOG_LINKS for global registers
68a1a5da 10873 from or to call insns.
a10016d3
ILT
10874
108752004-02-27 Eric Botcazou <ebotcazou@libertysurf.fr>
10876
10877 PR optimization/7871
10878 * flow.c (propagate_one_insn): Interpret calls as setting global
10879 registers, not merely clobbering them.
10880
b30e1617 108812004-02-27 Dale Johannesen <dalej@apple.com>
a10016d3 10882
b30e1617
DJ
10883 * config/darwin.c (machopic_output_possible_stub_label): Remove.
10884 config/darwin-protos.h: Ditto.
10885 config/darwin.h: Remove call to it.
10886 * combine.c (distribute_notes): Do not place a REG_DEAD note
10887 when value is both set and used.
10888
bbc51dc2
KH
108892004-02-27 Kazu Hirata <kazu@cs.umass.edu>
10890
10891 * config/h8300/fixunssfsi.c (__fixunssfsi): Enable on H8/300
10892 as well.
10893 * config/h8300/lib1funcs.asm (___fixunssfsi): Remove.
10894 * config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _fixunssfsi_asm.
10895
dedbabed
AP
108962004-02-27 Andrew Pinski <apinski@apple.com>
10897
10898 * c-typeck.c (tagged_types_tu_compatible_p) <ENUMERAL_TYPE>:
10899 Speedup common case of the type values being in the same order.
10900
b6b979d4
SE
109012004-02-27 Steve Ellcey <sje@cup.hp.com>
10902
10903 * config/ia64/ia64.h (no-inline-float-divide): New option.
10904 * config/ia64/ia64.h (no-inline-int-divide): New option.
10905 * config/ia64/ia64.h (no-inline-sqrt): New option.
10906 (TARGET_DEFAULT): Add MASK_INLINE_FLOAT_DIV_THR to define.
10907 * config/ia64/hpux.h (TARGET_DEFAULT): Ditto.
10908 * config/ia64/ia64.c (ia64_override_options): Modify error
10909 checking for inlined division/sqrt.
10910
88462c42
KH
109112004-02-27 Kazu Hirata <kazu@cs.umass.edu>
10912
10913 * bb-reorder.c, cfgbuild.c, diagnostic.c, explow.c, profile.c,
10914 ra-build.c, read-rtl.c, tracer.c, unwind-dw2-fde-glibc.c,
10915 value-prof.c, config/darwin-protos.h, config/frv/frv-abi.h,
10916 config/i386/pmmintrin.h, config/pa/pa-hpux.h: Update
10917 copyright.
10918
53c428d0
PB
109192004-02-27 Paul Brook <paul@codesourcery.com>
10920
10921 * function.c (assign_parms): Don't count pretend args for alignment.
10922
f6db1481
RH
109232004-02-27 Richard Henderson <rth@redhat.com>
10924
10925 * passes.c: New file.
10926 * Makefile.in (OBJS-common): Add it.
10927 * diagnostic.c (rtl_dump_and_exit): Move decl ...
10928 * flags.h (rtl_dump_and_exit): ... here.
91e01231 10929 * output.h (size_directive_output, last_assemble_variable_decl):
f6db1481
RH
10930 Move from toplev.c.
10931 * rtl.h (reg_alloc): Move from toplev.c.
10932 * toplev.c (HAVE_conditional_execution, DUMPFILE_FORMAT,
10933 struct dump_file_info, enum dump_file_index, dump_file_tbl,
10934 open_dump_file, close_dump_file, rest_of_decl_compilation,
10935 rest_of_type_compilation, rest_of_handle_final,
91e01231 10936 rest_of_handle_delay_slots, rest_of_handle_stack_regs,
f6db1481
RH
10937 rest_of_handle_variable_tracking, rest_of_handle_machine_reorg,
10938 rest_of_handle_new_regalloc, rest_of_handle_old_regalloc,
10939 rest_of_handle_regrename, rest_of_handle_reorder_blocks,
10940 rest_of_handle_sched, rest_of_handle_sched2, rest_of_handle_regmove,
91e01231 10941 rest_of_handle_tracer, rest_of_handle_if_conversion,
f6db1481
RH
10942 rest_of_handle_if_after_combine, rest_of_handle_web,
10943 rest_of_handle_branch_prob,
10944 rest_of_handle_value_profile_transformations, rest_of_handle_cfg,
91e01231 10945 rest_of_handle_addressof, rest_of_handle_sibling_calls,
f6db1481
RH
10946 rest_of_handle_jump_bypass, rest_of_handle_inlining,
10947 rest_of_handle_null_pointer, rest_of_handle_combine,
10948 rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2,
91e01231 10949 rest_of_handle_gcse, rest_of_handle_loop_optimize,
f6db1481
RH
10950 rest_of_handle_loop2, rest_of_compilation): Move to passes.c.
10951 (decode_d_option): Use enable_rtl_dump_file.
10952 (compile_file, finalize, do_compile): Move profile+combine+graph
10953 cleanup to finish_optimization_passes.
10954 * toplev.h (init_optimization_passes, finish_optimization_passes,
10955 enable_rtl_dump_file): Declare.
10956
288dc1ea 109572004-02-27 Eric Botcazou <ebotcazou@act-europe.fr>
3205a71e 10958 Roger Sayle <roger@eyesopen.com>
288dc1ea
EB
10959
10960 * fold-const.c (fold): Revert 2004-02-25 change. Use the original
10961 operands to build a tree with swapped operands.
10962 * expr.c (expand_expr_real) <MAX_EXPR>: Consistently use the
10963 'unsignedp' predicate to specify the signedness.
10964
a1105617
KH
109652004-02-27 Kazu Hirata <kazu@cs.umass.edu>
10966
10967 * c-decl.c, c-ppoutput.c, combine.c, cppfiles.c, dwarf2out.c,
10968 expr.c, fold-const.c, gcc.c, haifa-sched.c, loop-iv.c,
10969 params.def, read-rtl.c, rtl.c, rtlanal.c, toplev.c: Fix
10970 comment typos and formatting. Follow spelling conventions.
10971
d095928f
AH
109722004-02-26 Aldy Hernandez <aldyh@redhat.com>
10973
10974 * config/rs6000/rs6000.md: Add fixuns_truncsfsi2 and
10975 fix_truncsfsi2.
10976
10977 * config/rs6000/spe.md: Delete spe_efsctuiz.
10978 Add spe_fixuns_truncsfsi2.
10979 Add spe_fix_truncsfsi2.
91e01231 10980
21526606
EC
109812004-02-26 Eric Christopher <echristo@redhat.com>
10982
10983 * c-lex.c (c_lex_string_translate): New variable.
10984 (lex_string): Use to determine string translation.
10985 * c-pragma.h: Prototype.
10986 * c-parse.in (start_string_translation): New. Set above.
10987 (stop_string_translation): Ditto.
10988 (attribute, attribute_list, asm_def, asm_stmt,
10989 asm_operand): Use above functions.
10990 * cp/parser.c (cp_parser_declaration): Translate strings
10991 unless token is RID_EXTERN. Set c_lex_string_translate
10992 for recursive use.
10993 (cp_parser_asm_definition): Only translate argument strings
10994 to asms.
10995 (cp_parser_asm_operand_list): Ditto.
10996 (cp_parser_attribute_list): Do not translate attribute strings.
10997
e8eebd31
KH
109982004-02-26 Kazu Hirata <kazu@cs.umass.edu>
10999
11000 * stmt.c (expand_start_case_dummy): Remove.
11001 * tree.h: Remove the corresponding prototype.
11002
8f2de5f1
KH
110032004-02-26 Kazu Hirata <kazu@cs.umass.edu>
11004
11005 * builtins.c (apply_args_register_offset): Remove.
11006 * tree.h: Remove the corresponding prototype.
11007
c7924937
KH
110082004-02-26 Kazu Hirata <kazu@cs.umass.edu>
11009
11010 * stor-layout.c (is_pending_size): Remove.
11011 * tree.h: Remove the corresponding prototype.
11012
ca0afc29
KH
110132004-02-26 Kazu Hirata <kazu@cs.umass.edu>
11014
11015 * recog.c (validate_replace_src): Remove.
11016 * recog.h: Remove the corresponding prototype.
11017
6c5caf00
KH
110182004-02-26 Kazu Hirata <kazu@cs.umass.edu>
11019
11020 * calls.c: Don't reference FINAL_REG_PARM_STACK_SPACE or
11021 MAYBE_REG_PARM_STACK_SPACE.
11022 * function.c: Likewise.
11023 * system.h (FINAL_REG_PARM_STACK_SPACE): Poison.
11024 (MAYBE_REG_PARM_STACK_SPACE): Likewise.
11025 * doc/tm.texi (FINAL_REG_PARM_STACK_SPACE): Remove.
11026 (MAYBE_REG_PARM_STACK_SPACE): Likewise.
11027
17fd9cb9
KH
110282004-02-26 Kazu Hirata <kazu@cs.umass.edu>
11029
11030 * c-decl.c (c_expand_deferred_function): Remove.
11031 * c-tree.h: Remove the corresponding prototype.
11032
ec5de8d8
KH
110332004-02-26 Kazu Hirata <kazu@cs.umass.edu>
11034
11035 * postreload.c (reload_cse_move2add): Generate just a PLUS
11036 instead of an entire SET.
11037
5bbeea44
JH
110382004-02-26 Jan Hubicka <jh@suse.cz>
11039
11040 * config.gcc: Add support for nocoma/prescott/pentium-m/pentium3m
11041 /pentium4m.
11042 * i386.c (override_options): Add support for new CPUs.
11043 * i386.h (TARGET_CPU_DEFAULT_NAMES): New names.
11044 (TARGET_CPU_DEFAULT_pentium_m, TARGET_CPU_DEFAULT_pentium4e): New
11045 constants.
11046 * invoke.texi: Extend documentation of -mtune/-march for new CPUs.
11047
48c0150c
BW
110482004-02-26 Bob Wilson <bob.wilson@acm.org>
11049
11050 * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define __xtensa__.
11051
b178305d
EB
110522004-02-26 Eric Botcazou <ebotcazou@act-europe.fr>
11053
11054 * config/sparc/sparc-protos.h (sparc_emit_floatunsdi): Add 'mode'.
11055 (sparc_emit_fixunsdi): New prototype.
11056 * config/sparc/sparc.c (sparc_emit_floatunsdi): Use 'mode' argument.
11057 (sparc_emit_fixunsdi): New function.
11058 * config/sparc/sparc.md (floatunsdisf2): Use 'general_operand' for
11059 operand 1. Pass SFmode to sparc_emit_floatunsdi.
11060 (floatunsdidf2): Use 'general_operand' for operand 1. Pass DFmode
11061 to sparc_emit_floatunsdi.
11062 (fixuns_truncsfdi2): New expander.
11063 (fixuns_truncdfdi2): Likewise.
11064
fb643f64
AM
110652004-02-26 Alan Modra <amodra@bigpond.net.au>
11066
11067 * gcse.c (delete_null_pointer_checks_1): Do not delete CC setter
11068 unless HAVE_cc0.
11069
4a4f95d9
RH
110702004-02-25 Richard Henderson <rth@redhat.com>
11071
11072 * explow.c (force_reg): Call mark_reg_pointer as appropriate.
11073 * config/alpha/alpha.c (alpha_emit_conditional_branch): Don't
11074 use (op0-op1) == 0 if op0 is a pointer.
11075 * config/alpha/alpha.md (cmpdi): Use some_operand.
11076 (three comparison combine splits): Remove.
11077
f6a76b9f
RH
110782004-02-25 Richard Henderson <rth@redhat.com>
11079
0d593f31 11080 PR c/12794
f6a76b9f
RH
11081 * c-common.c (handle_alias_attribute): Reject the attribute if
11082 current_function_decl is set.
11083
30500d84
KC
110842004-02-25 Kelley Cook <kcook@gcc.gnu.org>
11085
11086 * config.gcc: Add comment describing extra_gcc_objs.
11087 i[34567]86-*-cygwin*): Replace host_extra_gcc_objs with extra_gcc_objs.
11088 * configure.ac (extra_gcc_objs): New substitution variable.
11089 (host_extra_gcc_objs): Don't substitute.
11090 * configure: Regenerate.
11091 * Makefile.in: Use extra_gcc_objs.
11092
ed80fa2e
KC
110932004-02-25 Kelley Cook <kcook@gcc.gnu.org>
11094
11095 * doc/contrib.texi: Add an entry for myself.
11096
12c3874e
JH
110972004-02-25 Jan Hubicka <jh@suse.cz>
11098
11099 * basic-block.h (make_eh_edge, break_superblocks): Declare.
11100 * cfgbuild.c (make_eh_edge): Make global.
11101 * cfglayout.c (break_superblocks): Likewise; fix memory leak.
11102 * except.c (build_post_landing_pads, connect_post_landing_pads,
11103 dw2_build_landing_pads, sjlj_emit_function_enter,
21526606 11104 sjlj_emit_function_exit, sjlj_emit_dispatch_table,
12c3874e
JH
11105 sjlj_build_landing_pads): Update CFG.
11106 (emit_to_new_bb_before): New function.
11107 (finish_eh_generation): Do not rebuild the CFG.
11108
7b79fe71
JDA
111092004-02-25 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11110
11111 * config.gcc (hppa*-*-*, parisc*-*-*): Add MASK_BIG_SWITCH to all
11112 target_cpu_default defines.
11113 * pa-hpux.h (TARGET_DEFAULT): Add MASK_BIG_SWITCH to define.
11114 * pa.h (TARGET_DEFAULT): Likewise.
11115
81fbecac
EB
111162004-02-25 Eric Botcazou <ebotcazou@act-europe.fr>
11117
11118 * fold-const.c (fold): Treat MAX_EXPR and MIN_EXPR like
11119 comparisons with regard to signedness.
11120
6f5b4f3e
RE
111212004-02-25 Richard Earnshaw <rearnsha@arm.com>
11122
11123 * arm.c (thumb_legitimize_address): New function.
11124 * arm-protos.h: Prototype it.
11125 * arm.h (THUMB_LEGITIMIZE_ADDRESS): Define.
11126 (LEGITIMIZE_ADDRESS): Use it.
11127
4ab51fb5
R
111282004-02-25 J"orn Rennecke <joern.rennecke@superh.com>
11129
11130 * reload1.c (reload): Only spill eliminable register with multiple
11131 adjacent elimination alternatives if all alternatives fail.
11132
e1471c91
RE
111332004-02-25 Richard Earnshaw <rearnsha@arm.com>
11134
11135 * arm.c (arm_legitimate_index_p): For QImode the range of an offset
11136 is -4095...+4095 inclusive.
11137
94b18ec1
EB
111382004-02-25 Eric Botcazou <ebotcazou@libertysurf.fr>
11139
11140 * doc/install.texi (sparc-sun-solaris2* specific notes): Document
11141 the bootstrap failure with Sun CC 5.4 and 5.5.
11142
2e802a6f
KH
111432004-02-24 Kazu Hirata <kazu@cs.umass.edu>
11144
11145 * cse.c (cse_change_cc_mode_insns): Stop at any instruction
11146 which modifies NEWREG.
11147 (cse_condition_code_reg): Update the mode of CC_REG in
11148 CC_SRC_INSN on our own.
11149
89ab2b79
MM
111502004-02-24 Michael Matz <matz@suse.de>
11151
11152 * config/i386/i386.c (ix86_comp_type_attributes): Check for
11153 regparm attributes.
11154
c263766c
RH
111552004-02-24 Richard Henderson <rth@redhat.com>
11156
11157 * toplev.c (dump_file_tbl): Rename from dump_file.
11158 * bb-reorder.c, bt-load.c, cfgcleanup.c, cfglayout.c, cfgloopanal.c,
c53bdcf5 11159 cfgloopmanip.c, cfgrtl.c, config/arm/arm.c, config/frv/frv.c,
c263766c
RH
11160 config/i386/i386.c, config/ia64/ia64.c, config/mips/mips.c,
11161 config/sh/sh.c, cse.c, flow.c, ifcvt.c, loop-iv.c, loop-unroll.c,
11162 loop-unswitch.c, output.h, predict.c, profile.c, ra-build.c,
11163 ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, regrename.c, reload1.c,
11164 toplev.c, tracer.c, value-prof.c, var-tracking.c, web.c:
11165 s/rtl_dump_file/dump_file/g.
11166
dba2921d
AH
111672004-02-24 Aldy Hernandez <aldyh@redhat.com>
11168
3205a71e
ZW
11169 * config/rs6000/spe.md (spe_fix_truncsfsi2): Delete.
11170 (spe_fixuns_truncsfsi2): Delete.
dba2921d 11171
3205a71e
ZW
11172 * config/rs6000/rs6000.md (fix_truncsfsi2): Delete.
11173 (fixuns_truncsfsi2): Delete.
dba2921d 11174
173cd571
JZ
111752004-02-24 Josef Zlomek <zlomekj@suse.cz>
11176
11177 PR/14240
11178 * rtlanal.c (replace_label): Fix replacing labels in constant pool.
11179
8db4d7a1
GK
111802004-02-24 Geoffrey Keating <geoffk@apple.com>
11181
11182 * config/darwin.h (TARGET_HAS_F_SETLKW): Define.
11183
896c3aa3
JM
111842004-02-24 Jason Merrill <jason@redhat.com>
11185
11186 * tree.c (check_qualified_type): New fn.
11187 (get_qualified_type): Use it. If type already has the desired
11188 quals, just return it.
11189 * tree.h: Declare it.
896c3aa3 11190
58565a33
SKG
111912003-02-24 Sanjiv Kumar Gupta <sanjivg@noida.hcltech.com>
11192
11193 * target-def.h (TARGET_SCHED_INIT_GLOBAL,
11194 TARGET_SCHED_FINISH_GLOBAL): New macros.
11195
11196 * target.h (md_init_global, md_finish_global): Function
11197 declarations corresponding to new target macros.
11198
11199 * haifa-sched.c (sched_init, sched_finish): Allow target to
11200 call the new schedular hooks.
11201
11202 * flow.c (recompute_reg_usage): Add PROP_DEATH_NOTES flag in
11203 call to update_life_info.
11204
11205 * config/sh/sh.h (OVERRIDE_OPTIONS): Re-enable
11206 flag_schedule_insns for SH4.
11207
11208 * config/sh/sh.c (sh_md_init_global, sh_md_finish_global,
11209 find_set_regmode_weight, find_insn_regmode_weight,
11210 find_regmode_weight), sh_md_init, sh_dfa_new_cycle,
11211 sh_variable_issue, high_pressure, ready_reorder,
11212 rank_for_reorder, swap_reorder, sh_reorder, sh_reorder2): New
11213 functions used to throttle the insn movement in first
11214 scheduling pass for SH.
11215
11216 * gcc/doc/tm.texi: Document TARGET_SCHED_INIT_GLOBAL and
11217 TARGET_SCHED_FINISH_GLOBAL.
11218
34208acf
AO
112192004-02-24 Alexandre Oliva <aoliva@redhat.com>
11220
11221 Implement FR-V FDPIC ABI support for frv-uclinux and frv-linux.
11222 2004-02-05 Alexandre Oliva <aoliva@redhat.com>
11223 * config/frv/frv.c (frv_emit_movsi): Use GOT relocations for
11224 symbols in sections named by the user.
11225 2004-01-30 Alexandre Oliva <aoliva@redhat.com>
11226 * config/frv/linux.h (TARGET_OS_CPP_BUILTINS): New.
11227 2004-01-27 Alexandre Oliva <aoliva@redhat.com>
11228 * config.gcc (frv-*-*linux*): Handle like *-*-linux*.
11229 * config/frv/t-linux (EXTRA_MULTILIB_PARTS): Remove, obviated by
11230 the above.
11231 2004-01-20 Alexandre Oliva <aoliva@redhat.com>
11232 * config/frv/frv.md (symGOT2reg_hilo, symGOTOFF2reg_hilo): Add
11233 one more pseudo to further improve code generation.
11234 2004-01-19 Alexandre Oliva <aoliva@redhat.com>
11235 * config/frv/frv.md (movdi_ldd): Introduce explicit indirection
11236 inside UNSPEC.
11237 2004-01-16 Alexandre Oliva <aoliva@redhat.com>
11238 * config/frv/frv.c (frv_legitimate_address_p): Added
11239 allow_double_reg_p argument. Adjust all callers. Use it to
11240 decide whether to enable double-register indirect addressing.
11241 (frv_funcdesc_alias_set): Remove.
11242 (frv_expand_fdpic_call): Force non-SYMBOL_REF operand into
11243 register. Emit movdi_ldd.
11244 (ldd_address_operand): New.
11245 * config/frv/frv-protos.h (frv_legitimate_address_p): Adjust.
11246 * config/frv/frv.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
11247 (PREDICATE_CODES): Add ldd_address_operand.
11248 * config/frv/frv.md (movdi_ldd): New.
11249 (symGOT2reg_hilo, symGOTOFF2reg_hilo): Use separate pseudo for
11250 intermediate computations if possible.
11251 (symGOTOFF2reg_i): Fix harmless typo.
11252 2003-12-18 Alexandre Oliva <aoliva@redhat.com>
11253 * unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Cast
11254 relocated p_vaddr to vaddr type.
11255 * config/frv/frv-protos.h (frv_expand_fdpic_call): Return void.
11256 * config/frv/frv.c (frv_get_funcdesc_alias_set): New.
11257 (frv_expand_fdpic_call): Propagate incoming MEM's expr to funcdesc
11258 MEM, or use a funcdesc alias set. Use regular move instead of
11259 ldd.
11260 (dbl_memory_one_insn_operand): Recognize function descriptors by
11261 type or by alias set, and don't split them.
11262 * config/frv/frv.md (call, call_value): Never use call_internal
11263 for fdpic.
11264 (call_internal, call_value_internal): Never match for FDPIC.
11265 (call_fdpicdi, call_fdpicsi, call_value_fdpicdi,
11266 call_value_fdpicsi): Require FDPIC.
11267 (ldd): Removed.
11268 2003-12-17 Alexandre Oliva <aoliva@redhat.com>
11269 * config/frv/frv.h (CRT_GET_RFIB_DATA): Define for __FRV_FDPIC__.
11270 * unwind-dw2-fde-glibc.c: Don't include elf-fdpic.h any more.
11271 (_Unwind_IteratePhdrCallback): Adjust type of load_base for FRV
11272 FDPIC. Compute data base address.
11273 * config/frv/linux.h (SUBTARGET_DRIVER_SELF_SPECS): Enable -mfdpic
11274 before the other self-specs are processed.
11275 * config/frv/t-linux (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS):
11276 Build with -fPIC.
11277 2003-12-15 Alexandre Oliva <aoliva@redhat.com>
11278 * unwind-dw2-fde-glibc.c: Don't include bits/elf-fdpic.h if
11279 inhibit_libc is defined.
11280 2003-12-12 Alexandre Oliva <aoliva@redhat.com>
11281 * unwind-dw2-fde-glibc.c: Include bits/elf-fdpic.h for
11282 __FRV_FDPIC__.
11283 (__RELOC_POINTER): Define.
11284 (_Unwind_IteratePhdrCallback): Use it.
11285 * config/frv/frv.h (Twrite): Define.
11286 (TRANSFER_FROM_TRAMPOLINE): Use it.
11287 * config/frv/linux.h (INVOKE__main): Undefine.
11288 (Twrite): Override.
11289 2003-12-05 Richard Sandiford <rsandifo@redhat.com>
11290 * doc/invoke.texi (-mlong-calls, -mlinked-fp): Document FRV options.
11291 (-mlibrary-pic): Emphasize that this option generates EABI code.
11292 (-mcpu): Add fr550.
11293 (-mpack): Remove.
11294 2003-11-30 Alexandre Oliva <aoliva@redhat.com>
11295 * config/frv/frv.c (int_2word_operand): Reject LABELs, SYMBOL_REFs
11296 and CONSTs in FDPIC mode.
11297 * gcc/config.gcc (with_cpu): Default to fr400 on frv-*-*linux*.
11298 2003-11-29 Richard Sandiford <rsandifo@redhat.com>
11299 * config/frv/frv.c (move_source_operand): Don't accept symbolic
11300 constants.
11301 * config/frv/frv.md (*movhi_internal, *movsi_internal): Use an 'n'
11302 rather than 'i' constraint for the 2-instruction alternative.
11303 (*movsi_2word): New, incorporating existing int_2word_operand splitter.
11304 2003-11-29 Richard Sandiford <rsandifo@redhat.com>
11305 * config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Q): Renamed from
11306 EXTRA_CONSTRAINT_FOR_Y.
11307 (EXTRA_CONSTRAINT): Remove handling of 'Y'.
11308 * config/frv/frv.md (*movsi_internal): Remove 'Q' constraint.
11309 (addsi3): Change 'Y' constraint to 'Q'.
11310 2003-11-27 Richard Sandiford <rsandifo@redhat.com>
11311 * reload.c (CONST_POOL_OK_P): New macro.
11312 (find_reloads): Use it to decide whether a constant can be forced
11313 into memory.
11314 * config/frv/frv.h (LEGITIMATE_PIC_OPERAND_P): Return true if the
11315 constant satisfies got12_operand.
11316 (frv_cannot_force_const_mem): Always return true for TARGET_FDPIC.
11317 (frv_legitimate_address_p): Check for valid unspec offsets using
11318 got12_operand rather than frv_legitimate_fdpic_operand_p.
11319 (frv_legitimate_fdpic_operand_p): Delete.
11320 (frv_emit_movsi): Abort if we try to use the FDPIC register during
11321 or after reload.
11322 (frv_legitimate_constant_p): Return LEGITIMATE_PIC_OPERAND_P if
11323 TARGET_FDPIC.
11324 * config/frv/frv.md (*movdf_double): Add alternatives for CONST_DOUBLE.
11325 2003-11-19 Richard Sandiford <rsandifo@redhat.com>
11326 * config/frv/frv-protos.h (fdpic_operand, fdpic_got12_operand)
11327 (frv_fdpic_fptr_operand): Don't declare here.
11328 * config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Y): Call got12_operand
11329 rather than fdpic_got12_operand.
11330 (PREDICATE_CODES): Remove symbolic_operand entry. Add entries for
11331 got12_operand and const_unspec_operand.
11332 * config/frv/frv.c (got12_operand): Renamed from fdpic_got12_operand.
11333 (gpr_or_int12_operand, dbl_memory_one_insn_operand): Update calls.
11334 (symbolic_operand): Remove.
11335 (const_unspec_operand): New predicate.
11336 * config/frv/frv.md (*movsi_got): Use got12_operand.
11337 (*movsi_high_got, *movsi_lo_sum_got): Use const_unspec_operand.
11338 2003-11-18 Richard Sandiford <rsandifo@redhat.com>
11339 * config/frv/frv-protos.h (frv_output_addr_const_extra): Remove.
11340 * config/frv/frv.h (OUTPUT_ADDR_CONST_EXTRA): Remove definition.
11341 * config/frv/frv.c (frv_unspec): New structure.
11342 (frv_small_data_reloc_p, frv_const_unspec_p): New functions.
11343 (frv_print_operand_memory_reference): Use frv_const_unspec_p to
11344 validate CONST indices. Use frv_output_const_unspec to print them.
11345 (frv_print_operand): Update call to unspec_got_name. Use
11346 frv_output_const_unspec to print constant unspecs.
11347 (frv_legitimate_fdpic_operand_p): Return true if frv_const_unspec_p.
11348 Reject UNSPECs otherwise.
11349 (unspec_got_name): Take the relocation number as argument, not an
11350 rtx containing it.
11351 (frv_output_addr_const_extra): Remove, replacing with...
11352 (frv_output_const_unspec): ...this new function.
11353 (frv_find_base_term): Use frv_const_unspec_p & frv_small_data_reloc_p.
11354 (gpr_or_int12_operand): Use fdpic_got12_operand.
11355 (dbl_memory_one_insn_operand): Likewise.
11356 (fdpic_got12_operand): Use frv_const_unspec_p.
11357 (frv_emit_movsi): Use frv_const_unspec_p to check for CONSTs that
11358 are already legitimate. Use frv_small_data_reloc_p when deciding
11359 whether to use HIGH/LO_SUM for R_FRV_GOTOFF12 and R_FRV_GPREL12.
11360 2003-11-18 Alexandre Oliva <aoliva@redhat.com>
11361 * config/frv/t-linux (SHLIB_MAPFILES): Override so as to export...
11362 * config/frv/libgcc-frv.ver: ... frv-specific symbols. New file.
11363 * config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
11364 label, for real this time.
11365 * config/frv/frv.c (frv_local_funcdesc_p): Update to new
11366 representation of visibility.
11367 (fdpic_got12_operand, symbolic_operand): Mark unused arguments as
11368 such.
11369 2003-11-17 Richard Sandiford <rsandifo@redhat.com>
11370 * config/frv/frv.h (MASK_LINKED_FP, TARGET_LINKED_FP): New macros.
11371 (TARGET_SWITCHES): Add -mlinked-fp and -mno-linked-fp.
11372 * config/frv/frv.c (frv_override_options): Set MASK_LINKED_FP unless
11373 it was explicitly disabled.
11374 (frv_stack_info): There is no need to save the link register in every
11375 frame unless TARGET_LINKED_FP is true.
11376 (frv_frame_pointer_required): If !TARGET_LINKED_FP, only require a
11377 frame pointer if the stack pointer might change value.
11378 (frv_return_addr_rtx): Check and process "count" argument.
11379 2003-11-14 Richard Sandiford <rsandifo@redhat.com>
11380 * config/frv/frv-protos.h (frv_legitimize_address): Remove.
11381 (frv_find_base_term): Declare.
11382 * config/frv/frv.h (LEGITIMIZE_ADDRESS): Do nothing.
11383 (FIND_BASE_TERM): Define.
11384 (PREDICATE_CODES): Remove pic_register_operand, pic_symbolic_operand,
11385 small_data_register_operand, small_data_symbolic_operand. Add
11386 symbolic_operand.
11387 * config/frv/frv.c (const_small_data_p, plus_small_data_p): Delete.
11388 (frv_print_operand_memory_reference, output_move_single): Remove
11389 special handling for unlegitimized sdata addresses.
11390 (frv_legitimate_address_p): Don't allow sums of SDA_BASE_REG
11391 and symbolic addresses.
11392 (frv_legitimize_address, frv_legitimize_fdpic_address): Delete.
11393 (frv_find_base_term): New function.
11394 (int_2word_operand): Check specifically for symbolic address constants.
11395 (pic_register_operand, pic_symbolic_operand): Delete.
11396 (small_data_register_operand, small_data_symbolic_operand): Delete.
11397 (dbl_memory_one_insn_operand): Don't call plus_small_data_p.
11398 Allow UNSPEC_GOT constants if !TARGET_FDPIC.
11399 (move_source_operand): Only accept CONSTs if they're a two-insn
11400 symbolic constant.
11401 (fdpic_got12_operand): Don't require TARGET_FDPIC.
11402 (frv_emit_movsi): Legitimize sdata and -mlibrary-pic addresses
11403 using gen_symGOTOFF2reg*.
11404 (frv_ifcvt_rewrite_mem): Remove (plus gr16 ...) special cases.
11405 (frv_rtx_costs): Give all MEM addresses a cost of 0. Give MEMs
11406 themselves a cost of 3 insns.
11407 * config/mips/mips.md (*movsi_got): Allow for !TARGET_FDPIC too.
11408 Change predicate to symbolic_operand.
11409 (*movsi_high_got, *movsi_lo_sum_got): Likewise.
11410 (*movsi_lda_sdata): Delete.
11411 (*movsi_pic, movsi_high_pic, movsi_lo_sum_pic): Delete.
11412 2003-11-05 Alexandre Oliva <aoliva@redhat.com>
11413 * config.gcc: Add t-slibgcc-elf-ver and support --with-cpu for
11414 frv-*-*linux*.
11415 * config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
11416 label.
11417 * config/frv/frv.h (DRIVER_SELF_SPECS): Add blank before
11418 -multilib-library-pic.
11419 (LINK_SPEC): Add -z text for -mfdpic.
11420 * config/frv/frvbegin.c (__ROFIXUP_LIST__): Don't define on FDPIC.
11421 * config/frv/frvend.c (__ROFIXUP_END__): Likewise.
11422 * config/frv/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC):
11423 Override.
11424 (OPTION_DEFAULT_SPECS, HAS_INIT_SECTION, INIT_SECTION_ASM_OP,
11425 FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION): Define.
11426 * config/frv/t-linux (EXTRA_MULTILIB_PARTS): Use
11427 crtstuff-generated files.
11428 2003-10-31 Alexandre Oliva <aoliva@redhat.com>
11429 * config.gcc: Add frv-*-*linux*.
11430 * config/frv/linux.h, config/frv/t-linux: New.
11431 2003-10-06 Alexandre Oliva <aoliva@redhat.com>
11432 * config/frv/frv.h (LINK_SPEC): Pass -melf32frvfd to the linker
11433 when -mfdpic even if a linker script is explicitly listed.
11434 2003-10-02 Alexandre Oliva <aoliva@redhat.com>
11435 * config/frv/frv.c (frv_override_options): Clear asm_out
11436 unaligned_op for SImode on FDPIC.
11437 (frv_emit_movsi): Use compute_reloc_for_constant to compute the
11438 argument passed to decl_readonly_section.
11439 (frv_assemble_integer): Revert 2003-09-30's change, but make the
11440 whole block run with FDPIC even with -fno-PIC.
11441 2003-10-02 Alexandre Oliva <aoliva@redhat.com>
11442 * config/frv/frv.c (frv_cannot_force_const_mem): Don't force
11443 symbol or label plus offset to memory.
11444 (frv_emit_movsi): Emit GPREL only if -mgprel-ro. Emit 32-bit
11445 GOTOFF and GPREL for LABEL_REF.
11446 * config/frv/frv.h (DRIVER_SELF_SPECS): Add -mgprel-ro with
11447 -mfdpic unless -mno-gprel-ro, -fpic or -fpie.
11448 (MASK_GPREL_RO, TARGET_GPREL_RO): New.
11449 (TARGET_SWITCHES): Added gprel-ro and no-gprel-ro.
11450 * doc/invoke.texi: Document them.
11451 2003-09-30 Alexandre Oliva <aoliva@redhat.com>
11452 * config/frv/frv-protos.h (frv_gen_GPsym2reg): Declare.
11453 (frv_splittable_got_operand): Removed.
11454 * config/frv/frv.c (frv_cannot_force_const_mem): Reject HIGH and
11455 LO_SUM. Add comments.
11456 (frv_override_options): Moved enabling of FDPIC to
11457 DRIVER_SELF_SPECS. Don't enable MASK_DWORD.
11458 (frv_local_funcdesc_p): Remove unnecessary heck for flag_pie.
11459 (frv_legitimize_fdpic_address): Don't duplicate logic in
11460 frv_emit_movsi.
11461 (frv_gen_GPsym2reg): New.
11462 (unspec_got_name): Added gprel.
11463 (frv_expand_fdpic_call): Add support for inlining PLTs.
11464 (fdpic_fptr_operand): Renamed from frv_fdpic_fptr_operand.
11465 (gpr_or_int12_operand): Added GPREL12.
11466 (pic_symbolic_operand): Match even if !flag_pic for FDPIC.
11467 (small_data_symbolic_operand): Fail if FDPIC.
11468 (fdpic_splittable_got_operand): Removed.
11469 (fdpic_got12_operand): Added GPREL12.
11470 (frv_emit_movsi): Reorganize to avoid duplication. Emit GPREL
11471 when appropriate. Fix sdata GOTOFF.
11472 (frv_legitimate_constant_p): Require legitimate PIC operand for
11473 FDPIC with pic, but only a legitimate fdpic operand for non-pic.
11474 (frv_assemble_integer): Move FDPIC funcdesc handling out of
11475 flag_pic case.
11476 (frv_asm_out_constructor, frv_asm_out_destructor): Abort if
11477 frv_assemble_integer fails.
11478 * config/frv/frv.h (DRIVER_SELF_SPECS): New.
11479 (SUBTARGET_DRIVER_SELF_SPECS): New.
11480 (ASM_SPEC): Don't pass -mno-fdpic.
11481 (LINK_SPEC): Pass -melf32frvfd for FDPIC.
11482 (MASK_INLINE_PLT, TARGET_INLINE_PLT): New.
11483 (TARGET_SWITCHES): Add -minline-plt, -mno-inline-plt and
11484 -multilib-library-pic.
11485 (PREDICATE_CODES): Added fdpic_operand, fdpic_fptr_operand,
11486 condexec_si_media_operator, condexec_sf_add_operator and
11487 condexec_sf_conv_operator. Removed condexec_sf_binary_operator
11488 and condexec_sf_unary_operator.
11489 * config/frv/frv.md (R_FRV_GPREL12, R_FRV_GPRELHI, R_FRV_GPRELLO):
11490 New.
11491 (movsi_got, movsi_high_got, movsi_lo_sum_got): Move before
11492 movsi_internal. Give them internal names. movsi_got has type
11493 int.
11494 (fdpic got splitters): Remove.
11495 (symGPREL2reg, symGPREL2reg_hilo): New.
11496 * config/frv/t-frv (MULTILIB_MATCHES): Don't map -fpic and -fPIC
11497 to -mlibrary-pic. Map -multilib-library-pic to it.
11498 * doc/invoke.texi: -mfdpic, -minline-plt, -multilib-library-pic:
11499 Document.
11500 2003-09-28 Alexandre Oliva <aoliva@redhat.com>
11501 * config/frv/frv.c (frv_function_symbol_referenced_p): Declare.
11502 (TARGET_CANNOT_FORCE_CONST_MEM): Define to...
11503 (frv_cannot_force_const_mem): New function.
11504 (const_small_data_p, plus_small_data_p): Update comments on sdata
11505 on FDPIC.
11506 (frv_override_options): Set flag_pie for FDPIC too.
11507 (frv_conditional_register_usage): Mark gr16 and gr17 as non-fixed,
11508 call-saved registers on FDPIC.
11509 (frv_stack_info): Don't preserve the PIC register on FDPIC, and
11510 don't force LR to be preserved.
11511 (frv_expand_prologue): Likewise.
11512 (frv_asm_output_mi_thunk): Use 12-bit funcdesc gotoff for -fpic.
11513 (frv_frame_pointer_required): Don't force it just because the
11514 FDPIC register is used.
11515 (frv_legitimate_address_p) <CONST>: Accept a legitimate FDPIC
11516 operand only if !condexec_p.
11517 (frv_legitimize_address): Return the FDPIC-legitimized address.
11518 Don't match small data here on FDPIC.
11519 (frv_legitimate_fdpic_operand_p): Don't accept unadorned function
11520 symbols. Use TRUE/FALSE instead of 1/0.
11521 (frv_local_funcdesc_p): New.
11522 (frv_legitimize_fdpic_address): Rewrite to use GOTOFF and 12-bit
11523 immediates when possible.
11524 (pic_symbolic_operand): Accept SYMBOL_REFs and CONSTs in FDPIC.
11525 (dbl_memory_one_insn_operand): Accept addresses that add a REG and
11526 an UNSPEC_GOT.
11527 (frv_emit_movsi): Handle FDPIC before small data. Use GOTOFF and
11528 12-bit immediates when possible.
11529 (frv_legitimate_constant_p): In FDPIC, reject SImode operands that
11530 are not legitimate pic operands.
11531 (frv_in_small_data_p): Re-enable for FDPIC.
11532 * config/frv/frv.h (SDA_BASE_REG): Remove comment about FDPIC.
11533 (FRV_GLOBAL_P): Removed.
11534 * config/frv/frv.md: Add modes to CONSTs.
11535 (movsi_got): New.
11536 (movsi_lo_sum_got): Use separate matches instead of match_dup.
11537 (movsi_high_pic, movsi_lo_sum_pic): Match on non-FDPIC only.
11538 (fdpic splittable operations): Match on flag_pic != 1.
11539 2003-09-22 Alexandre Oliva <aoliva@redhat.com>
11540 * config/frv/frv.c (frv_asm_out_constructor,
11541 frv_asm_out_destructor): Pass to frv_assemble_integer the size in
11542 bytes, not bits.
11543 2003-09-19 Alexandre Oliva <aoliva@redhat.com>
11544 * config/frv/frv.c (frv_assemble_integer): Reject complex
11545 expressions referencing function SYMBOL_REFs.
11546 * config/frv/frv.c (frv_function_symbol_referenced_p): New.
11547 (move_source_operand): Reject CONSTs that reference function
11548 SYMBOL_REFs on FDPIC.
11549 (frv_emit_movsi): If we get such a CONST, break it up.
11550 * config/frv/frv.h (CPP_SPEC): Define __FRV_FDPIC__ for -mfdpic.
11551 (TRANSFER_FROM_TRAMPOLINE): Use different definitions for FDPIC.
11552 * config/frv/frv.c (frv_print_operand) <I>: Recognize PLUS without
11553 MEM.
11554 (frv_assemble_integer): Don't use funcdesc for LABEL_REFs.
11555 (frv_trampoline_size): Increase for FDPIC.
11556 * config/frv/frv.h (TRAMPOLINE_ALIGNMENT): Bump to 64 for FDPIC.
11557 (TRANSFER_FROM_TRAMPOLINE): Handle FDPIC trampolines.
11558 * config/frv/frv.c (frv_legitimize_fdpic_address, frv_emit_movsi):
11559 Disable use of GOTOFF for now.
11560 (const_small_data_p, plus_small_data_p, frv_in_small_data_p):
11561 Disable use of small data in FDPIC for now.
11562 (frv_asm_output_mi_thunk): Implement for FDPIC.
11563 * config/frv/frv.h (SDA_BASE_REG): Set to -1 with FDPIC.
11564 * config/frv/frv.c (frv_asm_out_constructor): Use
11565 frv_assemble_integer for FDPIC pointers.
11566 (frv_asm_out_destructor): Likewise.
11567 * config/frv/frv.md (ldd): Fix order of operands. Use
11568 address_operand for input.
11569 2003-09-18 DJ Delorie <dj@redhat.com>
11570 * config/frv/frv.c (frv_legitimate_fdpic_operand_p): Remove UNSPEC_PIC.
11571 (unspec_got_name): Correct typo.
11572 (frv_emit_movsi): Pre-expand splittable GOTs.
11573 (frv_expand_fdpic_call): Rename gen_lddi to gen_ldd.
11574 * config/frv/frv.md (lddi): Fix syntax error, rename to ldd.
11575 (symGOT2reg_hilo, symGOTOFF2reg_hilo): New.
11576 * config/frv/t-frv: Add -mfdpic multilibs.
11577 * config/frv/frv.h (ASM_SPEC): Pass -mfdpic/-mno-fdpic.
11578 (TARGET_SWITCHES): Add -mno-fdpic, fix documentation.
11579 * config/frv/frv.c (frv_override_options): -mfdpic assumes
11580 flag_pic, default to 32-bit pics, require DWORD ops.
11581 (frv_override_options): Add W and Z constraints.
11582 (frv_expand_prologue): No pic prologue for -mfdpic.
11583 (frv_asm_output_mi_thunk): Support -mfdpic (soon).
11584 (frv_print_operand_memory_reference): Handle GOT constants.
11585 (frv_legitimate_address_p): Allow GOT constants.
11586 (frv_legitimize_address): Handle GOT addresses too.
11587 (frv_legitimate_fdpic_operand_p): New.
11588 (frv_legitimize_fdpic_address): New.
11589 (unspec_got_name): New.
11590 (frv_output_addr_const_extra): New.
11591 (frv_expand_fdpic_call): New.
11592 (frv_fdpic_fptr_operand): New.
11593 (gpr_or_int12_operand): Handle GOT operands.
11594 (int_2word_operand): Handle GOT operands.
11595 (fdpic_operand): New.
11596 (fdpic_splittable_got_operand): New.
11597 (fdpic_got12_operand): New.
11598 (frv_emit_movsi): Handle GOT operands.
11599 (frv_assemble_integer): -mfdpic doesn't use rofixups.
11600 (frv_print_operand): Support 'g' code for GOT operands.
11601 * config/frv/frv-protos.h: Add prototypes as needed.
11602 * config/frv/frv.md (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO,
11603 R_FRV_FUNCDESC, R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI,
11604 R_FRV_FUNCDESC_GOTLO, R_FRV_FUNCDESC_VALUE,
11605 R_FRV_FUNCDESC_GOTOFF12, R_FRV_FUNCDESC_GOTOFFHI,
11606 R_FRV_FUNCDESC_GOTOFFLO, R_FRV_GOTOFF12, R_FRV_GOTOFFHI,
11607 R_FRV_GOTOFFLO): New.
11608 (movsi_high_got, movsi_lo_sum_got): New.
11609 (*movsi_pic): Don't use this splitter for -mfdpic.
11610 (addsi3): Allow GOT references also.
11611 (call, call_value): Handle -mfdpic separately.
11612 (call_fdpicdi, call_fdpicsi, lddi, call_value_fdpicdi,
11613 call_value_fdpicsi): New.
11614 (symGOT2reg, symGOT2reg_i, got splitters, symGOTOFF2reg,
11615 symGOTOFF2reg_i): New.
11616 * config/frv/frv.h (MASK_FDPIC): New.
11617 (TARGET_FDPIC): New.
11618 (TARGET_SWITCHES): Add -mfdpic.
11619 (FDPIC_FPTR_REGNO): New.
11620 (FDPIC_REGNO): New.
11621 (OUR_FDPIC_REG): New.
11622 (enum reg_class): Add FDPIC_REGS, FDPIC_FPTR_REGS, and
11623 FDPIC_CALL_REGS.
11624 (REG_CLASS_NAMES): Likewise.
11625 (REG_CLASS_CONTENTS): Likewise.
11626 (EXTRA_CONSTRAINT_FOR_Y): New, for 12-bit GOTs.
11627 (EXTRA_CONSTRAINT): Add it here.
11628 (FRV_GLOBAL_P): New.
11629 (OUTPUT_ADDR_CONST_EXTRA): New.
11630
7e26b0e3
KH
116312004-02-24 Kazu Hirata <kazu@cs.umass.edu>
11632
11633 * config/sparc/sparc.h: Remove commented-out definitions of
11634 TARGET_EDOM and GEN_ERRNO_RTX.
11635
b57f2e10
KH
116362004-02-24 Kazu Hirata <kazu@cs.umass.edu>
11637
11638 * df.c, df.h, ra-build.c, ra-rewrite.c, ra.c, web.c: Replace
11639 df_analyse with df_analyze.
11640
cb7c3c3f
AM
116412004-02-24 Alan Modra <amodra@bigpond.net.au>
11642
11643 * gcse.c (delete_null_pointer_checks_1): Set stop_insn to end, not
11644 beginning of block.
11645
3638733b
JW
116462004-02-23 James E Wilson <wilson@specifixinc.com>
11647
238470bd 11648 * calls.c (precompute_arguments): Update comment.
3638733b 11649
fa0ac78a
KH
116502004-02-23 Kazu Hirata <kazu@cs.umass.edu>
11651
11652 * et-forest.c: Replace et_occurences with et_occurrences.
11653
6d4e0ecc
KH
116542004-02-23 Kazu Hirata <kazu@cs.umass.edu>
11655
11656 * cfgloop.h, loop-iv.c, loop-unswitch.c: Replace iv_analyse
11657 with iv_analyze.
11658
9e200aaf
KC
116592004-02-23 Kelley Cook <kcook@gcc.gnu.org>
11660
11661 * config/i386/i386.c: Rename pni to sse3.
11662 * config/i386/i386.h: Likewise.
3205a71e 11663 * config/i386/i386.md: Likewise.
9e200aaf
KC
11664 * config/i386/pmmintrin.h: Likewise.
11665 * doc/extend.texi: Likewise.
11666 * doc/invoke.texi: Likewise.
11667
3521b33c
ZW
116682004-02-23 Zack Weinberg <zack@codesourcery.com>
11669 Kazu Hirata <kazu@cs.umass.edu>
11670
11671 Remove -fwritable-strings.
11672 * c-common.c (fix_string_type): Don't check
11673 flag_writable_strings.
11674 (fix_string_type): Likewise.
11675 * c-opts.c (set_std_c89): Don't initialize
11676 flag_writable_strings.
11677 (set_std_c99): Likewise.
11678 * common.opt (fwritable-strings): Remove.
11679 * flags.h: Remove the external declaration of
11680 flag_writable_strings.
11681 * opts.c (common_handle_option) <OPT_fwritable_strings>:
11682 Remove.
11683 * toplev.c (flag_writable_strings): Remove.
11684 (f_options): Remove an entry for writable-strings.
11685 * varasm.c (const_hash_1) <STRING_CST>: Don't check
11686 flag_writable_strings.
11687 (compare_constant) <STRING_CST>: Likewise.
11688 (build_constant_desc): Likewise.
11689 * config/darwin.c (machopic_select_section): Likewise.
11690 * config/arm/arm.c (AOF_ASSEMBLER): Likewise.
11691 * config/arm/pe.c (arm_pe_encode_section_info): Likewise.
11692 * config/iq2000/iq2000.c (iq2000_select_section): Likewise.
11693 * config/mips/mips.c (mips_select_section): Likewise.
11694 (mips_encode_section_info): Likewise.
11695 * config/pa/pa.c (pa_select_section): Likewise.
11696 * config/pa/pa.h (TEXT_SPACE_P): Likewise.
11697 * config/v850/v850.c (v850_select_section): Likewise.
11698 * doc/invoke.texi (-fwritable-strings): Remove.
11699 (-fno-const-strings): Don't mention -fwritable-strings.
11700 * doc/trouble.texi: Don't mention -fwritable-strings.
11701
eb6bddf6
NN
117022003-02-23 Nathanael Nerode <neroden@gcc.gnu.org>
11703
11704 * doc/install.texi: Update for switch of boehm-gc to autoconf 2.57.
11705
e0740893
DJ
117062004-02-23 Dale Johannesen <dalej@apple.com>
11707
11708 * config/rs6000.md (movsf_hardfloat): Add POWER form of nop.
11709 (movdf_hardfloat64): Ditto.
11710 (movdf_softfloat64): Ditto.
11711
e91fa876 117122004-02-23 Fariborz Jahanian <fjahanian@apple.com>
3205a71e 11713 * config/rs6000/rs6000.c (function_arg): call to
e91fa876 11714 rs6000_mixed_function_arg for DFmode moved to allow
21526606 11715 normal DFmode incoming register assignment.
e91fa876 11716
ae6669e7
DJ
117172004-02-23 Dale Johannesen <dalej@apple.com>
11718
11719 * config/rs6000.md (movsf_hardfloat): Accept CTR-to-CTR copy.
11720 (movdf_hardfloat64): Ditto.
11721
2a9f2ad3
KH
117222004-02-23 Kazu Hirata <kazu@cs.umass.edu>
11723
11724 * convert.c, gcov-io.c, libgcov.c, sched-int.h, sibcall.c,
11725 config/rs6000/linux.h, config/rs6000/rs6000-c.c: Update
11726 copyright.
11727
aa5fa0fc
AP
117282004-02-23 Andrew Pinski <pinskia@physics.uc.edu>
11729
a2f1f4c3
AP
11730 PR c/14156
11731 * c-typeck.c (c_expand_return): Change check for VAR_DECL
11732 to use DECL_P instead.
11733
aa5fa0fc
AP
11734 * config/rs6000/linux.h (OS_MISSING_POWERPC64): Define.
11735 * config/rs6000/linux64.h (OS_MISSING_POWERPC64): Define.
11736
221ee7c9
KH
117372004-02-23 Kazu Hirata <kazu@cs.umass.edu>
11738
11739 * Makefile.in (opts.o): Depend on target.h.
11740 * opts.c (decode_options): Use targetm.default_short_enums
11741 instead of DEFAULT_SHORT_ENUMS.
11742 * system.h (DEFAULT_SHORT_ENUMS): Poison.
11743 * target-def.h (TARGET_DEFAULT_SHORT_ENUMS): New.
11744 (TARGET_INITIALIZER): Add TARGET_DEFAULT_SHORT_ENUMS.
11745 * target.h (gcc_target): Add default_short_enums.
11746 * config/cris/cris.h: Remove a comment about
11747 DEFAULT_SHORT_ENUMS.
11748 * config/ip2k/ip2k.h: Likewise.
11749 * doc/tm.texi (DEFAULT_SHORT_ENUMS): Change to
11750 TARGET_DEFAULT_SHORT_ENUMS. Update the description.
11751
bba745c1 117522004-02-23 Eric Botcazou <ebotcazou@libertysurf.fr>
3205a71e 11753 Falk Hueffner <falk@debian.org>
bba745c1
EB
11754
11755 PR c/14188
11756 * builtins.c (expand_builtin_va_arg): Emit an informative message
11757 if a trap is generated.
11758 * c-typeck.c (build_function_call): Likewise.
11759
c2cd64b5
JJ
117602004-02-22 Jakub Jelinek <jakub@redhat.com>
11761
11762 * gcov-io.c (gcov_open) [GCOV_LOCKED]: Use open + fdopen instead of
11763 fopen.
11764 * libgcov.c: Include sys/stat.h.
11765 * config/rs6000/linux.h (TARGET_HAS_F_SETLKW): Define.
11766 * config/rs6000/linux64.h (TARGET_HAS_F_SETLKW): Define.
11767 * config/sparc/linux.h (TARGET_HAS_F_SETLKW): Define.
11768 * config/sparc/linux64.h (TARGET_HAS_F_SETLKW): Define.
11769
fcfcb20e
KH
117702004-02-22 Kazu Hirata <kazu@cs.umass.edu>
11771
11772 * reorg.c: Remove comments about dead ports.
11773
56d03a40
CF
117742004-02-22 Christopher Faylor <cgf@redhat.com>
11775
11776 * config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): *Really* specify
11777 extra host object file when targetting cygwin rather than generic
11778 object files.
11779
5e20bdd7
JZ
117802004-02-22 Josef Zlomek <zlomekj@suse.cz>
11781
11782 Merge from tree-ssa:
11783 2003-11-20 Richard Henderson <rth@redhat.com>
11784
11785 * tree-inline.c (insert_decl_map): New.
11786 (remap_decl, remap_type, remap_block, copy_body_r,
11787 initialize_inlined_parameters, declare_return_variable,
11788 remap_save_expr): Use it.
11789
11790 * function.c (copy_body_r): Add mapping from id->ret_label to
11791 id->ret_label. Revert test for ret_label.
11792
4112be4a
JJ
117932004-02-22 Jakub Jelinek <jakub@redhat.com>
11794
11795 * genoutput.c (process_template): Strip trailing whitespace in @
11796 templates and issue a warning if there was any.
11797
3a6efa98 117982004-02-21 Christopher Faylor <cgf@redhat.com>
dc4a2f32
CF
11799
11800 * config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): Specify extra host
11801 object file when targetting cygwin.
11802 * config/i386/t-cygwin (EXTRA_GCC_OBJS): Remove definition since it is
11803 overridden by top-level Makefile.
11804
22cc69c4
RS
118052004-02-21 Roger Sayle <roger@eyesopen.com>
11806
11807 * config/i386/i386.c (standard_80387_constant_p): Also prefer
11808 the x87's load constant instructions when optimizing for size.
11809
bee07d3f
KH
118102004-02-21 Kazu Hirata <kazu@cs.umass.edu>
11811
11812 * combine.c (SHIFT_COUNT_TRUNCATED): Remove.
11813 * defaults.h (SHIFT_COUNT_TRUNCATED): Provide the default.
11814 * expmed.c: Assume SHIFT_COUNT_TRUNCATED is always defined.
11815 * fold-const.c: Likewise.
11816 * simplify-rtx.c: Likewise.
11817
da6fdad3
AM
118182004-02-21 Alan Modra <amodra@bigpond.net.au>
11819
11820 * combine.c (can_combine_p): Don't ignore SETs marked with
11821 REG_EH_REGION notes.
11822 (try_combine): When attemting to fix unrecognized insns, don't
11823 split a PARALLEL that contains the original i2.
11824
8bb418a3
ZL
118252004-02-21 Ziemowit Laski <zlaski@apple.com>
11826
11827 * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Refer to
11828 SUBTARGET_OPTION_TRANSLATE_TABLE for architecture-specific options.
11829 * config/i386/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): Define it.
11830 * config/rs6000/altivec.h: #error out if '-maltivec' not specified.
11831 (vector, pixel, bool): #define to __vector, __pixel and __bool.
11832 (__un_args_eq, __bin_args_eq, __tern_args_eq): Move to C-specific
11833 portion of header.
11834 (__altivec_link_error_invalid_argument): Remove prototype; will use
11835 __builtin_altivec_compiletime_error("vec_*") instead.
11836 (vec_*): Fix/complete set of available operation overloads given the
11837 existence of distinct 'vector bool ...' and 'vector pixel' types; tighten
11838 cv-correctness of pointer arguments; in C, always check for correct
11839 argument types before macro expansion.
11840 * config/rs6000/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): New macro
11841 defining Darwin/PowerPC-specific '-f[no-]altivec' and
11842 '-W[no-]altivec-long-deprecated' switches.
11843 * config/rs6000/rs6000-c (rs6000_cpu_cpp_builtins): Pre-define
11844 '__vector', '__pixel' and '__bool' macros using
11845 '__attribute__((altivec(...)))' types.
11846 * config/rs6000/rs6000.c (bool_char_type_node, bool_short_type_node,
11847 bool_int_type_node, pixel_type_node, bool_V16QI_type_node,
11848 bool_V8HI_type_node, bool_V4SI_type_node, pixel_V8HI_type_node):
11849 New type nodes.
11850 (rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): New, for
11851 handling '-W[no-]altivec-long-deprecated'.
11852 (rs6000_override_options): Handle '-W[no-]altivec-long-deprecated'.
11853 (rs6000_expand_binop_builtin, rs6000_expand_ternop_builtin,
11854 altivec_expand_dst_builtin): Remove casts from integer literals.
11855 (altivec_expand_builtin): Likewise; handle expansion of new
11856 '__builtin_altivec_compiletime_error' function.
11857 (rs6000_init_builtins): Initialize 'vector bool ...' and 'vector pixel'
11858 types, and make them distinct from other vector types; register
11859 '__builtin_altivec_compiletime_error' function.
11860 (print_operand): For 'P', print a full target register name instead of
11861 merely its number.
11862 (rs6000_attribute_table): Add "altivec" attribute.
11863 (rs6000_handle_altivec_attribute): New function.
21526606 11864 * config/rs6000/rs6000.h (TARGET_OPTIONS): Describe
8bb418a3
ZL
11865 '-m[no-]-warn-altivec-long' (which '-W[no-]altivec-long-deprecated'
11866 maps to).
11867 (rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): Forward
11868 declare.
11869 (ALTIVEC_BUILTIN_COMPILETIME_ERROR): New built-in enumeration.
11870
06a419ff
JW
118712004-02-20 James E Wilson <wilson@specifixinc.com>
11872
11873 * config/ia64/ia64.md (shift_mix4left+1): Delete reload_completed
11874 check.
11875 (shift_mix4left+2): Delete redundant pattern.
11876
d220de0e
KH
118772004-02-20 Kazu Hirata <kazu@cs.umass.edu>
11878
11879 * alias.c (OUTGOING_REGNO): Don't define the default.
11880 * builtins.c (OUTGOING_REGNO): Likewise.
11881 (INCOMING_REGNO): Likewise.
11882 (apply_args_register_offset): Always use OUTGOING_REGNO.
11883 * combine.c (OUTGOING_REGNO): Likewise.
11884 * sibcall.c (OUTGOING_REGNO): Likewise.
11885 * defaults.h (INCOMING_REGNO): Provide the default.
11886 (OUTGOING_REGNO): Likewise.
11887
701ad47e
JH
118882004-02-21 Jan Hubicka <jh@suse.cz>
11889
11890 * params.def (max-peeled-insns, max-completely-peeled-insns,
11891 max-once-peeled-insns): Set to 400.
11892
7a3e01c4
JDA
118932004-02-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11894
3205a71e 11895 PR c++/12007
7a3e01c4
JDA
11896 * dbxout.c (dbxout_parms): Check that DECL_RTL and DECL_INCOMING_RTL
11897 are set for parameters before outputing debugging information.
11898
f4d9988b
FH
118992004-02-20 Falk Hueffner <falk@debian.org>
11900
11901 PR target/14201
11902 * config/alpha/alpha.md (*fix_truncsfsi_ieee): Fix typoed operand
11903 numbers.
11904
2ae5c785
PB
119052004-02-20 Per Bothner <per@bothner.com>
11906
11907 * input.h: Don't #include line-map.h. It may cause link problems
11908 with undefined linemap_line_start when line-map.h is included but
11909 line-map.o is not linked, as currently happens with gengtype on
11910 compilers that don't support inline.
11911 * toplev.c: So we do have to explicitly #include line-map.h here.
11912
7c4d376d
RH
119132004-02-20 Richard Henderson <rth@redhat.com>
11914
11915 * doc/invoke.texi: Add -Wvariadic-macros.
11916
2c598860
KH
119172004-02-20 Kazu Hirata <kazu@cs.umass.edu>
11918
11919 * haifa-sched.c (sched_emit_insn): Remove.
11920 * sched-int.h: Remove the corresponding prototype.
11921
35afa569
KH
119222004-02-20 Kazu Hirata <kazu@cs.umass.edu>
11923
11924 Revert:
11925 2004-02-19 Kazu Hirata <kazu@cs.umass.edu>
11926 * opts.c (decode_options): Don't use DEFAULT_SHORT_ENUMS.
11927 * system.h (DEFAULT_SHORT_ENUMS): Poison.
11928 * config/cris/cris.h: Remove a comment about
11929 DEFAULT_SHORT_ENUMS.
11930 * config/ip2k/ip2k.h: Likewise.
11931 * doc/tm.texi (DEFAULT_SHORT_ENUMS): Remove.
11932
c1c3bb0c
ME
119332004-02-20 Mohan Embar <gnustuff@thisiscool.com>
11934 Tom Tromey <tromey@redhat.com>
11935
11936 * doc/install.texi: Moved --disable-libgcj and
11937 --with-system-zlib documentation to new section for
11938 Java-specific options.
11939 Added explicit Cross-Compiler-Specific Options subheading.
11940 Added section for Java-specific options.
11941
ee095310
MK
119422004-02-20 Matt Kraai <kraai@alumni.cmu.edu>
11943
11944 * doc/install.texi (Building the Ada compiler): Remove
3205a71e 11945 example.
ee095310 11946
15316a6f
JW
119472004-02-20 James E Wilson <wilson@specifixinc.com>
11948
11949 * toplev.c (dump_file_index, dump_file): Put ce3 before rnreg.
11950
9f76f909
KH
119512004-02-20 Kazu Hirata <kazu@cs.umass.edu>
11952
11953 * gcc.c (process_command): Allow translation of the copyright
11954 symbol but not the rest of the copyright message.
11955 * gcov.c (print_version): Likewise. Allow translation of the
11956 message about warranty.
11957
f38a62ff
HPN
119582004-02-20 Hans-Peter Nilsson <hp@axis.com>
11959
11960 * config/cris/cris.md ("*andsi_movu"): Correct parentheses in
11961 predicate.
11962 ("*andsi_clear"): Tweak constraints to not match postincrement.
11963 Adjust the predicate to exclude a volatile memory reference.
11964 ("*andhi_clear"): Ditto. Rename from "*andhi_clear_signed".
11965 ("*andhi_clear_unsigned"): Remove, non-matching pattern.
11966
88e3a2a3
MK
119672004-02-19 Matt Kraai <kraai@alumni.cmu.edu>
11968
11969 * move-if-change: Remove.
11970 * Makefile.in (s-mlib, c-parse.y, s-check, s-gencheck)
11971 (s-specs, s-options, s-config, s-conditions, s-flags, s-codes)
11972 (s-constants, s-emit, s-recog, s-opinit, s-extract, s-peep)
11973 (s-attr, s-attrtab, s-output, s-genrtl, s-modes, s-preds)
11974 (s-gtyp-gen, s-iov): Use the top level move-if-change.
11975 * objc/Make-lang.in (objc/objc-parse.y): Likewise.
11976
e0c34369
JW
119772004-02-19 James E Wilson <wilson@specifixinc.com>
11978
11979 * config/i386/i386.md (doloop_end_internal): Use nonimmediate_operand
11980 for operand2. Add condition that requires register_operand operand2
11981 before reload.
11982
656f37ee 119832004-02-19 Richard Sandiford <rsandifo@redhat.com>
2b5f287b 11984 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
656f37ee
RS
11985
11986 * config/mips/mips.c (mips_address_insns): Treat BLKmode specially.
11987 * config/mips/mips.md: Expand comment above unaligned loads and stores.
11988
4221057e
RH
119892004-02-19 Richard Henderson <rth@redhat.com>
11990
11991 * Makefile.in (STRICT2_WARN): Add -Wno-variadic-macros.
11992 * tree.c (build0, build1, build2, build3, build4): Split out from...
11993 (build): ... here. Call them.
11994 * tree.h (build, _buildN1, _buildN2, _buildC1, _buildC2): New.
11995
11996 * convert.c (convert_to_integer): Remove extra build argument.
11997 * tree-inline.c (expand_call_inline): Likewise.
11998
e5b79219
RH
119992004-02-19 Richard Henderson <rth@redhat.com>
12000
12001 * c-opts.c (warn_variadic_macros): New.
12002 (c_common_handle_option): Set it.
12003 (sanitize_cpp_opts): Copy it to cpp_opts.
12004 * c.opt (Wvariadic-macros): New.
12005 * cpplib.h (struct cpp_options): Add warn_variadic_macros.
12006 * cppinit.c (cpp_create_reader): Initialize it.
12007 * cppmacro.c (parse_params): Check it.
12008
18586cb7
DD
120092004-02-19 David Daney <ddaney@avtrex.com>
12010
12011 PR preprocessor/14198
12012 * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Add
12013 builtin_assert ("machine=mips")
12014
37a46828
KH
120152004-02-19 Kazu Hirata <kazu@cs.umass.edu>
12016
12017 * opts.c (decode_options): Don't use DEFAULT_SHORT_ENUMS.
12018 * system.h (DEFAULT_SHORT_ENUMS): Poison.
12019 * config/cris/cris.h: Remove a comment about
12020 DEFAULT_SHORT_ENUMS.
12021 * config/ip2k/ip2k.h: Likewise.
12022 * doc/tm.texi (DEFAULT_SHORT_ENUMS): Remove.
12023
f9c887ac
ZW
120242004-02-19 Zack Weinberg <zack@codesourcery.com>
12025
12026 * config/ia64/ia64.c (ia64_function_arg): In big-endian mode,
12027 when passing single SFmode quantities in general registers,
12028 put them in the high half.
12029
0e1d7f32 120302004-02-19 Aldy Hernandez <aldyh@redhat.com>
f9c887ac
ZW
12031
12032 * doc/md.texi (Standard Names): Document additional dependency on
12033 fix pattern.
12034
12035 * optabs.c (ftruncify): Remove.
12036 (expand_fix): Manually inline ftruncify above.
12037 (can_fix_p): Add FIXME note.
0e1d7f32 12038
c6e9f0eb 120392004-02-19 Aldy Hernandez <aldyh@redhat.com>
f9c887ac
ZW
12040
12041 * config/rs6000/spe.md (spe_fixunssfsi2): Rename to
12042 spe_fixuns_truncsfsi2.
12043
12044 * config/rs6000/rs6000.md (fixunssfsi2): Rename to
12045 fixuns_truncsfsi2.
c6e9f0eb 12046
919b531d
SE
120472004-02-19 Steve Ellcey <sje@cup.hp.com>
12048
12049 * config/ia64/ia64.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
12050 * testsuite/gcc.dg/20040219-1.c: New test.
12051
4dbb5970
UW
120522004-02-19 Ulrich Weigand <uweigand@de.ibm.com>
12053
12054 * config/s390/s390.md ("*subdf3_cc", "*subdf3_cconly", "*subsf3_cc",
12055 "*subsf3_cconly"): Subtraction is not commutative.
12056
16edbbf0
ZW
120572004-02-19 Zack Weinberg <zack@codesourcery.com>
12058
12059 * sdbout.c (preinit_symbols, sdbout_initialized): New statics.
12060 (sdbout_symbol): If called before sdbout_init, queue DECL for
12061 later and return.
12062 (sdbout_init): Set sdbout_initialized true, process decls
12063 queued earlier by sdbout_symbol.
12064 (sdbout_finish): Use size_t for index variable.
12065
f46e5baa 120662004-02-19 Jeff Law <law@redhat.com>
16edbbf0 12067
f46e5baa
JL
12068 * fold-const.c (invert_truthvalue): Do not call invert_tree_comparison
12069 for unordered comparison codes.
12070
d754127f
ILT
120712004-02-19 Ian Lance Taylor <ian@wasabisystems.com>
12072
12073 * reload1.c (reload): Correct comment.
12074 (scan_paradoxical_subregs): Remove #if 0 and old comment.
12075 * doc/extend.texi (Local Reg Vars): Remove obsolete comment that
12076 register variables are not used by reload.
12077
428eae94
HPN
120782004-02-19 Hans-Peter Nilsson <hp@axis.com>
12079
12080 PR target/14209
12081 * config/cris/cris.md ("*andsi_movu", "*andhi_movu"): Tweak
12082 constraints to not match postincrement. Adjust the predicate to
12083 exclude a volatile memory reference.
12084
a5ee8d80
KH
120852004-02-19 Kazu Hirata <kazu@cs.umass.edu>
12086
12087 * config/mcore/mcore.h (ASM_OUTPUT_EXTERNAL): Remove.
12088
45ea6431
KH
120892004-02-19 Kazu Hirata <kazu@cs.umass.edu>
12090
12091 * hooks.c (hook_void_tree_int): Remove.
12092 (hook_void_constcharptr): Likewise.
12093 (hook_int_void_0): Likewise.
12094 * hooks.h: Remove the prototypes for the above three
12095 functions.
12096 * targhooks.c (hook_bool_machine_mode_true): Remove.
12097 * targhooks.h: Remove the prototype for
12098 hook_bool_machine_mode_true.
12099
c59102b4
KH
121002004-02-19 Kazu Hirata <kazu@cs.umass.edu>
12101
12102 * emit-rtl.c (subreg_realpart_p): Remove.
12103 (reorder_insns_with_line_notes): Likewise.
12104 (end_full_sequence): Likewise.
12105 * rtl.h: Remove the prototype for the above functions.
12106
3ad17f7b
KH
121072004-02-19 Kazu Hirata <kazu@cs.umass.edu>
12108
12109 * config/arc/arc.h, config/arm/arm.h, config/frv/frv.h,
12110 config/h8300/h8300.h, config/i386/i386.h, config/i860/i860.h,
12111 config/iq2000/iq2000.h, config/m32r/m32r.h,
12112 config/pdp11/pdp11.h, config/sparc/sparc.h,
12113 config/xtensa/xtensa.h: Remove commented-out or useless
12114 definitions of CASE_VECTOR_PC_RELATIVE.
12115
a3b182a7
KH
121162004-02-19 Kazu Hirata <kazu@cs.umass.edu>
12117
12118 * loop.c (all_sets_invariant_p): Remove.
12119
1b5963f7
EB
121202004-02-19 Eric Botcazou <ebotcazou@libertysurf.fr>
12121
12122 PR target/12916
12123 * config/sparc/sparc.h (NPARM_REGS): Delete.
12124 (BASE_RETURN_VALUE_REG): Likewise.
12125 (BASE_OUTGOING_VALUE_REG): Likewise.
12126 (BASE_PASSING_ARG_REG): Likewise.
12127 (BASE_INCOMING_ARG_REG): Likewise.
12128 * config/sparc/sparc.c (sparc_strict_argument_naming): Test
12129 TARGET_ARCH64, not TARGET_V9.
12130 (function_arg_slotno): Dispatch based on the mode class.
12131 Handle vector modes like floating-point modes.
12132 (function_arg_record_value_1): Handle vector types like
12133 floating-point types.
12134 (function_arg_record_value_2): Likewise.
12135 Calculate regno after mode transformation.
12136 (function_arg): Handle vector modes like floating-point modes.
12137 (function_arg_partial_nregs): Replace NPARM_REGS by SPARC_INT_ARG_MAX.
12138 If ARCH64, do not recheck alignment.
12139 (function_arg_pass_by_reference): Reorder the conditions.
12140 (sparc_return_in_memory): Move after function_arg_padding.
12141 Implement calling conventions for vector modes.
12142 (sparc_struct_value_rtx): Move after sparc_return_in_memory.
12143 (function_value): Move scope of 'regbase'.
12144 Implement calling conventions for vector modes.
12145 (sparc_builtin_saveregs): Replace NPARM_REGS by SPARC_INT_ARG_MAX
12146 and BASE_INCOMING_ARG_REG by SPARC_INCOMING_INT_ARG_FIRST.
12147 (sparc_va_arg): Use function_arg_pass_by_reference to test whether
12148 the argument is passed by reference.
12149 (sparc_type_code): Handle vector types.
12150
196c42cd
AM
121512004-02-19 Alan Modra <amodra@bigpond.net.au>
12152
12153 * function.c (assign_parms): When building decl_rtl for
12154 SPLIT_COMPLEX_ARGS, ensure inner modes of concat match outer.
12155
c0cfc691
OH
121562004-02-19 Olivier Hainque <hainque@act-europe.fr>
12157
12158 * expr.c (is_aligning_offset): Check if we are aligning the
12159 expressions's address over BIGGEST_ALIGNMENT in bytes, not
12160 in bits.
12161
328163dc
MA
121622003-02-18 Matt Austern <austern@apple.com>
12163
12164 * gcc.c (LIBGCC_SPEC): If REAL_LIBGCC_SPEC is defined, and
12165 LIBGCC_SPEC isn't, set LIBGCC_SPEC to REAL_LIBGCC_SPEC.
12166 (init_gcc_spec): Don't define or call if REAL_LIBGCC_SPEC is
12167 defined. Instead use REAL_LIBGCC_SPEC, unmodifed, as the libgcc
12168 spec string.
12169 * doc/tm.texi (REAL_LIBGCC_SPEC): Document.
16edbbf0 12170
57d4f65c
ZW
121712004-02-18 Zack Weinberg <zack@codesourcery.com>
12172
12173 * dwarf2out.c (loclabel_num): Move outside #ifdef
12174 DWARF2_DEBUGGING_INFO and mark with GTY(()).
12175 * config/ia64/ia64.c (struct extern_func_list,extern_func_head):
12176 Mark with GTY(()).
12177 (ia64_hpux_add_extern_decl): Save the decl, not the name string.
12178 Allocate memory with ggc_alloc. No need to copy anything.
12179 (ia64_hpux_file_end): Update to match.
12180
3fec9fa9
JJ
121812004-02-18 Jakub Jelinek <jakub@redhat.com>
12182
12183 * config/i386/i386.c (override_options): Don't imply 3DNow! for -m64
12184 by default.
12185
5665e398
UW
121862004-02-18 Ulrich Weigand <uweigand@de.ibm.com>
12187
12188 * config/s390/s390.md ("divmodtidi3"): Use canonical RTL.
12189 ("divmodtisi3"): Likewise.
12190 ("udivmoddi4", "udivmodtidi3"): Likewise.
12191 ("divmodsi4", "divmoddisi3"): Likewise.
12192 ("udivmodsi4", "udivmoddisi3"): Likewise.
12193 ("udivsi3", "umodsi3"): Likewise.
12194
d76e8439
UW
121952004-02-18 Ulrich Weigand <uweigand@de.ibm.com>
12196
12197 * config/s390/s390.c (s390_mainpool_start): Delete the main pool
12198 placeholder insn when chunkifying the pool.
12199
3cf7104e
JDA
122002004-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12201
12202 * pa.h (PIC_OFFSET_TABLE_REGNUM): Define to INVALID_REGNUM when not
12203 generating PIC code.
12204
8981ecd3
KH
122052004-02-18 Kazu Hirata <kazu@cs.umass.edu>
12206
12207 * config/h8300/h8300-protos.h: Add a prototype for
12208 h8300_expand_branch.
12209 * config/h8300/h8300.c (h8300_expand_branch): New.
12210 * config/h8300/h8300.md (ble, bleu, bge, bgeu, blt, bltu, bgt,
12211 bgtu, beq, bne): Call h8300_expand_branch().
12212
07ee3b58
KH
122132004-02-18 Kazu Hirata <kazu@cs.umass.edu>
12214
12215 * config/h8300/h8300-protos.h: Add prototypes for
12216 h8300_hard_regno_nregs and h8300_hard_regno_mode_ok.
12217 * config/h8300/h8300.c (h8300_hard_regno_nregs): New.
12218 (h8300_hard_regno_mode_ok): Likewise.
12219 * config/h8300/h8300.h (HARD_REGNO_NREGS): Call
12220 h8300_hard_regno_nregs().
12221 (HARD_REGNO_MODE_OK): Call h8300_hard_regno_mode_ok().
12222
22234f56
PB
122232004-02-18 Per Bothner <per@bothner.com>
12224
12225 * cpphash.h (struct cpp_buffer): Restore return_at_eof field. This
12226 partly reverts my 2003-10-01 change, because we're back to logically
12227 including <command line> inside the main line.
12228 * cpplex.c (_cpp_get_fresh_line): Check return_at_eof field.
12229 * cppmacro.c (cpp_scan_nooutput): Set return_at_eof of current buffer.
12230 Fixes PR preprocessor/14103.
12231
12232 * cppfiles.c (_cpp_stack_include): When appropriate decrement
12233 line_table's highest_location, fixing LAST_SOURCE_LINE_LOCATION.
12234 (cpp_push_include): Don't need to increment pfile's line field.
12235 * line-map.h (LAST_SOURCE_LINE_LOCATION): Only decrement by 1.
12236
12237 * c-ppoutput.c (print struct): New first_time field.
12238 (init_pp_output): Set print.first_time.
12239 (pp_file_change): Use print.first_time, rather than MAIN_FILE_P,
12240 which is set also for (say) <command line>. Clear print.first_time.
12241
12242 * cppfiles.c (struct _cpp_file): Comment and type for pch field
12243 does not match the code, so fix both.
12244 (should_stack_file): Inline include_pch_p function.
12245 (include_pch_p): Remove pointless function.
12246
12247 * cpphash.h (struct cpp_buffer): Remove unused search_cached field.
12248
5a6d9a81
KH
122492004-02-18 Kazu Hirata <kazu@cs.umass.edu>
12250
12251 * config/h8300/h8300.md (four define_peephole2's): Use
12252 h8300_regs_ok_for_stm().
12253
3d2e90d6
KH
122542004-02-18 Kazu Hirata <kazu@cs.umass.edu>
12255
12256 * config/h8300/h8300-protos.h: Update the prototype for
12257 expand_a_rotate().
12258 * config/h8300/h8300.c (expand_a_rotate): Remove the first
12259 argument.
12260 * config/h8300/h8300.md: Update all callers.
12261
79ae63b1
JH
122622004-02-18 Jan Hubicka <jh@suse.cz>
12263
12264 * simplify-rtx.c (simplify_unary_operation): Deal with logicals on
12265 floats.
12266 (simplify_binary_operation): Deal with logicals on floats.
12267
12268 * i386.md (SSE fabs splitters): Emit new patterns.
12269 (SSE cmov splitters): Likewise.
12270 (sse_andv4sf3, sse_nandv4sf3, sse_iorv4sf3, sse_xorv4sf3
12271 (sse_andv2df3, sse_nandv2df3, sse_iorv2df3, sse_xorv2df3): Do not use
12272 subregs.
12273 (sse_andsf3, sse_nandsf3, sse_xorsf3): Kill.
12274 (sse_anddf3, sse_nanddf3, sse_xordf3): Kill.
12275
01ab5574
KH
122762004-02-18 Kazu Hirata <kazu@cs.umass.edu>
12277
12278 * config/h8300/h8300.c (expand_a_rotate): Don't generate insns
12279 by hand.
12280 (output_a_rotate): Tweak a comment.
12281 * config/h8300/h8300.md (*rotlqi3_1): Change to rotlqi3_1.
12282 (*rotlhi3_1): Change to rotlhi3_1.
12283 (*rotlsi3_1): Change to rotlsi3_1.
12284
d5f7d2d0
RE
122852004-02-18 Richard Earnshaw <rearnsha@arm.com>
12286
12287 PR target/13866
12288 * arm.c (load_multiple_operation): Don't insist that the source reg
12289 of a post-increment component is the same as the destination.
12290 (store_multiple_operation): Likewise.
12291
b0c8a821
KH
122922004-02-18 Kazu Hirata <kazu@cs.umass.edu>
12293
12294 * config/h8300/h8300.md: Move movsf patterns into one section
12295 of the file.
12296
aa335b76
KH
122972004-02-18 Kazu Hirata <kazu@cs.umass.edu>
12298
12299 * cfgloop.h, cfgloopanal.c, cpplex.c, except.h, loop-init.c,
12300 loop-unroll.c, scan-decls.c, scan.h, stor-layout.c,
12301 xcoffout.c, xcoffout.h, config/arm/mmintrin.h,
12302 config/mips/linux64.h, config/pa/pa-64.h,
12303 config/rs6000/aix51.h, config/rs6000/aix52.h,
12304 config/rs6000/spe.md, config/sparc/linux.h,
12305 config/sparc/linux64.h: Update copyright.
12306
5a64541a
KH
123072004-02-18 Kazu Hirata <kazu@cs.umass.edu>
12308
12309 * config/h8300/h8300.md: Move push patterns into one
12310 section of the file.
12311
8d04e6db
MM
123122004-02-18 Mark Mitchell <mark@codesourcery.com>
12313
12314 PR c++/11326
12315 * config/ia64/ia64.c (ia64_struct_value_rtx): Cope with NULL
12316 fntype.
12317
e978d62e
PB
123182004-02-18 Paul Brook <paul@codesourcery.com>
12319
12320 * rtlanal.c (rtx_varies_p): Return 0 for NULL_RTX
12321
cdbafce1
PB
123222004-02-18 Paul Brook <paul@codesourcery.com>
12323
c5fe5036 12324 PR debug/12934
cdbafce1
PB
12325 * dwarf2out.c (loc_descriptor_from_tree): Handle
12326 EXPR_WITH_FILE_LOCATION.
12327
5a0855a0
JJ
123282004-02-18 Jakub Jelinek <jakub@redhat.com>
12329
12330 * config/i386/i386.md (zero_extendqidi2, zero_extendqidi2,
12331 testdi_1_rex64, anddi_2, xordi_1_rex64, xordi_2_rex64): Remove
12332 trailing whitespace from instructions.
12333
9c56033f
GK
123342004-02-17 Geoffrey Keating <geoffk@apple.com>
12335
12336 * configure.ac: When generating auto-build.h, pass
12337 --enable-languages to the sub-configure.
12338 Put quotes around ${program_transform_name} when generating
12339 name of as, ld, nm, objdump.
12340 * configure: Regenerate.
12341
80bcb4d2
MK
123422004-02-17 Matt Kraai <kraai@alumni.cmu.edu>
12343
12344 * Makefile.in (s-check, s-config, s-conditions, s-flags)
12345 (s-codes, s-constants, s-emit, s-recog, s-opinit, s-extract)
12346 (s-peep, s-attr, s-attrtab, s-output, s-genrtl, s-modes)
12347 (s-preds, s-iov): Do not depend on move-if-change.
12348
ce7b36a4
JW
123492004-02-17 James E Wilson <wilson@specifixinc.com>
12350
12351 * caller-save.c (insert_restore): Pass mem through copy_rtx.
12352 (insert_save): Likewise.
12353
f8b58e56
KH
123542004-02-17 Kazu Hirata <kazu@cs.umass.edu>
12355
12356 * config/h8300/h8300.c (h8300_emit_stack_adjustment): Fix a
12357 warning.
12358
8d82e1d8
KH
123592004-02-17 Kazu Hirata <kazu@cs.umass.edu>
12360
12361 * config/h8300/h8300.md (*one_complsi2_h8300): Change to
12362 *one_cmplsi2_h8300.
12363 (*one_complsi2_h8300hs): Change to *one_cmplsi2_h8300hs.
12364
4093985c
KH
123652004-02-17 Kazu Hirata <kazu@cs.umass.edu>
12366
12367 * config/h8300/h8300-protos.h: Update the prototype of
12368 fix_bit_operand().
12369 * config/h8300/h8300.c (fix_bit_operand): Remove the second
12370 argument "what".
12371 * config/h8300/h8300.md: Update all callers.
12372
fd57a6e4
KH
123732004-02-17 Kazu Hirata <kazu@cs.umass.edu>
12374
12375 * config/h8300/h8300.c (fix_bit_operand): Change the name of
12376 the last argument to "code" from "type".
12377
6a415867
KH
123782004-02-17 Kazu Hirata <kazu@cs.umass.edu>
12379
12380 * config/h8300/h8300.c: Remove an extern declaration of
12381 rtx_equal_function_value_matters.
12382
a3579575
KH
123832004-02-17 Kazu Hirata <kazu@cs.umass.edu>
12384
12385 * config/h8300/h8300.c (fix_bit_operand): Don't generate insns
12386 by hand.
12387 * config/h8300/h8300.md (*andqi3_1): Change to andqi3_1.
12388 (*iorqi3_1): Change to iorqi3_1.
12389 (*xorqi3_1): Change to xorqi3_1.
12390
321440fd
KH
123912004-02-17 Kazu Hirata <kazu@cs.umass.edu>
12392
12393 * c-common.c, cfghooks.c, rtlanal.c, varasm.c: Fix comment
12394 typos.
12395
7b50a809
JH
123962004-02-17 Jan Hubicka <jh@suse.cz>
12397
12398 * i386.c (x86_prologue_using_move, x86_epilogue_using_move): Disable for P4.
12399
8051c2eb
AM
124002004-02-18 Alan Modra <amodra@bigpond.net.au>
12401
12402 PR optimization/14119
12403 * combine.c (try_combine): When attemting to fix unrecognized insns,
12404 don't delete SETs marked with REG_EH_REGION notes.
12405
db33236e
UW
124062004-02-17 Ulrich Weigand <uweigand@de.ibm.com>
12407
57d4f65c 12408 * combine.c (simplify_if_then_else): Do not replace
db33236e
UW
12409 (if_then_else (ne reg 0) (0) (const_int)) by (reg) if the
12410 modes differ.
12411
1da326c3
SB
124122004-02017 Steven Bosscher <stevenb@suse.de>
12413
12414 * (c-decl.c, c-semantics.c, calls.c, cgraph.c, cgraphunit.c,
12415 function.c, integrate.c, print-tree.c, toplev.c, tree-optimize.c,
12416 tree.h): Replace DECL_SAVED_INSNS with DECL_STRUCT_FUNCTION.
12417 * ada/utils.c: Likewise.
12418 * cp/decl.c: Likewise.
12419 * f/com.c: Likewise.
12420 * java/class.c: Likewise.
12421
65c07641
KH
124222004-02-17 Kazu Hirata <kazu@cs.umass.edu>
12423
12424 * config/h8300/h8300.md: Fix comment typos.
12425
3e35cb0c
RO
124262004-02-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12427
12428 * config/mips/t-iris6gld: Renamed to ...
12429 * config/mips/t-irix-gld: ... this.
12430 * config.gcc (mips-sgi-irix6*): Reflect this
12431 (mips-sgi-irix5*): Use it with GNU ld.
57d4f65c 12432
3e35cb0c
RO
12433 * config/mips/irix6-crti.asm, config/mips/irix6-crtn.asm: Renamed
12434 to ...
12435 * config/mips/irix-crti.asm, config/mips/irix-crtn.asm: ... this.
12436 * config/mips/t-irix-gld: Reflect this.
12437 * config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
57d4f65c 12438
3e35cb0c
RO
12439 * config/mips/iris5gld.h: New file.
12440 * config.gcc (mips-sgi-irix5*): Use it with GNU ld.
12441 Only use collect2 without gas.
57d4f65c 12442
3e35cb0c
RO
12443 * config/mips/iris6.h (IRIX6_STARTFILE_SPEC, IRIX6_ENDFILE_SPEC):
12444 Renamed to IRIX_STARTFILE_SPEC, IRIX_ENDFILE_SPEC.
12445 (STARTFILE_SPEC, ENDFILE_SPEC, SUBTARGET_EXTRA_SPECS): Reflect this.
12446 * config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
57d4f65c 12447
3e35cb0c
RO
12448 * config/mips/iris6.h (SUBTARGET_EXTRA_SPECS): Moved ...
12449 * config/mips/iris5.h: ... here.
12450
12451 * config/mips/iris5.h (STARTFILE_SPEC, ENDFILE_SPEC): Renamed to
57d4f65c 12452 IRIX_STARTFILE_SPEC, IRIX_ENDFILE_SPEC.
3e35cb0c 12453 (STARTFILE_SPEC, ENDFILE_SPEC): Define.
57d4f65c 12454
3e35cb0c
RO
12455 * config/mips/iris5gas.h (STARTFILE_SPEC, ENDFILE_SPEC): Simplify
12456 using irix_startfile_spec, irix_endfile_spec.
12457
1f0282cb
GN
124582004-02-16 Gunther Nikl <gni@gecko.de>
12459
12460 * config/m68k/m68k.c: Remove obsolete support for HPUX_ASM.
12461
6552458a
KH
124622004-02-17 Kazu Hirata <kazu@cs.umass.edu>
12463
12464 * config/h8300/h8300.c (h8300_expand_prologue): Don't generate
12465 insns by hand.
12466
017b3258
ZD
124672004-02-17 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12468
12469 * cfghooks.c (split_edge): Speed up updating of dominators.
12470
57782ad8
MM
124712004-02-17 Mark Mitchell <mark@codesourcery.com>
12472
12473 PR c++/11326
12474 * c-common.c (flag_abi_version): Remove.
12475 * c-common.h (flag_abi_version): Likewise.
12476 * c-opts.c (c_common_handle_option): Remove OPT_fabi_version case.
12477 * c.opt (fabi-version): Remove.
12478 * calls.c (expand_call): Always pass a function type to
12479 struct_value_rtx. Use convert_memory_address.
12480 * common.opt (fabi-version): Add it.
12481 * flags.h (flag_abi_version): Likewise.
12482 (abi_version_at_least): New macro.
12483 * opts.c (common_handle_option): Add OPT_fabi_version.
12484 * toplev.c (flag_abi_version): Define it.
12485 * config/ia64/ia64.c (ia64_struct_retval_addr_is_first_parm_p):
12486 New function.
12487 (ia64_output_mi_thunk): Use it.
12488 (ia64_struct_value_rtx): Likewise.
57d4f65c 12489
72b1de44
KH
124902004-02-17 Kazu Hirata <kazu@cs.umass.edu>
12491
12492 * config/h8300/h8300.c (h8300_emit_stack_adjustment):
12493 Don't generate insns by hand.
12494
d150ccef
AP
124952004-02-17 Andrew Pinski <pinskia@physics.uc.edu>
12496
12497 PR c++/14178
12498 * doc/invoke.texi (fabi-version): The default is 2 now.
12499
50654f6c
ZD
125002004-02-17 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12501
12502 * loop-iv.c: New file.
12503 * Makefile.in (loop-iv.o): New.
12504 * basic_block.h (FOR_BB_INSNS, FOR_BB_INSNS_REVERSE): New macros.
12505 * cfgloop.c (fill_sons_in_loop, get_loop_body_in_dom_order,
12506 num_loop_branches): New functions.
12507 * cfgloop.h (get_loop_body_in_dom_order, num_loop_branches,
12508 iv_analysis_loop_init, iv_get_reaching_def, iv_analyse, get_iv_value,
12509 find_simple_exit, iv_number_of_iterations, iv_analysis_done,
12510 get_simple_loop_desc, free_simple_loop_desc): Declare.
12511 (simple_loop_desc): New inline function.
12512 (struct rtx_iv, struct niter_desc): New.
12513 * cfgloopmanip.c (loopify): Specify semantics more precisely.
12514 * expr.c (force_operand): Handle subregs of expressions created by
12515 loop unroller.
12516 * loop-init.c (loop_optimizer_init, loop_optimizer_finalize): Move
12517 parts of the initialization to toplev.c
12518 * loop-unroll.c (loop_exit_at_end_p): New.
12519 (unroll_and_peel_loops): Call iv_analysis_done.
12520 (decide_peel_once_rolling, decide_peel_completely,
12521 decide_unroll_stupid, decide_unroll_constant_iterations,
12522 decide_unroll_runtime_iterations, decide_peel_simple,
12523 peel_loop_simple, unroll_loop_stupid, unroll_loop_constant_iterations,
12524 unroll_loop_runtime_iterations): Use new simple loop analysis.
12525 * loop-unswitch.c (compare_and_jump_seq): New.
12526 (may_unswitch_on_p): Renamed to ...
12527 (may_unswitch_on): Use new iv analysis.
12528 (reversed_condition): Export.
12529 (unswitch_single_loop, unswitch_loop): Use new iv analysis.
12530 * predict.c (estimate_probability): Use new simple loop analysis.
12531 * rtl.h (get_mode_bounds, reversed_condition,compare_and_jump_seq,
12532 canon_condition, simplify_using_condition): Declare.
12533 * stor-layout.c (get_mode_bounds): New.
12534 * toplev.c (rest_of_handle_loop2): Some parts of
12535 initialization/finalization moved here from loop-init.c.
12536
ef3f573f
KH
125372004-02-17 Kazu Hirata <kazu@cs.umass.edu>
12538
12539 * config/h8300/h8300.h (FIXED_REGISTERS): Add the soft frame
12540 pointer.
12541 (CALL_USED_REGISTERS): Likewise.
12542 (REG_ALLOC_ORDER): Likewise.
12543 (REG_CLASS) <GENERAL_REGS>: Likewise.
12544
e3d6e740
GK
125452004-02-16 Geoffrey Keating <geoffk@apple.com>
12546
12547 * doc/md.texi (Insn Canonicalizations): Document left-chaining
12548 in associative operators.
12549 * rtlanal.c (commutative_operand_precedence): Create some new
12550 variables. Prefer a commutative operand on the left, then
12551 binary expressions, then NEG and NOT.
12552
8c958ed2
MK
125532004-02-16 Matthias Klose <doko@debian.org>
12554
57d4f65c
ZW
12555 * config/t-slibgcc-elf-ver: Define SHLIB_NAME and SHLIB_SONAME
12556 in terms of SHLIB_SOVERSION.
12557 * config/m68k/t-slibgcc-elf-ver: New file.
12558 * config/pa/t-slibgcc-elf-ver: New file.
12559 * config.gcc (m68k-linux, parisc-linux): Use them when not
8c958ed2
MK
12560 sjlj exceptions are not configured.
12561
42a5f3c0
EB
125622004-02-16 Eric Botcazou <ebotcazou@libertysurf.fr>
12563
12564 * config/sparc/sparc.c (get_pc_symbol_name): Mark with GTY(()).
12565
1729e46c
ZW
125662004-02-16 Zack Weinberg <zack@codesourcery.com>
12567
12568 * sdbout.c (sdb_debug_hooks): Correct the type_decl entry.
12569
0acdc221
JM
125702004-02-16 Joseph S. Myers <jsm@polyomino.org.uk>
12571
12572 * doc/sourcebuild.texi: Mention backends.html.
12573
9ac97460
KH
125742004-02-16 Kazu Hirata <kazu@cs.umass.edu>
12575
12576 * c-decl.c, c-ppoutput.c, cpphash.h, cpplib.h, dbxout.c,
12577 line-map.c, line-map.h, var-tracking.c: Fix comment
12578 formatting.
12579
9dcb4381
RH
125802004-02-16 Richard Henderson <rth@redhat.com>
12581
12582 * cse.c (cse_insn): Don't lose REG_NON_LOCAL_GOTO note.
12583
1729e46c 12584 * fold-const.c (operand_equal_p): Fix VECTOR_CST comparison.
875427f0 12585
1472042a
KH
125862004-02-15 Kazu Hirata <kazu@cs.umass.edu>
12587
12588 * config/h8300/h8300.md: Remove unnecessary parallels from
12589 all define_insn and define_split patterns.
12590
24f29b06
KH
125912004-02-15 Kazu Hirata <kazu@cs.umass.edu>
12592
12593 * config/h8300/h8300.md: Remove explicit (set_attr "cc"
12594 "clobber").
12595
ac5f9961
BI
125962004-02-15 Bernardo Innocenti <bernie@develer.com>
12597
12598 * config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Restore support for
12599 '%#'.
12600
68776c43
KH
126012004-02-15 Kazu Hirata <kazu@cs.umass.edu>
12602
12603 * config/ia64/ia64.c, config/mips/mips.c,
12604 config/mmix/mmix-modes.def: Fix comment typos.
12605
7501c4e4
RS
126062004-02-15 Roger Sayle <roger@eyesopen.com>
12607
12608 * c-common.h (GET_DIRECTIVE_LINE): Remove unused macro.
12609 (get_directive_line): Remove unused function prototype.
12610
5852680b
JZ
126112004-02-14 Josef Zlomek <zlomekj@suse.cz>
12612
12613 * tree-inline.c (copy_body_r): Do not replace ret_label.
12614
be04394b
JH
126152004-02-14 Jan Hubicka <jh@suse.cz>
12616
12617 * i386.c (x86_four_jump_limit): New variable.
12618 (k8_avoid_jump_misspredicts): Rename to ...
12619 (ix86_avoid_jump_misspredicts): .. this one.
12620 (ix86_pad_returns): Break out from ...
12621 (ix86_reorg): ... this one; do ix86_avoid_jump_misspredicts when asked
12622 to.
12623 * i386.h (TARGET_FOUR_JUMP_LIMIT): New macro.
12624
d4afac5b
JZ
126252004-02-14 Josef Zlomek <zlomekj@suse.cz>
12626
12627 * emit-rtl.c (set_decl_incoming_rtl): Check whether the 0th element of
12628 PARALLEL is NULL.
12629
c7762b44
PB
126302004-02-14 Per Bothner <per@bothner.com>
12631
12632 * fix-header.c (line_table): Move local variable in main to global.
12633 * scan.h (line_table): Use it.
12634 * scan-decls.c (scan_decls): Need to call linemap_lookup on token's
12635 line (recently renamed to src_loc) before calling recognized_function.
12636
cb7c0b5a
MK
126372004-02-14 Matt Kraai <kraai@alumni.cmu.edu>
12638
12639 * Makefile.in: Fix comment typos.
12640
45f9877a
EB
126412004-02-14 Olivier Hainque <hainque@act-europe.fr>
12642
12643 * loop.c (check_dbra_loop): Use gen_int_mode instead of GEN_INT
12644 for start_value when it is directly moved into reg, and factorize
12645 the retrieval of GET_MODE (reg).
12646
544142d8
RS
126472004-02-14 Richard Sandiford <rsandifo@redhat.com>
12648
12649 * config/mips/mips-protos.h (mips_load_got_page): Delete.
12650 (mips_load_got_global): Delete.
12651 (mips_gotoff_page): Declare.
12652 * config/mips/mips.md (UNSPEC_LOAD_GOT): New constant.
12653 (*xgot_lo[sd]i, *got_disp[sd]i, *got_page[sd]i): Build an
12654 UNSPEC_LOAD_GOT pattern rather than a MEM.
12655 (*load_got[sd]i): New patterns.
12656 * config/mips/mips.c (mips_got_alias_set, mips_load_got): Delete.
12657 (mips_load_got_page, mips_load_got_global): Delete.
12658 (mips_gotoff_page): New function.
12659 (override_options): Don't initialize mips_got_alias_set.
12660
d2888f1d
RS
126612004-02-14 Richard Sandiford <rsandifo@redhat.com>
12662
12663 * config/mips/mips.h (MASK_DEBUG_[ABEFI], TARGET_DEBUG_[ABEFI]_MODE)
12664 (TARGET_MIPS4100, TARGET_MIPS4300, TARGET_MIPS4KC, TARGET_MIPS5KC)
12665 (TARGET_SB1, TUNE_SB1, TUNE_SR71K, BIGGEST_MAX_ARGS_IN_REGISTERS)
12666 (GO_PRINTF, GO_PRINTF2, GO_DEBUG_RTX, DFMODE_NAN, SFMODE_NAN): Delete.
12667 (TARGET_SWITCHES): Remove MASK_DEBUG_[ABEFI].
12668 * config/mips/mips.c: Fix some overly-long lines.
12669 (SINGLE_WORD_MODE_P, PIC_OFFSET_TABLE_MASK): Delete.
12670 (init_cumulative_args): Remove TARGET_DEBUG_E_MODE handling.
12671
19baba0b
RO
126722004-02-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12673
12674 * configure.ac: Search for as, ld below libexec/gcc.
12675 * configure: Regenerate.
12676
f07a6b21
BE
126772004-02-14 Ben Elliston <bje@wasabisystems.com>
12678
12679 * config/arm/mmintrin.h (_mm_setwcx): Reverse arguments in call to
12680 __builtin_arm_setwcx ().
12681 * config/arm/arm.c (arm_expand_builtin): Generate operands
12682 correctly and reverse their order in call to gen_iwmmxt_tmcr ().
12683
126842004-02-14 Ben Elliston <bje@wasabisystems.com>
12685
12686 * config/arm/arm.c (bdesc_2arg): Correct builtin names "wmulsh"
12687 and "wmuluh" to "wmulsm" and "wmulum", respectively.
12688 * config/arm/arm.h (enum arm_builtins): Rename enumerators to
12689 ARM_BUILTIN_WMULSM and ARM_BUILTIN_WMULUM.
12690 * config/arm/mmintrin.h (_mm_mulhi_pi16): Update intrinsic call.
12691 (_mm_mulhi_pu16): Likewise.
12692
f433554b
ZW
126932004-02-13 Zack Weinberg <zack@codesourcery.com>
12694
12695 * xcoffout.c (xcoff_assign_fundamental_type_number): Check
12696 DECL_NAME != 0 before dereferencing.
12697
faeb9bb6
UW
126982004-02-13 Ulrich Weigand <uweigand@de.ibm.com>
12699
12700 * config/s390/s390-protos.h (s390_output_symbolic_const): Remove.
12701 (s390_output_addr_const_extra): Declare.
12702 (s390_output_pool_entry): Remove FILE * argument.
12703 * config/s390/s390.c (s390_output_symbolic_const): Remove.
12704 (s390_output_addr_const_extra): New function.
12705 (print_operand_address): Call output_addr_const instead of
12706 s390_output_symbolic_const.
12707 (print_operand): Likewise.
12708 (s390_output_pool_entry): Use assemble_integer for symbolic constants.
12709 Remove FILE * argument.
12710 * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Define.
12711 * config/s390/s390.md ("*pool_entry"): Adapt s390_output_pool_entry
12712 call.
12713
cfbe3efe
ZD
127142004-02-13 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12715
12716 * cfgloopanal.c (mark_irreducible_loops): Rewriten.
12717 (struct edge, struct vertex, struct graph): New.
12718 (dump_graph, new_graph, add_edge, dfs, check_irred, for_each_edge,
12719 free_graph): New functions.
12720
d349192c
CD
127212004-02-12 Chris Demetriou <cgd@broadcom.com>
12722
12723 * config/mips/mips.md (casesi_internal, casesi_internal_di):
12724 Use ".set macro" to avoid warnings about multi-instruction
12725 macros, since they're intentional.
12726
52ccb3d2
GK
127272004-02-12 Geoffrey Keating <geoffk@apple.com>
12728
213c4a8a
GK
12729 * config/darwin.h: Add include guards. Remove old, now incorrect,
12730 comment about STANDARD_EXEC_PREFIX.
12731
52ccb3d2
GK
12732 * Makefile.in (install-man): Use $(CPP_INSTALL_NAME) and
12733 $(GCOV_INSTALL_NAME) to install manpages. Remove generic rule
12734 for installing .1 manpages. Add rules for installing cpp
12735 and gcov manpages under their installed names.
12736
1a543d25
AO
127372004-02-12 Alexandre Oliva <aoliva@redhat.com>
12738
12739 * configure.ac (gcc_cv_ld): Don't set to LD if target is not
12740 host, but try LD_FOR_TARGET first.
12741 * configure: Rebuilt.
12742
8507c40a
ZW
127432004-02-12 Zack Weinberg <zack@codesourcery.com>
12744
12745 * dbxout.c: Move declaration of dbxout_type_decl outside
12746 #ifdef DBX_DEBUGGING_INFO.
12747 * c-parse.in: Don't give the asmdef production a type.
12748
21d13d83
ZW
127492004-02-12 Zack Weinberg <zack@codesourcery.com>
12750
12751 * debug.h (struct gcc_debug_hooks): Add type_decl field.
12752 (debug_nothing_tree_int): Prototype.
12753 (dwarf_debug_hooks): Delete, unused.
12754 * debug.c (do_nothing_debug_hooks): Update.
12755 (debug_nothing_tree_int): New function.
12756 * langhooks.h (struct lang_hooks_for_decls):
12757 Remove builtin_type_decls field.
12758 * langhooks-def.h (LANG_HOOKS_BUILTIN_TYPE_DECLS): Delete.
12759 (LANG_HOOKS_DECLS): Update.
12760 * toplev.c (rest_of_decl_compilation, rest_of_type_compilation):
12761 Use debug_hooks->type_decl.
12762 * dbxout.c (preinit_symbols): New static.
12763 (dbx_debug_hooks, xcoff_debug_hooks): Update.
12764 (dbxout_init): Don't call DBX_OUTPUT_STANDARD_TYPES or
12765 lang_hooks.decls.builtin_type_decls. Do scan preinit_symbols
12766 for symbols to output.
12767 (dbxout_type_decl): New function.
12768 (dbxout_symbol): If called before dbxout_init has run, queue
12769 the symbol for later. Apply DBX_ASSIGN_FUNDAMENTAL_TYPE_NUMBER
12770 to TYPE_DECLs before emitting them.
12771 * xcoffout.c (assign_type_number): Delete.
12772 (xcoff_type_numbers): New static table.
12773 (xcoff_assign_fundamental_type_number): New function.
12774 * xcoffout.h: Define DBX_ASSIGN_FUNDAMENTAL_TYPE_NUMBER, not
12775 DBX_OUTPUT_STANDARD_TYPES. Remove unnecessary #ifdefs.
12776 * sdbout.c: Include varray.h.
12777 (deferred_global_decls): New static.
12778 (sdb_debug_hooks): Update.
12779 (sdbout_global_decl): If we can't emit something right now,
12780 remember it in deferred_global_decls.
12781 (sdbout_finish): Just scan deferred_global_decls; don't call getdecls.
12782 (sdbout_init): Initialize deferred_global_decls.
12783 * Makefile.in: Update dependencies of sdbout.o.
12784 * dwarf2out.c (dwarf2out_type_decl): New function.
12785 (dwarf2_debug_hooks): Update.
12786 * vmsdbgout.c (vmsdbg_debug_hooks): Update.
12787 * c-decl.c (getdecls): Just return 0.
12788 (check_for_loop_decls): Don't use getdecls.
12789 (record_builtin_type): Call debug_hooks->type_decl on the TYPE_DECL.
12790 * c-objc-common.c (c_objc_common_finish_file): Don't use getdecls.
12791
a90a16f3
UW
127922004-02-12 Ulrich Weigand <uweigand@de.ibm.com>
12793
12794 * config/s390/s390.c (s390_sched_reorder2): Remove.
12795 (TARGET_SCHED_REORDER2): Do not redefine.
12796
9f0e2d86
ZW
127972004-02-12 Zack Weinberg <zack@codesourcery.com>
12798
12799 * c-parse.in (maybe_type_qual): Delete.
12800 (maybe_volatile, simple_asm_expr, asmdef, asm_stmt)
12801 (asm_argument): New grammar rules.
12802 (extdef_1): Use asmdef.
12803 (maybeasm): Move down with other asm rules; use simple_asm_expr.
12804 (xexpr): Move up with other expression rules.
12805 (stmt): Use asm_stmt.
12806
12807 * c-typeck.c (build_asm_expr): New function - body mostly
12808 pulled from build_asm_stmt.
12809 (build_asm_stmt): Just handle tacking on the volatile qualifier.
12810 * c-tree.h (build_asm_expr, build_asm_stmt): Update prototypes.
12811
35f5add9
RS
128122004-02-12 Richard Sandiford <rsandifo@redhat.com>
12813
12814 PR bootstrap/13617
12815 * config/mips/mips-protos.h (mips_output_aligned_decl_common): Declare.
12816 (mips_declare_object): Make variadic.
12817 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use
12818 mips_output_aligned_decl_common.
12819 * config/mips/mips.c (mips_output_aligned_decl_common): New function.
12820 (mips_declare_object): Make variadic.
12821
a5e9c810
RK
128222004-02-12 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12823
8fbc67c0
RK
12824 * function.c (update_epilogue_consts): Teach about binary operations.
12825
a5e9c810
RK
12826 * emit-rtl.c (set_mem_attributes_minus_bitpos): Don't kill
12827 previous MEM_VOLATILE in REF.
12828 * function.c (fixup_var_refs): Save volatile_ok and set to 1.
12829 * expr.c (emit_block_move_via_movstr): Save and restore volatile_ok.
12830
7ea98c5a
GN
128312004-02-12 Gunther Nikl <gni@gecko.de>
12832
12833 * config.gcc: Restore support for m68k-openbsd.
12834
8f6a8d03
JH
128352004-02-12 Jan Hubicka <jh@suse.cz>
12836
12837 * tree-optimize.c (tree_rest_of_compilation): Do not release
12838 DECL_ARGUMENTS.
12839
c2910edf
MK
128402004-02-11 Matt Kraai <kraai@alumni.cmu.edu>
12841
12842 * doc/install.texi: Fix the spelling of "explicitly".
12843
423e95e2
EC
128442004-02-11 Eric Christopher <echristo@redhat.com>
12845
12846 * cppcharset.c (_cpp_interpret_string_notranslate): Rename and
12847 duplicate argument structure of cpp_interpret_string.
12848 * cpphash.h: Move prototype...
12849 * cpplib.h: Here.
12850 * cpplib.c: Fix calls to match new function signature.
12851
32e8aa9a
JM
128522004-02-11 Joseph S. Myers <jsm@polyomino.org.uk>
12853
12854 PR c/456
12855 * cppexp.c (num_binary_op): Don't allow comma operators in #if
12856 constant expressions at all outside C99 mode if pedantic.
12857
3b8e0c91
UB
128582004-02-11 Uros Bizjak <uros@kss-loka.si>
12859
12860 * optabs.h (enum optab_index): Add new OTI_log10 and OTI_log2.
12861 (log10_optab, log2_optab): Define corresponding macros.
12862 * optabs.c (init_optabs): Initialize log10_optab and log2_optab.
12863 * genopinit.c (optabs): Implement log10_optab and log2_optab
12864 using log10?f2 and log2?f2 patterns.
12865 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LOG10{,F,L}
12866 using log10_optab, and BUILT_IN_LOG2{,F,L} using log2_optab.
12867 (expand_builtin): Expand BUILT_IN_LOG10{,F,L} and BUILT_IN_LOG2{,F,L}
12868 using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
12869
12870 * config/i386/i386.md (log10sf2, log10df2, log10xf2, log2sf2,
12871 log2df2, log2xf2): New patterns to implement log10, log10f, log10l,
12872 log2, log2f and log2l built-ins as inline x87 intrinsics.
12873
a6abdce3
RH
128742004-02-11 Richard Henderson <rth@redhat.com>
12875
888ff7a1 12876 PR target/1532
a6abdce3
RH
12877 * flow.c (insn_dead_p): A clobber of a dead hard register is a
12878 dead insn after reload.
12879
05ac140e
UW
128802004-02-11 Ulrich Weigand <uweigand@de.ibm.com>
12881
12882 * tree.h (frame_base_decl): Add GTY marker.
12883 * var-tracking.c (frame_base_decl): Likewise.
12884
e193b408
DB
128852004-02-11 Daniel Berlin <dberlin@dberlin.org>
12886
12887 * dwarf2out.c (output_loc_list): Remove no longer necessary, and now
12888 incorrect, hunk.
12889 (add_location_or_const_value_attribute): Use text_section_label,
12890 not TEXT_SECTION_NAME.
12f9df4e
PB
12891
128922004-02-11 Per Bothner <per@bothner.com>
12893
12894 Represent column numbers using line-map's source_location.
12895 The "next available source_location" is now managed internally by
12896 line-maps.c rather than by clients.
12897 * line-map.h (struct line_map): New field column_bits.
12898 <from_line>: Rename field to start_location.
12899 (struct line_maps): New fields highest_location and max_column_hint.
12900 (linemap_check_files_exited): New declaration.
12901 (linemap_line_start): New declaration.
12902 (linemap_add): Remove from_line parameter; use highest_location field.
12903 (SOURCE_LINE, LAST_SOURCE_LINE): Modify to use column_bits.
12904 (SOURCE_COLUMN, LAST_SOURCE_LINE_LOCATION): New macros.
12905 (CURRENT_LINE_MAP): Remove macro.
12906 (linemap_position_for_column): New inline function.
12907 * line-map.c (linemap_init): Clear new fields.
12908 (linemap_check_files_exited): New function, extracted from ...
12909 (linemap_free): Use linemap_check_files_exited.
12910 (linemap_add): Remove from_line parameter. Various updates.
12911 (linemap_line_start): New function.
12912 (linemap_lookeup): Update for new field names.
12913 * cpphash.h (struct cpp_reader) <map>: Field removed. Because
12914 linemap_position_for_column may unpredictably change the current map,
12915 it is cleaner and simpler for us to not cache it in cpp_reader.
12916 (struct cpp_buffer): New sysp field.
12917 Changed warned_cplusplus_comments and from_stage3 to bitfields.
12918 * cppinit.c (cpp_read_min_file): pfile->map no longer exists.
12919 * cpplib.c (do_line, do_linemarker, _cpp_do_file_change): Get
12920 current map using linemap_lookup.
12921 (do_linemarker): Also set buffer's sysp field.
12922 (destringize_and_run): No longer need to decrement current line.
12923 * cppfiles.c (_cpp_stack_file): Set sysp from and in buffer.
12924 (search_path_head, open_file_failed): Use buffer's sysp.
12925 (cpp_make_system_header): Get current map using linemap_lookup.
12926 Also set buffer's sysp flag.
12927 * cppmacro.c (_cpp_builtin_macro_text): Likewise use linemap_lookup.
12928 * cpphash.h (CPP_INCREMENT_LINE): New macro.
12929 (struct cpp_buffer): Moved fields saved_cur, saved_rlimit to ...
12930 (struct cpp_reader): ... and adding saved_line_base field.
12931 * cpptrad.c (_cpp_overlay_buffer, _cpp_remove_overlay):
12932 Update accordingly. Don't adjust line.
12933 (_cpp_scan_out_logical_line): Use CPP_INCREMENT_LINE.
12934 * cpphash.c (CPP_IN_SYSTEM_HEADER): Replaced macro by ...
12935 (cpp_in_system_header): ... new inline function, using buffer's sysp.
12936 * cpperror.c (_cpp_begin_message): Update to use cpp_in_system_header.
12937 * cpplex.c (_cpp_lex_direct): Likewise.
12938 * cppmacro.c (_cpp_builtin_macro_text): Likewise.
12939 * cppmacro.c (_cpp_create_definition): Use buffer's sysp field.
12940 * cpplib.h (struct cpp_token): Rename line field to src_loc.
12941 Remove col field as it is now subsumed by src_loc.
12942 * cpperror.c: Update various field, parameter, and macro names.
12943 (print_location): If col==0, try SOURCE_COLUMN of line.
12944 (cpp_error): Use cur_token's src_loc field, rather than line+col.
12945 * cpplib.c (do_diagnostic): Token's src_loc fields replaces line+col.
12946 * cpplex.c (_cpp_process_line_notes, _cpp_lex_direct,
12947 _cpp_skip_block_comment): Use CPP_INCREMENT_LINE.
12948 (_cpp_temp_token): Replace cpp_token's line+col fields by src_loc.
12949 (_cpp_get_fresh_line): Don't need to adjust line for missing newline.
12950 (_cpp_lex_direct): Use linemap_position_for_column.
12951 * c-ppoutput.c (maybe_print_line, print_line): Don't take map
12952 parameter. Instead get it from the line_table global. Adjust callers.
12953 (print): Remove map field. Replace line field to src_line.
12954 (init_pp_output, account_for_newlines, maybe_print_line): Adjust.
12955 (cb_line_change): Use SOURCE_COLUMN. Minor optimizations.
12956 (pp_file_change): Use MAIN_FILE_P since we cannot checked print.map.
12957 Use LAST_SOURCE_LINE_LOCATION to "catch up" after #include.
12958 * cpptrad.c (copy_comment): Rename variable.
12959 * c-lex.c (map): Remove static variable, for same reason we removed
12960 cpp_reader's map field.
12961 (cb_line_change, cb_def_pragma, cb_define, cb_undef): Hence we need
12962 to call linemap_lookup.
12963 (cb_line_change): Token's line field replaced by src_loc.
12964 (fe_file_change): Use MAINFILE_P and LAST_SOURCE_LINE macros.
12965 Don't save new_map.
12966
12967 * cpphash.h, cpperror.c, cpplib.h: Some renames of fileline to
12968 source_location.
12969
e086f51d 129702004-02-11 Hartmut Penner <hpenner@de.ibm.com>
423e95e2 12971
e086f51d
HP
12972 * config/rs6000/altivec.md (*movv4si_internal): At least one
12973 operand must be register_operand.
12974 (*movv8hi_internal1): Likewise.
12975 (*movv16qi_internal1): Likewise.
12976 (*movv4sf_internal1): Likewise.
12977
e66b2fcf 129782004-02-10 Aldy Hernandez <aldyh@redhat.com>
8914b65e
AH
12979
12980 * config/rs6000/spe.md ("*movv2si_internal"): Check for register
12981 operand.
12982 (movv4hi_internal): Same.
12983 (movv2sf_internal): Same.
12984 (movv1di_internal): Same.
e66b2fcf 12985
7f9be256
TS
129862004-02-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
12987
12988 * config/mips/mips.h (TARGET_OLDABI): Define. Use TARGET_NEWABI and
c0689841 12989 TARGET_OLDABI consistently.
7f9be256
TS
12990 * config/mips/mips.c (function_arg,mips_setup_incoming_varargs,
12991 mips_va_arg,override_options,compute_frame_size,
12992 mips_initial_elimination_offset,mips16_fp_args,build_mips16_call_stub
12993 ,mips_return_in_memory,mips_strict_argument_naming): Use TARGET_NEWABI
c0689841 12994 and TARGET_OLDABI consistently.
7f9be256
TS
12995 * config/mips/mips.md (exception_receiver): Likewise.
12996 * config/mips/linux64.h: Likewise.
12997
6d0ef01e
HP
129982004-02-11 Hartmut Penner <hpenner@de.ibm.com>
12999
13000 * gcc/config/rs6000/rs6000.c (rs6000_override_options)
13001 Set AltiVec ABI and vrsave as default for ppc64 linux.
13002 (init_cumulative_args): Post error, if try to return
13003 value in AltiVec register without enable AltiVec.
423e95e2 13004 (function_arg_advance): Ditto for passing arguments.
6d0ef01e 13005
7537fc90
RS
130062004-02-11 Richard Sandiford <rsandifo@redhat.com>
13007
13008 * emit-rtl.c (mark_label_nuses): Check that a LABEL_REF refers to
13009 a label before updating its usage count.
13010
1e9f1674
MK
130112004-02-10 Matt Kraai <kraai@alumni.cmu.edu>
13012
9f0e2d86 13013 * doc/install.texi: Remove extra cd.
1e9f1674 13014
b34417a4
ZL
130152004-02-10 Ziemowit Laski <zlaski@apple.com>
13016
13017 * c-common.c (vector_size_helper): Remove; call
13018 reconstruct_complex_type() instead.
13019 * tree.c (reconstruct_complex_type): New function
13020 (formerly vector_size_helper() in c-common.c).
13021 (make_vector): Make externally visible.
13022 * tree.h (reconstruct_complex_type, make_vector): Add prototypes.
13023
a466bea3
KH
130242004-02-10 Kazu Hirata <kazu@cs.umass.edu>
13025
13026 * config/h8300/h8300-protos.h: Add a prototype for
13027 h8300_regs_ok_for_stm.
13028 * config/h8300/h8300.c (h8300_regs_ok_for_stm): New.
13029 * config/h8300/h8300.md (stm_h8300s_2_advanced,
13030 stm_h8300s_2_normal, stm_h8300s_2, stm_h8300s_3_advanced,
13031 stm_h8300s_3_normal, stm_h8300s_3, stm_h8300s_4_advanced,
13032 stm_h8300s_4_normal, stm_h8300s_4, ldm_h8300s_2_advanced,
13033 ldm_h8300s_2_normal, ldm_h8300s_2, ldm_h8300s_3_advanced,
13034 ldm_h8300s_3_normal, ldm_h8300s_3, ldm_h8300s_4_advanced,
13035 ldm_h8300s_4_normal, ldm_h8300s_4): Use
13036 h8300_regs_ok_for_stm().
13037
52bac949
DS
130382004-02-10 Danny Smith <dannysmith@users.sourceforge.net>
13039
13040 PR c/14088
896c3aa3 13041 * real.c (real_from_string): Look for 'X' as well as 'x' in
52bac949
DS
13042 hexfloat strings.
13043
2493deee
KH
130442004-02-10 Kazu Hirata <kazu@cs.umass.edu>
13045
13046 * config/h8300/h8300.md: Remove an incorrect comment about
13047 peephole2. Add comments.
13048
fbe6ec81
JZ
130492004-02-10 Josef Zlomek <zlomekj@suse.cz>
13050
13051 PR/14058
13052 * emit-rtl.c (set_decl_incoming_rtl): New.
13053 * tree.h (set_decl_incoming_rtl): New.
13054 * function.c (assign_parms): Use set_decl_incoming_rtl for setting
13055 DECL_INCOMING_RTL.
13056 * ada/misc.c (adjust_decl_rtl): Likewise.
13057
8a4baa83
PB
130582004-02-10 Per Bothner <per@bothner.com>
13059
13060 * c-opts.c (c_common_post_options): Don't emit working directory
13061 in cpp output if -P was specified.
13062
31cc6081
PB
130632004-02-10 Paolo Bonzini <bonzini@gnu.org>
13064
13065 PR c/14092
13066 * fold-const.c (fold) <NEGATE_EXPR>: Convert result of
13067 negate_expr back to the original type.
13068
d1d5c836
AM
130692004-02-10 Alan Modra <amodra@bigpond.net.au>
13070
13071 * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Don't
13072 bump retaddr here.
13073
dad822d3
PB
130742004-02-10 Paolo Bonzini <bonzini@gnu.org>
13075
13076 * rtl.h (schedule_insns, schedule_ebbs, fix_sched_param,
13077 gen_lowpart_SUBREG): Move under the file in which they
13078 are actually declared.
13079
cd271054
AC
130802004-02-10 Arnaud Charlet <charlet@act-europe.fr>
13081
13082 * doc/sourcebuild.texi: Add libada documentation.
13083
13084 * doc/install.texi: Update documentation on Ada build, now
13085 that the GNAT lib and tools are built automatically.
13086
117c5858
RS
130872004-02-10 Richard Sandiford <rsandifo@redhat.com>
13088
13089 * config/mips/mips.h (TARGET_GPWORD): Return false for TARGET_NEWABI
13090 && TARGET_IRIX.
13091
42a1b62e
ZL
130922004-02-09 Ziemowit Laski <zlaski@apple.com>
13093
13094 * objc/objc-act.c (get_super_receiver): Move '#ifdef OBJCPLUS'
13095 boundaries outside build_component_ref() call (a macro in ObjC++).
13096
997b8b4d
BW
130972004-02-09 Bob Wilson <bob.wilson@acm.org>
13098
13099 * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Update.
13100 (init_cumulative_args): Likewise.
13101 (a7_overlap_mentioned_p): Delete prototype.
13102 * config/xtensa/xtensa.c (struct machine_function): Replace
13103 incoming_a7_copied field with need_a7_copy and vararg_a7 flags.
13104 Add set_frame_ptr_insn field.
13105 (xtensa_emit_move_sequence): Update call to xtensa_copy_incoming_a7.
13106 (xtensa_copy_incoming_a7): Rewrite to check need_a7_copy flag and check
13107 if the operand is an argument in a7. If so, copy a7 to a new pseudo
13108 at the function entry and replace the operand with the pseudo.
13109 (init_cumulative_args): Remove unused arguments. Add new "incoming"
13110 argument and record this flag in CUMULATIVE_ARGS.
13111 (function_arg): Remove result_mode and special-case code to handle
13112 arguments in a7. Instead, set need_a7_copy flag when there is an
13113 incoming argument in a7.
13114 (xtensa_expand_prologue): Remove code to search for set_frame_ptr insn
13115 and use the value recorded in cfun->machine->set_frame_ptr_insn.
13116 (xtensa_builtin_saveregs): Check for negative gp_left value. Set
13117 need_a7_copy and vararg_a7 flags. Use move_block_from_reg instead of
13118 special-case code.
13119 (a7_overlap_mentioned_p): Delete.
13120 * config/xtensa/xtensa.h (CUMULATIVE_ARGS): Add "incoming" flag.
13121 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Remove useless
13122 arguments to init_cumulative_args and pass "incoming" flag instead.
13123 (BLOCK_REG_PADDING): Delete.
13124 * config/xtensa/xtensa.md (movdi, movsf, movdf): Remove unnecessary
13125 checks for reload_in_progress and reload_completed. Update calls to
13126 xtensa_copy_incoming_a7.
13127 (ashlsi3): Rename existing insn to ashlsi3_internal. Add expander
13128 to call xtensa_copy_incoming_a7.
13129
10709fbf
DD
131302004-02-09 DJ Delorie <dj@redhat.com>
13131
13132 * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): No
13133 longer modify standard_exec_prefix, standard_bindir_prefix, or
13134 standard_startfile_prefix.
13135
c76362b4
JW
131362004-02-09 James E Wilson <wilson@specifixinc.com>
13137
228ae085
JW
13138 PR c++/11295
13139 * c-common.c (c_expand_expr, case STMT_EXPR): Change expand_expr call
13140 to expand_expr_real call, and pass in alt_rtl as last argument.
13141
c76362b4
JW
13142 PR libstdc++/5625
13143 * builtin-types.def (BT_WORD, BT_FN_WORD_PTR): New.
13144 * builtins.c (expand_builtin): Handle BUILT_IN_EXTEND_POINTER.
13145 * builtins.def (BUILT_IN_EXTEND_POINTER): New.
13146 * except.c (expand_builtin_extend_pointer): New.
13147 * except.h (expand_builtin_extend_pointer): Declare.
13148
d886a041
DE
131492004-02-09 David Edelsohn <edelsohn@gnu.org>
13150
13151 * config/rs6000/rs6000.c (rs6000_emit_move): Remove splitting slow
13152 unaligned loads and stores.
13153
756f76d0
RO
131542004-02-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13155
13156 * config/mips/iris5.h (BSS_SECTION_ASM_OP): Define.
13157 * config/mips/iris6.h (BSS_SECTION_ASM_OP): Undef.
13158
13159 * config/mips/iris6.h (TARGET_ASM_NAMED_SECTION): Moved ...
13160 * config/mips/iris5.h: ... here.
13161 * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Remove.
13162
13163 * config/mips/iris6.h (EXTRA_SECTION_FUNCTIONS): Move ...
13164 * config/mips/iris5.h: ... here.
13165
426ca3ca
RO
131662004-02-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13167
13168 * configure.ac: Remove default executable files before AC_PROG_CC.
13169 * configure: Regenerate.
13170
500fc80f
KH
131712004-02-09 Kazu Hirata <kazu@cs.umass.edu>
13172
13173 PR target/13721
13174 * config/h8300/h8300.c (byte_reg): Call abort() if asked to
13175 print a operand other than a register.
13176
b83c4036
RS
131772004-02-09 Roger Sayle <roger@eyesopen.com>
13178
13179 * fold-const.c (fold) <NOP_EXPR>: Use the original type conversion
13180 tree code rather than call fold_convert, which doesn't specify a
13181 default floating point to integer conversion.
13182
3b4b85c9
BI
131832004-02-08 Bernardo Innocenti <bernie@develer.com>
13184
13185 * config/m68k/m68k.c, config/m68k/m68k.md (SGS, SGS_CMP_ORDER): Remove
13186 code to support SGS assembler. Reformat adjacent code where possible.
b83c4036
RS
13187 * config/m68k/m68k.c (switch_table_difference_label_flag): Remove
13188 definition.
13189 * config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Remove support
13190 for '%#'.
3b4b85c9 13191 * config/m68k/linux.h, config/m68k/m68k.c,
b83c4036
RS
13192 * config/m68k/math-68881.h: Replace `%#' with `#' in inline asm
13193 macros and asm_printf() format strings.
3b4b85c9
BI
13194 * config/m68k/m68kelf.h (ASM_OUTPUT_CASE_END): Remove macro definition.
13195 * config/m68k/linux.h: Update copyright.
13196 * config/m68k/linux.h, config/m68k/m68k.c: Remove traling whitespace.
13197
01bbf777 131982004-02-08 Andreas Schwab <schwab@suse.de>
9f0e2d86 13199 Bernardo Innocenti <bernie@develer.com>
01bbf777
AS
13200
13201 * config/m68k/m68k.h (REGISTER_NAMES): Prefix each name with
13202 REGISTER_PREFIX.
13203 * (M68K_FP_REG_NAME): New macro to specify an alternate name for the
13204 frame pointer register, overridable by OS targets.
13205 * (M68K_REGNAME): Macro to obtain register name for asm output,
13206 eventually replacing %a6 with M68K_FP_REG_NAME.
13207 * config/m68k/coff.h (REGISTER_NAMES): Don't redefine.
13208 * config/m68k/linux.h (REGISTER_NAMES): Likewise.
13209 * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
13210 * config/m68k/netbsd-elf.h (REGISTER_NAMES): Likewise.
13211 * config/m68k/m68k.c: Use M68K_REGNAME(x) in place of reg_names[x].
13212
1f6acb82
KH
132132004-02-08 Kazu Hirata <kazu@cs.umass.edu>
13214
13215 * target-def.h (TARGET_STRUCT_VALUE_RTX): Define as
13216 hook_rtx_tree_int_null.
13217 * targhooks.c (default_struct_value_rtx): Remove.
13218 * targhooks.h: Remove the prototype for
13219 default_struct_value_rtx.
13220 * config/alpha/alpha.c, config/arc/arc.c, config/avr/avr.c,
13221 config/fr30/fr30.c, config/h8300/h8300.c, config/i386/i386.c,
13222 config/ip2k/ip2k.c, config/iq2000/iq2000.c,
13223 config/m32r/m32r.c, config/mcore/mcore.c, config/mips/mips.c,
13224 config/mn10300/mn10300.c, config/pdp11/pdp11.c,
13225 config/rs6000/rs6000.c, config/s390/s390.c,
13226 config/stormy16/stormy16.c, config/v850/v850.c,
13227 config/xtensa/xtensa.c (TARGET_STRUCT_VALUE_RTX): Remove.
13228 * doc/tm.texi (TARGET_STRUCT_VALUE_RTX): Document the default.
13229
b46b8fb4
JM
132302004-02-08 Joseph S. Myers <jsm@polyomino.org.uk>
13231
13232 * README.Portability: Change "ISO C89" to "ISO C90".
13233 * c-parse.in (primary, initelt): Likewise.
13234
7c476bde
RS
132352004-02-08 Richard Sandiford <rsandifo@redhat.com>
13236
13237 * real.c (encode_ibm_extended): Normalize the input value before
13238 converting it to a double. Handle the case where a normal value
13239 rounds to infinity.
13240
56ae04af
KH
132412004-02-08 Kazu Hirata <kazu@cs.umass.edu>
13242
f934561e
KH
13243 * c-objc-common.c (c_cannot_inline_tree_fn): Fix a typo in a
13244 warning.
56ae04af
KH
13245 * cse.c (preferrable): Change to preferable. Update all of its
13246 callers.
13247 * genautomata.c (ainsn): Change
13248 first_ainsn_with_given_equialence_num to
13249 first_ainsn_with_given_equivalence_num. Update all of its
13250 references.
13251
ec1dbfca
JH
132522004-02-08 Jan Hubicka <jh@suse.cz>
13253
13254 * schedule-ebb.c (schedule_ebbs): Do not allocate reg life data.
13255
f276fb54
DE
132562004-02-07 David Edelsohn <edelsohn@gnu.org>
13257
13258 * function.c (assign_parms): Fix formatting.
13259
fefcb65c
KH
132602004-02-07 Kazu Hirata <kazu@cs.umass.edu>
13261
13262 * default.h (PROMOTE_PROTOTYPES): Remove.
13263 * system.h (PROMOTE_FUNCTION_RETURN, PROMOTE_PROTOTYPES,
13264 STRUCT_VALUE_REGNUM, SETUP_INCOMING_VARARGS,
13265 EXPAND_BUILTIN_SAVEREGS): Poison.
13266 * target-def.h (TARGET_PROMOTE_FUNCTION_RETURN): Define as
13267 hook_bool_tree_false.
13268 (TARGET_PROMOTE_PROTOTYPES): Likewise.
13269 * target.h: Replace SETUP_INCOMING_VARARGS with
13270 targetm.calls.setup_incoming_varargs().
13271 * targhooks.c (default_promote_function_return): Remove.
13272 (default_promote_prototypes): Likewise.
13273 (default_struct_value_rtx): Always abort().
13274 (default_expand_builtin_saveregs): Always print an error
13275 message.
13276 (default_setup_incoming_varargs): Do nothing.
13277 (default_pretend_outgoing_varargs_named): Don't depend on
13278 SETUP_INCOMING_VARARGS.
13279 * targhooks.h: Remove the prototype for
13280 default_promote_function_return and
13281 default_promote_prototypes.
13282
dc79b3b8
KH
132832004-02-07 Kazu Hirata <kazu@cs.umass.edu>
13284
13285 * system.h (SHARED_SECTION_ASM_OP): Poison.
13286 * varasm.c (data_section): Don't use SHARED_SECTION_ASM_OP.
13287 * doc/tm.texi (SHARED_SECTION_ASM_OP): Remove.
13288
a6f78652
ZW
132892004-02-07 Zack Weinberg <zack@codesourcery.com>
13290
13291 Bug 13856
13292 * c-decl.c (diagnose_mismatched_decls): Only give special
13293 treatment when olddecl is DECL_BUILT_IN, if C_DECL_INVISIBLE
13294 is also true.
13295 (merge_decls): Don't clear DECL_BUILT_IN_CLASS and
13296 DECL_FUNCTION_CODE when defining a built-in function.
13297 Don't update DECL_ESTIMATED_INSNS.
13298 * dwarf2out.c (dwarf2out_decl): Don't ignore built-in
13299 FUNCTION_DECLs.
13300 * tree.h: Delete DECL_ESTIMATED_INSNS.
13301 * tree-inline.c (struct inline_data): Delete inlined_insns field.
13302 (expand_call_inline, optimize_inline_calls): Don't update
13303 DECL_ESTIMATED_INSNS nor inlined_insns.
13304 * cgraphunit.c (cgraph_analyze_function): Don't update
13305 DECL_ESTIMATED_INSNS.
13306
133072004-02-07 Zack Weinberg <zack@codesourcery.com>
13308
13309 * c-common.c (shadow_warning): Delete.
13310 * c-common.h (free_parser_stacks, shadow_warning, sw_kind): Delete.
13311 * c-decl.c (warn_if_shadowing): Issue shadow warnings directly.
13312 * c-opts.c (c_common_parse_file): Don't call free_parser_stacks.
13313 * c-parse.in (free_parser_stacks): Delete.
13314
947c6b00
NN
133152004-02-07 Nathanael Nerode <neroden@gcc.gnu.org>
13316
13317 * Makefile.in, config/t-slibgcc-darwin, config/t-slibgcc-elf-ver,
13318 config/t-slibgcc-sld, config/mips/t-iris5-6, config/sh/t-linux:
13319 Use the top level mkinstalldirs, not the one in the gcc subdir.
13320 * mkinstalldirs: Remove (from the gcc subdir).
13321
088414c1
RS
133222004-02-07 Roger Sayle <roger@eyesopen.com>
13323
13324 PR middle-end/13696
13325 * fold-const.c (fold_convert): New function to provide type
13326 conversion to the middle-end without using convert.
13327 (negate_expr, associate_trees, size_diffop, omit_one_operand,
13328 operand_equal_for_comparison_p, pedantic_omit_one_operand,
13329 invert_truthvalue, optimize_bit_field_compare, range_binop,
13330 decode_field_reference, make_range, build_range_check, unextend,
13331 fold_truthop, extract_muldiv_1, fold_mathfn_compare,
13332 fold_binary_op_with_conditional_arg, fold_inf_compare,
13333 fold_single_bit_test, fold, multiple_of_p): Replace all calls to
13334 convert with calls to fold_convert.
13335
076963eb
JH
133362004-02-07 Jan Hubicka <jh@suse.cz>
13337
13338 * genrecog.c (find_operand): add extra argument stop.
13339 (validate_pattern): Verify that mach_dup is duplicating operand
13340 defined lexically earlier.
13341
1197924d
KH
133422004-02-07 Kazu Hirata <kazu@cs.umass.edu>
13343
13344 * config.gcc: Don't mention MAX_LONG_TYPE_SIZE.
13345 * system.h (MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
13346 MAX_WCHAR_TYPE_SIZE, GCOV_TYPE_SIZE): Poison.
13347 * config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
13348 config/ia64/ia64.h, config/ip2k/ip2k.h,
13349 config/iq2000/iq2000.h, config/mips/iris5.h,
13350 config/mips/mips.h, config/pa/pa-64.h, config/pa/pa.h,
13351 config/rs6000/aix51.h, config/rs6000/aix52.h,
13352 config/rs6000/darwin.h, config/rs6000/rs6000.h,
13353 config/s390/s390.h, config/sh/sh.h, config/sparc/freebsd.h,
13354 config/sparc/linux.h, config/sparc/linux64.h,
13355 config/sparc/netbsd-elf.h, config/sparc/sparc.h,
13356 config/xtensa/xtensa.h: Remove the definitions of
13357 MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE, and/or
13358 MAX_WCHAR_TYPE_SIZE.
13359 * doc/tm.texi (MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
13360 MAX_WCHAR_TYPE_SIZE, GCOV_TYPE_SIZE): Remove.
13361
883899ee
SC
133622004-02-07 Stephane Carrez <stcarrez@nerim.fr>
13363
13364 PR bootstrap/13990
13365 * config/m68hc11/m68hc11.md ("doloop_end"): Pass dummy arguments to
13366 gen_rtx_NE.
13367
f6e215cc
JZ
133682004-02-07 Josef Zlomek <zlomekj@suse.cz>
13369
13370 * var-tracking.c (vt_add_function_parameters): Surround checkings by
13371 #ifdef ENABLE_CHECKING and #endif.
13372
dfb36f9b
RS
133732004-02-07 Roger Sayle <roger@eyesopen.com>
13374
13375 * fold-const.c (negate_expr_p, negate_expr): Optimize -(A+B) into
13376 either (-A)-B or (-B)-A, if A or B is easily negated respectively.
13377 (fold) <MINUS_EXPR>: Optimize (A*C) - (B*C) -> (A-B)*C for both
13378 integer types and floating point with unsafe_math_optimizations.
13379 Add similar optimization for (A*C1) - (A*C2) -> A*(C1-C2).
13380 Optimize A - B as A + (-B), if B is easily negated.
13381
0ea5865c
KH
133822004-02-07 Kazu Hirata <kazu@cs.umass.edu>
13383
13384 * c-ppoutput.c, cfganal.c, diagnostic.h, print-rtl.c,
13385 config/darwin.c, config/darwin.h, config/ia64/ia64-c.c,
13386 config/m32r/linux.h, config/rs6000/ppc64-fp.c,
13387 config/sparc/openbsd.h, doc/makefile.texi, doc/passes.texi:
13388 Update copyright.
13389
fb0840fc
KH
133902004-02-07 Kazu Hirata <kazu@cs.umass.edu>
13391
13392 * c-ppoutput.c, var-tracking.c: Fix comment typos.
13393
468c45a3
JW
133942004-02-06 James E Wilson <wilson@specifixinc.com>
13395
13396 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Only define for
13397 glibc 2.3 or better.
13398
9c917669
KH
133992004-02-06 Kazu Hirata <kazu@cs.umass.edu>
13400
13401 * doc/tm.texi (TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL): Change
13402 to FLOAT_LIB_COMPARE_RETURNS_BOOL.
13403
fb7e4164
AM
134042004-02-07 Alan Modra <amodra@bigpond.net.au>
13405
13406 * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add darwin-ldouble.c.
13407 (SHLIB_MAPFILES): Add libgcc-ppc64.ver.
13408 (SHLIB_MKMAP_OPTS): Delete.
13409 (TARGET_LIBGCC2_CFLAGS): Add -specs.
13410 (bispecs): Add rule.
13411 * config/rs6000/libgcc-ppc64.ver: New file.
13412 * config/rs6000/ppc64-fp.c (__fixtfdi, __floatditf): New functions.
13413 (__floatdidf, __floatdisf): Optimize multiply.
13414 (__fixunstfdi): New function.
13415 * config/rs6000/rs6000.c (rs6000_complex_function_value): Allow for
13416 real and imag parts larger than one register.
13417 (function_arg): Correct type of reg used when fp arg split partially
13418 to stack.
13419 * config/rs6000/darwin-ldouble.c: Protect with #if !_SOFT_FLOAT
13420 and __MACH__ or __powerpc64__.
13421
254878ea
RS
134222004-02-06 Roger Sayle <roger@eyesopen.com>
13423 Ulrich Weigand <uweigand@de.ibm.com>
13424
13425 * builtins.c (expand_builtin_signbit): Use extract_bit_field instead
13426 of gen_highpart or gen_lowpart when the floating point format is
13427 wider than the result mode.
13428
b1053160
AP
134292004-02-06 Andrew Pinski <pinskia@physics.uc.edu>
13430
a6f78652 13431 * dwarf2out.c (loclabel_num): Move into #ifdef
b1053160
AP
13432 DWARF2_DEBUGGING_INFO.
13433
25fe8680
ZL
134342004-02-06 Ziemowit Laski <zlaski@apple.com>
13435
13436 * objc/objc-act.c (build_super_template) the 'class' field of
13437 'struct _objc_super' shall be named 'super_class' #ifdef OBJCPLUS.
13438 (get_super_receiver): Likewise.
13439
761fa0f7
KH
134402004-02-06 Kazu Hirata <kazu@cs.umass.edu>
13441
13442 * reload1.c (check_eliminable_occurrences): Optimize the reset
13443 of can_eliminate.
13444 (eliminate_regs_in_insn): Likewise.
13445
0a2d3d69 134462004-02-06 Daniel Berlin <dberlin@dberlin.org>
a6f78652 13447 Josef Zlomek <zlomekj@suse.cz>
0a2d3d69
DB
13448
13449 * dwarf2out.c (struct gcc_debug_hooks): Call dwarf2out_begin_function
13450 at the beginning of function, call dwarf2out_var_location for
13451 NOTE_INSN_VAR_LOCATION note.
13452 (struct var_loc_node, struct var_loc_list_def, loclabel_num,
13453 decl_loc_table): New.
13454 (lookup_decl_loc): New function.
13455 (add_var_loc_to_decl): New function.
13456 (based_loc_descr): Added parameter can_use_fbreg, DW_OP_fbreg is used
13457 only if can_use_fbreg.
13458 (mem_loc_descriptor): Added parameter can_use_fbreg, pass it to other
13459 functions.
13460 (loc_descriptor): Likewise. Process VAR_LOCATION.
13461 (concat_loc_descriptor): Call loc_descriptor with can_use_fbreg == true.
13462 (loc_descriptor_from_tree): Call mem_loc_descriptor with
13463 can_use_fbreg == true.
13464 (add_location_or_const_value_attribute): Added parameter enum
13465 dwarf_attribute attr, generate attribute ATTR. Create the location list.
13466 (add_bound_info): Call loc_descriptor with can_use_fbreg == true.
13467 (gen_formal_parameter_die): Call add_location_or_const_value_attribute
13468 with attr == DW_AT_location.
13469 (gen_subprogram_die): Generate the location list for DW_AT_frame_base
13470 if frame_base_decl is defined and has a location list.
13471 (gen_variable_die): Call add_location_or_const_value_attribute with
13472 attr == DW_AT_location.
13473 (dwarf2out_var_location): New function.
13474 (dwarf2out_begin_function): New function.
13475 (dwarf2out_init): Create decl_loc_table.
13476
1f0db3df
UW
134772004-02-06 Ulrich Weigand <uweigand@de.ibm.com>
13478
13479 * loop.c (force_movables): Transitively increase the priorities of
13480 all insns forces by an insn, not just the first one.
13481
014a1138 134822004-02-06 Josef Zlomek <zlomekj@suse.cz>
a6f78652 13483 Daniel Berlin <dberlin@dberlin.org>
014a1138
JZ
13484
13485 Josef Zlomek <zlomekj@suse.cz>
13486 * Makefile.in (var-tracking.o): New.
13487 * common.opt (fvar-tracking): New.
13488 * flags.h (flag_var_tracking): New.
13489 * gengtype.c (adjust_field_rtx_def): NOTE_INSN_VAR_LOCATION was added.
13490 * opts.c (common_handle_option): Add OPT_fvar_tracking.
13491 * print-rtl.c (print_rtx): NOTE_INSN_VAR_LOCATION was added.
a6f78652
ZW
13492 * rtl.c (note_insn_name): Likewise.
13493 * rtl.def (VAR_LOCATION): New.
13494 * rtl.h (NOTE_VAR_LOCATION): New.
13495 (NOTE_VAR_LOCATION_DECL): New.
13496 (NOTE_VAR_LOCATION_LOC): New.
13497 (enum insn_note): NOTE_INSN_VAR_LOCATION was added.
13498 (variable_tracking_main): New exported function.
13499 * timevar.def (TV_VAR_TRACKING): New.
13500 * toplev.c (enum dump_file_index): Added DFI_vartrack.
13501 (dump_file): "vartrack" was added (-dV).
13502 (flag_var_tracking): New.
13503 (f_options): "var-tracking" was added.
014a1138 13504 (rest_of_handle_variable_tracking): New function.
a6f78652 13505 (rest_of_compilation): Run variable tracking.
014a1138
JZ
13506 (process_options): If user has not specified flag_var_tracking set it
13507 according to optimize, debug_info_level and debug_hooks.
13508 * tree.h (frame_base_decl): New.
a6f78652 13509 * var-tracking.c: New file.
014a1138
JZ
13510 * config/ia64/ia64.c (ia64_flag_var_tracking): New variable.
13511 (ia64_override_options): Set flags to run variable tracking in machine
13512 dependent reorg instead of toplev.c.
13513 (ia64_reorg): Run variable tracking if wanted.
a6f78652 13514 * doc/invoke.texi: Mention variable tracking in -dV,
014a1138 13515 add and -fvar-tracking.
a6f78652 13516 * doc/passes.texi: Added variable tracking pass.
014a1138
JZ
13517
13518 Daniel Berlin <dberlin@dberlin.org>
13519 * debug.h (struct gcc_debug_hooks): Added var_location debug hook.
13520 * dbxout.c (dbx_debug_hooks): Likewise.
13521 (xcoff_debug): Likewise.
13522 * debug.c (do_nothing_debug_hooks): Likewise.
13523 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
13524 * dwarfout.c (dwarf_debug_hooks): Likewise.
13525 * sdbout.c (sdb_debug_hooks): Likewise.
13526 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
a6f78652
ZW
13527 * final.c (final_scan_insn): Call var_location debug hook for each
13528 NOTE_INSN_VAR_LOCATION.
014a1138 13529
298c28a8
JH
135302004-02-06 Jan Hubicka <jh@suse.cz>
13531
13532 * flow.c (update_life_info): Allocate reg_deaths when called from
13533 scheudler.
13534 (attempt_auto_inc): Update life ranges accordingly.
13535
3199cb41
UW
135362004-02-06 Ulrich Weigand <uweigand@de.ibm.com>
13537
13538 PR debug/11816
13539 * dwarf2out.c (gen_decl_die): Handle anonymous struct members.
13540
1a6dd8a2
UW
135412004-02-06 Ulrich Weigand <uweigand@de.ibm.com>
13542
13543 * cfganal.c (flow_call_edges_add): Never split a libcall block.
13544
1711adc2
DB
135452004-02-06 Daniel Berlin <dberlin@dberlin.org>
13546
13547 * dwarf2out.c (output_loc_list): Don't use deltas if we have
13548 a separate line info table in use.
13549 Use the correct size for terminators.
13550 (output_die): Use offset, not delta.
13551
b1e5a971
L
135522004-02-06 H.J. Lu <hongjiu.lu@intel.com>
13553
13554 * doc/invoke.texi: Remove the pni option from -mfpmath=.
13555
736b64dd
JH
135562004-02-06 Jan Hubicka <jh@suse.cz>
13557
13558 * recog.c (split_all_insns): Do not update reg info.
13559 * regrename.c (regrename_optimize): Likewise.
13560 * toplev.c (rest_of_handle_reorder_blocks): Likewise.
13561 * flow.c (struct propagate_block_info): Add insn_num field.
13562 (reg_deaths): New array.
13563 (life_analysis): Free reg_deaths info.
13564 (allocate_reg_life_data): Allocate reg_deaths array.
13565 (propagate_one_insn): Use new array.
13566 (init_propagate_block): Initialize it.
13567 (free_propagate_block_info): Finish compuation of
13568 REG_LIVE_LENGTH
13569 (attempt_auto_inc): Sanity check that REG_INFO is not
13570 computed at same time.
13571 (mark_used_regs): Update new array.
13572
13573 * reg-stack.c (subst_stack_regs): Unshare clobbers before
13574 substitution.
13575
eb457a7a
KH
135762004-02-06 Kazu Hirata <kazu@cs.umass.edu>
13577
13578 * config/s390/s390.md (*extendsiqi2_short_displ): Change to
13579 *extendqisi2_short_displ.
13580
0f6937fe
AM
135812004-02-06 Alan Modra <amodra@bigpond.net.au>
13582
13583 * doc/tm.texi (INIT_CUMULATIVE_ARGS): Update doco.
13584 * calls.c (expand_call): Pass n_named_args to INIT_CUMULATIVE_ARGS.
13585 (emit_library_call_value_1): Likewise pass nargs.
13586 * expr.c (block_move_libcall_safe_for_call_parm): Pass 3 here.
13587 * function.c (assign_parms): Pass -1 to INIT_CUMULATIVE_ARGS.
13588 * config/rs6000/rs6000.c (init_cumulative_args): Use n_named_args
13589 parameter instead of scanning TYPE_ARGS_TYPES to count args.
13590 * config/rs6000/rs6000-protos.h (init_cumulative_args): Update
13591 prototype.
13592 * config/rs6000/rs6000.h (INIT_CUMULATIVE_ARGS): Pass extra arg.
13593 (INIT_CUMULATIVE_INCOMING_ARGS): Set extra arg to 1000.
13594 (INIT_CUMULATIVE_LIBCALL_ARGS): Set extra arg to 0.
13595 * config/sh/sh.c (sh_output_mi_thunk): Pass 1 as n_named_args to
13596 INIT_CUMULATIVE_ARGS.
13597 * config/alpha/alpha.h (INIT_CUMULATIVE_ARGS): Update.
13598 * config/alpha/unicosmk.h, config/alpha/vms.h, config/arc/arc.h,
13599 config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
13600 config/cris/cris.h, config/fr30/fr30.h, config/frv/frv.h,
13601 config/h8300/h8300.h, config/i386/i386.h, config/i860/i860.h,
13602 config/ia64/ia64.h, config/ip2k/ip2k.h, config/iq2000/iq2000.h,
13603 config/iq2000/iq2000.c, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
13604 config/m68k/m68k.h, config/mcore/mcore.h, config/mips/mips.h,
13605 config/mmix/mmix.h, config/mn10300/mn10300.h, config/ns32k/ns32k.h,
07711f53 13606 config/pa/pa.h, config/pdp11/pdp11.h, config/s390/s390.h,
0f6937fe
AM
13607 config/sh/sh.h, config/sparc/sparc.h, config/stormy16/stormy16.h,
13608 config/v850/v850.h, config/vax/vax.h, config/xtensa/xtensa.h: Likewise.
13609
11b635fe
KH
136102004-02-06 Kazu Hirata <kazu@cs.umass.edu>
13611
13612 * genemit.c (gen_exp) [CONST_INT]: Use const_int_rtx whenever
13613 possible.
13614
ace3ffcd
KH
136152004-02-06 Kazu Hirata <kazu@cs.umass.edu>
13616
13617 * reload1.c (eliminate_regs_in_insn): If a set has a REG_EQUAL
13618 note containing (plus (reg) (const_int)), where reg is an
13619 eliminable reg, then perform the register elimination without
13620 depending on eliminate_regs().
13621
78bc94a2
KH
136222004-02-06 Kazu Hirata <kazu@cs.umass.edu>
13623
13624 * config/arc/arc.c (arc_return_in_memory): Check the return
13625 value of int_size_in_bytes against -1. Don't check
13626 TREE_ADDRESSABLE.
13627 * config/avr/avr.c (avr_return_in_memory): Check the return
13628 value of int_size_in_bytes against -1.
13629 * config/ip2k/ip2k.c (ip2k_return_in_memory): Likewise.
13630 * config/m68hc11/m68hc11.c (m68hc11_return_in_memory):
13631 Likewise.
13632 * config/mcore/mcore.c (mcore_return_in_memory): Likewise.
13633 * config/stormy16/stormy16.c (xstormy16_return_in_memory):
13634 Likewise.
13635
d8c2bed3
KH
136362004-02-06 Kazu Hirata <kazu@cs.umass.edu>
13637
13638 * config/frv/frv-protos.h: Remove the prototype for
13639 frv_setup_incoming_varargs.
13640 * config/frv/frv.c (TARGET_SETUP_INCOMING_VARARGS): New.
13641 (frv_setup_incoming_varargs): Make it static.
13642 * config/frv/frv.h (SETUP_INCOMING_VARARGS): Remove.
13643
3e29e2aa
KH
136442004-02-06 Kazu Hirata <kazu@cs.umass.edu>
13645
13646 * config/fr30/fr30-protos.h: Remove the prototype for
13647 fr30_setup_incoming_varargs.
13648 Update the prototypes for fr30_num_arg_regs and
13649 fr30_function_arg_partial_nregs.
13650 * config/fr30/fr30.c (TARGET_STRUCT_VALUE_RTX): New.
13651 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
13652 (fr30_setup_incoming_varargs): Make it static.
13653 Add argument second_time. Don't do anything when second_time
13654 is nonzero.
13655 (fr30_num_arg_regs): Change the type of the first argument to
13656 enum machine_mode.
13657 (fr30_function_arg_partial_nregs): Change the type of the
13658 second argument to enum machine_mode.
13659 * config/fr30/fr30.h (STRUCT_VALUE): Remove.
13660 (SETUP_INCOMING_VARARGS): Remove.
13661
07ba2efb
KH
136622004-02-06 Kazu Hirata <kazu@cs.umass.edu>
13663
13664 * config/arc/arc-protos.h: Remove the prototype for
13665 arc_setup_incoming_varargs.
13666 * config/arc/arc.c (TARGET_ASM_EXTERNAL_LIBCALL): New.
13667 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
13668 (arc_setup_incoming_varargs): Make it static.
13669 (arc_external_libcall): Likewise.
13670 * config/arc/arc.h (SETUP_INCOMING_VARARGS): Remove.
13671 Remove the commented-out definition of
13672 ASM_OUTPUT_EXTERNAL_LIBCALL.
13673
f4954ff1
ST
136742004-02-05 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
13675
13676 * config/sh/t-linux (SHLIB_INSTALL): Prepend $$(DESTDIR)
13677 to $$(slibdir) in the installation commands.
13678
403c659c
DE
136792004-02-05 David Edelsohn <edelsohn@gnu.org>
13680
13681 * reload.c (refers_to_regno_for_reload_p): Index hard_regno_nregs
13682 with inner_regno, not regno.
13683 * rtlanal.c (refers_to_regno_p): Same.
13684
5b547172
KH
136852004-02-05 Kazu Hirata <kazu@cs.umass.edu>
13686
13687 * config.gcc: Remove i370 support.
13688
ce5c1cf3
KC
136892004-02-05 Kelley Cook <kcook@gcc.gnu.org>
13690
13691 * doc/install.texi: Update automake and autoconf version
13692 requirements. Note where to find gcj automake version.
13693
136942004-02-05 Kelley Cook <kcook@gcc.gnu.org>
13695
13696 * Makefile.in (generate-manpages): Move dependencies to ...
13697 (man): here.
13698 * doc/makefile.texi: Document new targets.
13699 * doc/sourcebuild.texi (Make-lang.in): Document new langhooks.
13700
02ba6b22
KC
137012004-02-05 Kelley Cook <kcook@gcc.gnu.org>
13702
13703 PR/13485
13704 Makefile.in (srcextra): Add a level of indirection to ...
13705 (gcc.srcextra): ... here.
13706 (po-generated): Delete.
13707 (po/$(PACKAGE).pot: Use srcextra instead of po-generated. Depend on
13708 options.c.
13709 (start.encap): Remove superfluous lang.srcextra dependency.
13710 objc/Make-lang.in (po-generated): Delete.
13711
66fcab25
KH
137122004-02-05 Kazu Hirata <kazu@cs.umass.edu>
13713
13714 * config/ia64/ia64.c (REG_GP): Remove.
13715
89a95129
RO
137162004-02-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13717
13718 * config/mips/iris5gas.h (PREFERRED_DEBUGGING_TYPE): Define.
13719
9733d507
DP
137202004-02-05 Devang Patel <dpatel@apple.com>
13721
13722 * dwarf2out.c (force_type_die): Look up input type itself
13723 instead of root_type() of type.
a6f78652 13724
19796784
AK
137252004-02-05 Andreas Krebbel <krebbel1@de.ibm.com>
13726
13727 * config/s390/s390.md ("*tmqidi_ext"): New insn.
13728 ("*extendqidi2_short_displ", "*extendsiqi2_short_displ"): Old
13729 pre-reload splitters are transformed to post-reload
13730 define_insn_and_split patterns.
13731 ("*tmqisi_ext"): Renamed old "*tmqi_ext".
13732
136e64db
KH
137332004-02-05 Kazu Hirata <kazu@cs.umass.edu>
13734
13735 * config/cris/cris.h: Replace PROMOTE_PROTOTYPES with
13736 TARGET_PROMOTE_PROTOTYPES.
13737
839ee4bc
RO
137382004-02-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13739
13740 PR middle-end/13750
13741 Revert:
13742 2004-01-15 Geoffrey Keating <geoffk@apple.com>
13743 PR pch/13361
13744 * c-typeck.c (constructor_asmspec): Delete.
13745 (struct initializer_stack): Delete field 'asmspec'.
13746 (start_init): Delete saving of asmspec.
13747 (finish_init): Don't update constructor_asmspec.
13748 * dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
13749 * stmt.c (expand_asm): Duplicate strings from tree.
13750 (expand_asm_operands): Likewise.
13751 * tree.c (tree_size): Update computation of size of STRING_CST.
13752 (make_node): Don't make STRING_CST nodes.
13753 (build_string): Allocate string with tree node.
13754 * tree.def (STRING_CST): Update comment.
13755 * tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
13756 (tree_string): Place contents of string in tree node.
13757 * config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
13758 from tree.
13759
687d688e
JM
137602004-02-05 Joseph S. Myers <jsm@polyomino.org.uk>
13761
13762 * diagnostic.h (DEFINE_DIAGNOSTIC_KIND): Change parameter M to
13763 msgid.
13764
20a20bf0
DN
137652004-02-05 Dorit Naishlos <dorit@il.ibm.com>
13766
13767 * config/rs6000/altivec.md (*movv4si_internal): At least one
13768 operand must be altivec_register_operand.
13769 (*movv8hi_internal1): Likewise.
13770 (*movv16qi_internal1): Likewise.
13771 (*movv4sf_internal1): Likewise.
13772
6b37db3c
DE
137732004-02-05 David Edelsohn <edelsohn@gnu.org>
13774
13775 * configure.ac (gcc_cv_as_powerpc_mfcrf): Correct test for mfcr.
13776 * configure: Regenerate.
13777
e0b24bce
JW
137782004-02-05 Jonathan Wakely <redi@gcc.gnu.org>
13779
13780 * doc/install.texi: Update description of --gxx-include-dir to
13781 give correct default value.
13782
2dca8ddb
KH
137832004-02-05 Kazu Hirata <kazu@cs.umass.edu>
13784
13785 * config/h8300/h8300.h (REG_OK_FOR_BASE_NONSTRICT_P): Replace
13786 8 with MAC_REG.
13787
92fd5e41
KH
137882004-02-05 Kazu Hirata <kazu@cs.umass.edu>
13789
13790 * config/pa/pa.c (emit_hpdiv_const): Replace gen_rtx with
13791 gen_rtx_PARALLEL.
13792
f822fcf7
KH
137932004-02-05 Kazu Hirata <kazu@cs.umass.edu>
13794
13795 * emit-rtl.c: Update the comment about the file.
13796
4ef84575
JM
137972004-02-05 Joseph S. Myers <jsm@polyomino.org.uk>
13798
13799 * sourcebuild.texi (Test Idioms): Update testcase naming
13800 conventions.
13801
8e9ea4d7
PB
138022004-02-04 Per Bothner <per@bothner.com>
13803
13804 Partially revert/redo 2003-10-01 change; fix -fworking-directory.
13805 * c-ppoutput.c (pp_dir_change): New function.
13806 * c-common.h (pp_dir_change): New declaration.
13807 * cpplib.h (struct cpp_options): Remove working_directory field.
13808 * cppinit.c (cpp_find_main_file, cpp_push_main_file): Merge back to
13809 (cpp_read_main_file): as before 10-01. Call _cpp_stack_file.
13810 Don't handle -fworking_directory here, but in c_common_post_options.
13811 (read_original_directory): Don't back up when done.
13812 Don't clear no-longer used working_directory flag.
13813 * cpplib.h: Update declarations to match.
13814 * c-lex.c (cb_dir_change): Move to c-opts.c.
13815 (init_c_lex): Don't set dir_change callback here, since we want
13816 to set it even if flag_preprocess_only.
13817 * c-opts.c (cb_dir_change): Function moved from c-lex.c.
13818 (c_common_post_options): Set dir_change callback.
13819 Call pp_dir_change if approporiate.
13820 (finish_options): Don't call cpp_find_main_file here. Hence remove
13821 unneeded parameter and result. Do LC_RENAME for <built-in>.
13822 (c_common_post_options): Call cpp_read_main_file here instead.
13823 (c_common_init): Update accordingly.
13824 (push_command_line_include): Don't cpp_push_main_file.
13825 Do LC_RENAME rather than LC_LEASE to get back to main file.
13826 Compared to pre-10-01 version, inline cpp_rename_to_main_file.
13827 (c_common_parse_file): Call cpp_read_main_file for subsequent main
13828 files, but call finish_options for all files.
13829 * c-opts.c (sanitize_cpp_opts): Don't set cpp_opts->working_directory.
13830 * fix-header.c (read_scan_file): Call cpp_read_main_file instead of
13831 cpp_find_main_file + cpp_push_main_file.
13832 * c-lex.c (fe_file_change): Don't set main_input_filename here.
13833 * opts.c (handle_options): Only set main_input_filename first time.
13834
5384443a
ILT
138352004-02-05 Ian Lance Taylor <ian@wasabisystems.com>
13836
13837 * config/arm/arm.h (REG_CLASS_NAMES): Add missing comma.
13838
3c241c19
GK
138392004-02-04 Geoffrey Keating <geoffk@apple.com>
13840
13841 * reload.c (find_equiv_reg): When checking for register overlap,
13842 don't index hard_regno_nregs with a pseudo-reg.
13843
a322288b
UW
138442004-02-04 Ulrich Weigand <uweigand@de.ibm.com>
13845
13846 * config/s390/s390.c (s390_trampoline_template): Remove gen_rtx().
13847
859b9c1d
DE
138482004-02-04 David Edelsohn <edelsohn@gnu.org>
13849
13850 * reload.c (refers_to_regno_for_reload_p): Test regno, not inner_regno,
13851 against FIRST_PSEUDO_REGISTER.
13852
7e63a64e
RO
138532004-02-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13854
13855 * Makefile.in: Move target, host overrides after per-language
13856 fragments.
13857
13858 * config/mips/t-iris5-as (FORCE_DEBUG_ADAFLAGS): Clear.
13859 (GNATLIBCFLAGS): Remove -g.
13860
5efb1046
KH
138612004-02-04 Kazu Hirata <kazu@cs.umass.edu>
13862
13863 * config/alpha/alpha.c, config/arc/arc.c, config/avr/avr.c,
13864 config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
13865 config/ia64/ia64.c, config/ia64/unwind-ia64.c,
13866 config/m32r/m32r.c, config/ns32k/ns32k.c, config/pa/pa.c,
13867 config/pdp11/pdp11.c, config/rs6000/rs6000.c,
13868 config/sparc/sparc.c, config/vax/vax.c: Revert the
13869 replacements of "FALLTHRU" with "Fall through" done in the
13870 previous patch.
13871
ff482c8d
KH
138722004-02-04 Kazu Hirata <kazu@cs.umass.edu>
13873
13874 * config/darwin.c, config/darwin.h, config/freebsd-spec.h,
13875 config/arm/arm.c, config/arm/arm.md,
13876 config/cris/cris-protos.h, config/fr30/fr30.c,
13877 config/fr30/fr30.h, config/h8300/h8300.c, config/i386/i386.h,
13878 config/i860/i860.c, config/i860/i860.h, config/ia64/ia64-c.c,
13879 config/ia64/ia64.c, config/ia64/ia64.h, config/ip2k/ip2k.h,
13880 config/ip2k/ip2k.md, config/ip2k/libgcc.S,
13881 config/m32r/linux.h, config/m32r/m32r.c, config/m32r/m32r.h,
13882 config/m68k/m68k.c, config/m68k/netbsd-elf.h,
13883 config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.md,
13884 config/ns32k/netbsd.h, config/ns32k/ns32k.c,
13885 config/ns32k/ns32k.h, config/pdp11/pdp11.h,
13886 config/rs6000/darwin-ldouble.c, config/s390/s390.h,
13887 config/s390/s390.md, config/sparc/netbsd-elf.h,
13888 config/sparc/openbsd.h, config/sparc/sparc.c,
13889 config/xtensa/lib2funcs.S: Fix comment formatting.
13890
59b9a953
KH
138912004-02-04 Kazu Hirata <kazu@cs.umass.edu>
13892
13893 * config/alpha/alpha.c, config/arc/arc.c,
13894 config/arm/arm-cores.def, config/arm/arm.c, config/arm/arm.h,
13895 config/arm/arm1026ejs.md, config/arm/arm1136jfs.md,
13896 config/arm/arm926ejs.md, config/arm/vfp.md, config/avr/avr.c,
13897 config/c4x/c4x.c, config/cris/cris.c, config/frv/frv.md,
13898 config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
13899 config/ia64/ia64.c, config/ia64/unwind-ia64.c,
13900 config/iq2000/iq2000.c, config/m32r/m32r.c,
13901 config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
13902 config/ns32k/ns32k.c, config/pa/pa.c, config/pdp11/pdp11.c,
13903 config/rs6000/darwin-ldouble.c, config/rs6000/rs6000.c,
13904 config/rs6000/rs6000.h, config/sparc/sparc.c,
13905 config/vax/vax.c: Fix comment typos. Follow spelling
13906 conventions.
13907
e146f815
KH
139082004-02-04 Kazu Hirata <kazu@cs.umass.edu>
13909
13910 * alloc-pool.h, c-convert.c, c-lang.c, c-tree.h,
13911 caller-save.c, df.h, genconfig.c, global.c, lcm.c,
13912 ra-rewrite.c, ra.c, regclass.c, regs.h, resource.c,
13913 sched-rgn.c, config/arm/aof.h, config/arm/cirrus.md,
13914 config/arm/fpa.md, config/arm/iwmmxt.md,
13915 config/arm/netbsd-elf.h, config/arm/netbsd.h,
13916 config/m68hc11/m68hc11.md, config/mips/iris5.h,
13917 config/mn10300/mn10300.md, config/rs6000/altivec.md,
13918 config/sparc/netbsd-elf.h: Update copyright.
13919
e2a17f6e
EB
139202004-02-04 Eric Botcazou <ebotcazou@libertysurf.fr>
13921
13922 * config/sparc/sparc.c (function_arg_pass_by_reference): Return 1
13923 for all modes whose size is greater than 8 bytes if ARCH32.
13924 (sparc_va_arg): Handle all modes whose size is greater than 8 bytes
13925 by reference if ARCH32.
13926
e0cc7f73 139272004-02-04 Aldy Hernandez <aldyh@redhat.com>
a6f78652
ZW
13928
13929 * cgraphunit.c (cgraph_postorder): Fix typo in comment.
e0cc7f73 13930
7bdff56f
UW
139312004-02-04 Ulrich Weigand <uweigand@de.ibm.com>
13932
13933 * config/s390/s390.md ("*la_64" + peepholes, "reload_indi"): Move
13934 to before adddi3 insn patterns.
13935 ("*la_31" + peepholes, "*la_31_and", "*la_31_and_cc", "force_la_31",
13936 "reload_insi"): Move to before addsi3 insn patterns.
13937
dd292d0a
MM
139382004-02-04 Mark Mitchell <mark@codesourcery.com>
13939
13940 * calls.c (initialize_argument_information): Add CALL_FROM_THUNK_P
13941 parameter. Use it instead of current_function_is_thunk.
13942 * function.h (struct function): Update documentation for is_thunk.
13943 * tree.h (CALL_FROM_THUNK_P): New macro.
13944 * config/alpha/alpha.c (alpha_sa_mask): Do not check
13945 no_new_pseudos when testing current_function_is_thunk.
13946 * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Likeiwse.
13947
c2379679
KH
139482004-02-04 Kazu Hirata <kazu@cs.umass.edu>
13949
13950 * doc/tm.texi: Replace SETUP_INCOMING_VARARGS with
13951 TARGET_SETUP_INCOMING_VARARGS.
13952
a2a8cc44
KH
139532004-02-04 Kazu Hirata <kazu@cs.umass.edu>
13954
13955 * emit-rtl.c (gen_rtx): Remove.
13956 * genattrtab.c: Don't mention gen_rtx in a comment.
13957 * rtl.h: Remove the prototype for gen_rtx.
13958 * doc/md.texi: Replace gen_rtx with gen_rtx_REG.
13959
f61c92c3
KH
139602004-02-04 Kazu Hirata <kazu@cs.umass.edu>
13961
13962 * config/arc/arc.h, config/fr30/fr30.h
13963 (SETUP_INCOMING_VARARGS): Remove the target-independent
13964 comments.
13965 * doc/tm.texi: Don't mention deprecated target macros.
13966
c35c17c1
KH
139672004-02-04 Kazu Hirata <kazu@cs.umass.edu>
13968
13969 * config/fr30/fr30.h (FUNCTION_VALUE): Remove the
13970 target-independent comment.
13971
cea28603
KH
139722004-02-04 Kazu Hirata <kazu@cs.umass.edu>
13973
13974 * doc/interface.texi, doc/tm.texi, doc/trouble.texi: Don't
13975 mention deprecated target macros.
13976
a4a4b1d3
KH
139772004-02-04 Kazu Hirata <kazu@cs.umass.edu>
13978
13979 * config.gcc: Remove obsolete ports and configurations.
13980 * config/linux-aout.h, config/netware.h,
13981 config/t-linux-gnulibc1, config/d30v/abi,
13982 config/d30v/d30v-protos.h, config/d30v/d30v.c,
13983 config/d30v/d30v.h, config/d30v/d30v.md,
13984 config/d30v/libgcc1.asm, config/d30v/t-d30v,
13985 config/dsp16xx/dsp16xx-modes.def,
13986 config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
13987 config/dsp16xx/dsp16xx.h, config/dsp16xx/dsp16xx.md,
13988 config/i370/README, config/i370/i370-c.c,
13989 config/i370/i370-protos.h, config/i370/i370.c,
13990 config/i370/i370.h, config/i370/i370.md, config/i370/linux.h,
13991 config/i370/mvs.h, config/i370/oe.h, config/i370/t-i370,
13992 config/i386/freebsd-aout.h, config/i386/linux-aout.h,
13993 config/i386/moss.h, config/i386/netware.h,
13994 config/i386/svr3.ifile, config/i386/svr3dbx.h,
13995 config/i386/svr3gas.h, config/i386/svr3z.ifile,
13996 config/i386/t-udk, config/i386/udk.h, config/i386/vsta.h,
13997 config/i960/i960-c.c, config/i960/i960-coff.h,
13998 config/i960/i960-modes.def, config/i960/i960-protos.h,
13999 config/i960/i960.c, config/i960/i960.h, config/i960/i960.md,
14000 config/i960/rtems.h, config/i960/t-960bare,
14001 config/m68k/hp310.h, config/m68k/hp320.h,
14002 config/m68k/hp320base.h, config/m68k/m68kv4.h,
14003 config/m68k/netbsd.h, config/m68k/sgs.h, config/m68k/t-hp320:
14004 Remove.
14005 * doc/extend.texi, doc/install.texi, doc/invoke.texi,
14006 doc/md.texi: Remove mentions of obsolete ports.
14007
40e02b4a
JH
140082004-02-04 Jan Hubicka <jh@suse.cz>
14009
14010 * alias.c (find_base_term, get_addr): Do not dereference NULL
14011 pointer when all VALUE's locations has been invalidated.
14012 (rtx_equal_for_memref_p): Simplify checking of VALUEs.
14013
a6f78652 140142004-02-03 Wolfgang Bangerth <bangerth@dealii.org>
1c02f6f2
WB
14015
14016 * doc/invoke.texi (x86 options): Fix spelling/wording.
14017
584e5527
RS
140182004-02-03 Richard Sandiford <rsandifo@redhat.com>
14019
14020 * config/mips/iris5.h (ASM_OUTPUT_ASCII): Use mips_output_ascii to
14021 put the original string in a comment.
14022 * config/mips/mips-protos.h (mips_output_ascii): Add prefix argument.
14023 * config/mips/mips.c (mips_output_ascii): Likewise.
14024 * config/mips/mips.h (ASM_OUTPUT_ASCII): Adjust accordingly.
14025
9b2b3375
KH
140262004-02-03 Kazu Hirata <kazu@cs.umass.edu>
14027
14028 * system.h (GIV_SORT_CRITERION): Poison.
14029 * config/avr/avr.h (GIV_SORT_CRITERION): Remove.
14030 * config/ip2k/ip2k.h (GIV_SORT_CRITERION): Likewise.
14031
888d65b5
RS
140322004-02-03 Roger Sayle <roger@eyesopen.com>
14033
14034 PR target/9348
14035 * expr.c (expand_expr_real) <MULT_EXPR>: When performing widening
14036 multiplies with a multiplication of the wrong signedness, its the
14037 signedness of the multiplication that we've performed that needs to
14038 be passed to expand_mult_highpart_adjust. Avoid emitting a nop-move
14039 if expand_mult_highpart_adjust places the result in target.
14040
a8c0bbc7
RH
140412004-02-03 Richard Henderson <rth@redhat.com>
14042
14043 * varasm.c (const_desc_rtx_sym_eq): Compare symbol strings.
14044
a8f0f22e
R
140452004-02-03 J"orn Rennecke <joern.rennecke@superh.com>
14046
14047 * config.gcc (sh[234]l): Use little endian fragments.
14048
e621b588
PK
140492004-02-03 Paul Koning <pkoning@equallogic.com>
14050
14051 * config/pdp11/pdp11-modes.def: Add RESET_FLOAT_FORMAT calls.
14052 * config/pdp11/pdp11-protos.h (legitimate_const_double_p): Add.
14053 * config/pdp11/pdp11.c (encode_pdp11_f, decode_pdp11_f,
14054 encode_pdp11_d, decode_pdp11_d): New functions to handle PDP11
14055 floating point format.
14056 (pdp11_f_format, pdp11_d_format): New real_format descriptors for
14057 the above functions.
14058 (output_move_quad): Output float values in correct target format.
14059 (legitimate_const_double_p): New function.
14060 * config/pdp11/pdp11.h: Fix typos.
14061 (FLOAT_WORDS_BIG_ENDIAN): Add definition.
14062 (TARGET_FLOAT_FORMAT): Ditto.
14063 (pdp11_f_format, pdp11_d_format): Add external declarations.
14064 (MAX_REGS_PER_ADDRESS): Corrected.
14065 (LEGITIMATE_CONSTANT_P): Use legitimate_const_double_p().
14066 (PRINT_OPERAND): Output float literals in target format.
14067
5a98fa7b
MM
140682004-02-03 Mark Mitchell <mark@codesourcery.com>
14069
14070 PR c++/13975
14071 * tree.h (enum tree_index): Add TI_PUBLIC, TI_PROTECTED, and
14072 TI_PRIVATE.
14073 (access_public_node): Redefine.
14074 (access_protected_node): Likewise.
14075 (access_private_node): Likewise.
14076 * tree.c (build_common_tree_nodes): Create access_public_node,
14077 access_protected_node, and access_private_node.
14078
0263e6bf
SE
140792004-02-03 Steve Ellcey <sje@cup.hp.com>
14080
14081 * config/ia64/ia64.h (MASK_INLINE_INT_DIV_LAT): Change value.
14082 (MASK_INLINE_INT_DIV_THR): Ditto.
14083 (MASK_INLINE_SQRT_LAT): Ditto.
14084 (MASK_INLINE_SQRT_THR): Ditto.
14085 (MASK_DWARF2_ASM): Ditto.
14086 (MASK_EARLY_STOP_BITS): Ditto.
14087
9b66ebb1
PB
140882004-02-02 Paul Brook <paul@codesourcery.com>
14089
14090 Merge from csl-arm-branch.
14091
14092 2004-01-30 Paul Brook <paul@codesourcery.com>
14093
14094 * aof.h (REGISTER_NAMES): Add vfp reg names
14095 (ADDITIONAL_REGISTER_NAMES): Ditto.
14096 * aout.h (REGISTER_NAMES): Ditto.
14097 (ADDITIONAL_REGISTER_NAMES): Ditto.
14098 * arm-protos.h: Update/Add Prototypes.
14099 * arm.c (init_fp_table): Rename from init_fpa_table. Update users.
14100 Only allow 0.0 for VFP.
14101 (fp_consts_inited): Rename from fpa_consts_inited. Update users.
14102 (values_fp): Rename from values_fpa. Update Users.
14103 (arm_const_double_rtx): Rename from const_double_rtx_ok_for_fpa.
14104 Update users. Only check valid constants for this hardware.
14105 (arm_float_rhs_operand): Rename from fpa_rhs_operand. Update Users.
14106 Only allow consts for FPA.
14107 (arm_float_add_operand): Rename from fpa_add_operand. Update users.
14108 Only allow consts for FPA.
14109 (use_return_insn): Check for saved VFP regs.
14110 (arm_legitimate_address_p): Handle VFP DFmode addressing.
14111 (arm_legitimize_address): Ditto.
14112 (arm_general_register_operand): New function.
14113 (vfp_mem_operand): New function.
14114 (vfp_compare_operand): New function.
14115 (vfp_secondary_reload_class): New function.
14116 (arm_float_compare_operand): New function.
14117 (vfp_print_multi): New function.
14118 (vfp_output_fstmx): New function.
14119 (vfp_emit_fstm): New function.
14120 (arm_output_epilogue): Output VPF reg restore code.
14121 (arm_expand_prologue): Output VFP reg save code.
14122 (arm_print_operand): Add 'P'.
14123 (arm_hard_regno_mode_ok): Return modes for VFP regs.
14124 (arm_regno_class): Return classes for VFP regs.
14125 (arm_compute_initial_elimination_offset): Include space for VFP regs.
14126 (arm_get_frame_size): Ditto.
14127 * arm.h (FIXED_REGISTERS): Add VFP regs.
14128 (CALL_USED_REGISTERS): Ditto.
14129 (CONDITIONAL_REGISTER_USAGE): Enable VFP regs.
14130 (FIRST_VFP_REGNUM): Define.
14131 (LAST_VFP_REGNUM): Define.
14132 (IS_VFP_REGNUM): Define.
14133 (FIRST_PSEUDO_REGISTER): Include VFP regs.
14134 (HARD_REGNO_NREGS): Handle VFP regs.
14135 (REG_ALLOC_ORDER): Add VFP regs.
14136 (enum reg_class): Add VFP_REGS.
14137 (REG_CLASS_NAMES): Ditto.
14138 (REG_CLASS_CONTENTS): Ditto.
14139 (CANNOT_CHANGE_MODE_CLASS) Handle VFP Regs.
14140 (REG_CLASS_FROM_LETTER): Add 'w'.
14141 (EXTRA_CONSTRAINT_ARM): Add 'U'.
14142 (EXTRA_MEMORY_CONSTRAINT): Define.
14143 (SECONDARY_OUTPUT_RELOAD_CLASS): Handle VFP regs.
14144 (SECONDARY_INPUT_RELOAD_CLASS): Ditto.
14145 (REGISTER_MOVE_COST): Ditto.
14146 (PREDICATE_CODES): Add arm_general_register_operand,
14147 arm_float_compare_operand and vfp_compare_operand.
14148 * arm.md (various): Rename as above.
14149 (divsf3): Enable when TARGET_VFP.
14150 (divdf3): Ditto.
14151 (movdfcc): Ditto.
14152 (sqrtsf2): Ditto.
14153 (sqrtdf2): Ditto.
14154 (arm_movdi): Disable when TARGET_VFP.
14155 (arm_movsi_insn): Ditto.
14156 (movsi): Only split with general regs.
14157 (cmpsf): Use arm_float_compare_operand.
14158 (push_fp_multi): Restrict to TARGET_FPA.
14159 (vfp.md): Include.
14160 * vfp.md: New file.
14161 * fpa.md (various): Rename as above.
14162 * doc/md.texi: Document ARM w and U constraints.
14163
14164 2004-01-15 Paul Brook <paul@codesourcery.com>
14165
14166 * config.gcc: Add with_fpu. Allow with-float=softfp.
14167 * config/arm/arm.c (arm_override_options): Rename *-s to *s.
14168 Break out of loop when we find a float-abi. Fix typo.
14169 * config/arm/arm.h (OPTION_DEFAULT_SPECS): Add "fpu".
14170 Set -mfloat-abi=.
14171 * doc/install.texi: Document --with-fpu.
14172
14173 2003-01-14 Paul Brook <paul@codesourcery.com>
14174
14175 * config.gcc (with_arch): Add armv6.
14176 * config/arm/arm.h: Rename TARGET_CPU_*_s to TARGET_CPU_*s.
14177 * config/arm/arm.c (arm_overrride_options): Ditto.
14178
14179 2004-01-08 Richard Earnshaw <rearnsha@arm.com>
14180
14181 * arm.c (FL_ARCH3M): Renamed from FL_FAST_MULT.
14182 (FL_ARCH6): Renamed from FL_ARCH6J.
14183 (arm_arch3m): Renamed from arm_fast_multiply.
14184 (arm_arch6): Renamed from arm_arch6j.
14185 * arm.h: Update all uses of above.
14186 * arm-cores.def: Likewise.
14187 * arm.md: Likewise.
14188
14189 * arm.h (CPP_CPU_ARCH_SPEC): Emit __ARM_ARCH_6J__ define for armV6j,
14190 not arm6j. Add entry for arch armv6.
14191
14192 2004-01-07 Richard Earnshaw <rearnsha@arm.com>
14193
14194 * arm.c (arm_emit_extendsi): Delete.
14195 * arm-protos.h (arm_emit_extendsi): Delete.
14196 * arm.md (zero_extendhisi2): Also handle zero-extension of
14197 non-subregs.
14198 (zero_extendqisi2, extendhisi2, extendqisi2): Likewise.
14199 (thumb_zero_extendhisi2): Only match if not v6.
14200 (arm_zero_extendhisi2, thumb_zero_extendqisi2, arm_zero_extendqisi2)
14201 (thumb_extendhisi2, arm_extendhisi2, arm_extendqisi)
14202 (thumb_extendqisi2): Likewise.
14203 (thumb_zero_extendhisi2_v6, arm_zero_extendhisi2_v6): New patterns.
14204 (thumb_zero_extendqisi2_v6, arm_zero_extendqisi2_v6): New patterns.
14205 (thumb_extendhisi2_insn_v6, arm_extendhisi2_v6): New patterns.
14206 (thumb_extendqisi2_v6, arm_extendqisi_v6): New patterns.
14207 (arm_zero_extendhisi2_reg, arm_zero_extendqisi2_reg): Delete.
14208 (arm_extendhisi2_reg, arm_extendqisi2_reg): Delete.
14209 (arm_zero_extendhisi2addsi): Remove subreg. Add attributes.
14210 (arm_zero_extendqisi2addsi, arm_extendhisi2addsi): Likewise.
14211 (arm_extendqisi2addsi): Likewise.
14212
14213 2003-12-31 Mark Mitchell <mark@codesourcery.com>
14214
14215 Revert this change:
14216 * config/arm/arm.h (THUMB_LEGTITIMIZE_RELOAD_ADDRESS): Reload REG
14217 + REG addressing modes.
14218
14219 * config/arm/arm.h (THUMB_LEGTITIMIZE_RELOAD_ADDRESS): Reload REG
14220 + REG addressing modes.
14221
14222 2003-12-30 Mark Mitchell <mark@codesourcery.com>
14223
14224 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept
14225 CONSTANT_P_RTX.
14226
14227 2003-30-12 Paul Brook <paul@codesourcery.com>
14228
14229 * longlong.h: protect arm inlines with !defined (__thumb__)
14230
14231 2003-30-12 Paul Brook <paul@codesourcery.com>
14232
14233 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Always define __arm__.
14234
14235 2003-12-30 Nathan Sidwell <nathan@codesourcery.com>
14236
14237 * builtins.c (expand_builtin_apply_args_1): Fix typo in previous
14238 change.
14239
14240 2003-12-29 Nathan Sidwell <nathan@codesourcery.com>
14241
14242 * builtins.c (expand_builtin_apply_args_1): Add pretend args size
14243 to the virtual incoming args pointer for downward stacks.
14244
14245 2003-12-29 Paul Brook <paul@codesourcery.com>
14246
14247 * config/arm/arm-cores.def: Add cost function.
14248 * config/arm/arm.c (arm_*_rtx_costs): New functions.
14249 (arm_rtx_costs): Remove
14250 (struct processors): Add rtx_costs field.
14251 (all_cores, all_architectures): Ditto.
14252 (arm_override_options): Set targetm.rtx_costs.
14253 (thumb_rtx_costs): New function.
14254 (arm_rtx_costs_1): Remove cases handled elsewhere.
14255 * config/arm/arm.h (processor_type): Add COSTS parameter.
14256
14257 2003-12-29 Nathan Sidwell <nathan@codesourcery.com>
14258
14259 * config/arm/arm.md (generic_sched): arm926 has its own scheduler.
14260 (arm926ejs.md): Include it.
14261 * config/arm/arm926ejs.md: New pipeline description.
14262
14263 2003-12-24 Paul Brook <paul@codesourcery.com>
14264
14265 * config/arm/arm.c (arm_arch6j): New variable.
14266 (arm_override_options): Set it.
14267 (arm_emit_extendsi): New function.
14268 * config/arm/arm-protos.h (arm_emit_extendsi): Add prototype.
14269 * config/arm/arm.h (arm_arch6j): Declare.
14270 * config/arm/arm.md: Add sign/zero extend insns.
14271
14272 2003-12-23 Paul Brook <paul@codesourcery.com>
14273
14274 * config/arm/arm.c (all_architectures): Add armv6.
14275 * doc/invoke.texi: Document it.
14276
14277 2003-12-19 Paul Brook <paul@codesourcery.com>
14278
14279 * config/arm/arm.md: Add load1 and load_byte "type" attrs. Modify
14280 insn patterns to match.
14281 * config/arm/arm-generic.md: Ditto.
14282 * config/arm/cirrus.md: Ditto.
14283 * config/arm/fpa.md: Ditto.
14284 * config/amm/iwmmxt.md: Ditto.
14285 * config/arm/arm1026ejs.md: Ditto.
14286 * config/arm/arm1135jfs.md: Ditto. Add insn_reservation and bypasses
14287 for 11_loadb.
14288
14289 2003-12-18 Nathan Sidwell <nathan@codesourcery.com>
14290
14291 * config/arm/arm-protos.h (arm_no_early_alu_shift_value_dep): Declare.
14292 * config/arm/arm.c (arm_adjust_cost): Check shift cost for
14293 TYPE_ALU_SHIFT and TYPE_ALU_SHIFT_REG.
14294 (arm_no_early_store_addr_dep, arm_no_early_alu_shift_dep,
14295 arm_no_early_mul_dep): Correctly deal with conditional execution,
14296 parallels and single shift operations.
14297 (arm_no_early_alu_shift_value_dep): Define.
14298 * arm.md (attr type): Replace 'normal' with 'alu',
14299 'alu_shift' and 'alu_shift_reg'.
14300 (attr core_cycles): Adjust.
14301 (*addsi3_carryin_shift, andsi_not_shiftsi_si, *arm_shiftsi3,
14302 *shiftsi3_compare0, *notsi_shiftsi, *notsi_shiftsi_compare0,
14303 *not_shiftsi_compare0_scratch, *cmpsi_shiftsi, *cmpsi_shiftsi_swp,
14304 *cmpsi_neg_shiftsi, *arith_shiftsi, *arith_shiftsi_compare0,
14305 *arith_shiftsi_compare0_scratch, *sub_shiftsi,
14306 *sub_shiftsi_compare0, *sub_shiftsi_compare0_scratch,
14307 *if_shift_move, *if_move_shift, *if_shift_shift): Set type
14308 attribute appropriately.
14309 * config/arm/arm1026ejs.md (alu_op): Adjust.
14310 (alu_shift_op, alu_shift_reg_op): New.
14311 * config/arm/arm1136.md: Add better bypasses for early
14312 registers. Remove load[234] and store[234] bypasses.
14313 (11_alu_op): Adjust.
14314 (11_alu_shift_op, 11_alu_shift_reg_op): New.
14315
14316 2003-12-15 Nathan Sidwell <nathan@codesourcery.com>
14317
14318 * config/arm/arm-protos.h (arm_no_early_store_addr_dep,
14319 arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Declare.
14320 * config/arm/arm.c (arm_no_early_store_addr_dep,
14321 arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Define.
14322 * config/arm/arm1026ejs.md: Add load-store bypass.
14323 * config/arm/arm1136jfs.md (11_alu_op): Take 2 cycles.
14324 Add bypasses between instructions.
14325
14326 2003-12-10 Paul Brook <paul@codesourcery.com>
14327
14328 * config/arm/arm.c (arm_fpu_model): New variable.
14329 (arm_fload_abi): New variable.
14330 (target_fpe_name): Rename from target_fp_name.
14331 (target_fpu_name): New variable.
14332 (arm_is_cirrus): Remove.
14333 (fpu_desc): New struct.
14334 (all_fpus): Define.
14335 (pf_model_for_fpu): Define.
14336 (all_loat_abis): Define.
14337 (arm_override_options): Set fp arch flags based on -mfpu=
14338 and -float-abi=.
14339 (FIRST_FPA_REGNUM): Rename from FIRST_ARM_FP_REGNUM.
14340 (LAST_FPA_REGNUM): Rename from LAST_ARM_FP_REGNUM.
14341 (*): Use new TARGET_* flags.
14342 * config/arm/arm.h (TARGET_ANY_HARD_FLOAT): Remove.
14343 (TARGET_HARD_FLOAT): No longer implies TARGET_FPA.
14344 (TARGET_SOFT_FLOAT): Ditto.
14345 (TARGET_SOFT_FLOAT_ABI): New.
14346 (TARGET_MAVERICK): Rename from TARGET_CIRRUS. No longer implies
14347 TARGET_HARD_FLOAT.
14348 (TARGET_VFP): No longer implies TARGET_HARD_FLOAT.
14349 (TARGET_OPTIONS): Add -mfpu=.
14350 (FIRST_FPA_REGNUM): Rename from FIRST_ARM_FP_REGNUM.
14351 (LAST_FPA_REGNUM): Rename from LAST_ARM_FP_REGNUM.
14352 (arm_pf_model): Define.
14353 (arm_float_abi_type): Define.
14354 (fputype): Add FPUTYPE_VFP. Change SOFT_FPA->NONE
14355 * config/arm/arm.md: Use new TARGET_* flags.
14356 * config/arm/cirrus.md: Ditto.
14357 * config/arm/fpa.md: Ditto.
14358 * config/arm/elf.h (ASM_SPEC): Pass -mfloat-abi= and -mfpu=.
14359 * config/arm/semi.h (ASM_SPEC): Ditto.
14360 * config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Specify vfp.
14361 (FPUTYPE_DEFAULT): Set to VFP.
14362 * doc/invoke.texi: Document -mfpu= and -mfloat-abi=.
14363
14364 2003-11-22 Phil Edwards <phil@codesourcery.com>
14365
14366 PR target/12476
14367 * config/arm/arm.c (arm_output_mi_thunk): In Thumb mode, use
14368 'bx' instead of 'b' to avoid branch range restrictions. Output
14369 the thunk immediately before the thunked-to function.
14370 * config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Do not emit
14371 .thumb_func if a thunk is being generated. Emit .code 16 along
14372 with .thumb_func if a thunk is not being generated.
14373
14374 2003-11-15 Nicolas Pitre <nico@cam.org>
14375
14376 * config/arm/arm.md (ashldi3, arm_ashldi3_1bit, ashrdi3,
14377 arm_ashrdi3_1bit, lshrdi3, arm_lshrdi3_1bit): New patterns.
14378 * config/arm/iwmmxt.md (ashrdi3_iwmmxt): Renamed from ashrdi3.
14379 (lshrdi3_iwmmxt): Renamed from lshrdi3.
14380 * config/arm/arm.c (IWMMXT_BUILTIN2): Renamed argument accordingly.
14381
14382 2003-11-12 Steve Woodford <scw@wasabisystems.com>
14383 Ian Lance Taylor <ian@wasabisystems.com>
14384
14385 * config/arm/lib1funcs.asm (ARM_DIV_BODY, ARM_MOD_BODY): Add new
14386 code for __ARM_ARCH__ >= 5 && ! defined (__OPTIMIZE_SIZE__).
14387
14388 2003-11-05 Phil Edwards <phil@codesourcery.com>
14389
14390 * config/arm/arm.md (insn): Add new V6 instruction names.
14391 (generic_sched): New attr.
14392 * config/arm/arm-generic.md: Use generic_sched here.
14393 * config/arm/arm1026ejs.md: Do not model fetch/issue/decode
14394 stages of pipeline. Adjust latency counts accordingly.
14395 * config/arm/arm1136jfs.md: New file.
14396
14397 2003-10-28 Mark Mitchell <mark@codesourcery.com>
14398
14399 * config/arm/arm.h (processor_type): New enumeration type.
14400 (CPP_ARCH_DEFAULT_SPEC): Set appropriately for ARM 926EJ-S,
14401 ARM1026EJ-S, ARM1136J-S, and ARM1136JF-S processor cores.
14402 (CPP_CPU_ARCH_SPEC): Likewise.
14403 * config/arm/arm.c (arm_tune): New variable.
14404 (all_cores): Use cores.def.
14405 (all_architectures): Add representative processor.
14406 (arm_override_options): Restructure way in which tuning
14407 information is deduced.
14408 * arm.md: Update "insn" and "type" attributes throughout.
14409 (insn): New attribute.
14410 (type): Compute "mult" from "insn" attribute. Add load2,
14411 load3, load4 alternatives.
14412 (arm automaton): Move to arm-generic.md.
14413 * config/arm/arm-cores.def: New file.
14414 * config/arm/arm-generic.md: Likewise.
14415 * config/arm/arm1026ejs.md: Likewise.
14416
60b85c4c
EB
144172004-02-03 Eric Botcazou <ebotcazou@libertysurf.fr>
14418
14419 * doc/invoke.texi (SPARC options): Remove -mflat and
14420 all -mxxx (xxx:chip) options.
14421 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Delete.
14422 * config/sparc/litecoff.h (DBX_REGISTER_NUMBER): Likewise.
14423 * config/sparc/netbsd-elf.h (DBX_REGISTER_NUMBER): Likewise.
14424 * config/sparc/sol2.h (DBX_REGISTER_NUMBER): Likewise.
14425 * config/sparc/sparc-protos.h: Delete sparc_flat_* prototypes.
14426 * config/sparc/sparc.c: Likewise.
14427 (sparc_output_function_prologue): Remove TARGET_FLAT handling.
14428 (sparc_nonflat_function_prologue): Rename into sparc_function_prologue.
14429 (sparc_output_function_epilogue): Remove TARGET_FLAT handling.
14430 (sparc_nonflat_function_epilogue): Rename into sparc_function_epilogue.
14431 (struct sparc_frame_info, current_frame_info, zero_frame_info): Delete.
14432 (sparc_flat_must_save_register_p): Likewise.
14433 (sparc_flat_compute_frame_size): Likewise.
14434 (sparc_flat_save_restore): Likewise.
14435 (sparc_flat_function_prologue): Likewise.
14436 (sparc_flat_function_epilogue): Likewise.
14437 (sparc_flat_epilogue_delay_slots): Likewise.
14438 (sparc_flat_eligible_for_epilogue_delay): Likewise.
14439 (sparc_function_ok_for_sibcall): Remove TARGET_FLAT handling.
14440 * config/sparc/sparc.h (MASK_FLAT, TARGET_FLAT): Delete.
14441 (TARGET_SWITCHES): Remove -mflat and all -mxxx (xxx:chip) options.
14442 (SPARC_INCOMING_INT_ARG_FIRST): Remove TARGET_FLAT handling.
14443 (CONDITIONAL_REGISTER_USAGE): Likewise.
14444 (FRAME_POINTER_REQUIRED): Likewise.
14445 (INITIAL_ELIMINATION_OFFSET): Likewise.
14446 (BASE_RETURN_VALUE_REG): Likewise.
14447 (BASE_OUTGOING_VALUE_REG): Likewise.
14448 (BASE_PASSING_ARG_REG): Likewise.
14449 (BASE_INCOMING_ARG_REG): Likewise.
14450 (INCOMING_REGNO): Likewise.
14451 (OUTGOING_REGNO): Likewise.
14452 (LOCAL_REGNO): Likewise.
14453 (DELAY_SLOTS_FOR_EPILOGUE): Likewise.
14454 (ELIGIBLE_FOR_EPILOGUE_DELAY): Likewise.
14455 (EPILOGUE_USES): Likewise.
14456 * config/sparc/sparc.md ("isa" attribute): Change "v6" into "v7".
14457 ("flat" attribute): Delete.
14458 (do_builtin_setjmp_setup): Remove TARGET_FLAT and "flat" attribute
14459 handling.
14460 (call followed by jump define_peephole's): Delete.
14461 (exception_receiver): Likewise.
14462 (builtin_setjmp_receiver): Likewise.
14463 * config/sparc/t-sparclite (MULTILIB_OPTIONS): Remove -mflat.
14464
e57e265b
PB
144652004-02-03 Paolo Bonzini <bonzini@gnu.org>
14466
14467 PR c/11658
14468 PR c/13994
14469 * Makefile.in (c-parse.o, c-convert.o, c-typeck.o): Depend
14470 on langhooks.h.
14471 * objc/Make-lang.in (objc-parse.o): Depend on langhooks.h.
14472 * c-parse.in, c-convert.c, c-typeck.c, objc/objc-act.c:
14473 Include langhooks.h. Replace c_common_truthvalue_conversion
14474 with the truthvalue_conversion language hook throughout.
14475 (expr_no_commas): Call default_conversion before save_expr
14476 for the first term of the production 'x ? : y'.
14477 * c-common.c (c_common_truthvalue_conversion): Remove
14478 obsolete block. Invoke recursively the hook instead
14479 of this function.
14480 * c-convert.c (convert): handle ERROR_MARK_NODE.
14481 * c-typeck.c (build_binary_op): handle ERROR_MARK_NODE
14482 returned by the truthvalue_conversion language hook.
14483 * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Use
14484 c_objc_common_truthvalue_conversion.
14485 * c-objc-common.c (c_objc_common_truthvalue_conversion):
14486 New function.
14487 * c-tree.h (c_objc_common_truthvalue_conversion): Declare it.
14488 * objc/objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Use
14489 c_objc_common_truthvalue_conversion.
14490
a7a2225a
KH
144912004-02-03 Kazu Hirata <kazu@cs.umass.edu>
14492
14493 * config/c4x/c4x.h (FUNCTION_VALUE): Use gen_rtx_REG instead
14494 of gen_rtx.
14495 (LIBCALL_VALUE): Likewise.
14496 * config/ip2k/ip2k.c (mdr_try_propagate_clr_sequence): Use
14497 gen_rtx_CC0 instead of gen_rtx.
14498 * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use
14499 gen_rtx_fmt_e and gen_rtx_fmt_ee instead of gen_rtx.
14500 (m68hc11_expand_compare): Use gen_rtx_fmt_ee instead of
14501 gen_rtx.
14502 (m68hc11_emit_logical): Likewise.
14503
a556fd39
KH
145042004-02-03 Kazu Hirata <kazu@cs.umass.edu>
14505
14506 * config/alpha/alpha.c, config/arm/arm.c, config/c4x/c4x.c,
14507 config/fr30/fr30.md, config/frv/frv.c, config/frv/frv.md,
14508 config/h8300/h8300.c, config/ia64/ia64.c, config/ip2k/ip2k.md,
14509 config/m32r/m32r.md, config/m68hc11/m68hc11.c,
14510 config/mips/mips.md, config/mmix/mmix.c,
14511 config/mn10300/mn10300.c, config/mn10300/mn10300.md,
14512 config/ns32k/ns32k.c, config/pa/pa.md, config/pdp11/pdp11.c,
14513 config/rs6000/altivec.md, config/s390/s390.c,
14514 config/s390/s390.h, config/s390/s390.md, config/sh/sh.c,
14515 config/sh/sh.h, config/sh/sh.md, config/stormy16/stormy16.c:
14516 Use const0_rtx instead of GEN_INT (0). Do the same for other
14517 constants that are readily available.
14518
60c81c89
KH
145192004-02-03 Kazu Hirata <kazu@cs.umass.edu>
14520
14521 * doloop.c, optabs.c, regmove.c, sched-deps.c,
14522 config/i386/i386.c, config/i386/i386.md: Use const0_rtx
14523 instead of GEN_INT (0). Do the same for other constants that
14524 are readily available.
14525
2fb00d7f
KH
145262004-02-03 Kazu Hirata <kazu@cs.umass.edu>
14527
14528 * combine.c (simplify_set): Use gen_rtx_fmt_e instead of
14529 gen_rtx.
14530 * emit-rtl.c (init_emit_once): Use gen_rtx_PC and gen_rtx_CC0
14531 instead of gen_rtx.
14532 * reload1.c (init_elim_table): Use gen_rtx_fmt_e instead of
14533 gen_rtx.
14534 * config/ns32k/ns32k.md (udivmodhi4): Use gen_rtx_IOR and
14535 gen_rtx_ASHIFT instead of gen_rtx.
14536 (udivmodqi4): Likewise.
14537
b0dccb00
RH
145382004-02-02 Richard Henderson <rth@redhat.com>
14539
a6f78652
ZW
14540 PR target/13789
14541 * expr.c (store_expr): Use force_operand before emit_move_insn.
b0dccb00 14542
3168cb99
JL
145432004-02-02 Jeff Law <law@redhat.com>
14544 Roger Sayle <roger@eyesopen.com>
14545
14546 * tree.c (commutative_tree_code, associative_tree_code): New
14547 functions.
14548 (iterative_hash_expr): Use commutative_tree_code.
14549 * tree.h (commutative_tree_code, associative_tree_code): Declare.
14550 * fold-const.c (operand_equal_p): Use commutative_tree_code
14551 rather than inlining the commutativity check.
14552 (fold): Likewise.
14553
040333a7
KH
145542004-02-02 Kazu Hirata <kazu@cs.umass.edu>
14555
14556 * system.h (FUNCTION_ARG_KEEP_AS_REFERENCE): Poison.
14557 * config/frv/frv-protos.h: Remove the prototype for
14558 frv_function_arg_keep_as_reference.
14559 * config/frv/frv.c (frv_function_arg_keep_as_reference):
14560 Remove.
14561 * config/frv/frv.h (FUNCTION_ARG_KEEP_AS_REFERENCE): Likewise.
14562 * config/stormy16/stormy16.h: Remove the commented-out
14563 definition of FUNCTION_ARG_KEEP_AS_REFERENCE.
14564
79d69d75
AM
145652004-02-03 Alan Modra <amodra@bigpond.net.au>
14566
14567 PR target/13914
14568 * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Use ap
14569 for retaddr_column.
14570
600555f5
KH
145712004-02-02 Kazu Hirata <kazu@cs.umass.edu>
14572
14573 * genemit.c (gen_exp): Generate gen_rtx_fmt_e* instead of
14574 gen_rtx.
14575
16dd5cfe 145762004-02-02 Eric Christopher <echristo@redhat.com>
a6f78652 14577 Zack Weinberg <zack@codesourcery.com>
16dd5cfe
EC
14578
14579 * c-opts.c (c_common_handle_option): Add -finput-charset.
a6f78652
ZW
14580 * c.opt: Ditto.
14581 * cppcharset.c (one_iso88591_to_utf8): Remove.
14582 (convert_iso88591_utf8): Ditto.
14583 (conversion_tab): Remove 8859-1 converter.
14584 (_cpp_input_to_utf8): Remove.
14585 (_cpp_init_iconv_buffer): Ditto.
14586 (_cpp_close_iconv_buffer): Ditto.
14587 (_cpp_convert_input): New function.
14588 (_cpp_default_encoding): Ditto.
14589 * cpphash.h: Add/remove prototypes for above.
14590 * cppfiles.c (read_file_guts): Use _cpp_convert_input.
14591 * cppinit.c (cpp_create_reader): Use _cpp_default_encoding
14592 for narrow execution and input character sets.
14593 * cpplib.c (cpp_push_buffer): Delete uses of removed functions.
14594 * doc/cppopts.texi: Document -finput-charset.
16dd5cfe 14595
8ad0d964
DE
145962004-02-02 David Edelsohn <edelsohn@gnu.org>
14597
14598 * rtlanal.c (refers_to_regno_p): Test regno, not inner_regno,
14599 against FIRST_PSEUDO_REGISTER.
14600
238b11b5
EB
146012004-02-02 Eric Botcazou <ebotcazou@libertysurf.fr>
14602
14603 * doc/invoke.texi (SPARC options): Further improve.
14604
0f4c242b
KH
146052004-02-02 Kazu Hirata <kazu@cs.umass.edu>
14606
14607 * config/arm/arm.md, config/c4x/c4x.md, config/cris/cris.md,
14608 config/h8300/h8300.c, config/ip2k/ip2k.md,
14609 config/iq2000/iq2000.c, config/mips/mips.c,
14610 config/rs6000/rs6000.c, config/rs6000/rs6000.md,
14611 config/sh/sh.c, config/sh/sh.md, config/stormy16/stormy16.c,
14612 config/v850/v850.md: Fix indentation.
14613
d560b0aa
EB
146142004-02-02 Eric Botcazou <ebotcazou@libertysurf.fr>
14615
14616 * config/sparc/sparc.c (function_arg_slotno): Align TImode
14617 arguments on a 16-byte boundary in the parameter array if ARCH64.
14618 Split handling of TFmode.
14619
6f626d1b
PB
146202004-02-02 Paolo Bonzini <bonzini@gnu.org>
14621
14622 * rtlanal.c (reg_overlap_mentioned_p) [!ENABLE_CHECKING]:
14623 Don't test CONSTANT_P (x).
14624 (reg_overlap_mentioned_p): Merge check for STRICT_LOWPART,
14625 ZERO_EXTRACT, SIGN_EXTRACT with the switch statement.
14626 Fix misindentation.
14627
e789e9c4
EB
146282004-02-02 Eric Botcazou <ebotcazou@libertysurf.fr>
14629
14630 * doc/invoke.texi (SPARC options): Document that -mflat is deprecated.
14631
1c563bed
KH
146322004-02-02 Kazu Hirata <kazu@cs.umass.edu>
14633
14634 * config/arc/arc.md, config/arm/arm.c, config/arm/arm.md,
14635 config/c4x/c4x.c, config/c4x/c4x.md, config/cris/cris.md,
14636 config/frv/frv.c, config/h8300/h8300.c, config/ip2k/ip2k.md,
14637 config/iq2000/iq2000.c, config/m32r/m32r.c,
14638 config/mcore/mcore.c, config/mips/mips.c, config/mmix/mmix.md,
14639 config/mn10300/mn10300.c, config/rs6000/rs6000.c,
14640 config/rs6000/rs6000.md, config/sh/sh.c, config/sh/sh.md,
14641 config/stormy16/stormy16.c, config/v850/v850.md,
14642 config/xtensa/xtensa.c: Replace gen_rtx with gen_rtx_fmt_e*.
14643
67245ad3
KH
146442004-02-01 Kazu Hirata <kazu@cs.umass.edu>
14645
14646 * config/mcore/mcore.c (block_move_sequence): Replace
14647 gen_rtx_CONST_INT with GEN_INT.
14648
66fd46b6
JH
146492004-02-02 Jan Hubicka <jh@suse.cz>
14650
14651 * alias.c (record_set): Use hard_regno_nregs.
14652 * bt-load.c (find_btr_reference, note_btr_set): Likewise.
14653 * builtins.c (apply_args_size): Likewise.
14654 * caller-save.c (setup_save_areas, save_call_clobbered_regs,
14655 mark_set_regs, add_stored_regs, mark_referenced_regs,
14656 insert_restore, insert_save, insert_one_insn): Likewise.
14657 * cfgcleanup.c: Include regs.h
14658 (mark_effect, mentions_nonequal_regs): Likewise.
14659 * cfgrtl.c (mark_killed_regs): Likewise
14660 * combine.c (update_table_tick, record_value_for_reg,
14661 record_dead_and_set_regs, get_last_value_validate, use_crosses_set_p,
14662 reg_dead_at_p_1, reg_dead_at_p, mark_used_regs_combine, move_deaths,
14663 reg_bitfield_target_p, distribute_notes): Likewise.
14664 * cse.c (mention_regs, insert, invalidate, invalidate_for_call,
14665 exp_equiv_p, cse_insn): Likewise.
14666 * cselib.c (cselib_lookup): Likewise.
14667 (cselib_invalidate_regno, cselib_record_set): Likewise.
14668 * df.c (df_ref_record): Likewise.
14669 * dwarf2out.c (reg_loc_descriptor, multiple_reg_loc_descriptor):
14670 Likewise.
14671 * flow.c (mark_reg, insn_dead_p, mark_set_1, mark_used_reg,
14672 count_or_remove_death_notes_bb): Likewise.
14673 * function.c (aggregate_value_p, keep_stack_depressed): Likewise.
14674 * gloval.c (global_alloc, find_reg, mark_reg_store, mark_reg_conflicts,
14675 mark_reg_death, set_preference, reg_becomes_live, reg_dies): Likewise.
14676 * integrate.c (mark_stores): Likewise.
14677 * jump.c (delete_prior_computation): Likewise.
14678 * lcm.c (reg_dies, reg_becomes_live): Likewise.
14679 * local-alloc.c (combine_regs, find_free_reg, post_mark_life): Likewise.
14680 * loop.c (LOOP_REGNO_NREGS): Likewise.
14681 * postreload.c (reload_combine, reload_combine_note_store,
14682 reload_combine_note_use, reload_cse_move2add, move2add_note_store): Likewise.
14683 * ra-colorize.c (combine, color_usable_p, get_free_reg,
16dd5cfe 14684 calculate_dont_begin, calculate_dont_begin, colorize_one_web,
66fd46b6
JH
14685 try_recolor_web, insert_coalesced_conflicts, check_colors,
14686 break_precolored_alias): Likewise.
14687 * ra-debug.c: Include regs.h
14688 (ra_print_rtx_object): Likewise.
14689 * ra-rewrite (choose_spill_colors): Likewise.
14690 (spill_same_color_p, update_spill_colors, spill_is_free): Likewise.
14691 * ra.c (init_ra): Likewise.
14692 * recog.c (reg_fits_class_p, peep2_reg_dead_p,
14693 peep2_find_free_register): Likewise.
14694 * reg-stack.c (subst_stack_regs_pat, convert_regs_exit): Likewise.
14695 * regclass.c (hard_regno_nregs): New array.
14696 (init_reg_modes_once): Initialize it.
14697 (choose_hard_reg_mode): Use it.
14698 (record_reg_classes): Likewise.
14699 * regmove.c (mark_flags_life_zones): Likewise.
14700 * regrename.c (note_sets, clear_dead_regs, regrename_optimize,
14701 scan_rtx_reg, dump_def_use_chain, kill_value, set_value_regno,
14702 copy_value, maybe_mode_change, find_oldest_value_reg,
14703 copyprop_hardreg_forward_1):
14704 * regs.h (hard_regno_nregs): Declare.
14705 * realod.c (reload_inner_reg_of_subreg): Use it.
14706 (push_reload, combine_reloads, find_dummy_reload,
14707 hard_reg_set_here_p, operands_match_p, decompose, find_reloads,
14708 refers_to_regno_for_reload_p, find_equiv_reg, regno_clobbered_p,
14709 reload_adjust_reg_for_mode): Likewise.
14710 * reload1.c (compute_use_by_pseudos, count_pseudo,
14711 count_spilled_pseudo, find_reg, find_reload_regs, mark_home_live,
14712 spill_hard_reg, forget_old_reloads_1, mark_reload_reg_in_use,
14713 clear_reload_reg_in_use, reload_reg_free_for_value_p, free_for_value_p
14714 allocate_reload_reg, choose_reload_regs, emit_reload_insns,
14715 delete_output_reload): Likewise.
14716 * resource.c (update_live_status, mark_referenced_resources,
14717 mark_set_resources, mark_target_live_regs): Likewise.
14718 * rtlanal.c: Include regs.h
14719 (refers_to_regno_p, reg_overlap_mentioned_p, dead_or_set_p,
14720 dead_or_set_regno_p, find_regno_note, find_reg_fusage,
14721 subreg_regno_offset, subreg_offset_representable_p,
14722 hoist_test_store): Likewise.
14723 * sched-deps.c (sched_analyze_1, sched_analyze_2): Likewise.
14724 * sched-rgn.c (check_live_1, update_live_1): Likewise.
14725 * stmt.c: Include regs.h
14726 (decl_conflicts_with_clobbers_p): Likewise.
14727 * varasm.c (make_decl_rtl): Likewise.
14728 * Makefile.in (cfgcleanup.o, rtlanal.o, ra-debug.o): Add regs.h dependnecy.
14729
f1c25d3b
KH
147302004-02-01 Kazu Hirata <kazu@cs.umass.edu>
14731
14732 * config/arm/arm.c, config/arm/arm.h, config/arm/arm.md,
14733 config/arm/linux-gas.h, config/arm/netbsd-elf.h,
14734 config/arm/netbsd.h, config/arm/pe.c, config/avr/avr.c,
14735 config/avr/avr.h, config/avr/avr.md, config/c4x/c4x.h,
14736 config/cris/cris.h, config/fr30/fr30.h, config/frv/frv.c,
14737 config/frv/frv.h, config/ip2k/ip2k.c, config/iq2000/iq2000.c,
14738 config/iq2000/iq2000.h, config/m32r/m32r.c,
14739 config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
14740 config/m68hc11/m68hc11.md, config/m68k/m68k.md,
14741 config/mcore/mcore.c, config/mcore/mcore.h,
14742 config/mcore/mcore.md, config/mips/mips.c,
14743 config/ns32k/ns32k.h, config/ns32k/ns32k.md,
14744 config/rs6000/rs6000.c, config/s390/s390.c,
14745 config/s390/s390.md, config/sparc/sparc.c, config/v850/v850.c,
14746 config/xtensa/xtensa.h, config/xtensa/xtensa.md: Replace
14747 "gen_rtx (FOO, " with "gen_rtx_FOO (".
14748
e0a24727
KH
147492004-02-01 Kazu Hirata <kazu@cs.umass.edu>
14750
14751 * config/h8300/h8300.md (two peephole2's): New.
14752
5202c5fe
EB
147532004-02-01 Eric Botcazou <ebotcazou@libertysurf.fr>
14754
14755 * config/sparc/sol2-bi.h: Handle TARGET_CPU_ultrasparc3.
14756 (CPP_CPU_SPEC): Handle -mcpu=ultrasparc3.
14757 (ASM_CPU_SPEC): Likewise
14758 * config/sparc/sol2.h: Handle TARGET_CPU_ultrasparc3.
14759 (ASM_CPU_SPEC): Remove -mcpu=v8plus. Handle -mcpu=ultrasparc3.
14760
13b59849
RS
147612004-02-01 Roger Sayle <roger@eyesopen.com>
14762
14763 * builtins.c (expand_builtin_pow): If flag_unsafe_math_optimizations
14764 isn't set, don't call expand_builtin_mathfn_2 to use the pow optab.
14765 (expand_builtin): Always call expand_builtin_pow.
14766
ef79730c
RS
147672004-02-01 Roger Sayle <roger@eyesopen.com>
14768
14769 * builtins.def (BUILT_IN_SIGNBIT, BUILT_IN_SIGNBITF,
14770 BUILT_IN_SIGNBITL): New GCC builtins.
14771 * builtins.c (expand_builtin_signbit): New function to RTL expand
14772 calls to signbit, signbitf and signbitl as inline intrinsics.
14773 (expand_builtin): Call expand_builtin_signbit for BUILT_IN_SIGNBIT*.
14774 (fold_builtin_signbit): New function to perform constant folding
14775 of signbit, signbitf and signbitl.
14776 (fold_builtin): Call fold_builtin_signbit for BUILT_IN_SIGNBIT*.
14777
14778 * doc/extend.texi: Document new signbit{,f,l} builtins.
14779
a80cdb0f
RS
147802004-02-01 Richard Sandiford <rsandifo@redhat.com>
14781
14782 * config/mips/mips.md (adddi3_internal_2): Remove superfluous %s.
14783
2efe2033
CD
147842004-02-01 Chris Demetriou <cgd@broadcom.com>
14785
14786 * config/mips/mips.h (PREDICATE_CODES): Remove entries for
14787 "mips_const_double_ok" and "simple_memory_operand", which were
14788 removed from the MIPS port with the mips-3_4-rewrite branch merge.
14789 * config/mips/mips.c (mips16_lay_out_constants): Update comment
14790 for removal of simple_memory_operand.
14791
d37eb705
KH
147922004-01-31 Kazu Hirata <kazu@cs.umass.edu>
14793
14794 * config/c4x/c4x.md: Use GEN_INT instead of
14795 gen_rtx (CONST_INT, ...).
14796
fadeed3b
RH
147972004-01-31 Richard Henderson <rth@redhat.com>
14798
14799 * varasm.c (output_constant_pool): Don't zap the pool.
14800
ccdc1703
KH
148012004-01-31 Kazu Hirata <kazu@cs.umass.edu>
14802
14803 * genrecog.c (decision_type): Add DT_const_int.
14804 (write_cond) [DT_const_int]: Print a comparison against small
14805 constant.
14806 (write_node): Simplify comparisons against small constants
14807 before printing tests.
16dd5cfe 14808
aeba8f80
KH
148092004-01-31 Kazu Hirata <kazu@cs.umass.edu>
14810
14811 * config/m32r/m32r.c (m32r_load_pic_register): Use GEN_INT
14812 instead of gen_rtx_CONST_INT.
14813
400ce94c
KH
148142004-01-31 Kazu Hirata <kazu@cs.umass.edu>
14815
14816 * config/xtensa/xtensa.h (DYNAMIC_CHAIN_ADDRESS): Use GEN_INT
14817 instead of gen_rtx_CONST_INT.
14818
8dfa8fcd
KH
148192004-01-31 Kazu Hirata <kazu@cs.umass.edu>
14820
14821 * target-def.h (TARGET_STRICT_ARGUMENT_NAMING): Define as
14822 hook_bool_CUMULATIVE_ARGS_false.
14823 * targhooks.c (default_strict_argument_naming): Rename to
14824 hook_bool_CUMULATIVE_ARGS_false.
14825 * targhooks.h: Update the prototype for
14826 default_strict_argument_naming.
14827
c0d4e710
KH
148282004-01-31 Kazu Hirata <kazu@cs.umass.edu>
14829
14830 * config/sh/sh.c: Replace "gen_rtx (FOO, " with "gen_rtx_FOO (".
14831 * config/sh/sh.h: Likewise.
14832 * config/sh/sh.md: Likewise.
14833
fdf064f2
EB
148342004-01-31 Eric Botcazou <ebotcazou@libertysurf.fr>
14835
14836 * doc/invoke.texi (SPARC options): Restructure and update.
14837
b602b7b6
KH
148382004-01-31 Kazu Hirata <kazu@cs.umass.edu>
14839
14840 * system.h (PROMOTE_FUNCTION_ARGS, STRUCT_VALUE_INCOMING, and
14841 STRICT_ARGUMENT_NAMING): Poison.
14842 * target-def.h (TARGET_PROMOTE_FUNCTION_ARGS): Define as
14843 hook_bool_tree_false.
14844 * targhooks.c (default_promote_function_args): Remove.
14845 (default_struct_value_rtx): Don't use STRUCT_VALUE_INCOMING.
14846 Don't check incoming.
14847 (default_strict_argument_naming): Don't use
14848 STRICT_ARGUMENT_NAMING.
14849 * targhooks.h: Remove the prototype for
14850 default_promote_function_args.
14851
a0524eb3
KH
148522004-01-31 Kazu Hirata <kazu@cs.umass.edu>
14853
14854 * config/i386/i386-protos.h: Remove the prototype for
14855 ix86_setup_incoming_varargs.
14856 * config/i386/i386.c (TARGET_SETUP_INCOMING_VARARGS): New.
14857 (ix86_setup_incoming_varargs): Make it static.
14858 * config/i386/i386.h (SETUP_INCOMING_VARARGS): Remove.
14859
a457ee07
KH
148602004-01-31 Kazu Hirata <kazu@cs.umass.edu>
14861
14862 * alloc-pool.c: Fix comment typos.
14863 * builtin-types.def: Likewise.
14864 * builtins.def: Likewise.
14865 * c-pretty-print.c: Likewise.
14866 * df.h: Likewise.
14867 * reload1.c: Likewise.
14868
a451b0bd
KH
148692004-01-31 Kazu Hirata <kazu@cs.umass.edu>
14870
14871 * doc/invoke.texi: Follow spelling conventions.
14872 * doc/tm.texi: Likewise.
14873
e53e0c56
KH
148742004-01-31 Kazu Hirata <kazu@cs.umass.edu>
14875
14876 * doc/install.texi: Fix typos.
14877 * doc/invoke.texi: Likewise.
14878
025b17a4
UW
148792004-01-31 Ulrich Weigand <uweigand@de.ibm.com>
14880
14881 * config/s390/s390.c (s390_decompose_address): Do not treat virtual
14882 registers as pointers.
14883 * config/s390/s390.md ("*la_31" second peephole2): Fix incorrect mode.
14884
4de249d9
PB
148852004-01-31 Paolo Bonzini <bonzini@gnu.org>
14886
c53bdcf5 14887 * combine.c (cse_main): Set gen_lowpart to gen_lowpart_for_combine
4de249d9
PB
14888 and restore it to gen_lowpart_general on exit.
14889 (gen_lowpart_for_combine): Adjust all callers to go through
14890 gen_lowpart.
14891 * cse.c (cse_main): Set gen_lowpart to gen_lowpart_if_possible
14892 and restore it to gen_lowpart_general on exit.
14893 (gen_lowpart_if_possible): Adjust all callers to go through
14894 gen_lowpart.
14895 * emit-rtl.c (gen_lowpart_general): New name of gen_lowpart.
14896 (gen_lowpart): Declare as pointer to function, initialized to
14897 gen_lowpart_general.
14898 * rtl.h (gen_lowpart): Declare as pointer to function.
14899
f84d109f
KH
149002004-01-31 Kazu Hirata <kazu@cs.umass.edu>
14901
14902 * bt-load.c: Replace "gen_rtx (FOO, " with "gen_rtx_FOO (".
14903 * calls.c: Likewise.
14904 * emit-rtl.c: Likewise.
14905 * function.c: Likewise.
14906 * reload1.c: Likewise.
14907 * config/i386/cygming.h: Likewise.
14908 * config/i386/i386.c: Likewise.
14909 * config/i386/winnt.c: Likewise.
14910
354b7da5
DH
149112004-01-30 Dara Hazeghi <dhazeghi@yahoo.com>
14912
14913 PR bootstrap/9249
14914 * doc/install.texi: document --enable-__cxa_atexit option.
14915 * configure.ac: Disable __cxa_atexit if not supported.
14916 * configure: Regenerate.
14917
9781b6da
DB
149182003-01-30 Daniel Berlin <dberlin@dberlin.org>
14919
14920 * ggc-zone.c (ggc_free): New function.
14921
283334f0
KH
149222004-01-30 Kazu Hirata <kazu@cs.umass.edu>
14923
14924 alloc-pool.c, c-lex.c, c-pragma.h, c-semantics.c, cfghooks.c,
14925 cfghooks.h, cfglayout.c, cfgloopmanip.c, debug.c, debug.h,
14926 flow.c, genextract.c, ggc-common.c, ggc-page.c, ggc.h,
14927 ifcvt.c, jump.c, loop-unswitch.c, timevar.c, timevar.def,
14928 tree-optimize.c, vmsdbgout.c, config/fp-bit.c,
14929 config/alpha/alpha.c, config/alpha/alpha.h,
14930 config/alpha/alpha.md, config/alpha/unicosmk.h,
14931 config/alpha/vms.h, config/arm/linux-elf.h, config/avr/avr.c,
14932 config/c4x/c4x-protos.h, config/c4x/c4x.md,
14933 config/d30v/d30v.h, config/frv/frv.md, config/frv/frvbegin.c,
14934 config/frv/frvend.c, config/i386/cygming.h,
14935 config/i386/djgpp.h, config/i386/emmintrin.h,
14936 config/i386/gthr-win32.c, config/i386/i386-interix.h,
14937 config/i386/i386-protos.h, config/i386/openbsd.h,
14938 config/i386/winnt.c, config/i386/xm-mingw32.h,
14939 config/i386/xmmintrin.h, config/ia64/ia64.md,
14940 config/iq2000/iq2000.md, config/m32r/m32r.md,
14941 config/m68k/m68k.md, config/mcore/mcore-elf.h,
14942 config/mcore/mcore.md, config/mips/elf.h, config/mips/elf64.h,
14943 config/mips/iris5gas.h, config/mips/iris6.h,
14944 config/mips/iris6gas.h, config/mips/linux.h,
14945 config/mips/mips.md, config/mips/netbsd.h,
14946 config/mips/openbsd.h, config/mips/windiss.h,
14947 config/pa/fptr.c, config/rs6000/aix.h,
14948 config/rs6000/altivec.h, config/rs6000/darwin.h,
14949 config/rs6000/xcoff.h, config/s390/s390-protos.h,
14950 config/s390/s390.c, config/s390/s390.h, config/s390/s390.md,
14951 config/sh/netbsd-elf.h, config/sh/sh.h, config/sh/vxworks.h,
14952 config/sparc/sol2.h: Update copyright.
14953
71cbe2c1
KC
149542004-01-30 Kelley Cook <kcook@gcc.gnu.org>
14955
14956 * Makefile.in (abs_docdir, abs_srcdir): Define.
14957 (doc/%.dvi, doc/gccinstall.dvi): Use $(abs_docdir).
14958
bfb2d661
KH
149592004-01-30 Kazu Hirata <kazu@cs.umass.edu>
14960
14961 * genconfig.c (main): Have CC0_P check its operand even on a
14962 target without cc0.
14963
bd5bd7ac
KH
149642004-01-30 Kazu Hirata <kazu@cs.umass.edu>
14965
14966 * config/alpha/alpha.c: Remove mentions of deprecates macros
14967 in comments, remove some target-independent comments about target
14968 macros, and/or add minimal function comments for target hook
14969 implementations.
14970 * config/avr/avr.c: Likewise.
14971 * config/ia64/ia64.h: Likewise.
14972 * config/ip2k/ip2k.c: Likewise.
14973 * config/iq2000/iq2000.c: Likewise.
14974 * config/m32r/m32r.h: Likewise.
14975 * config/m68hc11/m68hc11.c: Likewise.
14976 * config/mcore/mcore.c: Likewise.
14977 * config/mmix/mmix.c: Likewise.
14978 * config/mn10300/mn10300.c: Likewise.
14979 * config/pa/pa.c: Likewise.
14980 * config/pdp11/pdp11.c: Likewise.
14981 * config/rs6000/rs6000.h: Likewise.
14982 * config/sh/sh.c: Likewise.
14983 * config/sh/sh.h: Likewise.
14984 * config/sparc/sparc.c: Likewise.
14985 * config/sparc/sparc.h: Likewise.
14986 * config/stormy16/stormy16.c: Likewise.
14987 * config/xtensa/xtensa.c: Likewise.
14988
808ededc
UW
149892004-01-30 Ulrich Weigand <uweigand@de.ibm.com>
14990
14991 PR optimization/12147
14992 * reload1.c (reload_reg_free_p): RELOAD_OTHER conflicts with
14993 RELOAD_FOR_OPADDR_ADDR.
14994 (reload_reg_reaches_end_p): RELOAD_FOR_OTHER_ADDRESS register
14995 might be reused as RELOAD_FOR_OPADDR_ADDR register.
14996
98e5e087
JH
149972004-01-30 Jan Hubicka <jh@suse.cz>
14998
bd5bd7ac 14999 * reload.c (get_secondary_mem): Fix updating of
98e5e087
JH
15000 secondary_memlocs_elim_used.
15001
3234b52d
RH
150022004-01-30 Richard Henderson <rth@redhat.com>
15003
15004 * varasm.c (struct rtx_const, struct pool_constant): Remove.
15005 (MAX_RTX_HASH_TABLE): Remove.
15006 (const_rtx_hash_table, const_rtx_sym_hash_table): Remove.
15007 (first_pool, last_pool, pool_offset): Remove.
15008 (struct rtx_constant_pool): Split out from ...
15009 (struct varasm_status): ... here. Reference one via pointer.
15010 (struct constant_descriptor_rtx): Merge struct pool_constant.
15011 (SYMHASH): Remove.
15012 (decode_rtx_const): Remove.
15013 (const_hash_rtx, compare_constant_rtx): Remove.
15014 (record_constant_rtx): Remove.
15015 (const_desc_rtx_hash, const_desc_rtx_eq): New.
15016 (const_desc_rtx_sym_hash, const_desc_rtx_sym_eq): New.
15017 (const_rtx_hash_1, const_rtx_hash): New.
15018 (init_varasm_status): Allocate a rtx_constant_pool, and its hashes.
15019 (simplify_subtraction): Use simplify_rtx.
15020 (force_const_mem): Rewrite to use new data structures.
15021 (find_pool_constant): Likewise.
15022 (get_pool_constant, get_pool_constant_mark,
15023 get_pool_constant_for_function, get_pool_mode,
15024 get_pool_mode_for_function, get_pool_offset, get_pool_size): Likewise.
15025 (output_constant_pool_2): Split out from output_constant_pool.
15026 (output_constant_pool_1): Likewise. Use new pool datastructures.
15027 (output_constant_pool): Zap entire pool datastructure.
15028 (mark_constant): Use new pool datastructures.
15029 (mark_constants): Use for_each_rtx.
15030 (mark_constant_pool): Use new pool datastructures.
15031
be77d9e7 150322004-01-30 Fariborz Jahanian <fjahanian@apple.com>
16dd5cfe 15033
a6f78652 15034 * config/rs6000/rs6000.c (rs6000_emit_move): Remove #if 0.
be77d9e7
FJ
15035 Copy operands[1] to pseudo for simplify_gen_subreg.
15036
f0cad2d5
KH
150372004-01-30 Kazu Hirata <kazu@cs.umass.edu>
15038
15039 * gcse.c (bypass_block): Fix a typo in the previous check-in
15040 to the file.
15041
40ca90bf
AP
150422004-01-30 Andrew Pinski <pinskia@physics.uc.edu>
15043
15044 * toplev.c: Include alloc-pool.h.
16dd5cfe 15045 * Makefile.in (toplev.c): Update dependencies.
40ca90bf 15046
39a44a4e
RK
150472004-01-30 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15048
15049 * combine.c (simplify_shift_const, case XOR): Be careful when
15050 commuting XOR with ASHIFTRT.
15051
3e2cc1d1 150522004-01-30 Kazu Hirata <kazu@cs.umass.edu>
a6f78652 15053 Eric Botcazou <ebotcazou@libertysurf.fr>
3e2cc1d1
KH
15054
15055 * config/sparc/sparc-protos.h: Remove the prototype for
15056 sparc_builtin_saveregs.
15057 * config/sparc/sparc.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
15058 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
15059 (TARGET_PROMOTE_PROTOTYPES): Likewise.
15060 (TARGET_STRUCT_VALUE_RTX): Likewise.
15061 (TARGET_RETURN_IN_MEMORY): Likewise.
15062 (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
15063 (TARGET_STRICT_ARGUMENT_NAMING): Likewise.
15064 (sparc_builtin_saveregs): Make it static.
15065 (sparc_promote_prototypes): New.
15066 (sparc_struct_value_rtx): Likewise.
15067 (sparc_return_in_memory): Likewise.
15068 * config/sparc/sparc.h: (PROMOTE_FUNCTION_ARGS): Remove.
15069 (PROMOTE_FUNCTION_RETURN): Likewise.
15070 (RETURN_IN_MEMORY): Likewise.
15071 (STRUCT_VALUE): Likewise.
15072 (STRUCT_VALUE_INCOMING): Likewise.
15073 (EXPAND_BUILTIN_SAVEREGS): Likewise.
15074 (STRICT_ARGUMENT_NAMING): Likewise.
15075 (PROMOTE_PROTOTYPES): Likewise.
15076
15077 * config/sparc/sparc.h (PROMOTE_MODE): Use word_mode.
15078
5e9295fa
EB
150792004-01-30 Eric Botcazou <ebotcazou@libertysurf.fr>
15080
15081 PR c/12818
15082 * varasm.c (const_hash_1) <STRING_CST>: Use the
15083 address to compute the hash value if flag_writable_strings.
15084 (compare_constant) <STRING_CST>: Compare the addresses
15085 if flag_writable_strings.
15086 (build_constant_desc): Do not copy the expression for a
15087 STRING_CST if flag_writable_strings.
15088
1f2eae8d
JH
150892004-01-30 Jan Hubicka <jh@suse.cz>
15090
1e0f41c9
JH
15091 * alloc-pool.c: Include hashtab.h
15092 (alloc_pool_descriptor): New structure
15093 (alloc_pool_hash): New global variable.
15094 (hash_descriptor, eq_descriptor, alloc_pool_descriptor): New.
15095 (create_alloc_pool): Update statistics.
15096 (free_alloc_pool): Likewise.
15097 (pool_alloc): Likewise.
15098 (output_info): New structure
15099 (print_statistics, dump_alloc_pool_statistics): New function.
15100 * alloc-pool.h (alloc_pool_def): Turn name to be constant.
15101 (dump_alloc_pool_statistics): Declare.
15102 * toplev.c (finalize): Dump statistics.
15103
1f2eae8d
JH
15104 * reload.c (secondary_memlocs_elim_used): New static variable.
15105 (get_secondary_mem): Update it.
15106 (find_reloads): Use it.
15107
80a08664
SB
151082004-01-30 Steven Bosscher <s.bosscher@student.tudelft.nl>
15109
15110 * toplev.c: Fix broken checkin of 2003-12-30, again.
15111
57116d8d
UW
151122004-01-30 Ulrich Weigand <uweigand@de.ibm.com>
15113
15114 * configure.ac (gcc_cv_as_dwarf2_debug_line): Enable test for
15115 s390*-*-* targets by specifying a 'nop' insn.
15116 * configure: Regenerate.
15117
5fddd9fe
EB
151182004-01-30 Eric Botcazou <ebotcazou@libertysurf.fr>
15119
15120 PR target/11475
15121 * config/sparc/sparc.md (movhi_lo_sum): Tighten predicates.
15122
64fc7c00
JJ
151232004-01-29 Jakub Jelinek <jakub@redhat.com>
15124
15125 * emit-rtl.c (change_address): Use XEXP (memref, 0) instead
15126 of addr when creating MEM copy.
15127
ed672aa8
DP
151282004-01-29 Devang Patel <dpatel@apple.com>
15129
15130 * dwarf2out.c (gen_field_die): Do not equate decl number to die.
16dd5cfe 15131
7e3aa041
ILT
151322004-01-28 Ian Lance Taylor <ian@wasabisystems.com>
15133
15134 PR inline-asm/6162
15135 * reload.c (find_reloads): Only support one pair of commutative
15136 operands.
15137
06f12aa0
RS
151382004-01-29 Roger Sayle <roger@eyesopen.com>
15139
15140 PR java/13824
15141 * tree.c (unsafe_for_reeval): Handle EXIT_BLOCK_EXPR nodes specially
15142 as their EXIT_BLOCK_LABELED_BLOCK operands can lead to unbounded
15143 recursion.
15144
b88cf82e
KH
151452004-01-29 Kazu Hirata <kazu@cs.umass.edu>
15146
15147 * config/frv/frv.c: Don't mention deprecated macros in
15148 comments. Remove some target-independent comments about
15149 target macros.
15150 * config/frv/frv.h: Likewise.
15151
3ae4a5b1
ZD
151522004-01-29 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
15153
15154 * cfghooks.c (split_block): Set probability and count of the
15155 new edge.
15156
636c7bc4
JZ
151572005-01-29 Josef Zlomek <zlomekj@suse.cz>
15158
15159 * dwarf2out.c (struct die_struct): Added field decl_id.
15160 (decl_die_table): Changed to hash table.
15161 (decl_die_table_allocated): Deleted.
15162 (decl_die_table_in_use): Deleted.
15163 (DECL_DIE_TABLE_INCREMENT): Deleted.
15164 (decl_die_table_hash): New function.
15165 (decl_die_table_eq): New function.
15166 (lookup_decl_die): Lookup in a hash table.
15167 (equate_decl_number_to_die): Insert into a hash table.
15168 (dwarf2out_init): Init hash table decl_die_table.
15169
4e44c1ef
JJ
151702004-01-29 Jakub Jelinek <jakub@redhat.com>
15171
15172 PR optimization/13424
15173 * expr.c (store_constructor): Revert 2003-12-03 change.
15174
15175 * emit-rtl.c (change_address): Check also if MEM_ATTRS is set as
15176 expected before returning early. Avoid sharing RTL if they
15177 need to be changed.
15178
15179 * config/i386/i386.c (ix86_expand_movstr): Rework rep_mov and strmov
15180 handling so that memory attributes are preserved. Don't call
15181 ix86_set_move_mem_attrs.
15182 (ix86_set_move_mem_attrs_1, ix86_set_move_mem_attrs): Removed.
15183 (ix86_expand_clrstr): Rename src argument to
15184 dst. Rework rep_stos and strset handling so that memory attributes
15185 are preserved.
15186 (ix86_expand_strlen): Pass src argument to
15187 ix86_expand_strlensi_unroll_1. Rework strlenqi_1 handling so that
15188 memory attributes are preserved.
15189 (ix86_expand_strlensi_unroll_1): Add src argument. Use
15190 change_address instead of gen_rtx_MEM.
15191 * config/i386/i386.md (strmov, strmov_singleop, rep_mov): New
15192 expanders.
15193 (strmovdi_rex64, strmovsi, strmovsi_rex64, strmovhi, strmovhi_rex64,
15194 strmovqi, strmovqi_rex64): Remove.
15195 (rep_mov*, strmov*): Prefix insn names with *.
15196 (strset, strset_singleop, rep_stos): New expanders.
15197 (strsetdi_rex64, strsetsi, strsetsi_rex64, strsethi, strsethi_rex64,
15198 strsetqi, strsetqi_rex64): Remove.
15199 (rep_stos*, strset*): Prefix insn names with *.
15200 (rep_stosqi_rex64): Likewise. Fix mode of dirflag reg from DImode
15201 to SImode.
15202 (cmpstrsi): Rework cmpstrqi_1 handling so that memory attributes
15203 are preserved.
15204 (cmpstrqi_nz_1, cmpstrqi_nz_rex_1, cmpstrqi_1, cmpstrqi_rex_1):
15205 Prefix insn names with *.
15206 (cmpstrqi_nz_1, cmpstrqi_1): New expanders.
15207 (strlenqi_1, strlenqi_rex_1): Prefix insn names with *.
15208 (strlenqi_1): New expander.
15209 * config/i386/i386.h (ix86_set_move_mem_attrs): Remove prototype.
15210
f470c378
ZD
152112004-01-29 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
15212
15213 * Makefile.in (cfghooks.o): Add TIMEVAR_H and toplev.h dependency.
15214 * basic-block.h (tidy_fallthru_edge, tidy_fallthru_edges, dump_bb,
15215 verify_flow_info): Declaration removed.
15216 * cfg.c (verify_flow_info, dump_bb): Moved to cfghooks.c.
15217 (debug_bb, debug_bb_n): Add argument to dump_bb call.
15218 * cfgcleanup.c (try_simplify_condjump, try_crossjump_to_edge,
15219 try_optimize_cfg, delete_unreachable_blocks): Use delete_basic_block
15220 instead of delete_block.
15221 * cfghooks.c: Include timevar.h and toplev.h.
15222 (cfg_hooks): Define here.
15223 (verify_flow_info, dump_bb): Moved from cfg.c.
15224 (redirect_edge_and_branch, redirect_edge_and_branch_force,
15225 split_block, split_block_after_labels, move_block_after,
15226 delete_basic_block, split_edge, create_basic_block,
15227 create_empty_bb, can_merge_blocks_p, merge_blocks,
15228 make_forwarder_block, tidy_fallthru_edge, tidy_fallthru_edges):
15229 New functions.
15230 * cfghooks.h (struct cfg_hooks): Added fields name,
15231 make_forwarder_block, tidy_fallthru_edge and
15232 move_block_after. Changed type of verify_flow_info, dump_bb,
15233 split_block fields. Renamed cfgh_split_edge and delete_block
15234 fields.
15235 (redirect_edge_and_branch, redirect_edge_and_branch_force,
15236 split_block, delete_block, split_edge, create_basic_block,
15237 can_merge_blocks_p, merge_blocks): Macros removed.
15238 (cfg_hooks): Do not export.
15239 (verify_flow_info, dump_bb, redirect_edge_and_branch,
15240 redirect_edge_and_branch_force, split_block, split_block_after_labels,
15241 move_block_after, delete_basic_block, split_edge, create_basic_block,
15242 create_empty_bb, can_merge_blocks_p, merge_blocks,
15243 make_forwarder_block, tidy_fallthru_edge, tidy_fallthru_edges):
15244 Declare.
15245 (cfg_layout_rtl_cfg_hooks): Declare.
15246 * cfgloop.c (update_latch_info, mfb_keep_just, mfb_keep_nonlatch):
15247 New functions.
15248 (canonicalize_loop_headers): Use new semantics of make_forwarder_block.
15249 (redirect_edge_with_latch_update): Removed.
15250 (make_forwarder_block): Moved to cfghooks.c, semantics changed.
15251 * cfgloopmanip.c (remove_bbs): Do not update dominators here.
15252 * cfgrtl.c (cfg_layout_split_block, rtl_split_block, rtl_dump_bb,
15253 rtl_delete_block, rtl_split_block, rtl_merge_blocks,
15254 tidy_fallthru_edge, rtl_split_edge, cfg_layout_delete_block,
15255 cfg_layout_merge_blocks, cfg_layout_split_edge): Partly moved to
15256 cfghooks.c.
15257 (rtl_create_basic_block): Coding style fix.
15258 (rtl_tidy_fallthru_edge, rtl_move_block_after,
15259 rtl_make_forwarder_block): New functions.
15260 (update_cfg_after_block_merging): Removed.
15261 (rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): Fill in new entries.
15262 * flow.c (verify_wide_reg, verify_local_live_at_start): Add argument
15263 to dump_bb.
15264 * ifcvt.c (merge_if_block, find_cond_trap, find_if_case_1,
15265 find_if_case_2): Don't update dominators.
15266 * timevar.def (TV_CFG_VERIFY): New.
15267 * loop-unswitch.c (unswitch_loop): Don't call add_to_dominance_info.
15268 * cfglayout.c (copy_bbs): Don't call add_to_dominance_info.
15269 * cfgloopmanip.c (split_loop_bb): Don't update dominators.
15270 (remove_bbs): Don't call remove_bbs.
15271 (create_preheader): Use make_forwarder_block.
15272 (mfb_keep_just, mfb_update_loops): New static functions.
15273
3cea4788
KH
152742004-01-29 Kazu Hirata <kazu@cs.umass.edu>
15275
15276 * config/avr/avr.h: Remove target-independent comments about
15277 target macros.
15278
75e853f2 152792004-01-28 Daniel Berlin <dberlin@dberlin.org>
16dd5cfe 15280
75e853f2
DB
15281 * timevar.c (timevar_print): Mention when checking is enabled.
15282
7625e73d
GB
152832004-01-28 Giovanni Bajo <giovannibajo@gcc.gnu.org>
15284
15285 * c-lex.c (c_lex): Rename to...
15286 (c_lex_with_flags): Add new parameter to get CPP flags.
15287 (c_lex): Thunk to c_lex_with_flags while keeping the old interface.
15288 * c-pragma.h (c_lex_with_flags): Declare.
15289
dc7efe6e
KH
152902004-01-28 Kazu Hirata <kazu@cs.umass.edu>
15291
15292 * config/mcore/mcore.c (mcore_external_libcall): Add a
15293 comment.
15294 (mcore_return_in_memory): Likewise.
15295
09a2b93a
KH
152962004-01-28 Kazu Hirata <kazu@cs.umass.edu>
15297
15298 * config/mcore/mcore-protos.h: Remove the prototype for
15299 mcore_setup_incoming_varargs.
15300 * config/mcore/mcore.c (TARGET_ASM_EXTERNAL_LIBCALL): New.
15301 (TARGET_PROMOTE_FUNCTION_ARGS): Likewise.
15302 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
15303 (TARGET_PROMOTE_PROTOTYPES): Likewise.
15304 (TARGET_STRUCT_VALUE_RTX): Likewise.
15305 (TARGET_RETURN_IN_MEMORY): Likewise.
15306 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
15307 (mcore_setup_incoming_varargs): Make it static. Receive the
15308 first argument by reference. Add argument second_time.
15309 (mcore_external_libcall): New.
15310 (mcore_return_in_memory): Likewise.
15311 * config/mcore/mcore.h (PROMOTE_FUNCTION_ARGS): New.
15312 (PROMOTE_FUNCTION_RETURN): Likewise.
15313 (STRUCT_VALUE): Likewise.
15314 (RETURN_IN_MEMORY): Likewise.
15315 (SETUP_INCOMING_VARARGS): Likewise.
15316 (PROMOTE_PROTOTYPES): Likewise.
15317 (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
15318
a7ed00da
KH
153192004-01-28 Kazu Hirata <kazu@cs.umass.edu>
15320
15321 * config/m32r/m32r-protos.h: Remove the prototype for
15322 m32r_setup_incoming_varargs.
15323 * config/m32r/m32r.c (TARGET_PROMOTE_PROTOTYPES): New.
15324 (TARGET_STRUCT_VALUE_RTX): Likewise.
15325 (TARGET_RETURN_IN_MEMORY): Likewise.
15326 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
15327 (m32r_return_in_memory): New.
15328 (m32r_setup_incoming_varargs): Make it static.
15329 * config/m32r/m32r.h: Remove #undef of
15330 ASM_OUTPUT_EXTERNAL_LIBCALL. Remove the commented-out
15331 definitions of PROMOTE_FUNCTION_ARGS and
15332 PROMOTE_FUNCTION_RETURN.
15333 (PROMOTE_PROTOTYPES): Remove.
15334 (RETURN_IN_MEMORY): Likewise.
15335 (STRUCT_VALUE): Likewise.
15336
8636be86
KH
153372004-01-28 Kazu Hirata <kazu@cs.umass.edu>
15338
15339 * config/m68k/m68k.c (TARGET_PROMOTE_PROTOTYPES): New.
15340 (TARGET_STRUCT_VALUE_RTX): Likewise.
15341 (m68k_struct_value_rtx): Likewise.
15342 * config/m68k/m68k.h (STRUCT_VALUE_REGNUM): Rename to
15343 STRUCT_VALUE_REGNUM.
15344 (PROMOTE_PROTOTYPES): Remove.
15345 * config/m68k/m68kelf.h (STRUCT_VALUE_REGNUM): Rename to
15346 STRUCT_VALUE_REGNUM.
15347 * config/m68k/m68kv4.h (STRUCT_VALUE_REGNUM): Likewise.
15348 * config/m68k/netbsd-elf.h (STRUCT_VALUE_REGNUM): Likewise.
15349
f2f61ee7
KH
153502004-01-28 Kazu Hirata <kazu@cs.umass.edu>
15351
15352 * config/stormy16/stormy16.c
15353 (TARGET_BUILD_BUILTIN_VA_LIST_TYPE): Rename to
15354 TARGET_BUILD_BUILTIN_VA_LIST.
15355
fb7bc7fb
KH
153562004-01-28 Kazu Hirata <kazu@cs.umass.edu>
15357
15358 * config/v850/v850.c (TARGET_PROMOTE_PROTOTYPES): New.
15359 (TARGET_STRUCT_VALUE_RTX): Likewise.
15360 (TARGET_RETURN_IN_MEMORY): Likewise.
15361 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
15362 (v850_return_in_memory): Likewise.
15363 (v850_setup_incoming_varargs): Likewise.
15364 * config/v850/v850.h (PROMOTE_PROTOTYPES): Remove.
15365 (SETUP_INCOMING_VARARGS): Likewise.
15366 (RETURN_IN_MEMORY): Likewise.
15367 (STRUCT_VALUE): Likewise.
15368
0fd818e7
KH
153692004-01-28 Kazu Hirata <kazu@cs.umass.edu>
15370
15371 * config/fr30/fr30.c (TARGET_PROMOTE_PROTOTYPES): New.
15372 (fr30_setup_incoming_varargs): Don't use
15373 STRICT_ARGUMENT_NAMING.
15374 * config/fr30/fr30.h (PROMOTE_PROTOTYPES): Remove.
15375 (STRICT_ARGUMENT_NAMING): Likewise.
15376
8ac411c7
KH
153772004-01-28 Kazu Hirata <kazu@cs.umass.edu>
15378
15379 * config/frv/frv-protos.h: Remove the prototype for
15380 frv_expand_builtin_saveregs.
15381 * config/frv/frv.c (TARGET_STRUCT_VALUE_RTX): Likewise.
15382 (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
15383 (frv_stack_info): Use FRV_STRUCT_VALUE_REGNUM instead of
15384 STRUCT_VALUE_REGNUM.
15385 (frv_expand_builtin_saveregs): Make it static.
15386 (frv_struct_value_rtx): New.
15387 * config/frv/frv.h (EXPAND_BUILTIN_SAVEREGS): Remove.
15388
d173e685
JH
153892004-01-29 Jan Hubicka <jh@suse.cz>
15390
15391 PR c++/12850
15392 * cgraph.c (cgraph_remove_node): Clear out saved/insns/arguments and
15393 initial pointers.
15394 * cgraphunit.c (cgraph_finalize_function): Clear out DECL_SAVED_INSNS
15395 for functions that will be only inlined.
15396 (cgraph_mark_function_to_output): Likewise.
15397 (cgraph_expand_function): Sanity check that DECL_DEFER_OUTPUT is clear;
15398 do not clear function body.
15399 * tree-optimize.c (clear_decl_rtl): Use decl_function_context.
15400 (tree_rest_of_compilation): Reorganize the logic releasing function
15401 body to use callgraph datastructure.
15402
f7a1010e
JDA
154032004-01-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15404
15405 * pa.md: Change predicate of a peephole2 pattern from reg_or_0_operand
15406 to register_operand.
15407
e7f47f83
ZW
154082004-01-28 Zack Weinberg <zack@codesourcery.com>
15409
15410 * config/ia64/ia64.md (fetchadd_acq_si, fetchadd_acq_di)
15411 (cmpxchg_acq_si, cmpxchg_acq_di): Exchange match_dup and
15412 match_operand expressions so that all match_dups appear
15413 lexically after their corresponding match_operands.
15414
1807b726
KH
154152004-01-28 Kazu Hirata <kazu@cs.umass.edu>
15416
15417 * config/h8300/h8300.c (WORD_REG_USED): Use
15418 HARD_FRAME_POINTER_REGNUM instead of FRAME_POINTER_REGNUM.
15419 (compute_saved_regs): Likewise.
15420 (h8300_expand_prologue): Likewise. Allocate locals after
15421 saving registers.
15422 (h8300_expand_epilogue): Use HARD_FRAME_POINTER_REGNUM instead
15423 of FRAME_POINTER_REGNUM. Deallocate locals before saving
15424 registers.
15425 (h8300_initial_elimination_offset): Adjust for the new frame
15426 layout, which swaps flips the order of locals and saved
15427 registers.
15428 * config/h8300/h8300.h (FIRST_PSEUDO_REGISTER): Change to 12.
15429 (HARD_FRAME_POINTER_REGNUM): New.
15430 (ELIMINABLE_REGS): Add an elimination rule from
15431 FRAME_POINTER_REGNUM to HARD_FRAME_POINTER_REGNUM.
15432 (REGISTER_NAMES): Add fp.
15433 * config/h8300/h8300.md (FP_REG): Change to 11.
15434 (HFP_REG): New.
15435
be2c39f8
KH
154362004-01-28 Kazu Hirata <kazu@cs.umass.edu>
15437
15438 * genrecog.c (write_node): Remove a useless local variable.
15439
469ef4a3
ILT
154402004-01-28 Ian Lance Taylor <ian@wasabisystems.com>
15441
15442 * Makefile.in (options.c options.h): Use stamp file s-options to
15443 avoid unnecessary rebuilds.
15444 (options.o): New target listing dependencies.
15445 (gtyp-gen.h): Use stamp file s-gtyp-gen.
15446 (STAGESTUFF): Add s-gtyp-gen.
15447
685fe032
RH
154482004-01-28 Richard Henderson <rth@redhat.com>
15449
15450 * ggc.h (ggc_free): Declare.
15451 * ggc-common.c (ggc_realloc): Use it.
15452 * ggc-page.c: Remove lots of inline markers.
15453 (globals): Add free_object_list.
15454 (ggc_alloc): Tidy.
15455 (ggc_free, validate_free_objects): New.
15456 (poison_pages): Provide default.
15457 (ggc_collect): Call validate_free_objects; emit markers to
15458 the debug file.
15459
2ffe0e02
ZW
154602004-01-28 Zack Weinberg <zack@codesourcery.com>
15461 Jim Wilson <wilson@specifixinc.com>
15462
15463 * config/ia64/ia64.c (ia64_split_tmode, ia64_split_tmode_move):
15464 Rewrite to use POST_INC/POST_DEC/POST_MODIFY instead of a
15465 scratch pointer.
15466 (ia64_secondary_reload_class): Delete case GR_REGS.
15467 * config/ia64/ia64.md (movti, *movti_internal, movtf, *movtf_internal):
15468 Do not allocate a scratch register.
15469 (reload_inti, reload_outti, reload_intf, reload_outtf): Delete.
15470
a544524a
JH
154712004-01-28 Jan Hubicka <jh@suse.cz>
15472
15473 * gcse.c (bypass_block): Prevent edges to be unified when we are
15474 about to emit compenstation code.
15475
1b8f8174
NC
154762004-01-28 Nick Clifton <nickc@redhat.com>
15477
15478 * config/arm/arm.c (arm_expand_builtin): Force second argument of
15479 the setcwx insn into a register.
15480
faceece3
RS
154812004-01-28 Richard Sandiford <rsandifo@redhat.com>
15482
15483 * config/fp-bit.c (pack_d): When using paired doubles to implement
15484 a long double, round the high part separately.
15485 (unpack_d): Fix the case in which the high part is a power of two
15486 and the low part is a nonzero value of the opposite sign.
15487
28b24176
KH
154882004-01-28 Kazu Hirata <kazu@cs.umass.edu>
15489
15490 * config/c4x/c4x.c (TARGET_ASM_EXTERNAL_LIBCALL): New.
15491 (TARGET_STRUCT_VALUE_RTX): Likewise.
15492 (c4x_external_libcall): Likewise.
15493 (c4x_struct_value_rtx): Likewise.
15494 * config/c4x/c4x.h: Remove.
15495 (STRUCT_VALUE_REGNUM): Likewise.
15496 (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
15497
9184f892
KH
154982004-01-28 Kazu Hirata <kazu@cs.umass.edu>
15499
15500 * config/i386/i386.c (TARGET_PROMOTE_PROTOTYPES): New.
15501 (TARGET_STRUCT_VALUE_RTX): Likewise.
15502 * config/i386/i386.h (STRUCT_VALUE_INCOMING): Remove.
15503 (STRUCT_VALUE): Likewise.
15504 (PROMOTE_PROTOTYPES): Likewise.
15505
4cce9dd8
RS
155062004-01-27 Roger Sayle <roger@eyesopen.com>
15507
15508 * config/pa/pa.c (emit_move_sequence): Check that operand1 is a
15509 CONST_INT before using INTVAL.
15510
590fcf48
UW
155112004-01-27 Ulrich Weigand <uweigand@de.ibm.com>
15512
15513 * config/s390/s390.h (TARGET_DEFAULT): Default to !TARGET_BACKCHAIN.
15514 * config/s390/s390.c (s390_return_addr_rtx): Fail for all but current
15515 frame if !TARGET_BACKCHAIN.
2ffe0e02 15516 * config/s390/s390.md ("allocate_stack"): Use pattern only if
590fcf48
UW
15517 TARGET_BACKCHAIN.
15518 * doc/invoke.texi (-mbackchain/-mno-backchain): Document new default.
15519
826b47cc
ZW
155202004-01-27 Zack Weinberg <zack@codesourcery.com>
15521
15522 * ia64.c (ia64_function_arg): When placing HFAs in integer
15523 registers, do not special case the mode used for complex
15524 types. Do not advance int_regs until the current register
15525 is full.
15526
83810fcb
RS
155272004-01-27 Richard Sandiford <rsandifo@redhat.com>
15528
15529 PR target/7297
15530 * except.c (init_eh): Use a 5-word __jbuf for __builtin_setjmp().
15531
2d9db8eb
DE
155322004-01-27 David Edelsohn <edelsohn@gnu.org>
15533
15534 * config/rs6000/rs6000.c (rs6000_emit_move): #if 0 splitting
15535 slow, unaligned loads and stores while debugging. Fix formatting.
15536
39e453d7
DE
155372004-01-27 David Edelsohn <edelsohn@gnu.org>
15538
15539 * config/rs6000/rs6000.md (save_stack_nonlocal): Use Pmode instead
15540 of computing wmode.
15541 (restore_stack_nonlocal): Same.
15542
6097b0c3 155432004-01-27 Devang Patel <dpatel@apple.com>
826b47cc 15544
6097b0c3 15545 * Makefile.in (dwarf2out.o): Depend on input.h
826b47cc 15546 * dbxout.c (dbx_debug_hooks): Add new empty hook for
6097b0c3
DP
15547 imported_module_or_decl.
15548 (xcoff_debug_hooks): Same.
15549 * sdbout.c (sdb_debug_hooks): Same.
15550 * vmsdbgout.c (vmsdbg_debug_hooks): Same.
15551 * debug.c (do_nothing_debug_hooks): Same.
15552 (debug_nothing_tree_tree): New function.
15553 * debug.h (gcc_debug_hooks): New hook, imported_module_or_decl.
15554 * dwarf2out.c: Include input.h.
15555 (dwarf2_debug_hooks): Add new hook for imported_module_or_decl.
15556 (remove_child_TAG): New function.
15557 (dwarf_tag_name): Handle DW_TAG_imported_module.
15558 (gen_subprogram_die): Equate decl number to declaration die. Do not
15559 remove all children dies while reusing declaration die for definition.
15560 Instead, selectively remove only formal parameters.
15561 (gen_variable_die): Equate variable decl to declaration die.
15562 (gen_field_die): Equate field decl to line number.
15563 (force_namespace_die): Replace it with ...
15564 (force_decl_die): ... this.
15565 (force_type_die): New function.
15566 (setup_namespace_context): Replace use of force_namespace_die() with
15567 force_decl_die().
15568 (gen_namespace_die): Same.
15569 (dwarf2out_imported_module_or_decl): New function.
15570
e6aecf8e 155712004-01-27 Bob Wilson <bob.wilson@acm.org>
826b47cc 15572
e6aecf8e
BW
15573 * config/xtensa/xtensa.c (xtensa_copy_incoming_a7): Remove SUBREG
15574 on CQImode and CHImode incoming arguments in register a7.
15575 (function_arg): Wrap BLKmode argument in register a7 in a PARALLEL.
15576 * config/xtensa/xtensa.h (BLOCK_REG_PADDING): Define.
15577 * config/xtensa/xtensa.md (movdi, movdf): Only call force_reg or
15578 xtensa_copy_incoming_a7 before reload.
826b47cc 15579
02307675
R
155802004-01-27 J"orn Rennecke <joern.rennecke@superh.com>
15581
15582 * coverage.c (get_coverage_counts): Give a different message
15583 if flag_guess_branch_prob is set.
15584 * predict.c (counts_to_freqs): Return an int.
15585 (estimate_bb_frequencies): If counts_to_freqs returns zero,
15586 calculate estimates.
15587
69a45040
KH
155882004-01-27 Kazu Hirata <kazu@cs.umass.edu>
15589
15590 * config/iq2000/iq2000-protos.h: Remove the prototype for
15591 iq2000_setup_incoming_varargs.
15592 * config/iq2000/iq2000.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
15593 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
15594 (TARGET_PROMOTE_PROTOTYPES): Likewise.
15595 (TARGET_STRUCT_VALUE_RTX): Likewise.
15596 (TARGET_RETURN_IN_MEMORY): Likewise.
15597 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
15598 (TARGET_STRICT_ARGUMENT_NAMING): Likewise.
15599 (iq2000_return_in_memory): Likewise.
15600 (iq2000_setup_incoming_varargs): Make it static. Receive the
15601 first argument by reference.
15602 * config/iq2000/iq2000.h (PROMOTE_FUNCTION_ARGS): Remove.
15603 (PROMOTE_FUNCTION_RETURN): Likewise.
15604 (PROMOTE_PROTOTYPES): Likewise.
15605 (RETURN_IN_MEMORY): Likewise.
15606 (STRUCT_VALUE): Likewise.
15607 (SETUP_INCOMING_VARARGS): Likewise.
15608 (STRICT_ARGUMENT_NAMING): Likewise.
15609
9cdfc8e7
JM
156102004-01-24 James A. Morrison <ja2morri@uwaterloo.ca>
15611
826b47cc 15612 * fixinc/fixinc.c (test_test): Initialize res.
9cdfc8e7
JM
15613 (start_flexer): Initialize pz_cmd_save.
15614
60ffd2fe
ZW
156152004-01-27 Zack Weinberg <zack@codesourcery.com>
15616
15617 * doc/rtl.texi (Arithmetic): Rewrite entries for PLUS,
15618 SS_PLUS, US_PLUS, LO_SUM, MINUS, SS_MINUS, US_MINUS.
15619
52ad4d7b
ZW
156202004-01-27 Zack Weinberg <zack@codesourcery.com>
15621
15622 PR 7198
15623 * config/ia64/ia64.md (*nmaddsf4, *nmadddf4, *nmadddf4_alts)
15624 (*nmadddf4_trunc, *nmaddxf4, *nmaddxf4_truncsf, *nmaddxf4_truncdf)
15625 (*nmaddxf4_alts, *nmaddxf4_truncdf_alts):
15626 Rewrite pattern as (minus (op 3) (mult (op 1) (op 2))).
15627 Possibly rename pattern for consistency.
15628 Remove ??? comments suggesting that this be done.
15629 (*nmaddsf4_alts, *nmadddf4_truncsf_alts, *nmaddxf4_truncsf_alts):
15630 New patterns.
15631 (divsi3_internal, divdi3_internal_lat, divdi3_internal_thr)
15632 (divsf3_internal_lat, divsf3_internal_thr, sqrtsf2_internal_thr)
15633 (divdf3_internal_lat, divdf3_internal_thr, sqrtdf2_internal_thr)
15634 (divxf3_internal_lat, divxf3_internal_thr, sqrtxf2_internal_thr):
15635 Update to match.
15636
b034930f
ILT
156372004-01-27 Ian Lance Taylor <ian@wasabisystems.com>
15638
15639 * config/arm/arm.c (output_return_instruction): Only restore IP
15640 into SP if frame_pointer_needed.
15641
be446dfc
EB
156422004-01-27 Eric Botcazou <ebotcazou@libertysurf.fr>
15643
15644 * config/sparc/sparc.c (function_arg_pass_by_reference): Return 1
15645 for SCmode and DCmode if ARCH32.
15646 (sparc_va_arg): Handle SCmode and DCmode by reference if ARCH32.
15647 * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for TCmode
15648 if ARCH32.
15649 (BASE_RETURN_VALUE_REG): Return 32 for all FP modes except TFmode
15650 if ARCH32.
15651 (BASE_OUTGOING_VALUE_REG): Likewise.
15652
1b4bda70
EB
156532004-01-27 Eric Botcazou <ebotcazou@libertysurf.fr>
15654
15655 PR target/10904
15656 PR target/13058
15657 * config/sparc/sparc.h (CANNOT_CHANGE_MODE_CLASS): New.
15658 Forbid mode changes from SImode for lower FP regs if ARCH64.
15659
1194fc79
R
156602004-01-27 J"orn Rennecke <joern.rennecke@superh.com>
15661
15662 * Makefile.in (bt-load.o): Depend on except.h.
15663 * bt-load.c (except.h): #include.
15664 (compute_defs_uses_and_gen): If insn at end of BB can throw
15665 within this function, consider registers used by it unavailable for
15666 btr migration.
15667 (move_btr_def): If insn at end of BB can throw, insert before rather
15668 than after.
15669
15670 * flags.h (flag_btr_bb_exclusive): Declare.
15671 * toplev.c (flag_btr_bb_exclusive): New variable.
15672 (f_options): Add btr-bb-exclusive.
15673 * bt-load.c (augment_live_range): Restore old behaviour if
15674 flag_btr_bb_exclusive is set.
15675 * common.opt: Add entry for -fbtr-bb-exclusive.
15676 * opts.c (common_handle_options): Same.
15677 * doc/invoke.texi: Document -fbtr-bb-exclusive.
52ad4d7b 15678
1194fc79
R
15679 * bt-load.c (btrs_live_at_end): New variable.
15680 (compute_defs_uses_and_gen): Compute its pointed-to array.
15681 (clear_btr_from_live_range, add_btr_to_live_range): Update it.
15682 (augment_live_range): When augmenting with a new dominator,
15683 use only its btrs_live_at_end set, but also add in the full set
15684 of the old dominator.
15685 (btr_def_live_range): Use btrs_live_at_end.
15686 (move_btr_def): Set other_btr_uses_before_def, and move new set
15687 to the end of the basic block, if appropriate.
15688 (migrate_btr_defs): Allocate and free btrs_live_at_end.
52ad4d7b 15689
1194fc79
R
15690 * bt-load.c (basic_block_freq): Remove outdated comment.
15691
895ea8f0
AM
156922004-01-27 Alan Modra <amodra@bigpond.net.au>
15693
15694 * config/rs6000/rs6000.h: Correct target_flags free bits comment.
15695 (PREDICATE_CODES): Remove duplicate.
15696 * config/rs6000/linux64.h (CPP_SYSV_SPEC): Don't define.
15697 (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow 32 bit TARGET_PROFILE_KERNEL.
15698 (MASK_PROFILE_KERNEL): Adjust define.
15699
4137ba7a
JJ
157002004-01-27 Jakub Jelinek <jakub@redhat.com>
15701
15702 * config/i386/i386.c (ix86_constant_alignment): Decrease alignment
15703 of long string literals from 32 bytes to sizeof (void *) when !-Os
15704 and to 1 with -Os.
15705
a4bb41cc
KH
157062004-01-26 Kazu Hirata <kazu@cs.umass.edu>
15707
15708 * config/h8300/h8300.c (h8300_tiny_constant_address_p): Accept
15709 constant addresses in the normal mode.
15710
1c62e7b2
KG
157112004-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15712
15713 * system.h (CHAR_BITFIELD): Delete.
15714 (BOOL_BITFIELD): New.
15715 * c-decl.c (c_scope): Use BOOL_BITFIELD.
15716 * gengtype-lex.l: Recognize BOOL_BITFIELD instead of CHAR_BITFIELD.
15717
96ab60fc
KH
157182004-01-26 Kazu Hirata <kazu@cs.umass.edu>
15719
15720 * config/arc/arc.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
15721 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
15722 (TARGET_PROMOTE_PROTOTYPES): Likewise.
15723 (TARGET_STRUCT_VALUE_RTX): Likewise.
15724 (TARGET_RETURN_IN_MEMORY): Likewise.
15725 (arc_return_in_memory): Likewise.
15726 * config/arc/arc.h (PROMOTE_FUNCTION_ARGS): Remove.
15727 (PROMOTE_FUNCTION_RETURN): Likewise.
15728 (RETURN_IN_MEMORY): Likewise.
15729 (STRUCT_VALUE): Likewise.
15730
6d4b0a5d
RH
157312004-01-26 Richard Henderson <rth@redhat.com>
15732
15733 * c-parse.in (extension): Use itype.
15734 (SAVE_EXT_FLAGS): Don't allocate a tree.
15735 (RESTORE_EXT_FLAGS): Don't read a tree.
15736
18874af6
JH
157372004-01-26 Jan Hubicka <jh@suse.cz>
15738
15739 * cselib.c (discard_useless_values): Clear out value pointer pointing
15740 to datastructure to be recycled.
15741
501f88de
JH
157422004-01-25 Jan Hubicka <jh@suse.cz>
15743
15744 * genextract.c (main): Do not output the memset when not checking.
15745
d6456562
KH
157462004-01-26 Kazu Hirata <kazu@cs.umass.edu>
15747
15748 * config/h8300/h8300.c (h8300_tiny_constant_address_p): Use a
15749 switch statement instead of a chain of if statements.
15750
5cea9d5d
JL
157512004-01-26 Jeff Law <law@redhat.com>
15752
15753 * doc/contrib.texi: Minor cleanup for Paolo Carlini's entry. Add
15754 acute accents for Petur Runolfsson's entry.
15755
04e9daaf
KH
157562004-01-26 Kazu Hirata <kazu@cs.umass.edu>
15757
15758 * config/pdp11/pdp11.c (TARGET_STRUCT_VALUE_RTX): New.
15759 (TARGET_RETURN_IN_MEMORY): Likewise.
15760 * config/pdp11/pdp11.h (STRUCT_VALUE): Remove.
15761 (RETURN_IN_MEMORY): Likewise.
15762
40ca90bf 157632004-01-26 Fariborz Jahanian <fjahanian@apple.com>
6c8066b9 15764
52ad4d7b
ZW
15765 * config/rs6000/rs6000.c (rs6000_emit_move): split slow
15766 unaligned load/store into smaller loads and stores.
6c8066b9 15767
40ca90bf 157682004-01-26 Fariborz Jahanian <fjahanian@apple.com>
6c8066b9 15769
52ad4d7b
ZW
15770 * function.c (assign_parms): Do not assign
15771 long long argument to memory in prologue if
15772 is it loaded into register.
6c8066b9 15773
40ca90bf 157742004-01-26 Fariborz Jahanian <fjahanian@apple.com>
6c8066b9
FJ
15775
15776 PR middle-end/13779
52ad4d7b
ZW
15777 * expr.c (emit_group_load): split constant
15778 correctly into register components of PARALLEL insn.
6c8066b9 15779
40ca90bf 157802004-01-26 Fariborz Jahanian <fjahanian@apple.com>
6c8066b9
FJ
15781
15782 * gcc/config/rs6000/rs6000.md (save_stack_nonlocal):
15783 Use adjust_address_nv directly with appropriate mode.
15784 (restore_stack_nonlocal): Ditto.
15785
4c45af42
KH
157862004-01-26 Kazu Hirata <kazu@cs.umass.edu>
15787
15788 * config/xtensa/xtensa-protos.h: Remove the prototype for
15789 xtensa_builtin_saveregs.
15790 * config/xtensa/xtensa.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
15791 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
15792 (TARGET_PROMOTE_PROTOTYPES): Likewise.
15793 (TARGET_STRUCT_VALUE_RTX): Likewise.
15794 (TARGET_RETURN_IN_MEMORY): Likewise.
15795 (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
15796 (xtensa_builtin_saveregs): Make it static.
15797 (xtensa_return_in_memory): New.
15798 * config/xtensa/xtensa.h (PROMOTE_FUNCTION_ARGS: Remove.
15799 (PROMOTE_FUNCTION_RETURN): Likewise.
15800 (PROMOTE_PROTOTYPES): Likewise.
15801 (STRUCT_VALUE): Likewise.
15802 (RETURN_IN_MEMORY): Likewise.
15803 (EXPAND_BUILTIN_SAVEREGS): Likewise.
15804
1cc9f5f5
KH
158052004-01-26 Kazu Hirata <kazu@cs.umass.edu>
15806
15807 * config/arm/arm.c (TARGET_SETUP_INCOMING_VARARGS): New.
15808 (arm_setup_incoming_varargs): Likewise.
15809 * config/arm/arm.h (SETUP_INCOMING_VARARGS): Remove.
15810
558d352a
KH
158112004-01-26 Kazu Hirata <kazu@cs.umass.edu>
15812
15813 * config/cris/cris.c (TARGET_SETUP_INCOMING_VARARGS): New.
15814 (cris_setup_incoming_varargs): Likewise.
15815 * config/cris/cris.h (SETUP_INCOMING_VARARGS): Remove.
15816
2001a5cf
KH
158172004-01-26 Kazu Hirata <kazu@cs.umass.edu>
15818
15819 * config/ns32k/ns32k.c (TARGET_STRUCT_VALUE_RTX): New.
15820 (ns32k_struct_value_rtx): Likewise.
15821 * config/ns32k/ns32k.h (STRUCT_VALUE_REGNUM): Rename to
15822 NS32K_STRUCT_VALUE_REGNUM.
15823
f9ba5949
KH
158242004-01-26 Kazu Hirata <kazu@cs.umass.edu>
15825
15826 * config/arm/arm.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
15827 (TARGET_PROMOTE_PROTOTYPES): Likewise.
15828 (TARGET_STRUCT_VALUE_RTX): Likewise.
15829 (arm_struct_value_rtx): Likewise.
15830 * config/arm/arm.h (PROMOTE_FUNCTION_ARGS): Remove.
15831 (STRUCT_VALUE): Likewise.
15832 (STRUCT_VALUE_REGNUM): Likewise.
15833 (PROMOTE_PROTOTYPES): Likewise.
15834
351a758b
KH
158352004-01-26 Kazu Hirata <kazu@cs.umass.edu>
15836
15837 * config/ia64/ia64-protos.h: Remove the prototype for
15838 ia64_setup_incoming_varargs and ia64_return_in_memory.
15839 * config/ia64/ia64.c (TARGET_STRUCT_VALUE_RTX): New.
15840 (TARGET_RETURN_IN_MEMORY): Likewise.
15841 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
15842 (TARGET_STRICT_ARGUMENT_NAMING): Likewise.
15843 (ia64_setup_incoming_varargs): Adjust the arguments to meet
15844 the requirement of TARGET_SETUP_INCOMING_VARARGS.
15845 (ia64_return_in_memory): Make it static. Change the return
15846 type to bool from int. Add an argument.
15847 (ia64_struct_value_rtx): New.
15848 * config/ia64/ia64.h: Remove commented-out definitions of
15849 PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN, and
15850 PROMOTE_PROTOTYPES.
15851 (RETURN_IN_MEMORY): Remove.
15852 (STRUCT_VALUE_REGNUM): Likewise.
15853 (STRICT_ARGUMENT_NAMING): Likewise.
15854
a7bba6ca
EB
158552004-01-26 Eric Botcazou <ebotcazou@libertysurf.fr>
15856
15857 PR target/13666
15858 * config/sparc/sparc.c (function_arg_union_value): New function.
15859 (function_arg): Use it to deal with unions.
15860 (function_value): Likewise. Define 'regbase' only for ARCH64.
15861 Replace a conditional statement by a simpler one.
15862
6865f4cd
RS
158632004-01-26 Richard Sandiford <rsandifo@redhat.com>
15864
15865 * config/mips/mips.c (mips16_optimize_gp): Delete.
15866 (mips_reorg): Don't call it.
15867
2d6d0eb5
MH
158682004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
15869
15870 * config/c4x/c4x.md (addqi3_noclobber): Move up pecking order.
15871 (floatunsqihf2): Remove operand 6.
15872 (fixhfqi_set, fix_trunchfqi2, fixuns_trunchfqi2): Group with other
15873 fix patterns.
15874 (ldi_conditional, ldf_conditional): Validate operands.
15875
8f422192
MH
158762004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
15877
15878 * config/c4x/c4x.h (BCT_CHECK_LOOP_ITERATIONS): Remove.
15879 (HAVE_GAS_HIDDEN): Undefine as interim measure.
52ad4d7b 15880
9c3602e4
MH
158812004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
15882
15883 * config/c4x/c4x.c (c4x_legitimate_address_p): Invalidate direct
15884 memory references if TARGET_EXPOSE_LDP nonzero.
15885
a026b9d6
MH
158862004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
15887
15888 * config/c4x/c4x.c (legitimize_operands): Truncate invalid shift counts.
52ad4d7b 15889
b7bbb574
MH
158902004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
15891
15892 * config/c4x/c4x.c (c4x_valid_operands): More aggressively reject
15893 invalid operand combinations.
15894
1e903c61
MH
158952004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
15896
15897 * config/c4x/c4x.c (c4x_check_legit_addr): Rename to
15898 c4x_legitimate_address_p. Fix post_modify check.
b7bbb574 15899
1e903c61
MH
15900 * config/c4x/c4x-protos.h (c4x_check_legit_addr): Adjust.
15901 * config/c4x/c4x.h (c4x_check_legit_addr): Adjust.
52ad4d7b 15902
3f12cd9b
KH
159032004-01-25 Kazu Hirata <kazu@cs.umass.edu>
15904
15905 * config/pa/pa-protos.h: Remove the prototype for
15906 hppa_builtin_saveregs. Add a prototype for
15907 pa_return_in_memory.
15908 * config/pa/pa.c (TARGET_PROMOTE_FUNCTION_RETURN): New.
15909 (TARGET_PROMOTE_PROTOTYPES): Likewise.
15910 (TARGET_STRUCT_VALUE_RTX): Likewise.
15911 (TARGET_RETURN_IN_MEMORY): Likewise.
15912 (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
15913 (pa_struct_value_rtx): Likewise.
15914 (pa_return_in_memory): Likewise.
15915 * config/pa/pa.h (STRUCT_VALUE_REGNUM): Rename to
15916 PA_STRUCT_VALUE_REGNUM.
15917 (INIT_CUMULATIVE_ARGS): Use pa_return_in_memory.
15918 (EXPAND_BUILTIN_SAVEREGS): Remove.
15919 (PROMOTE_PROTOTYPES): Likewise.
15920 (PROMOTE_FUNCTION_RETURN): Likewise.
15921
f289e226
KH
159222004-01-25 Kazu Hirata <kazu@cs.umass.edu>
15923
15924 * config/vax/vax.c (TARGET_PROMOTE_PROTOTYPES): New.
15925 (TARGET_STRUCT_VALUE_RTX): Likewise.
15926 (vax_struct_value_rtx): Likewise.
15927 * config/vax/vax.h (STRUCT_VALUE_REGNUM): Rename to
15928 VAX_STRUCT_VALUE_REGNUM.
15929 (PROMOTE_PROTOTYPES): Remove.
15930
12fb52cf 159312004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
52ad4d7b
ZW
15932
15933 * config/c4x/c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Handle symref.
15934
fdcf1e1e
CD
159352003-04-25 Chris Demetriou <cgd@broadcom.com>
15936
15937 * config/mips/mips.h (ISA_HAS_HILO_INTERLOCKS): MIPS32, MIPS32r2,
15938 and MIPS64 have HI/LO interlocks. Update comment.
15939
7e43c821
KH
159402004-01-25 Kazu Hirata <kazu@cs.umass.edu>
15941
15942 * config/stormy16/stormy16-protos.h: Remove the prototype for
15943 xstormy16_setup_incoming_varargs.
15944 * config/stormy16/stormy16.c
15945 (xstormy16_setup_incoming_varargs): Remove.
15946 (xstormy16_return_in_memory): New.
15947 (TARGET_PROMOTE_FUNCTION_ARGS): Likewise.
15948 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
15949 (TARGET_PROMOTE_PROTOTYPES): Likewise.
15950 (TARGET_STRUCT_VALUE_RTX): Likewise.
15951 (TARGET_RETURN_IN_MEMORY): Likewise.
15952 * config/stormy16/stormy16.h (PROMOTE_FUNCTION_ARGS): Remove.
15953 (PROMOTE_FUNCTION_RETURN): Likewise
15954 (PROMOTE_PROTOTYPES): Likewise
15955 (RETURN_IN_MEMORY): Likewise
15956 (STRUCT_VALUE): Likewise
15957 (SETUP_INCOMING_VARARGS): Likewise
15958
62973ffe
RS
159592004-01-25 Richard Sandiford <rsandifo@redhat.com>
15960
15961 * config/mips/mips.c (mips_offset_within_object_p): New function.
15962 (mips_symbolic_constant_p): Use it in the SYMBOL_SMALL_DATA and
15963 SYMBOL_CONSTANT_POOL cases. Also use it for SYMBOL_GENERAL if the
15964 ABI has 64-bit pointers and the object file only allows 32-bit symbols.
15965
8e67da21
KH
159662004-01-25 Kazu Hirata <kazu@cs.umass.edu>
15967
15968 * config/sh/sh.h (PROMOTE_FUNCTION_ARGS): Remove.
15969 (PROMOTE_FUNCTION_RETURN): Likewise.
15970
9024ea92
KH
159712004-01-25 Kazu Hirata <kazu@cs.umass.edu>
15972
15973 * config/mn10300/mn10300-protos.h: Remove the prototype for
15974 mn10300_builtin_saveregs.
15975 * config/mn10300/mn10300.c (TARGET_PROMOTE_PROTOTYPES): New.
15976 (TARGET_STRUCT_VALUE_RTX): Likewise.
15977 (TARGET_RETURN_IN_MEMORY): Likewise.
15978 (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
15979 (mn10300_return_in_memory): Likewise.
15980 (mn10300_builtin_saveregs): Make it static.
15981 * config/mn10300/mn10300.h (PROMOTE_PROTOTYPES): Remove.
15982 (RETURN_IN_MEMORY): Likewise.
15983 (STRUCT_VALUE): Likewise.
15984 (EXPAND_BUILTIN_SAVEREGS): Likewise.
15985
20b4e8ae
EB
159862004-01-25 Eric Botcazou <ebotcazou@act-europe.fr>
15987
15988 PR bootstrap/13853
15989 * cfgcleanup.c (try_optimize_cfg): Explicitly test against 0.
15990
cff555dc
KH
159912004-01-25 Kazu Hirata <kazu@cs.umass.edu>
15992
15993 * config/h8300/lib1funcs.asm (divnorm, modnorm): Optimize by
15994 using ccr.
15995
30f58b01
KH
159962004-01-25 Kazu Hirata <kazu@cs.umass.edu>
15997
15998 * config/i860/i860-protos.h: Remove the prototype for
15999 i860_saveregs.
16000 * config/i860/i860.c (i860_saveregs): Make it static.
16001 (i860_struct_value_rtx): New.
16002 (TARGET_STRUCT_VALUE_RTX): Likewise.
16003 (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
16004 * config/i860/i860.h (STRUCT_VALUE_REGNUM): Rename to
16005 I860_STRUCT_VALUE_REGNUM.
16006 (EXPAND_BUILTIN_SAVEREGS): Remove.
16007
341ec191
KH
160082004-01-25 Kazu Hirata <kazu@cs.umass.edu>
16009
16010 * config/m68hc11/m68hc11.c (TARGET_STRUCT_VALUE_RTX): New.
16011 (TARGET_RETURN_IN_MEMORY): Likewise.
16012 (m68hc11_struct_value_rtx): Likewise.
16013 (m68hc11_return_in_memory): Likewise.
16014 * config/m68hc11/m68hc11.h: Remove a commented-out definition
16015 of PROMOTE_PROTOTYPES.
16016 (RETURN_IN_MEMORY): Remove.
16017 (STRUCT_VALUE_REGNUM): Likewise.
16018
344caf1b
KH
160192004-01-25 Kazu Hirata <kazu@cs.umass.edu>
16020
16021 * config/mmix/mmix-protos.h: Remove the prototype for
16022 mmix_setup_incoming_varargs.
16023 * config/mmix/mmix.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
16024 (TARGET_STRUCT_VALUE_RTX): Likewise.
16025 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
16026 (mmix_setup_incoming_varargs): Make it static.
16027 (mmix_struct_value_rtx): New.
16028 * config/mmix/mmix.h (PROMOTE_FUNCTION_ARGS): Remove.
16029 Remove a commented-out definition of PROMOTE_FUNCTION_RETURN.
16030 (STRUCT_VALUE_REGNUM): Remove.
16031 (SETUP_INCOMING_VARARGS): Likewise.
16032
0c8da560
KH
160332004-01-25 Kazu Hirata <kazu@cs.umass.edu>
16034
16035 * config/mips/mips-protos.h: Remove the prototypes for
16036 mips_setup_incoming_varargs and mips_return_in_memory.
16037 * config/mips/mips.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
16038 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
16039 (TARGET_PROMOTE_PROTOTYPES): Likewise.
16040 (TARGET_STRUCT_VALUE_RTX): Likewise.
16041 (TARGET_RETURN_IN_MEMORY): Likewise.
16042 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
16043 (TARGET_STRICT_ARGUMENT_NAMING): Likewise.
16044 (mips_setup_incoming_varargs): Match the prototype for
16045 TARGET_SETUP_INCOMING_VARARGS.
16046 (mips_return_in_memory): Make it static. Add argument fntype.
16047 (mips_strict_argument_naming): New.
16048 * config/mips/mips.h (PROMOTE_PROTOTYPES): Remove.
16049 (PROMOTE_FUNCTION_ARGS): Likewise.
16050 (PROMOTE_FUNCTION_RETURN): Likewise.
16051 (STRUCT_VALUE): Likewise.
16052 (RETURN_IN_MEMORY): Likewise.
16053 (SETUP_INCOMING_VARARGS): Likewise.
16054 (STRICT_ARGUMENT_NAMING): Likewise.
16055
49ca372c
KH
160562004-01-25 Kazu Hirata <kazu@cs.umass.edu>
16057
16058 * config/ip2k/ip2k.c (TARGET_STRUCT_VALUE_RTX): New.
16059 (TARGET_RETURN_IN_MEMORY): Likewise.
16060 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
16061 (ip2k_return_in_memory): Likewise.
16062 (ip2k_setup_incoming_varargs): Likewise.
16063 * config/ip2k/ip2k.h (RETURN_IN_MEMORY): Remove.
16064 (STRUCT_VALUE): Likewise.
16065 (STRUCT_VALUE_INCOMING): Likewise.
16066 (SETUP_INCOMING_VARARGS): Likewise.
16067
b069302c
KH
160682004-01-25 Kazu Hirata <kazu@cs.umass.edu>
16069
16070 * config/avr/avr.c (TARGET_STRUCT_VALUE_RTX): New.
16071 (TARGET_RETURN_IN_MEMORY): Likewise.
16072 (TARGET_STRICT_ARGUMENT_NAMING): Likewise.
16073 (avr_return_in_memory): Remove.
16074 * config/avr/avr.h (RETURN_IN_MEMORY): Remove.
16075 (STRUCT_VALUE): Likewise.
16076 (STRUCT_VALUE_INCOMING): Likewise.
16077 (STRICT_ARGUMENT_NAMING): Likewise.
16078
e6d83128
JH
160792004-01-25 Jan Hubicka <jh@suse.cz>
16080
16081 * combine.c (recog_for_combine): Avoid allocating unnecesary RTX.
16082
bcbc6b7f
RS
160832004-01-25 Richard Sandiford <rsandifo@redhat.com>
16084
16085 * config/mips/mips-protos.h (mips_reg_mode_ok_for_base_p): Delete.
16086 (mips_regno_mode_ok_for_base_p): Declare.
16087 * config/mips/mips.h (ARG_POINTER_REGNUM): Renumber to 77.
16088 (FRAME_POINTER_REGNUM): Renumber to 78.
16089 (FIRST_PSEUDO_REGISTER): Update comment accordingly.
16090 (BASE_REG_P, GP_REG_OR_PSEUDO_STRICT_P): Delete.
16091 (GP_REG_OR_PSEUDO_NONSTRICT_P): Delete.
16092 (REGNO_MODE_OK_FOR_BASE_P): Use mips_regno_mode_ok_for_base_p.
16093 (REG_MODE_OK_FOR_BASE_P): Likewise.
16094 * config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Change
16095 entry for 77 to "$arg" and entry for 78 to "$frame".
16096 (mips_regno_to_class): Map 77 and 78 to ALL_REGS.
16097 (mips_reg_mode_ok_for_base_p): Remove.
16098 (mips_regno_mode_ok_for_base_p): New function, derived from old
16099 BASE_REG_P macro. Don't enforce the mips16 stack pointer
16100 restrictions unless we're being strict.
16101 (mips_valid_base_register_p): Use mips_regno_mode_ok_for_base_p.
16102
1f52178b
KH
161032004-01-24 Kazu Hirata <kazu@cs.umass.edu>
16104
16105 * c-common.h: Fix comment typos.
16106 * c-decl.c: Likewise.
16107 * cgraphunit.c: Likewise.
16108 * combine.c: Likewise.
16109 * et-forest.c: Likewise.
16110 * flow.c: Likewise.
16111 * function.c: Likewise.
16112 * ifcvt.c: Likewise.
16113 * integrate.c: Likewise.
16114 * jump.c: Likewise.
16115 * postreload.c: Likewise.
16116 * varray.c: Likewise.
16117
56ae1316
KH
161182004-01-24 Kazu Hirata <kazu@cs.umass.edu>
16119
16120 * doc/frontends.texi: Update copyright.
16121 * doc/gcov.texi: Likewise.
16122 * doc/gty.texi: Likewise.
16123 * doc/sourcebuild.texi: Likewise.
16124 * doc/standards.texi: Likewise.
16125
b1dccb28
HB
161262004-01-24 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
16127
16128 PR target/12978
16129 * c4x.md: (movstrqi*) Use match_scratch instead of match_dup.
16130 Remove movstrqi_small because it conflicts with movstrqi_large.
16131
a2fef3a4
KH
161322004-01-24 Kazu Hirata <kazu@cs.umass.edu>
16133
16134 * config/cris/cris.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
16135 (TARGET_STRUCT_VALUE_RTX): Likewise.
16136 (cris_struct_value_rtx): Likewise.
16137 * config/cris/cris.h (PROMOTE_FUNCTION_ARGS): Remove.
16138 (CRIS_STACKADJ_REG): Use CRIS_STRUCT_VALUE_REGNUM instead of
16139 STRUCT_VALUE_REGNUM.
16140 (STRUCT_VALUE_REGNUM): Rename to CRIS_STRUCT_VALUE_REGNUM.
16141
1f44254c
ILT
161422004-01-24 Ian Lance Taylor <ian@wasabisystems.com>
16143
16144 PR bootstrap/13848
16145 * cse.c (cse_cc_succs): Change the mode of the source expression
16146 as soon as decide we need a new mode. Don't permit changing modes
16147 if we found a match in a successor block.
16148 (cse_condition_code_reg): Save original mode of source expression
16149 so that we know whether we have to change the mode in other
16150 insns.
16151
fdb1c7b3
JH
161522004-01-24 Jan Hubicka <jh@suse.cz>
16153
16154 * emit-rtl.c (change_address, adjust_address_1, offset_address,
16155 widen_memory_access): Return early when there is nothing to change.
16156
5473cfa7
JJ
161572004-01-24 Jakub Jelinek <jakub@redhat.com>
16158
16159 * simplify-rtx.c (simplify_relational_operation): Don't
16160 simplify address == constant into address + -constant == 0.
16161
a5153056
KH
161622004-01-24 Kazu Hirata <kazu@cs.umass.edu>
16163
16164 * gcc.c (process_command): Don't internationalize the
16165 Copyright message.
16166 * mips-tfile.c (main): Likewise.
16167
174b84e5
AT
161682004-01-24 Andreas Tobler <a.tobler@schweiz.ch>
16169
16170 * cse.c: (cse_cc_succs) Fix comparison warning.
16171
16537909
KH
161722004-01-24 Kazu Hirata <kazu@cs.umass.edu>
16173
16174 * config/h8300/h8300.md: Remove extraneous USE in expanders.
16175
d0022200
KH
161762004-01-24 Kazu Hirata <kazu@cs.umass.edu>
16177
16178 * config/h8300/h8300-protos.h: Provide prototypes for
16179 h8300_legitimate_constant_p and h8300_legitimate_address_p.
16180 * config/h8300/h8300.c (h8300_legitimate_constant_p): New.
16181 (h8300_rtx_ok_for_base_p): Likewise.
16182 (h8300_legitimate_address_p): Likewise.
16183 * config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Use
16184 h8300_legitimate_constant_p.
16185 (RTX_OK_FOR_BASE_P): Remove.
16186 (GO_IF_LEGITIMATE_ADDRESS): Use h8300_legitimate_address_p.
16187
ca04c5a9
KH
161882004-01-24 Kazu Hirata <kazu@cs.umass.edu>
16189
16190 * config/h8300/h8300.h (REG_OK_FOR_INDEX_NONSTRICT_P): New.
16191 (REG_OK_FOR_BASE_NONSTRICT_P): Likewise.
16192 (REG_OK_FOR_INDEX_STRICT_P): Likewise.
16193 (REG_OK_FOR_BASE_STRICT_P): Likewise.
16194 (REG_OK_FOR_INDEX_STRICT_P): Use REGNO_OK_FOR_INDEX_P.
16195 (REG_OK_FOR_BASE_STRICT_P): Use REGNO_OK_FOR_BASE_P.
16196 (REG_OK_FOR_INDEX_P): Use REG_OK_FOR_INDEX_STRICT_P.
16197 (REG_OK_FOR_BASE_P): Use REG_OK_FOR_BASE_STRICT_P.
16198
3e2a0bd2
JH
161992004-01-24 Jan Hubicka <jh@suse.cz>
16200
16201 * cselib.c (remove_useless_values): Do not access discarded values.
16202
b1adf557
JM
162032004-01-24 Joseph S. Myers <jsm@polyomino.org.uk>
16204
16205 * c-typeck.c (build_conditional_expr): Do not allow non-lvalue
16206 arrays.
16207
55cd4633
KH
162082004-01-23 Kazu Hirata <kazu@cs.umass.edu>
16209
16210 * recog.c: Fix a typo in copyright.
16211
bbf294a5
AP
162122004-01-23 Andrew Pinski <apinski@apple.com>
16213
16214 * config/rs6000/rs6000.md (call): Fix misappiled patch.
16215 (call_value): Likewise.
16216
a475bff7
RH
162172004-01-23 Richard Henderson <rth@redhat.com>
16218
52ad4d7b
ZW
16219 PR opt/12941
16220 * combine.c (SHIFT_COUNT_TRUNCATED): Provide default value.
16221 (simplify_comparison): Don't simplify (eq (zero_extract c 1 r) 0)
16222 if SHIFT_COUNT_TRUNCATED is set.
a475bff7 16223
3712281f
BW
162242004-01-23 Bob Wilson <bob.wilson@acm.org>
16225
16226 * config/xtensa/xtensa.c (xtensa_va_arg): Handle complex values as
16227 separate real and imaginary parts.
16228 * config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Define.
16229
99e5c00b
HP
162302004-01-23 Hartmut Penner <hpenner@de.ibm.com>
16231
16232 PR target/13674
16233 * config/rs6000/rs6000.md (movdf_hardfloat64): Do not disparage
16234 loading into GPR.
16235
8b07361e
JH
162362004-01-23 Jan Hubicka <jh@suse.cz>
16237
a74ff877
JH
16238 * emit-rtl.c (change_address_1): Do not re-generate the RTX if nothing
16239 change.
16240
8b07361e
JH
16241 * alloc-pool.c (align_four): Kill.
16242 (create_alloc_pool): Align size to eight.
16243 (free_alloc_pool, free_pool): Invalidate deallocated data.
16244
e129d93a
ILT
162452004-01-23 Ian Lance Taylor <ian@wasabisystems.com>
16246
16247 PR gcc/1532
16248 * cse.c (cse_change_cc_mode): New static function.
16249 (cse_change_cc_mode_insns, cse_cc_succs): Likewise.
16250 (cse_condition_code_reg): New function.
16251 * rtl.h (cse_condition_code_reg): Declare.
16252 * toplev.c (rest_of_handle_cse2): Call cse_condition_code_reg.
16253 * target.h (struct gcc_target): Add fixed_condition_code_regs and
16254 cc_modes_compatible.
16255 * target-def.h (TARGET_FIXED_CONDITION_CODE_REGS): Define.
16256 (TARGET_CC_MODES_COMPATIBLE): Define.
16257 (TARGET_INITIALIZER): Add new initializers.
16258 * targhooks.c (default_cc_modes_compatible): New function.
16259 * targhooks.c (default_cc_modes_compatible): Declare.
16260 * hooks.c (hook_bool_intp_intp_false): New function.
16261 * hooks.h (hook_bool_intp_intp_false): Declare.
16262 * config/i386/i386.c (TARGET_FIXED_CONDITION_CODE_REGS): Define.
16263 (TARGET_CC_MODES_COMPATIBLE): Define.
16264 (ix86_fixed_condition_code_regs): New static function.
16265 (ix86_cc_modes_compatible): Likewise.
16266 * doc/tm.texi (Condition Code): Document new hooks.
16267
f6c930a3
RO
162682004-01-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16269
16270 * fixinc/inclhack.def (bad_lval): Renamed to ...
16271 (alpha_bad_lval): ... this.
16272 Removed file list.
16273 Restrict to alpha*-dec-osf*.
16274 * fixinc/fixincl.x: Regenerate.
16275 * fixinc/tests/base/dirent.h: Remove, moving test ...
16276 * fixinc/tests/base/testing.h: ... here, reflecting new name.
16277
04b8f97f
ZW
162782004-01-23 Zack Weinberg <zack@codesourcery.com>
16279
30cab869 16280 PR c/13814
04b8f97f
ZW
16281 * c-decl.c (diagnose_mismatched_decls): Also discard a
16282 built-in if we encounter an old-style definition with the
16283 same name.
16284
1ab1739c
JJ
162852004-01-23 Jakub Jelinek <jakub@redhat.com>
16286
16287 * config.gcc (powerpc*-*): Clear $with_cpu or $with_tune if it was
16288 set to default{32,64}.
16289
02731d29
JJ
162902004-01-21 Jakub Jelinek <jakub@redhat.com>
16291
16292 * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR)
16293 [!__powerpc64__]: Corrected to handle kernels with changed ucontext.
16294
0a944ef6 162952004-01-23 Eric Botcazou <ebotcazou@act-europe.fr>
04b8f97f 16296 Olivier Hainque <hainque@act-europe.fr>
0a944ef6
EB
16297
16298 * fold-const.c (fold_binary_op_with_conditional_arg): Only
16299 build a COMPOUND_EXPR if 'arg' is really a SAVE_EXPR.
16300
0bfb39ef
DJ
163012004-01-23 Daniel Jacobowitz <drow@mvista.com>
16302
16303 * config/arm/arm.c (arm_legitimate_address_p): Don't check the mode
16304 size for minipool references.
16305
25348c94
RS
163062004-01-23 Roger Sayle <roger@eyesopen.com>
16307
16308 * real.c (real_floor, real_ceil): Tweak to allow input and output
16309 arguments to overlap.
16310 (real_round): New function to implement round(3m) semantics.
16311 * real.h (real_round): Prototype here.
16312 * builtins.c (fold_builtin_round): New function to constant fold
16313 round, roundf and roundl.
16314 (fold_builtin): Call fold_builtin_round for BUILT_IN_ROUND{,F,L}.
16315
0f2b41b2
AO
163162004-01-23 Alexandre Oliva <aoliva@redhat.com>
16317
16318 PR optimization/13819
04b8f97f 16319 * config/sh/sh.c (sh_reorg): Compensate for sharing of CLOBBERs
0f2b41b2
AO
16320 introduced by 2004-01-20's Jan Hubicka's copy_insn change.
16321 (sh_handle_sp_switch_attribute): Remove warning.
16322
72613dfa
JH
163232003-11-30 Jan Hubicka <jh@suse.cz>
16324
16325 * i386.c (ix86_emit_restore_regs_using_mov): Deal with large offsets.
16326
7be4d808
R
163272004-01-23 J"orn Rennecke <joern.rennecke@superh.com>
16328
16329 * doc/tm.texi: Insert some weasel words when LOAD_EXTEND_OP
16330 may or may not return non-NIL.
16331 * postreload.c (reload_cse_simplify_operands): In LOAD_EXTEND_OP code,
16332 check CANNOT_CHANGE_MODE_CLASS
16333
23bd7a93
JH
163342004-01-23 Jan Hubicka <jh@suse.cz>
16335
16336 * basic-block.h (PROP_POSTRELOAD): New macro.
16337 (CLEANUP_LOG_LINKS): New.
16338 * cfgcleanup.c (cleanup_cfg): Only PROP_LOG_LINKS when asked to.
16339 * toplev.c (rest_of_handle_life): Preserve LOG_LINKS trought cleanup_cfg.
16340
16341 * cselib.c (value_pool): New.
16342 (new_cselib_val): Use pool.
16343 (cselib_init): Initialize value_pool
16344 (cselib_finish): Free pool.
16345
5c4f4b18
EB
163462004-01-23 Eric Botcazou <ebotcazou@libertysurf.fr>
16347
16348 * config/sparc/sparc.c (scan_record_type): New function.
16349 (function_arg_slotno): Use it to determine which kinds of
16350 registers the record can be passed in.
16351
95f576c1
JM
163522004-01-22 James A. Mmorrison <ja2morri@uwaterloo.ca>
16353
16354 * config/pa/fptr.c: Fix old-style definition.
16355
4c442790
PB
163562004-01-22 Paolo Bonzini <bonzini@gnu.org>
16357
16358 PR optimization/13724
16359 * cse.c (fold_rtx) <SUBREG>: Fold a SUBREG to zero if it
16360 represents the zero bits produced by a ZERO_EXTEND operation.
16361
dc4bbaf7
RS
163622004-01-22 Roger Sayle <roger@eyesopen.com>
16363
16364 PR optimization/13821
16365 * simplify-rtx.c (simplify_subreg): Use subreg_lowpart_offset to
16366 correctly calculate the lowpart offset of the contracted subreg.
16367
b00567b0
ILT
163682004-01-22 Ian Lance Taylor <ian@wasabisystems.com>
16369
16370 * doc/invoke.texi (Optimize Options): Note that --param arguments
16371 are subject to change without notice.
16372
d0d969f8
RO
163732004-01-22 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16374
16375 * config.gcc (mips-sgi-irix6*o32): Removed.
16376 * config/mips/iris6-o32-as.h: Likewise.
16377 * config/mips/iris6-o32-gas.h: Likewise.
16378 * config/mips/iris6-o32.h: Likewise.
16379
7cf240d5
JH
163802004-01-22 Jan Hubicka <jh@suse.cz>
16381
16382 * cfgcleanup.c (first_pass): New static variable.
16383 (try_forward_edges): Add work limiting check for threading.
16384 (try_crossjump_bb): Add work limiting check for crossjumping.
16385 (try_optimize_cfg): Maintain first pass variable.
16386
b16417d6
BW
163872004-01-22 Bob Wilson <bob.wilson@acm.org>
16388
16389 * config/xtensa/xtensa.c (function_arg): Generalize logic so that it
16390 handles complex and vector modes.
16391
c8796654
KH
163922004-01-22 Kazu Hirata <kazu@cs.umass.edu>
16393
16394 * config/h8300/h8300.h (REG_OK_FOR_INDEX_P_STRICT): Remove.
16395 (REG_OK_FOR_BASE_P_STRICT): Likewise.
16396 (STRICT): Likewise.
16397
10176e28
DJ
163982004-01-22 Daniel Jacobowitz <drow@mvista.com>
16399
16400 * c-semantics.c (genrtl_while_stmt, genrtl_do_stmt_1)
16401 (genrtl_for_stmt): Remove emit_nop calls.
16402
7bff636b
JDA
164032004-01-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
16404
16405 PR target/13713
16406 PR target/13324
16407 * pa.md (movstrsi_prereload, movstrsi_postreload, movstrdi_prereload,
16408 movstrdi_postreload, clrstrsi_prereload, clrstrsi_postreload,
16409 clrstrdi_prereload, clrstrdi_postreload): Fix constraints.
16410
980e61bb
DJ
164112004-01-22 Daniel Jacobowitz <drow@mvista.com>
16412
16413 * config/arm/arm.c: Include "debug.h".
04b8f97f 16414 (thumb_pushpop): Take two new arguments. Add some commentary.
980e61bb
DJ
16415 Output frame information when pushing.
16416 (thumb_exit, thumb_unexpanded_epilogue): Update calls to
16417 thumb_pushpop.
16418 (thumb_output_function_prologue): Likewise. Accumulate a CFA
16419 offset, and pass it to thumb_pushpop. Output CFI information.
16420 (thumb_expand_prologue): Add some frame-related markers and notes.
16421
0067d121
UW
164222004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
16423
16424 * config/s390/s390.c (s390_frame_info): Allow large frame sizes
16425 for TARGET_64BIT.
16426 (s390_arg_frame_offset): Change return type to HOST_WIDE_INT.
16427 * config/s390/s390-protos.h (s390_arg_frame_offset): Likewise.
16428
bb51e270
RS
164292004-01-22 Roger Sayle <roger@eyesopen.com>
16430 Paolo Bonzini <bonzini@gnu.org>
16431
16432 * rtlanal.c (subreg_lsb_1): New function split out from subreg_lsb.
16433 (subreg_lsb): Change to call new subreg_lsb_1 helper function.
16434 * rtl.h (subreg_lsb_1): Prototype here.
16435 * simplify-rtx.c (simplify_subreg): Optimize subregs of zero and
16436 sign extensions.
16437
9c49953c
KH
164382004-01-22 Kazu Hirata <kazu@cs.umass.edu>
16439
16440 * doc/tm.texi (CASE_VECTOR_PC_RELATIVE): Mention that the
16441 macro need not be defined if jump-tables should contain
16442 relative addresses only when -fPIC or -fPIC is in effect.
16443
c582d54a
JH
164442004-01-22 Jan Hubicka <jh@suse.cz>
16445
16446 * alias.c (reg_base_value): Turn into varray.
16447 (reg_base_value_size): Kill.
16448 (old_reg_base_value): New deletable varray.
16449 (alias_invariant_size): New variable.
16450 (REG_BASE_VALUE): Update to use varray.
16451 (find_base_value): Likewise.
16452 (record_set): Likewise.
16453 (record_base_value): Likewise.
16454 (memrefs_conflict_p): Likewise.
16455 (record_set): Likewise
16456 (record_base_value): Likewise.
16457 (memrefs_conflict_p): Use alias_invariant_size.
16458 (init_alias_analysis): Use varray; set alias_invariant_size;
16459 rescale other arrays to be sized by maxreg.
16460 (end_alias_analysis): Save reg_base_value; clear alias_invariant_size.
16461
8a98812c
EB
164622004-01-22 Eric Botcazou <ebotcazou@libertysurf.fr>
16463
16464 * config/sparc/sparc.c (function_arg_slotno): Use
16465 FLOAT_TYPE_P to detect FP fields in structures.
16466 (function_arg_record_value_1): Likewise.
16467 (function_arg_record_value_2): Likewise.
16468
0de456a5
JH
164692004-01-22 Jan Hubicka <jh@suse.cz>
16470
16471 * function.c (allocate_struct_function): Do not initialize expr, emit
16472 and varasm.
16473 (prepare_function_start): Do it here.
16474 * c-parse.in (maybe_type_qual): Do not produce line number notes.
16475
1fd05073
EB
164762004-01-22 Eric Botcazou <ebotcazou@libertysurf.fr>
16477
16478 PR target/13559
16479 * config/sparc/sparc.c (function_arg_record_value_3): Revert
16480 to 'word_mode' once the first slot has been filled.
16481
b2f24c85
EB
164822004-01-22 Olivier Hainque <hainque@act-europe.fr>
16483
16484 * config/sparc/sparc.c (function_arg_record_value_1): Fix
16485 computation of the number of integer registers required.
16486
b4e0dd8e
KH
164872004-01-21 Kazu Hirata <kazu@cs.umass.edu>
16488
16489 * config/i386/i386.md: Simplify certain comparisons of
16490 const_int.
16491
5cc5eddc
AP
164922004-01-21 Andrew Pinski <apinski@apple.com>
16493
16494 PR target/13785
04b8f97f 16495 * config/rs6000/rs6000.md (call_value): Force operand
5cc5eddc
AP
16496 1 not operand 0 into a register.
16497
711d8c91
KH
164982004-01-21 Kazu Hirata <kazu@cs.umass.edu>
16499
16500 * cpperror.c, cpptrad.c, longlong.h, params.def, rtl.def,
16501 unwind-dw2-fde.h: Update copyright.
16502
d1885651
JDA
165032004-01-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
16504
16505 * pa-protos.h: Update copyright.
16506 * pa.h: Likewise.
16507 * pa.md: Likewise.
16508
40ca90bf 165092004-01-21 Caroline Tice <ctice@apple.com>
ec13ba83 16510
6ed854f1 16511 PR target/12308
04b8f97f 16512 * config/i386/i386.md (fix_truncxfdi2): Add clause to clobber
ec13ba83
CT
16513 flags register.
16514 (fix_truncdfdi2): Likewise.
16515 (fix_truncsfdi2): Likewise.
16516 (*fix_truncdi_1): Likewise.
16517 (fix_truncxfsi2): Likewise.
16518 (fix_truncdfsi2): Likewise.
16519 (fix_truncsfsi2): Likewise.
16520 (*fix_truncsi_1): Likewise.
16521 (fix_truncxfhi2): Likewise.
16522 (fix_truncdfhi2): Likewise.
16523 (fix_truncsfhi2): Likewise.
16524 (*fix_trunchi_1): Likewise.
04b8f97f 16525
d9221e01
KH
165262004-01-21 Kazu Hirata <kazu@cs.umass.edu>
16527
16528 * alias.c, basic-block.h, c-common.c, c-common.h,
16529 c-cppbuiltin.c, c-opts.c, c-pragma.c, c-pretty-print.c,
16530 calls.c, cfg.c, cfgcleanup.c, cfgrtl.c, cgraph.h, collect2.c,
16531 combine.c, cppcharset.c, cpphash.h, cppinit.c, cpplib.c,
16532 cpplib.h, cppmacro.c, crtstuff.c, cselib.c, cselib.h,
16533 defaults.h, df.c, dominance.c, et-forest.c, expmed.c, expr.c,
16534 expr.h, fix-header.c, function.h, gcc.c, gcse.c, genattrtab.c,
16535 genautomata.c, genconditions.c, genemit.c, genflags.c,
16536 gengtype.c, gengtype.h, genopinit.c, genrecog.c, gensupport.c,
16537 ggc-zone.c, graph.c, haifa-sched.c, input.h, integrate.c,
16538 langhooks-def.h, langhooks.c, langhooks.h, line-map.c,
16539 line-map.h, local-alloc.c, optabs.c, optabs.h, postreload.c,
16540 ra.h, recog.c, reg-stack.c, regmove.c, reload.c, reorg.c,
16541 rtl.c, sched-deps.c, sched-ebb.c, sdbout.c, system.h,
16542 target.h, targhooks.c, toplev.h, tree-inline.c, unwind-pe.h,
16543 unwind.h, varray.c, varray.h: Update copyright.
16544
6d6b0a12
KH
165452004-01-21 Kazu Hirata <kazu@cs.umass.edu>
16546
16547 * config/h8300/coff.h: Update copyright.
16548 * config/h8300/elf.h: Likewise.
16549 * config/h8300/h8300-protos.h: Likewise.
16550 * config/h8300/h8300.c: Likewise.
16551 * config/h8300/h8300.h: Likewise.
16552 * config/h8300/h8300.md: Likewise.
16553
4b60eb3b
JDA
165542004-01-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
16555
16556 * fixinc/inclhack.def (hpux10_stdio_declarations, ultrix_const3,
16557 ultrix_locale, ultrix_stdlib, ultrix_strings, ultrix_sys_time,
16558 ultrix_unistd): New hacks.
16559 * fixinc/tests/base/stdio.h (HPUX10_STDIO_DECLARATIONS_CHECK,
16560 ULTRIX_CONST2_CHECK): Add checks.
16561 * fixinc/tests/base/stdlib.h (ULTRIX_STDLIB_CHECK): Likewise.
16562 * fixinc/tests/base/strings.h (ULTRIX_STRINGS2_CHECK): Likewise.
16563 * fixinc/tests/base/unistd.h (ULTRIX_UNISTD_CHECK): Likewise.
16564 * fixinc/tests/base/sys/time.h (ULTRIX_SYS_TIME_CHECK): Likewise.
16565 * fixinc/tests/base/locale.h: New file.
16566 * fixinc/fixincl.x: Rebuilt.
16567
bbf5a54d
AJ
165682004-01-21 Andreas Jaeger <aj@suse.de>
16569 Michael Matz <matz@suse.de>
16570
16571 * doc/extend.texi (Extended Asm): Clarify memory clobber.
16572
bfccaa6f
JJ
165732004-01-21 Jakub Jelinek <jakub@redhat.com>
16574
16575 * crtstuff.c (frame_dummy, __do_global_ctors_1): Call
16576 _Jv_RegisterClasses through a function pointer.
16577
c3cda381
FH
165782004-01-21 Falk Hueffner <falk@debian.org>
16579
16580 PR target/12898
16581 * config/alpha/alpha.c (alpha_emit_set_const_1): If
16582 no_new_pseudos, use gen_rtx_SET directly for SImode constants
16583 which need multiple instructions to emit.
16584
2a2001be
IK
165852004-01-21 Inaoka Kazuhiro <inaoka.kazuhiro@renesas.com>
16586
16587 * config/m32r/m32r.h (CPP_SPEC): Define.
16588
1ef82ef2
ZW
165892004-01-21 Zack Weinberg <zack@codesourcery.com>
16590
16591 * c-decl.c (merge_decls): Kill different_binding_level and
16592 different_tu arguments; simplify throughout.
16593 (duplicate_decls): Likewise.
16594 (pushdecl, merge_translation_unit_decls): Update calls to
16595 duplicate_decls.
16596
13544b81
KG
165972004-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16598
16599 * Makefile.in (pretty-print.o): Depend on $(CONFIG_H) and
16600 $(SYSTEM_H).
16601 (print-rtl1.o): Depend on $(SYSTEM_H).
16602
a541f69d
KC
166032004-01-20 Kelley Cook <kcook@gcc.gnu.org>
16604
16605 PR bootstrap/12730
16606 * configure.ac: Delete definition and subsitution of docdir.
16607 Add info, man, srcman and srcinfo to target hooks. Create doc/
16608 directory.
16609 * configure: Regenerate.
16610 * Makefile.in: Don't substitute docdir and delete all references
16611 throughout.
16612 (MAKEINFOFLAGS): Define.
16613 (stmp-docobjdir): Delete.
16614 (INFOFILES, MANFILES): Define.
16615 (info): Call lang.info, srcinfo and lang.srcinfo.
16616 (generated-manpages): Call lang.man, srcman and lang.srcman.
16617 (srcinfo, srcman): New rules to copy back files to source directory.
16618 (doc/%.info, doc/%.dvi, doc/%.1, doc/%.7): New implict rule.
16619 (install-man): Revamp rule.
16620 (clean): Update dvi directory.
16621 (distclean): Delete TAGS from front end directorys.
16622 (maintainer-clean): Delete all document files in source directory.
16623
16624 objc/Make-lang.in (objc.man, objc.info): Dummy entries.
16625 (objc.srcman, objc.srcinfo): Likewise.
16626
793146e3
BK
166272004-01-20 Bruce Korb <bkorb@gnu.org>
16628
16629 * fixinc/inclhack.def(math_exception): bypass only for glibc.
16630 (matherr_decl): rename & relocate as exception_structure.
16631 This fix must precede the math_exception fix.
16632
fdb33708
RS
166332004-01-20 Roger Sayle <roger@eyesopen.com>
16634
16635 * fold-const.c (fold_convert): Rename to fold_convert_const.
16636 (fold_convert_const): Change arguments to take a tree_code,
16637 a type and the operand/expression to be converted. Return
16638 NULL_TREE if no simplification is possible. Add support for
16639 FIX_CEIL_EXPR and FIX_FLOOR_EXPR in addition to FIX_TRUNC_EXPR.
16640 (fold): Handle FIX_CEIL_EXPR and FIX_FLOOR_EXPR.
16641 Adjust call to fold_convert to match new fold_convert_const.
16642 Avoid modifying the tree passed to fold in-place.
16643
34c80057
AM
166442004-01-21 Alan Modra <amodra@bigpond.net.au>
16645
16646 * config/rs6000/sysv4.h (DWARF2_FRAME_REG_OUT): Define.
16647 * dwarf2out.c (output_cfi): Map regs using DWARF2_FRAME_REG_OUT.
16648 * doc/tm.texi (DWARF_FRAME_REGNUM, DWARF2_FRAME_REG_OUT): Document.
16649
a4295210
JDA
166502004-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
16651
16652 * pa-protos.h (compute_frame_size): Use HOST_WIDE_INT for frame sizes.
16653 * pa.c (store_reg, store_reg_modify, load_reg, set_reg_plus_d):
16654 Likewise. Handle frames larger than 0x7fffffff on 64-bit ports.
16655 (emit_move_sequence): Check scratch_reg first in various if statements.
16656 Extend source simplification to handle all 64-bit CONST_INTs.
16657 (pa_output_function_prologue): Use HOST_WIDE_INT_PRINT_DEC for printing
16658 frame size.
16659 (hppa_expand_prologue, hppa_expand_epilogue): Use HOST_WIDE_INT for
16660 frame offset calculations.
16661 * pa.h (NEW_HP_ASSEMBLER): Add comment.
16662 (MAX_LEGIT_64BIT_CONST_INT, MIN_LEGIT_64BIT_CONST_INT,
16663 LEGITIMATE_64BIT_CONST_INT_P): Define.
16664 (LEGITIMATE_CONSTANT_P): Use LEGITIMATE_64BIT_CONST_INT_P. Treat
16665 any CONST_INT as legitimate during and after reload.
16666 (VAL_32_BITS_P, INT_32_BITS): Define.
16667 (LEGITIMIZE_RELOAD_ADDRESS): Handle large frame offsets.
16668
3e89ed8d
JH
166692004-01-20 Jan Hubicka <jh@suse.cz>
16670
16671 * emit-rtl.c (verify_rtx_sharing, copy_insn_1,
16672 emit_copy_of_insn_after, emit_copy_of_insn_after): Clobbers
16673 containing hard regs are shared.
16674 (gen_hard_reg_clobber): New function.
16675 (hard_reg_clobbers): New array.
16676 * genemit.c (gen_exp): Use gen_hard_reg_clobber.
16677 (copy_rtx): Do not copy clobbers containing hard regs.
16678 * rtl.h (gen_hard_reg_clobber): Declare.
16679
9b57b627
JH
166802004-01-20 Jan Hubicka <jh@suse.cz>
16681
16682 * varray.c: Include hashtab.h
16683 (varray_descriptor): New structure.
16684 (hash_descriptor, eq_descriptor, varray_descriptor,
16685 print_statistics): New static functions
16686 (varray_init, varray_grow): Update statistics
16687 (dump_varray_statistics): New function.
16688 * varray.h (dump_varray_statistics): Declare.
16689 * toplev.c (finalize): Call it.
16690 * Makefile.in (varray.o): Add dependency.
16691
6a59927d
JH
166922004-01-20 Jan Hubicka <jh@suse.cz>
16693
16694 * cselib.c: Include alloc-pool.h
16695 (empty_vals, empty_elt_lists, empty_elt_loc_lists): Kill.
16696 (elt_loc_list_pool, elt_list_pool, cselib_val_pool): Declare.
16697 (new_elt_list, new_elt_loc_list, unchain_one_elt_list,
16698 unchain_one_elt_loc_list_pool, unchain_one_value,
16699 new_cselib_val): Simplify using allocpool.
16700 (cselib_init): Initialize allocpools.
16701 (cselib_finish): Finish allocpools.
16702 * Makefile.in (cselib.o): Depend on alloc-pool.h
16703
3c53850d
RS
167042004-01-20 Richard Sandiford <rsandifo@redhat.com>
16705
16706 * config/mips/mips.c (mips_load_call_address): Make the call insn
16707 use $gp if it could be calling a lazy binding stub.
16708
101ad855
KH
167092004-01-20 Kazu Hirata <kazu@cs.umass.edu>
16710
16711 * config/s390/s390.c (TARGET_PROMOTE_FUNCTION_ARGS): Define.
16712 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
16713 (TARGET_STRUCT_VALUE_RTX): Likewise.
16714 * config/s390/s390.h (PROMOTE_FUNCTION_ARGS): Remove.
16715 (PROMOTE_FUNCTION_RETURN): Remove.
16716 (STRUCT_VALUE): Remove.
16717
c099ba28
DC
167182004-01-20 Denis Chertykov <denisc@overta.ru>
16719
03b82c00 16720 PR bootstrap/13735
c099ba28
DC
16721 * config/avr/avr.h (BASE_REG_CLASS): Don't permit to use X
16722 register as pointer after reload.
16723
c8b6fae3
ZD
167242004-01-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
16725
16726 PR optimization/12440
16727 * loop.c: Include ggc.h.
16728 (loop_optimize): Run garbage collector between optimization of loops.
16729 * Makefile.in (loop.o): Add GGC_H dependency.
16730
c72d6c26
HP
167312004-01-20 Hartmut Penner <hpenner@de.ibm.com>
16732
1ef82ef2 16733 * gcc/config/rs6000/rs6000.c (function_arg) Handle
c72d6c26
HP
16734 vector register special in function without prototype.
16735 (function_arg_advance): Vector parameters get always
16736 GPRs allocated for the linux64 target.
16737
91e736f9
KI
167382004-01-20 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
16739
16740 * config/m32r/m32r.h (TARGET_M32R2). Test for TARGET_M32R2_MASK
16741 not TARGET_M32RX_MASK.
16742
4043d6fb
EB
167432004-01-20 Eric Botcazou <ebotcazou@libertysurf.fr>
16744
16745 PR target/13557
16746 * config/sparc/sparc.c (function_arg): Reorder the cases.
16747
50f59cd7
PB
167482004-01-19 Per Bothner <per@bothner.com>
16749
16750 Move cpp_reader's line_maps field to a shared global.
16751 * cpphash.h (cpp_reader): Rename line_maps field to line_table
16752 and change the type to a pointer rather than a struct.
16753 * cppinit.c (cpp_push_main_field): Adjust accordingly.
16754 * cpplib.c (do_include_common, _cpp_do_file_change, cpp_get_callbacks):
16755 Likewise.
16756 * cppfiles.c (validate_pch): Likewise.
16757 * cppmacro.c (_cpp_warn_if_unused_macro, _cpp_builtin_macro_text):
16758 Likewise.
16759 * cpperror.c (print_location): Likewise.
16760 * cpplib.h (cpp_create_reader): New line_maps pointer parameter.
16761 * cppinit.c (cpp_create_reader): Handle new parameter.
16762 (cpp_destroy): Don't free line_maps - that's no longer our job.
16763 * input.h (line_table): New variable.
16764 * toplev.c (line_table): Declare variable.
16765 (general_init): Initialize line_table.
16766 * c-opts.c (c_common_init_options): Pass line_table to
16767 cpp_create_reader.
16768 * fix-header.c (read_scan_file): New local variable line_table.
16769 Initialize, and pass it to cpp_create_reader.
16770 * Makefile.in (LIBS, LIBDEPS): Add libcpp.a.
16771 (C_AND_OBJC_OBJS, fix-header): Remove redundant libcpp.a.
16772
167732004-01-19 Per Bothner <per@bothner.com>
9132fbb7
PB
16774
16775 Implement a cache for linemap_lookup.
16776 * line-map.h (struct_line_maps): Add cache field.
16777 * line-map.c (linemap_init): Zero cache field.
16778 (linemap_add): Set cache field to offset of newly allocated map.
16779 (linemap_lookup): Use and set cache field.
16780
26d107db
KK
167812004-01-20 Kaz Kojima <kkojima@gcc.gnu.org>
16782
16783 PR optimization/13567
16784 * cse.c (cse_basic_block): Call cse_insn with a non-null
16785 libcall_insn for the last SET insn of a no-confilict block.
16786
e165d61b
KC
167872004-01-20 Kelley Cook <kcook@gcc.gnu.org>
16788
1ef82ef2 16789 * Makefile.in (target_noncanonical, program_transform_name): Use
e165d61b 16790 immediate define instead of deferred.
1ef82ef2 16791 (GCC_INSTALL_NAME, GCC_TARGET_INSTALL_NAME, CPP_INSTALL_NAME,
e165d61b
KC
16792 PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
16793 GCCBUG_INSTALL_NAME): Define via a immediate $(shell) instead of
16794 deferred backquote.
16795
53cd18ec
JM
167962004-01-20 Joseph S. Myers <jsm@polyomino.org.uk>
16797
16798 * c-decl.c (c_init_decl_processing): Set pedantic_lvalues to
16799 true unconditionally.
16800 * c-typeck.c (unary_complex_lvalue, pedantic_lvalue_warning):
16801 Remove.
16802 (build_unary_op, build_modify_expr): Don't handle extended
16803 lvalues.
16804 (build_component_ref, build_conditional_expr): Call non_lvalue
16805 instead of pedantic_non_lvalue.
16806 (build_c_cast): Don't condition use of non_lvalue on pedantic.
16807 * fold-const.c (fold): Don't check pedantic directly for
16808 COMPOUND_EXPR. Ensure that results for COMPOUND_EXPR are
16809 passed to pedantic_non_lvalue.
16810 * doc/extend.texi: Remove documentation of extended lvalues.
16811
9ce79a7a
RS
168122004-01-19 Roger Sayle <roger@eyesopen.com>
16813
16814 PR optimization/5263
16815 * simplify-rtx.c (associative_constant_p): Delete.
16816 (simplify_associative_operation): Rewrite to linearize terms, and
16817 attempt to simplify new term against both left and right subterms.
16818 (simplify_binary_operation): Call swap_commutative_operands_p on
16819 op0 and op1, not trueop0 and trueop1. Move the initialization of
16820 trueop0 and trueop1 down to where first needed.
16821 (simplify_relational_operation): Likewise.
16822 * rtlanal.c (commutative_operand_precedence): Also order constant
16823 operands using avoid_constant_pool_reference.
16824
62e88293
RH
168252004-01-19 Richard Henderson <rth@redhat.com>
16826
1ef82ef2
ZW
16827 * config/alpha/alpha.c (aligned_memory_operand): Check MEM_ALIGN,
16828 don't check memory mode.
16829 (unaligned_memory_operand): Likewise.
16830 (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Don't
16831 abort for op0 not MEM.
62e88293 16832
1ef82ef2
ZW
16833 * config/alpha/alpha.c (alpha_expand_mov_nobwx): If the destination
16834 is not a reg, copy to a scratch first.
16835 (aligned_loadqi, aligned_loadhi, unaligned_loadqi, unaligned_loadhi,
16836 unaligned_loadqi_le, unaligned_loadqi_be, unaligned_loadhi_le,
16837 unaligned_loadhi_be): Expect op0 in DImode; don't SUBREG.
16838 (reload_inqi, reload_inhi): Fix mode of op0.
16839 (reload_inqi_help, reload_inhi_help, reload_outqi_help,
16840 reload_outhi_help): Likewise. Use define_insn_and_split.
62e88293 16841
1ef82ef2
ZW
16842 * config/alpha/alpha.md (call peepholes): Check for REG_NORETURN
16843 as well as $29 dead.
62e88293 16844
2f3321ca
EB
168452004-01-19 Eric Botcazou <ebotcazou@libertysurf.fr>
16846
16847 * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): New. Emit
16848 "tls_object" for thread-local objects.
16849 * config/sparc/sparc.c (sparc_elf_asm_named_section): Emit
16850 "#tls" for thread-local sections.
16851 * configure.ac (thread-local checks): Specify --fatal-warnings in
16852 every binutils-specific checks. For sparc*-*-*, test whether the
16853 OS is Solaris and the tools are native and act accordingly.
16854 * configure: Rebuild.
16855
6fe37bc4
JL
168562004-01-19 Jeff Law <law@redhat.com>
16857
16858 * contrib.texi: Update Paolo Carlini's entry. New entries for
16859 Jerry Quinn and Petur Runolfsson.
1ef82ef2 16860
68f48f39
RS
168612004-01-19 Roger Sayle <roger@eyesopen.com>
16862
16863 * config/i386/i386.md (*movhi_1, *movqi_1): When optimizing for
16864 size, don't use the larger zero-extending loads.
16865
5c9948f4
RH
168662004-01-19 Richard Henderson <rth@redhat.com>
16867
16868 * alpha.h (HARD_REGNO_MODE_OK): Disallow SImode in FP regs.
16869 * alpha.md (UNSPEC_NT_LDA): Remove.
16870 (UNSPEC_CVTLQ, cvtlq): New.
16871 (extendsidi2_1): Rename from extendsidi2_nofix; remove f/f.
16872 (extendsidi2_fix): Remove.
16873 (extendsidi2 splitter): Use cvtlq.
16874 (extendsidi2 fp peepholes): Remove.
16875 (cvtql): Use SFmode instead of SImode.
16876 (fix_trunc?fsi): Update to match.
16877 (floatsisf2_ieee, floatsisf2, floatsidf2_ieee, floatsidf2): New.
16878 (movsi): Rename from movsi_nofix, remove f alternatives.
16879 (movsi_nt_vms): Similarly.
16880 (movsi_fix, movsi_nt_vms_fix): Remove.
16881 (nt_lda): Remove.
16882 * alpha.c (alpha_expand_prologue): Use adddi3, not nt_lda.
16883
9b0436b7
JH
168842004-01-19 Jan Hubicka <jh@suse.cz>
16885
16886 * cgraph.c (cgraph_remove_node): Fix removal from linked list.
16887 * cgraphunit.c (cgraph_finalize_compilation_unit): Clear next_needed
16888 list.
16889 (cgraph_remove_unreachable_nodes): New function
16890 (cgraph_decide_inlining_of_small_function): Fix pasto.
16891 (cgraph_decide_inlining_incrementally): Fix pasto.
16892 (cgrpah_decide_inlining): Likewise; remove unreachable nodes.
16893
8c80adb7
SB
168942004-01-19 Steven Bosscher <stevenb@suse.de>
16895
16896 * gengtype.c (header_file): Make it static.
16897 (write_types_process_field, write_enum_defn): Minor whitespace fixes.
16898 * gengtype.h (header_file): No longer extern.
16899
0ede749d
KH
169002004-01-18 Kazu Hirata <kazu@cs.umass.edu>
16901
16902 * defaults.h (CASE_VECTOR_PC_RELATIVE): Provide the default.
16903 * expr.c (CASE_VECTOR_PC_RELATIVE): Remove.
16904 * stmt.c (CASE_VECTOR_PC_RELATIVE): Likewise.
16905
41cbdcd0
KH
169062004-01-18 Kazu Hirata <kazu@cs.umass.edu>
16907
16908 * stmt.c (HAVE_casesi): Define it not already defined.
16909 (HAVE_tablejump): Likewise.
16910 (expand_end_case_type): Resort to the binary tree method if
16911 neither casesi or tablejump is available.
16912
5cfc5f84
DJ
169132004-01-18 Daniel Jacobowitz <drow@mvista.com>
16914
16915 * final.c (final_scan_insn): Make non-static again.
16916 * output.h (final_scan_insn): Re-add prototype.
16917 * config/arc/arc.c (arc_output_function_epilogue): Add NULL
16918 to final_scan_insn call.
16919 * config/cris/cris.c (cris_target_asm_function_epilogue): Likewise.
16920 * config/mips/mips.c (mips_output_conditional_branch): Likewise.
16921 * config/pa/pa.c (output_lbranch, output_call): Likewise.
16922 * config/sh/sh.c (print_slot): Likewise.
16923 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Likewise.
16924 (output_sibcall, sparc_flat_function_epilogue): Likewise.
16925
3348b696
JH
169262004-01-18 Jan Hubicka <jh@suse.cz>
16927
16928 * basic-block.h (try_redirect_by_replacing_jump): Declare.
16929 * cfgcleanup.c (try_optimize_cfg): Use it.
16930 * cfgrtl.c (try_redirect_by_replacing_jump): Export.
16931 (rtl_redirect_edge_and_branch, cfg_layout_redirect_edge_and_branch):
16932 Kill hack.
16933 (cfg_layout_merge_blocks): Use try_redirect_by_replacing_jump.
16934
16935 Revert:
16936 2004-01-16 Geoffrey Keating <geoffk@apple.com>
16937
16938 * cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps
16939 even after reload, just don't remove the actual jump tables.
16940
72d89d35
KH
169412004-01-18 Kazu Hirata <kazu@cs.umass.edu>
16942
16943 * config/rs6000/rs6000.h (STRICT_ARGUMENT_NAMING): Remove.
16944
07b50aad
KH
169452004-01-18 Kazu Hirata <kazu@cs.umass.edu>
16946
16947 * defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Fix the computation of
16948 the size of a pointer in bytes.
16949
6e46ab25
RS
169502004-01-18 Roger Sayle <roger@eyesopen.com>
16951
16952 * builtins.c (expand_builtin_expect_jump): Fix thinko of reusing
16953 live "next" variable, which could lead to an infinite loop.
16954
3ce5437a
AP
169552004-01-18 Andrew Pinski <pinskia@physics.uc.edu>
16956
b4be9e8e
AP
16957 * config/rs6000/altivec.h: Wrap C++ functions in extern "C++"
16958 block.
16959
3ce5437a
AP
16960 * config/rs6000/rs6000.c (rs6000_special_round_type_align):
16961 Check for NULL in the chain and remove repeated code.
16962
20c361f3
JH
169632004-01-18 Jan Hubicka <jh@suse.cz>
16964
16965 * coverage.c (checksum_string): Rename to ...
16966 (coverage_checksum_string): ... this one, Use crc32_string; recognize
16967 names containing random number and zero the number out in order to get
16968 match.
16969
cacb5bba
RS
169702004-01-18 Richard Sandiford <rsandifo@redhat.com>
16971
16972 * config/mips/mips.c (mips_got_alias_set): Mark for PCH.
16973
daf2f129
JM
169742004-01-18 Joseph S. Myers <jsm@polyomino.org.uk>
16975
16976 * doc/c-tree.texi, doc/cpp.texi, doc/extend.texi,
16977 doc/frontends.texi, doc/gcov.texi, doc/gty.texi, doc/install.texi,
16978 doc/invoke.texi, doc/libgcc.texi, doc/md.texi, doc/rtl.texi,
16979 doc/sourcebuild.texi, doc/standards.texi, doc/tm.texi,
16980 doc/trouble.texi: Remove trailing whitespace.
16981
b85aed9e
RS
169822004-01-18 Richard Sandiford <rsandifo@redhat.com>
16983
1c0f3fac 16984 PR target/7618
b85aed9e
RS
16985 * config/mips/mips.c: Include cfglayout.h.
16986 (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
16987 (mips_unspec_offset_high): Add temporary register argument.
16988 (mips_load_call_address): New function, split out from...
16989 (mips_expand_call): ...here.
16990 (mips_output_cplocal): New function.
16991 (mips_output_function_prologue, mips_output_function_epilogue): Use it.
16992 (mips_emit_loadgp): New function, split out from...
16993 (mips_expand_prologue): ...here.
16994 (mips_output_mi_thunk): New function.
16995
e5d95b69
BI
169962004-01-17 Bernardo Innocenti <bernie@develer.com>
16997
16998 * longlong.h (mc68020, __mc68030__, mc68030, __mc68040__, mc68040,
16999 mcpu32): Remove redundant checks for implied target predefines.
17000
19d66194
AP
170012004-1-17 Andrew Pinski <pinskia@physics.uc.edu>
17002
17003 * config/rs6000/rs6000.c (rs6000_special_round_type_align):
17004 Return type is unsigned int not int.
17005 * config/rs6000/rs6000-protos.h (rs6000_special_round_type_align):
17006 Likewise.
17007
95fef11f
JM
170082004-01-18 Joseph S. Myers <jsm@polyomino.org.uk>
17009
17010 * doc/contrib.texi, doc/cppenv.texi, doc/extend.texi,
17011 doc/install.texi, doc/invoke.texi, doc/tm.texi: Consistently use
17012 "GNU/Linux" and "Microsoft Windows" terminology.
17013
3ab51846
JM
170142004-01-18 Joseph S. Myers <jsm@polyomino.org.uk>
17015
17016 * doc/c-tree.texi, doc/compat.texi, doc/cpp.texi,
17017 doc/cppopts.texi, doc/extend.texi, doc/install.texi,
17018 doc/interface.texi, doc/invoke.texi, doc/libgcc.texi, doc/md.texi,
17019 doc/objc.texi, doc/rtl.texi, doc/tm.texi, doc/trouble.texi: Use
17020 @smallexample instead of @example.
17021
cfbed37c
ZL
170222004-01-17 Ziemowit Laski <zlaski@apple.com>
17023
17024 * objc/objc-act.c (build_objc_method_call): Use target
1ef82ef2 17025 hooks instead of macros to determine if ..._stret
cfbed37c
ZL
17026 dispatchers should be used (NeXT runtime only).
17027
bef5105b
RS
170282004-01-17 Roger Sayle <roger@eyesopen.com>
17029
17030 * builtins.c (expand_builtin_expect_jump): Fix mistake in my
17031 last patch. Use XEXP (x, 0) to get a LABEL_REF's CODE_LABEL.
17032
dd3adcf8
DJ
170332004-01-17 Daniel Jacobowitz <drow@mvista.com>
17034
17035 * rtl.h (emit_insn_before_sameloc, emit_jump_insn_before_sameloc)
17036 (emit_call_insn_before_sameloc, emit_insn_after_sameloc)
17037 (emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): New
17038 macros.
17039 * reload1.c (emit_reload_insns): Use them.
17040 * emit-rtl.c (emit_insn_before_sameloc, emit_insn_after_sameloc)
17041 (emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): Check
17042 for NULL PATTERN.
17043
589fe865
DJ
170442004-01-17 Daniel Jacobowitz <drow@mvista.com>
17045
17046 * final.c (SEEN_BB, SEEN_NOTE, SEEN_EMITTED): Define.
17047 (final_scan_insn): Update to take an additional SEEN argument. Emit
17048 a line note after the prologue. Make static.
17049 (line_note_exists): Remove.
17050 (final): Don't initialize line_note_exists. Update call to
17051 final_scan_insn.
17052 * output.h (final_scan_insn): Remove prologue.
17053 * function.c (set_insn_locators): Update comment.
17054 (thread_prologue_and_epilogue_insns): Add a comment.
17055
95727fb8
AP
170562004-01-17 Andrew Pinski <pinskia@physics.uc.edu>
17057
17058 PR target/10781
17059 * config/rs6000/rs6000-protos.h (rs6000_special_round_type_align):
17060 Prototype.
17061 * config/rs6000/rs6000.c (rs6000_special_round_type_align):
17062 New function.
17063 * config/rs6000/linux64.h (ROUND_TYPE_ALIGN): Use it.
17064 * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Likewise.
17065 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Likewise.
17066
f2e16e97
JH
170672004-01-17 Jan Hubicka <jh@suse.cz>
17068
26c0473b
JH
17069 * toplev.c (rest_of_handle_reorder_blocks): Fix pasto in previous
17070 commit.
17071
f2e16e97
JH
17072 * toplev.c (HAVE_conditional_execution): Provide default.
17073 (rest_of_handle_reorder_blocks): For conditional_execution target
17074 update liveness once after all transformations
17075 (rest_of_compilation): Do crossjumping before ce3.
17076
f103e34d
GK
170772004-01-17 Geoffrey Keating <geoffk@apple.com>
17078
17079 * alias.c (new_alias_set): Mark last_alias_set for PCH.
17080 (get_varargs_alias_set): Rename 'set' to 'varargs_set' and mark it
17081 for PCH.
17082 (get_frame_alias_set): Likewise, except rename it to 'frame_set'.
17083 * config/rs6000/rs6000.c (rs6000_sr_alias_set): Mark for PCH.
17084 (get_TOC_alias_set): Mark 'set' for PCH.
17085
ab530ea8
GK
170862004-01-16 Geoffrey Keating <geoffk@apple.com>
17087
17088 * cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps
17089 even after reload, just don't remove the actual jump tables.
17090
53dd3be3 170912004-01-17 J. Brobecker <brobecker@gnat.com>
e7d23ce3
B
17092
17093 * dwarf2out.c (is_subrange_type): Renamed from is_ada_subrange_type().
17094 Remove checks for is_ada() and TREE_UNSIGNED.
17095 (subrange_type_die): Emit a byte_size attribute if the subrange
17096 type size is different from the base type size.
17097 (modified_type_die): Replace call to is_ada_subrange_type() by
17098 call to is_subrange_type().
17099
8582b18a
AP
171002004-01-16 Andrew Pinski <pinskia@physics.uc.edu>
17101
17102 * config/sh/sh.c: Include ggc.h.
17103
73e61092
GK
171042004-01-16 Geoffrey Keating <geoffk@apple.com>
17105
17106 * Makefile.in (MD5_H): New.
17107 (fold-const.o): Depend on md5.h.
17108 (dwarf2out.o): Likewise.
17109 (cppfiles.o): Likewise.
17110 * cppfiles.c: Include md5.h.
17111 (should_stack_file): Check against list read from PCH file.
17112 (struct pchf_data): New.
17113 (pchf): New variable.
17114 (struct pchf_adder_info): New.
17115 (pchf_adder): New.
17116 (pchf_save_compare): New.
17117 (_cpp_save_file_entries): New.
17118 (_cpp_read_file_entries): New.
17119 (struct pchf_compare_data): New.
17120 (pchf_compare): New.
17121 (check_file_against_entries): New.
17122 * cpphash.h (_cpp_save_file_entries): Prototype.
17123 (_cpp_read_file_entries): Prototype.
17124 * cpppch.c (cpp_write_pch_state): Write the list of headers.
17125 (cpp_read_state): Read the list of headers.
17126
3b75d796
JH
171272004-01-17 Jan Hubicka <jh@suse.cz>
17128
17129 * c-common.c (c_estimate_num_insns_1): Handle builtin_constant_p and
17130 builtin_expect specially.
17131 * params.def (PARAM_MAX_INLINE_INSNS_AUTO): Set to 100.
17132 (PARAM_LARGE_FUNCTION_INSNS): Set to 3000.
17133 * invoke.texi (max-inline-insns-single): Set to 100.
17134 (large-function-insns): Set to 3000.
17135
cf551fba
EC
171362004-01-16 Eric Christopher <echristo@redhat.com>
17137 Chandrakala Chavva <cchavva@redhat.com>
17138
17139 * cppcharset.c (one_iso88591_to_utf8): New function.
17140 (convert_iso88591_utf8): Ditto. Use.
17141 (conversion_tab): Use.
17142 (_cpp_input_to_utf8): New function.
17143 (_cpp_init_iconv_buffer): Ditto.
17144 (_cpp_close_iconv_buffer): Ditto.
17145 * cpphash.h: Prototype new functions.
17146 (cpp_buffer): Add input_cset_desc.
17147 * cppinit.c: Add input_charset default.
17148 * cpplib.c (cpp_push_buffer): Support init and
17149 close of iconv.
17150 * cpplib.h (cpp_options): Add input_charset.
17151
510d1e80
KH
171522004-01-16 Kazu Hirata <kazu@cs.umass.edu>
17153
17154 * system.h (ASM_OUTPUT_SECTION_NAME): Poison.
17155 * config/alpha/unicosmk.h: Remove a commented-out definition
17156 of ASM_OUTPUT_SECTION_NAME.
17157 * config/stormy16/stormy16.h: Likewise.
17158
fb2c2608
RO
171592004-01-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17160
17161 * fixinc/inclhack.def (alpha___extern_prefix): Renamed to ...
17162 (alpha___extern_prefix_sys_stat): ... this.
17163 Apply to <sys/mount.h>, too.
17164 Tweak to match more variations.
17165 * fixinc/tests/base/sys/stat.h: Adapt for new hackname.
17166
17167 * fixinc/inclhack.def (alpha___extern_prefix,
cf551fba 17168 alpha___extern_prefix_standards): New hacks to obey
c53bdcf5 17169 __PRAGMA_EXTERN_PREFIX.
fb2c2608
RO
17170 * fixinc/tests/base/testing.h [ALPHA___EXTERN_PREFIX_CHECK]: New
17171 test.
17172 * fixinc/tests/base/standards.h: Likewise.
cf551fba 17173
fb2c2608
RO
17174 * fixincl/inclhack.def (alpha_pthread): Tweak to match more
17175 variations.
17176 New testcase.
17177 * fixinc/tests/base/pthread.h: Handle it.
cf551fba 17178
fb2c2608
RO
17179 * fixincl/inclhack.def (bad_lval): Sort file list.
17180 Add many missing files up to Tru64 UNIX V5.1B.
17181 * gcc/fixinc/tests/base/libgen.h: Renamed to ...
17182 * gcc/fixinc/tests/base/dirent.h: ... this to match new file list
17183 order.
cf551fba 17184
fb2c2608
RO
17185 * fixinc/fixincl.x: Regenerate.
17186
79a76d65
MM
171872004-01-16 Mark Mitchell <mark@codesourcery.com>
17188
17189 * version.c (version_string): Change to 3.5.0.
17190 * doc/include/gcc-common.texi (version-GCC): Likewise.
17191
965514bd
JH
171922004-01-16 Jan Hubicka <jh@suse.cz>
17193
17194 * i386.md (load_tp_di): Fix pasto.
17195
17196 PR opt/13608
17197 * i386.c (ix86_compute_frame_layout): Fix for alloca on leaf function.
17198
17199 * c-pretty-print.c (pp_c_type_cast, pp_c_abstract_declarator,
17200 pp_c_character_constant, pp_c_floating_constant,
17201 pp_c_additive_expression, pp_c_shift_expression,
17202 pp_c_equality_expression, pp_c_and_expression,
17203 pp_c_exclusive_or_expression, pp_c_inclusive_or_expression,
17204 pp_c_logical_and_expression): Remove inline modifier.
17205 * dwarf2out.c (get_AT): Likewise.
17206 * et-forest.c (et_splay): Likewise.
17207 * ra.h (ra_alloc, ra_calloc): Likewise
17208
87b483a1
KH
172092004-01-16 Kazu Hirata <kazu@cs.umass.edu>
17210
17211 * config/frv/frv-protos.h: Fix comment formatting.
17212 * config/frv/frv.c: Likewise.
17213 * config/frv/frv.h: Likewise.
17214 * config/frv/frv.md: Likewise.
17215 * config/frv/frvbegin.c: Likewise.
17216 * config/frv/frvend.c: Likewise.
17217
16201823
KH
172182004-01-16 Kazu Hirata <kazu@cs.umass.edu>
17219
17220 * system.h (LINKER_DOES_NOT_WORK_WITH_DWARF2): Poison.
17221 * doc/tm.texi (PREFERRED_DEBUGGING_TYPE): Don't mention
17222 LINKER_DOES_NOT_WORK_WITH_DWARF2.
17223 (LINKER_DOES_NOT_WORK_WITH_DWARF2): Remove.
17224
115df136
R
172252004-01-16 J"orn Rennecke <joern.rennecke@superh.com>
17226
5ed5fd90 17227 PR 11864
115df136
R
17228 * postreload.c (reload_cse_simplify_operands): Don't remove
17229 implicit extension from LOAD_EXTEND_OP.
17230
e24e7211
JH
172312004-01-16 Jan Hubicka <jh@suse.cz>
17232
8c80adb7
SB
17233 PR opt/11350
17234 * cfgcleanup.c (try_optimize_cfg): Suppress tablejump removal
e24e7211 17235 after reload.
8c80adb7
SB
17236 * cfgrtl.c (rtl_can_merge_blocks, cfglayout_can_merge_blocks,
17237 rtl_try_redirect_by_replacing_branch): Likewise.
e24e7211 17238
b0fadda7
GK
172392004-01-15 Geoffrey Keating <geoffk@apple.com>
17240
b604074c
GK
17241 PR pch/13689
17242 * alias.c (struct alias_set_entry): Mark for GC.
17243 (alias_sets): Make static, mark for GC.
17244 (record_alias_subset): Use GC to allocate alias structures.
17245 * varray.c (element): Make generic varrays GCed.
17246
a6dd4094
GK
17247 PR pch/13361
17248 * c-typeck.c (constructor_asmspec): Delete.
17249 (struct initializer_stack): Delete field 'asmspec'.
17250 (start_init): Delete saving of asmspec.
17251 (finish_init): Don't update constructor_asmspec.
17252 * dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
17253 * stmt.c (expand_asm): Duplicate strings from tree.
17254 (expand_asm_operands): Likewise.
17255 * tree.c (tree_size): Update computation of size of STRING_CST.
17256 (make_node): Don't make STRING_CST nodes.
17257 (build_string): Allocate string with tree node.
17258 * tree.def (STRING_CST): Update comment.
17259 * tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
17260 (tree_string): Place contents of string in tree node.
17261 * config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
17262 from tree.
17263
b0fadda7
GK
17264 * config/rs6000/rs6000.c (rs6000_va_arg): No need to special-case
17265 altivec operands.
17266
e0a21ab9
KH
172672004-01-15 Kazu Hirata <kazu@cs.umass.edu>
17268
17269 * c-common.h: Fix comment formatting.
17270 * c-cppbuiltin.c: Likewise.
17271 * c-pragma.c: Likewise.
17272 * calls.c: Likewise.
17273 * collect2.c: Likewise.
17274 * cppcharset.c: Likewise.
17275 * cpptrad.c: Likewise.
17276 * dbxout.c: Likewise.
17277 * defaults.h: Likewise.
17278 * dwarf2out.c: Likewise.
17279 * fold-const.c: Likewise.
17280 * genautomata.c: Likewise.
17281 * genconditions.c: Likewise.
17282 * genflags.c: Likewise.
17283 * gengtype.c: Likewise.
17284 * integrate.c: Likewise.
17285 * loop.c: Likewise.
17286 * predict.c: Likewise.
17287 * sdbout.c: Likewise.
17288
f57fc998
ZW
172892004-01-15 Zack Weinberg <zack@codesourcery.com>
17290
17291 * config/ia64/ia64.md (*movti_internal): C output template
17292 extracted to ia64.c.
17293 (*movti_internal_reg): Delete.
17294 (reload_inti, reload_outti): Use the correct mode on operand 2
17295 in the first place, don't fix it up in the output template.
17296 (movtf, reload_ointf, reload_outtf): New expanders.
17297 (*movtf_internal): New define_insn_and_split.
17298 * config/ia64/ia64.c (ia64_split_timode): Rename to ia64_split_tmode;
17299 make static; do not hand TFmode CONST_DOUBLEs to split_double.
17300 (ia64_split_tmode_move): New function, body mostly pulled
17301 from ia64.md:*movti_internal.
17302 (ia64_function_arg_words): New function, extracted common
17303 logic from ia64_function_arg et seq.
17304 (ia64_function_arg_offset): Likewise. Handle correctly the
17305 case of a scalar quantity 16 bytes wide with only 8-byte alignment.
17306 (ia64_function_arg, ia64_function_arg_partial_nregs)
17307 (ia64_function_arg_advance): Use ia64_function_arg_words and
17308 ia64_function_arg_offset.
17309 (ia64_function_value): TCmode does not go in float regs.
17310 (ia64_secondary_reload_class): Also handle TFmode.
17311 * config/ia64/ia64-protos.h: Remove prototype for
17312 ia64_split_timode; add prototype for ia64_split_tmode_move.
17313
e9c4897b
KC
173142004-01-15 Kelley Cook <kcook@gcc.gnu.org>
17315
17316 * Makefile.in (MAINT): Make it an immediate assignment.
17317
5a67e41f
KH
173182004-01-15 Kazu Hirata <kazu@cs.umass.edu>
17319
17320 * config/m32r/m32r.md: Remove useless calls to gen_lowpart.
17321
340f6494
KH
173222004-01-15 Kazu Hirata <kazu@cs.umass.edu>
17323
17324 * config/h8300/coff.h: Replace Hitachi with Renesas.
17325 * config/h8300/elf.h: Likewise.
17326 * config/h8300/h8300-protos.h: Likewise.
17327 * config/h8300/h8300.c: Likewise.
17328 * config/h8300/h8300.h: Likewise.
17329 * config/h8300/h8300.md: Likewise.
17330 * config/h8300/lib1funcs.asm: Likewise.
17331
c954844a
AP
173322004-01-15 Andrew Pinski <apinski@apple.com>
17333
17334 * config/rs6000/rs6000.c (uses_TOC): Wrap #if TARGET_ELF
17335 around it.
17336
34bf1fe3
KH
173372004-01-15 Kazu Hirata <kazu@cs.umass.edu>
17338
17339 * config/h8300/h8300.c (h8300_return_in_memory): New.
17340 (TARGET_STRUCT_VALUE_RTX): Likewise.
17341 (TARGET_RETURN_IN_MEMORY): Likewise.
17342 * config/h8300/h8300.h (STRUCT_VALUE): Remove.
17343 (RETURN_IN_MEMORY): Likewise.
17344
e5396f90
RE
173452004-01-15 Richard Earnshaw <rearnsha@arm.com>
17346
17347 PR optimization/13375
17348 * gcse.c (handle_avail_expr): Just return if the source is not a
17349 single set.
17350
46049cff
RE
173512004-01-15 Richard Earnshaw <rearnsha@arm.com>
17352 Daniel Jacobowitz <drow@mvista.com>
17353
17354 * arm/lib1funcs.asm (ARM_FUNC_START): Correct interworking case.
17355 (EQUIV): Define.
17356 (ARM_FUNC_ALIAS): New macro.
17357 * arm/ieee754-df.S (gedf2, ledf2, nedf2, eqdf2): Use it.
17358 * arm/ieee754-sf.S (gesf2, lesf2, nesf2, eqsf2): Use it.
17359
2fabc3d6
JDA
173602004-01-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
17361
17362 PR optimization/12372
17363 * calls.c (expand_call): Add call_fusage data for stack arguments in
17364 constant calls.
17365
3c9eb5f4
AM
173662004-01-15 Alan Modra <amodra@bigpond.net.au>
17367
17368 * config/rs6000/rs6000.c (uses_TOC): Correct comment. Make static.
17369 (rs6000_elf_declare_function_name): Formatting.
17370 * config/rs6000/rs6000-protos.h (uses_TOC): Remove declaration.
17371
c7866154
JH
173722004-01-15 Jan Hubicka <jh@suse.cz>
17373
17374 PR bootstrap/13692
17375 * sched-deps.c (sched_analyze_1, sched_analyze_2): Fix thinko in
17376 previous patch.
17377
ad5d827d
RH
173782004-01-15 Richard Henderson <rth@redhat.com>
17379
17380 * config/alpha/alpha.h (REG_ALLOC_ORDER): Reorder fp regs after
17381 integer regs of the same call-savedness.
17382
66e07510
AS
173832004-01-15 Andreas Schwab <schwab@suse.de>
17384
17385 PR bootstrap/13562
17386 * config/m68k/m68k.c (output_move_const_into_data_reg): Clear cc
17387 status for NOTB/NOTW/NEGW methods.
17388
7c12f388
KH
173892004-01-15 Kazu Hirata <kazu@cs.umass.edu>
17390
17391 * doc/invoke.texi: Update dump file names. Fix a typo.
17392
4a7bb550
KH
173932004-01-15 Kazu Hirata <kazu@cs.umass.edu>
17394
17395 * builtins.c (expand_builtin_va_end): Don't use
17396 EXPAND_BUILTIN_VA_END.
17397 * system.h (EXPAND_BUILTIN_VA_END): Poison.
17398 * config/d30v/d30v.h: Remove a commented-out definition of
17399 EXPAND_BUILTIN_VA_END.
17400 * config/stormy16/stormy16.h: Likewise.
17401
430fff02
KH
174022004-01-15 Kazu Hirata <kazu@cs.umass.edu>
17403
17404 * system.h (STRUCT_VALUE_INCOMING_REGNUM): Poison.
17405 * targhooks.c (default_struct_value_rtx): Don't use
17406 STRUCT_VALUE_INCOMING_REGNUM.
17407
03787dfd
KC
174082004-01-15 Kelley Cook <kcook@gcc.gnu.org>
17409
17410 PR bootstrap/12744
17411 * configure.in: Revamp enable-generated-files-in-srcdir rule to define
17412 GENINSRC and not parsedir. Define srcextra as a langhook.
17413 * configure: Regenerate.
17414 * Makefile.in: Suppress default .l.c rule. Don't substitute
17415 parsedir and delete all references throughout. Conditionally define
17416 rule for srcextra dependent on GENINSRC.
17417 (stmp-docobjdir): Delete.
17418 (c-parse.o, gengtype-lex.o, gengtype-yacc.o): Use implicit build rule.
17419 (srcextra): Copy c-parse.y, c-parse.c, gengtype-lex.c, gengtype-yacc.c,
17420 and gengtype-yacc.h back to source directory.
17421 (maintainer-clean): Delete all parse files in source directory.
17422 (distclean): Delete generated files.
17423
17424 * objc/Make-lang.in (objc-parse.o): Use implicit build rule.
17425 (objc-parse.c, objc-parse.y): Don't use parsedir.
17426 (objc.srcextra): Copy objc-parse.y and objc-parse.c back to source
17427 directory if requested.
17428 (po-generated): Don't use parsedir.
17429 (objc.maintainer-clean): Delete above files from source directory.
17430
04ab46a4
KH
174312004-01-14 Kazu Hirata <kazu@cs.umass.edu>
17432
17433 * doc/tm.texi (FUNCTION_VALUE): Fix a typo.
17434
d624465f
KH
174352004-01-14 Kazu Hirata <kazu@cs.umass.edu>
17436
17437 * doc/tm.texi: Replace RETURN_IN_MEMORY with
17438 TARGET_RETURN_IN_MEMORY.
17439
e1be55d0
JH
174402004-01-15 Jan Hubicka <jh@suse.cz>
17441
17442 * builtins.c (std_expand_builtin_va_arg): Align operand when needed.
17443 * i386.c (init_cumulative_args): Set warn_sse; fix handling of variadic
17444 functions accepting SSE arguments
17445 (function_arg): Warn only when asked to warn.
17446 * i386.h (ix86_args): Add warn_sse/warn_mmx fiels.
17447
f560bf91
JM
174482004-01-14 Joseph S. Myers <jsm@polyomino.org.uk>
17449
17450 * c-parse.in (stmts_and_decls): Make label at end of compound
17451 statement a hard error.
17452
95c755e9
JH
174532004-01-14 Jan Hubicka <jh@suse.cz>
17454
17455 * cgraph.c (create_edge): Use local.redefined_extern_inline.
17456 * cgraph.h (cgraph_local_info): Sort fields by size; add
17457 redefined_extern_inline
17458 (cgraph_global_info): Sort fields by size.
17459 (cgraph_node): Likewise.
17460 * cgraphunit.c (cgraph_finalize_function): Se
17461 local.redefined_extern_inline on redefinition.
17462 (cgraph_analyze_function): Use it; fix formating.
17463
84568e14
JH
174642004-01-14 Jan Hubicka <jh@suse.cz>
17465
17466 PR c++/10776
17467 * sched-deps.c (trye_dependency_cache, anti_dependency_cache,
17468 outptu_dependency_cache, forward_dependency_cahe): Trun to vectors of
17469 bitmaps
17470 (cache_size): New variable
17471 (add_dependence): Update use; canonize early memory locations
17472 (sched_analyze_1): Likewise.
17473 (sched_analyze_2): Likewise.
17474 (init_dependency_caches): Initialize bitmaps.
17475 (free_dependency_caches): Free bitmaps
17476
3a179764
KH
174772004-01-14 Kazu Hirata <kazu@cs.umass.edu>
17478
17479 * calls.c: Replace STRICT_ARGUMENT_NAMING in comments with
17480 targetm.calls.strict_argument_naming().
17481 * target.h: Likewise.
17482
b298f00f
RH
174832004-01-14 Richard Henderson <rth@redhat.com>
17484
17485 PR debug/13231
17486 * dwarf2out.c (dwarf2out_stack_adjust): Skip prologue and epilogue
17487 instructions.
17488
1bddbeb4
RH
174892004-01-14 Richard Henderson <rth@redhat.com>
17490
17491 PR c++/12491
17492 * except.c (struct eh_region): Add u.fixup.resolved.
17493 (resolve_one_fixup_region): Split out from ...
17494 (resolve_fixup_regions): ... here.
17495
4eb31d4f
KH
174962004-01-14 Kazu Hirata <kazu@cs.umass.edu>
17497
17498 * config/mn10300/mn10300.h (STRUCT_VALUE): Change to 0.
17499
16f425fc
KH
175002004-01-14 Kazu Hirata <kazu@cs.umass.edu>
17501
17502 * config/alpha/alpha.h (STRUCT_VALUE): Remove.
17503 * config/alpha/vms.h (STRUCT_VALUE_REGNUM): Remove #undef.
17504 (STRUCT_VALUE): Remove.
17505
4850c982 175062004-01-14 Steven Bosscher <stevenb@suse.de>
616f6d84
SB
17507
17508 * system.h: Poison PROMOTED_MODE
17509 * integrate.c (expand_inline_function): Don't mention the
17510 PROMOTED_MODE.
17511 * loop.c (update_giv_derive): Same.
17512 * tree.h (DECL_RTL): Same.
17513
f9654065
R
175142004-01-14 J"orn Rennecke <joern.rennecke@superh.com>
17515
17516 PR target/9365
17517 * sh.c (gen_block_redirect): Add special handling of RETURN.
17518 (gen_far_branch) Don't call gen_stuff_delay_slot if there is no
17519 far branch target (i.e. it's a return).
17520
abbe8578
KH
175212004-01-14 Kazu Hirata <kazu@cs.umass.edu>
17522
17523 * regrename.c (find_oldest_value_reg): Fix a warning.
17524
192c8d78
RE
175252004-01-14 Richard Earnshaw <rearnsha@arm.com>
17526
17527 PR bootstrap/12527
17528 * config.gcc (arm*-*-linux*): Don't include unknown-elf.h in tm_file.
17529 Move linux-gas.h and linux-elf.h before aout.h.
17530 * arm/arm.h (INITIALIZE_TRAMPOLINE): Only define if not already.
17531 * arm/linux-elf.h (SUBTARGET_CPU_DEFAULT): Define.
17532
e512ab39
KH
175332004-01-14 Kazu Hirata <kazu@cs.umass.edu>
17534
17535 * config/m32r/m32r.md: Use GEN_INT instead of gen_rtx
17536 (CONST_INT, VOIDmode, ...).
17537
684bcee5
RE
175382004-01-14 Richard Earnshaw <rearnsha@arm.com>
17539
f57fc998 17540 * regrename.c (find_oldest_value_reg): If the replacement uses
684bcee5
RE
17541 multiple hard registers, check that all of them are in CLASS.
17542
e7844ffb
JH
175432004-01-14 Jan Hubicka <jh@suse.cz>
17544
17545 * alias.c (get_alias_set): Initialize alias set to 0 when subset is
17546 impossible.
17547
73e232f0
KC
175482004-01-14 Kelley Cook <kcook@gcc.gnu.org>
17549
17550 * Makefile.in: Define MAINT from --enable-maintainer-mode.
17551
4d774ff8
HP
175522004-01-14 Hartmut Penner <hpenner@de.ibm.com>
17553
17554 * gcc/config/rs6000/rs6000.c (rs6000_stack_info)
17555 Calculate always vrsave_mask if TARGET_ALTIVEC.
17556 (rs6000_emit_prologue): Emit code for vrsave
17557 only if TARGET_ALTIVEC_VRSAVE.
17558 (rs6000_emit_epilogue): Likewise.
17559
fa1090f5
EB
175602004-01-14 Eric Botcazou <ebotcazou@libertysurf.fr>
17561
17562 * config/sparc/sparc.md (tie_add32): Fix pasto.
17563 (tie_add64): Likewise.
17564
79551a56
ZD
175652004-01-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
17566
17567 * config/i386/i386.md (*addqi_1_slp): Do not access operands[2].
17568
5b8d96f1
KH
175692004-01-13 Kazu Hirata <kazu@cs.umass.edu>
17570
17571 * config/iq2000/iq2000-protos.h: Fix comment formatting.
17572 * config/iq2000/iq2000.c: Likewise.
17573 * config/iq2000/iq2000.md: Likewise.
17574
b98d154e
B
175752004-01-14 J. Brobecker <brobecker@gnat.com>
17576
17577 * dwarf2out.c (is_ada_subrange_type): No longer check the TYPE_NAME.
17578 (subrange_type_die): Add handle for nameless subrange types.
17579
1a793acf
KH
175802004-01-13 Kazu Hirata <kazu@cs.umass.edu>
17581
17582 * config/h8300/h8300-protos.h: Replace do_movsi with
17583 h8300_expand_movsi.
17584 * config/h8300/h8300.c (do_movsi): Change to
17585 h8300_expand_movsi.
17586 * config/h8300/h8300.md (movsi): Replace do_movsi with
17587 h8300_expand_movsi.
17588 (movsf): Likewise.
17589
81ad9ded
KH
175902004-01-13 Kazu Hirata <kazu@cs.umass.edu>
17591
17592 * config/h8300/h8300.c (dosize): Change to
17593 h8300_emit_stack_adjustment. Update callers.
17594
3f0063ab
KH
175952004-01-13 Kazu Hirata <kazu@cs.umass.edu>
17596
17597 * config/h8300/h8300.md (movstrictqi): Add an alternative with
17598 the source being post_inc. Tighten the predicate for the
17599 destination to register_operand.
17600 (movstricthi): Likewise.
17601
abf843c4
KH
176022004-01-13 Kazu Hirata <kazu@cs.umass.edu>
17603
17604 * system.h (SHARED_BSS_SECTION_ASM_OP): Poison.
17605 * varasm.c (bss_section): Don't use SHARED_BSS_SECTION_ASM_OP.
17606 * doc/tm.texi (SHARED_BSS_SECTION_ASM_OP): Remove.
17607
4b589eab
JH
176082004-01-14 Jan Hubicka <jh@suse.cz>
17609
d34cb6a1
JH
17610 Partial fix PR c++/12850
17611 * cgraphunit.c (cgraph_finalize_function): Always ggc_collect when
17612 at zero nest level.
4b589eab 17613
9ff2cabc
BI
176142004-01-13 Bernardo Innocenti <bernie@develer.com>
17615
17616 * config/m68k/netbsd-elf.h (REGISTER_NAMES): Add missing "argptr"
f57fc998 17617 pseudo-register.
9ff2cabc 17618
a4d8ec65
DP
176192004-01-13 Devang Patel <dpatel@apple.com
17620
17621 PR debug/7078
f57fc998 17622 * dbxout.c (dbxout_symbol_name): Emit mangled names for
a4d8ec65 17623 NAMESPACE_DECL memebers.
f57fc998 17624
bfaba7a9
AP
176252004-01-13 Andrew Pinski <pinskia@physics.uc.edu>
17626
17627 PR c++/12709
17628 * c-common.c (finish_fname_decls): Use the chain only if the
17629 tree is an expr_stmt.
17630
dfa849f3
VM
176312004-01-13 Vladimir Makarov <vmakarov@redhat.com>
17632
616f6d84 17633 * rtl.def: Add comment about new option in automata_option.
f57fc998 17634
dfa849f3
VM
17635 * genautomata.c (PROGRESS_OPTION): New macro.
17636 (progress_flag): New global variable.
17637 (gen_automata_option): Process `progress'.
17638 (transform_insn_regexps, check_unit_distributions_to_automata,
17639 make_automaton, NDFA_to_DFA, build_automaton, create_automata,
17640 expand_automata, write_automata): Print about the progress only if
17641 progress_flag. Remove fflush.
17642 (initiate_automaton_gen): Process command line flag `-progress'.
17643
17644 * doc/md.texi: Describe the new option.
f57fc998 17645
9405162e
ZD
176462004-01-13 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
17647
17648 * cfg.c (dump_bb): Dump entry edges.
17649
f954388e
RE
176502004-01-13 Richard Earnshaw <rearnsha@arm.com>
17651
f57fc998 17652 * arm.c (thumb_legitimate_address_p): Only allow constant pool
f954388e
RE
17653 references from SImode.
17654 * arm.md (thumb_movhi_insn): Don't allow minipool references.
17655
0fe7abcc
KH
176562004-01-13 Kazu Hirata <kazu@cs.umass.edu>
17657
17658 * system.h (TEXT_SECTION): Poison.
17659 * varasm.c (text_section): Don't use TEXT_SECTION.
17660 * config/sh/sh.c (sh_file_start): Fix a comment typo.
17661 * doc/tm.texi (TEXT_SECTION): Remove.
17662
fdb07791
BE
176632004-01-13 Ben Elliston <bje@wasabisystems.com>
17664
17665 * doc/rtl.texi (Vector Operations): Remove defunct vec_const item.
17666
56067bbe
JW
176672004-01-12 James E Wilson <wilson@specifixinc.com>
17668
17669 * unwind-libunwind.c: Delete.
17670
bc298aa7
ZW
176712004-01-12 Zack Weinberg <zack@codesourcery.com>
17672
17673 PR 13656
17674 * c-decl.c (diagnose_mismatched_decls): Whenever newtype or
17675 oldtype is set, set *newtypep or *oldtypep too. Do not set
17676 them at the very end.
17677 (validate_proto_after_old_defn): Restructure for comprehensibility;
17678 make error messages clearer.
17679
12a08b40
ZW
176802004-01-12 Zack Weinberg <zack@codesourcery.com>
17681
17682 * varray.h (VARRAY_POP): Add checking variant, aborts on underflow.
17683 (VARRAY_TOP): Use VARRAY_CHECK so the access is bounds-checked.
17684 * varray.c: No need to prototype error.
17685 (varray_check_failed): Wrap long string onto two lines.
17686 (varray_underflow): New function.
17687
faed5cc3
SB
176882004-01-13 Steven Bosscher <stevenb@suse.de>
17689
17690 PR c++/13376
17691 * function.h (struct function): Kill `name' field.
17692 (current_function_name): Make it an extern function.
17693 * function.c (current_function_name): New function.
17694 * graph.c: Update all uses of current_function_name.
17695 * gcse.c: Likewise.
17696 * config/alpha/alpha.c, config/avr/avr.c, config/c4x/c4x.c,
17697 config/mips/mips.c, config/pdp11/pdp11.c: Likewise.
17698 * config/ip2k/ip2k.c (function_prologue): Use MAIN_NAME_P
17699 instead of a strcmp with "main".
17700
2d327012
JH
177012004-01-13 Jan Hubicka <jh@suse.cz>
17702
0bb03c11
JH
17703 * c-decl.c (diagnose_mismatched_decls): Fix warning calls.
17704
2d327012
JH
17705 * cgraphunit.c (cgraph_optimize_function): Always do
17706 optimize_inline_calls when there is always_inline callee.
17707 (cgraph_decide_inlining): Fix formating.
17708 * tree-inline.c (inlinable_function_p): Do sorry for alwaysinline
17709 functions.
17710 (expand_call_inline): Likewise.
17711 * toplev.h (sorry): Fix prototype.
17712
04cc79bb
RS
177132004-01-12 Roger Sayle <roger@eyesopen.com>
17714
17715 * builtins.c (expand_builtin_expect_jump): Simplify logic. Handle
17716 conditional jumps that drop through to unconditional jumps or the
17717 end of the sequence.
17718
3416f5c2
JH
177192004-01-13 Jan Hubicka <jh@suse.cz>
17720
17721 * alias.c (new_alias_set): Construct the alias_set varray.
17722 (init_alias_once): Don't do it here.
17723
f92ed976
ME
177242004-01-12 Marc Espie <espie@openbsd.org>
17725
17726 * system.h: handle YYBYACC like YYBISON.
17727
ff2aaa93
JM
177282004-01-12 Jonathan Merriman <jonm@dualitymedia.com>
17729
17730 PR target/10847
17731 * config.gcc: No longer includes conflicting header sparc/sol2.h when
17732 building on sparc64-*-openbsd*.
17733
c5ff9123
AP
177342004-01-12 Andrew Pinski <pinskia@physics.uc.edu>
17735
17736 PR debug/13539
17737 * dbxout.c (dbxout_type): Protected inheritance is not
17738 private but protected.
17739
3cd2a183
RS
177402004-01-12 Richard Sandiford <rsandifo@redhat.com>
17741
17742 * config/mips/mips.c (mips_symbolic_constant_p): Revert last patch.
17743
5c881655
KH
177442004-01-12 Kazu Hirata <kazu@cs.umass.edu>
17745
17746 PR optimization/12508.
17747 * combine.c (try_combine): Remove a dead set in a parallel
17748 even if its destination is a subreg.
17749
17750 Revert:
17751 2003-06-03 Kazu Hirata <kazu@cs.umass.edu>
17752 * combine.c (simplify_set): Don't move a subreg in SET_SRC to
17753 SET_DEST if WORD_REGISTER_OPERATIONS is not defined.
17754
a42f8ae7 177552004-01-12 Geoffrey Keating <geoffk@apple.com>
affad9a4
GK
17756
17757 * real.c: Update copyright date.
17758 * emit-rtl.c: Likewise.
17759 * rtl.h: Likewise.
17760 * dwarf2out.c: Likewise.
17761 * config/rs6000/darwin-ldouble.c: Likewise.
17762 * config/rs6000/rs6000.md: Likewise.
17763
4274207b
DE
177642004-01-12 David Edelsohn <edelsohn@gnu.org>
17765
17766 * config/rs6000/rs6000.c (rs6000_init_libfuncs): Add AIX
17767 TFmode to SImode libfuncs.
17768
06e4eab5
RS
177692004-01-12 Roger Sayle <roger@eyesopen.com>
17770
17771 PR middle-end/11397
17772 * varasm.c (assemble_alias): Remove weak aliases from weak_decls.
17773
432f982f
JH
177742004-01-12 Jan Hubicka <jh@suse.cz>
17775
17776 PR opt/12826
17777 * loop.c (insert_loop_mem): Preffer VOLATILE memory references to be
17778 stored.
17779
17780 PR opt/12863
17781 * cfgcleanup.c (label_is_jump_target_p): Move to...
17782 * rtlanal.c (label_is_jump_target_p): ... here.
17783 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Fix redirecting of fallthru
17784 edges unified with branch edges.
17785
8064d930
RE
177862004-01-12 Richard Earnshaw <rearnsha@arm.com>
17787
17788 * simplify-rtx.c (simplify_immed_subreg): Correctly extract the
17789 high word of an integral CONST_DOUBLE.
17790
1c48f4be 177912004-01-12 Paul Brook <paul@codesourcery.com>
0786ca87
PB
17792
17793 * simplify-rtx.c (simplify_plus_minus): Always generate canonical form.
17794
68d2b0bb 177952004-01-12 J"orn Rennecke <joern.rennecke@superh.com>
07d7d2f4
R
17796
17797 PR target/13585
17798 * sh-protos.h (check_use_sfunc_addr): Declare.
17799 * sh.c (extract_sfunc_addr, check_use_sfunc_addr): New functions.
17800 * sh.md (use_sfunc_addr): Use check_use_sfunc_addr in insn predicate.
17801
c65ecebc
JH
178022004-01-12 Jan Hubicka <jh@suse.cz>
17803
9ddb66ca
JH
17804 * alias.c: Invlude varray.h
17805 (alias_sets): Turn into varray.
17806 (get_alias_set_entry): Use VARRAY; mark inline.
17807 (mems_in_disjoint_alias_sets_p): Mark inline.
17808 (record_alias_subset): Use varray.
17809 (init_alias_once): Initialize varray.
17810 (new_alias_set): Grow array.
17811 * varray.c: Make VARRAY_GENERIC_PTR non GTYized.
17812
178132004-01-12 Jan Hubicka <jh@suse.cz>
17814
17815 Partial fix for PR opt/10776 II
c65ecebc
JH
17816 * cselib.c: Include params.h
17817 (cselib_invalidate_mem): Limit amount of nonconflicting memory
17818 locations.
17819 * params.def (PARAM_MAX_CSELIB_MEMORY_LOCATIONS): New.
17820 * Makefile.in (cselib.o): Depend on params.h
17821
c0657872
RS
178222004-01-12 Richard Sandiford <rsandifo@redhat.com>
17823
17824 * combine.c (combine_simplify_rtx): Don't pass VOIDmode to
17825 simplify_unary_operation if the operand has a known mode.
17826
d2288d5d
HP
178272004-01-12 Hartmut Penner <hpenner@de.ibm.com>
17828
b40ee5d6 17829 PR target/13534
d2288d5d
HP
17830 * gcc/config/rs6000/rs6000.c (word_offset_memref_operand): New
17831 predicate to handle 'ld' conform addresses.
17832 * gcc/config/rs6000/rs6000.h (EXTRA_CONSTRAINT): New 'Y'
17833 contraint.
17834 (EXTRA_MEMORY_CONSTRAINT): Tell reload which constraint
17835 are memory contraints.
12a08b40 17836 * gcc/config/rs6000/rs6000-protos.h (word_offset_memref_operand):
d2288d5d 17837 New prototype.
12a08b40 17838 * gcc/config/rs6000/rs6000.md (*movdf_hardfloat64):
d2288d5d
HP
17839 Change 'o' to 'Y' constraint.
17840 (*movdf_softfloat64): Ditto.
12a08b40 17841
c223cf45
BI
178422004-01-12 Bernardo Innocenti <bernie@develer.com>
17843
17844 * gcc/config/m68k/m68k.md: Switch from the "*..." syntax to the
17845 brace-enclosed syntax in all C output statements.
17846
5fc921c1
DE
178472004-01-12 David Edelsohn <edelsohn@gnu.org>
17848
17849 PR target/13401
17850 * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
17851 Objective-C language type value is 14.
17852
48568ec7
MO
178532004-01-12 Markus F.X.J. Oberhumer <markus@oberhumer.com>
17854
17855 PR c/12148
17856 * config/m68k/fpgnulib.c: Fix `-mshort' bugs: Use `long' instead of
17857 `int' in a number of places to make sure we always have a SImode
17858 and not a HImode. Add a 'L' suffix to a number of constants.
17859
124c9423
JDA
178602004-01-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
17861
17862 * pa.c: Don't include obstack.h.
17863
17864 * pa.md: Correct constraint in pattern for loading PIC label address.
17865
c924f70c
KK
178662004-01-11 Kaz Kojima <kkojima@gcc.gnu.org>
17867
17868 * config/sh/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Undefine
17869 before defining.
17870
53efeb8d
SB
178712004-01-11 Steven Bosscher <stevenb@suse.de>
17872
1eee14b9 17873 PR fortran/9972
53efeb8d
SB
17874 * toplev.c (rest_of_handle_inline): Also consider functions
17875 for deferral if the language is GNU F77.
17876
d4968a11
ZW
178772004-01-11 Zack Weinberg <zack@codesourcery.com>
17878
17879 * c-decl.c (diagnose_arglist_conflict): Add missing space to
17880 diagnostic messages.
17881
1759c760
JJ
178822004-01-11 Jakub Jelinek <jakub@redhat.com>
17883
17884 PR middle-end/13392
17885 * builtins.c (expand_builtin_expect_jump): Handle conditional jumps
17886 to drop through label. Don't fall back to SCC even when conditional
17887 jump has not been found.
17888
0bcf8261
JH
178892004-01-11 Jan Hubicka <jh@suse.cz>
17890
fb544601
JH
17891 * invoke.texi: Fix syntax error in previous patch.
17892
0bcf8261
JH
17893 Partial fix for PR opt/10776
17894 * Makefile.in (reload.o): Include param.h
17895 * params.def (PARAM_MAX_RELOAD_SEARCH_INSNS): New parameter.
17896 * reload.c: Include params.h.
17897 (find_equiv_reg): Work limiting check.
17898 * invoke.texi: Document.
17899
bd9131c0
RS
179002004-01-11 Richard Sandiford <rsandifo@redhat.com>
17901
17902 * config/mips/mips.c (mips_symbolic_constant_p): Don't allow
17903 out-of-bounds accesses to string constants. Simplify mips16
17904 case accordingly.
17905
6732ee60
RS
179062004-01-11 Richard Sandiford <rsandifo@redhat.com>
17907
17908 PR optimization/13469
17909 * toplev.c (rest_of_compilation): Call purge_all_dead_edges after
17910 reload_cse_regs (-fnon-call-exceptions only).
17911
14bc6742
KH
179122004-01-11 Kazu Hirata <kazu@cs.umass.edu>
17913
17914 * config/mcore/lib1.asm: Fix comment formatting.
17915 * config/mcore/mcore-elf.h: Likewise.
17916 * config/mcore/mcore.c: Likewise.
17917 * config/mcore/mcore.h: Likewise.
17918 * config/mcore/mcore.md: Likewise.
17919
3c6e6fbf
ZW
179202004-01-10 Zack Weinberg <zack@codesourcery.com>
17921
17922 * c-decl.c (duplicate_decls): Break apart into...
17923 (diagnose_arglist_conflict, validate_proto_after_old_defn)
17924 (locate_old_defn, diagnose_mismatched_decls, merge_decls):
17925 ... these new functions. Restructure for comprehensibility.
17926 Remove various archaic special cases. Always report the
17927 location of the previous declaration when a diagnostic is issued.
17928 (redeclaration_error_message): Fold into diagnose_mismatched_decls.
17929 (match_builtin_function_types): Delete unnecessary forward declaration.
17930
1e8dcb41
ZW
179312004-01-10 Zack Weinberg <zack@codesourcery.com>
17932
17933 * genautomata.c (make_automaton, NDFA_to_DFA):
17934 Print progress bars with '.' characters instead of '*'.
17935 (build_automaton): Change notes to match.
17936
a2ab189d
KH
179372004-01-10 Kazu Hirata <kazu@cs.umass.edu>
17938
17939 * config/m32r/m32r.md: Use define_constants for unspec and
17940 unspec_volatile.
17941
cf7cb67e
JH
179422004-01-10 Jan Hubicka <jh@suse.cz>
17943
c8fdcfae 17944 PR opt/11635
cf7cb67e
JH
17945 * expr.c (expand_expr_real): More curefully expand union casts.
17946
0574200c
KH
179472004-01-10 Kazu Hirata <kazu@cs.umass.edu>
17948
17949 * config/m32r/m32r.md (flush_icache): Use 1 for
17950 unspec_volatile.
17951
a2a0019f
DE
179522004-01-10 David Edelsohn <edelsohn@gnu.org>
17953 James E Wilson <wilson@specifixinc.com>
17954
17955 PR debug/12860
17956 * dbxout.c (dbxout_symbol): Remove initialization of
17957 current_sym_code, current_sym_value, and current_sym_addr.
17958 (dbxout_symbol_location): Same.
17959 (dbxout_prepare_symbol): Zero current_sym_code,
17960 current_sym_value, and current_sym_addr.
17961
bb3f5384
RS
179622004-01-10 Richard Sandiford <rsandifo@redhat.com>
17963
17964 * tree.c (get_unwidened): Reorder conditions so that the null pointer
17965 check is done first.
17966
fbfb16e2
EC
179672004-01-09 Eric Christopher <echristo@redhat.com>
17968
17969 * toplev.c (rest_of_handle_cfg): Add reg_scan pass
17970 if we're running mark_constant_function.
17971
cc23f3c7
JB
179722004-01-09 Jeff Bailey <jbailey@nisa.net>
17973
17974 PR target/12561
17975 * config/t-gnu: Rename SYSTEM_HEADER_DIR to NATIVE_SYSTEM_HEADER_DIR.
17976
975421be
AP
179772004-01-09 Andrew Pinski <pinskia@physics.uc.edu>
17978
17979 PR debug/11231
a2a0019f
DE
17980 * dbxout.c (dbxout_type_fields): Return if any item is
17981 error_mark_node or the type is error_mark_node.
975421be 17982
7e4bd541
GK
179832004-01-09 Geoffrey Keating <geoffk@apple.com>
17984
f01519dd
GK
17985 * config/rs6000/darwin-ldouble.c: Add big comment explaining
17986 exactly what is expected as a 'long double'.
17987 (_xlqadd): When a value to be returned is representable as a
17988 'double', just return it directly, do not construct it using a union.
17989 Also, correct final fixup.
17990 (_xlqmul): Likewise.
17991 (_xlqdiv): Likewise.
17992 * real.c (encode_ibm_extended): Make consistent with darwin-ldouble.c.
17993
7e4bd541
GK
17994 * config/rs6000/rs6000.md (fix_trunctfdi2): Delete.
17995
47069ecb
RH
179962004-01-09 Richard Henderson <rth@redhat.com>
17997
17998 * recog.c (constrain_operands): Validate mem operands.
17999
9813058e
JW
180002004-01-09 James E Wilson <wilson@specifixinc.com>
18001
18002 * gcc.c (init_spec): Remove -lunwind from shared case.
18003 * conifg/ia64/t-hpux (SHLIB_LINK): Add -lunwind.
18004
b0fd7d27
SE
180052004-01-09 Steve Ellcey <sje@cup.hp.com>
18006
18007 * configure.ac: (gcc_cv_ld_hidden) Set to true for ia64*-*-hpux*.
18008 * configure: Regenerate
18009
3897f229
JM
180102004-01-09 Joseph S. Myers <jsm@polyomino.org.uk>
18011
18012 PR c/11234
18013 * c-typeck.c (build_c_cast): If pedantic, warn for conversions
18014 between function and object pointers.
18015 (digest_init): When comparing a pointer to function type to the
18016 target type, only apply TREE_TYPE once to the pointer to function
18017 type.
18018 * except.c (for_each_eh_label_1): Treat data as a pointer to a
18019 function pointer rather than casting it to a function pointer.
18020 (for_each_eh_label): Update caller.
18021 * recog.h (struct insn_data): Use a struct or union for output.
18022 * genoutput.c (output_insn_data): Update.
18023 * final.c (get_insn_template): Update.
18024
0fab64a3
MM
180252004-01-09 Mark Mitchell <mark@codesourcery.com>
18026
18027 * expr.h (expand_expr): Make it a macro, not a function.
18028 (expand_expr_real): New function.
18029 * expr.c (store_expr): Adjust logic for deciding whether or not to
18030 copy the value returned by expand_expr.
18031 (expand_expr): Rename to ...
18032 (expand_expr_real): ... this. Add alt_rtl parameter. Adjust
18033 calls to language hooks.
18034 * c-common.h (c_expand_expr): Adjust prototype.
18035 * c-common.c (c_expand_expr): Add alt_rtl parameter.
18036 * langhooks-def.h (lhd_expand_expr): Change prototype.
18037 * langhooks.c (lhd_expand_expr): Add all_rtl parameter.
18038 * langhooks.h (lang_hooks): Change type of expand_expr.
18039 * stmt.c (stmt_status): Add x_last_expr_alt_rtl.
18040 (last_expr_alt_rtl): Likewise.
18041 (expand_expr_stmt_value): Set last_expr_alt_rtl.
18042 (clear_last_expr): Clear it.
18043 (expand_end_stmt_expr): Set RTL_EXPR_ATL_RTL.
18044 (expand_end_bindings): Save and restor last_expr_alt_rtl.
18045 * tree.def (RTL_EXPR): Give it an additional operand.
18046 * tree.h (RTL_EXPR_ALT_RTL): New macro.
9813058e 18047
df68f43b
KI
180482004-01-09 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
18049
18050 * config/m32r/m32r.h (TARGET_CPU_CPP_BUILTINS): Add __m32r__.
900a35c8 18051 * config/m32r/m32r.c (call26_operand): Allow in PIC mode.
df68f43b 18052
58ebda9c
KH
180532004-01-09 Kazu Hirata <kazu@cs.umass.edu>
18054
18055 PR target/13380.
18056 * config/m32r/m32r.md: Replace (reg:SI 17) with (reg:CC 17)
18057 or (ne:SI (reg:CC 17) (const_int 0)).
18058 Be specific about modes wherever possible.
18059
81ad38a6
KH
180602004-01-09 Kazu Hirata <kazu@cs.umass.edu>
18061
18062 * config/m32r/m32r.c (m32r_expand_block_move): Call
18063 gen_movestrsi_internal with two more arguments.
18064 (m32r_output_block_move): Adjust operand numbers.
18065 Properly update the source and destination pointers.
18066 * config/m32r/m32r.md (movstrsi_internal): Use 'r' instead of
18067 'r+'. Change the set detinations to match_operand.
18068
b816f339
KH
180692004-01-09 Kazu Hirata <kazu@cs.umass.edu>
18070
18071 * final.c (FIRST_INSN_ADDRESS): Remove.
18072 (shorten_branches): Don't use FIRST_INSN_ADDRESS.
18073 * system.h (FIRST_INSN_ADDRESS): Poison.
18074 * config/avr/avr.h: Remove a comment about FIRST_INSN_ADDRESS.
18075 * config/m32r/m32r-protos.h: Remove the prototype for
18076 m32r_first_insn_address.
18077 * config/m32r/m32r.c (m32r_first_insn_address): Remove.
18078 * config/m32r/m32r.h (FIRST_INSN_ADDRESS): Likewise.
18079 * doc/md.texi (FIRST_INSN_ADDRESS): Likewise.
18080
de99511b
B
180812004-01-09 J. Brobecker <brobecker@gnat.com>
18082
18083 * dwarf2out.c (gen_enumeration_type_die): Return the DIE that
18084 we just created.
18085 (is_ada_subrange_type): DIEs for enumeration subtypes should be
18086 emitted as subrange types too.
18087 (subrange_type_die): Add handling of enumeration subtypes.
18088
90e4e4c5
RH
180892004-01-08 Richard Henderson <rth@redhat.com>
18090
18091 PR opt/12441
18092 Revert: Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
9813058e
JW
18093 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
18094 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
18095 (ix86_address_cost): Be prepared for SUBREGed registers.
18096 (legitimate_address_p): Accept SUBREGed registers.
90e4e4c5 18097
a6a5e4c9
KC
180982004-01-08 Kelley Cook <kcook@gcc.gnu.org>
18099
18100 * Makefile.in: Rename configure.in to configure.ac
18101 * doc/sourcebuild.texi: Likewise.
18102 * configure: Regenerate.
18103 * config.in: Regenerate.
18104
588f75d0
SH
181052004-01-08 Stuart Hastings <stuart@apple.com>
18106
18107 * config/i386/i386.md: Typos in MMX/SSE immediate shifts.
18108
6242fcd8
JH
181092004-01-08 Jan Hubicka <jh@suse.cz>
18110
18111 * cgraphunit.c (cgraph_decide_inlining): Fix typo.
18112
a29077da
GK
181132004-01-08 Geoffrey Keating <geoffk@apple.com>
18114
ecb62ae7
GK
18115 * config/rs6000/rs6000.md (cmptf_internal1): Correct branch offset.
18116 (UNSPEC_FIX_TRUNC_TF): New constant.
18117 (movtf_internal): Make splitter active only when insn is active.
18118 (extenddftf2): Rewrite to properly load zero into low part.
18119 (extenddftf2_internal): New.
18120 (extendsftf2): Rewrite.
18121 (truncdftf2): Correct length.
18122 (floatditf2): Delete.
18123 (fix_trunc_helper): New.
18124 (fix_trunctfdi2): Use fix_trunc_helper.
18125 (fix_trunctfsi2): Likewise.fix_trunc
18126 (fix_trunctfsi2_internal): New.
18127
a29077da
GK
18128 * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): lo_sum
18129 addresses are legitimate on Darwin even when flag_pic.
18130 (rs6000_legitimize_reload_address) [TARGET_MACHO]: Don't create
18131 non-offsettable addresses for loads of TFmode constants.
18132
cb1f9d03
KI
181332004-01-08 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
18134
18135 * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Actually emit
18136 variables in the appropriate bss section.
18137
7ddb6568
AM
181382004-01-09 Alan Modra <amodra@bigpond.net.au>
18139
18140 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Ensure
18141 target_flags has MASK_POWERPC64 when -m64.
18142 * config/rs6000/rs6000.c (processor_target_table): Add MASK_POWERPC64
18143 to 620, 630, power3, power4 and rs64a entries.
18144 * config/rs6000/rs6000.h (MASK_64BIT): Expand comment.
18145
effdb493
RS
181462004-01-08 Richard Sandiford <rsandifo@redhat.com>
18147
18148 * simplify-rtx.c (simplify_immed_subreg): Fix construction of
18149 floating-point constants.
18150
fbfd77b8
JB
181512004-01-08 J. Brobecker <brobecker@gnat.com>
18152
18153 * dwarf2out.c (subrange_type_die): Add context_die parameter.
18154 Create the subrange_type DIE using the given context DIE.
18155 (modified_type_die): Update call to subrange_type_die.
18156
181572004-01-08 Zack Weinberg <zack@codesourcery.com>
7ce27103
ZW
18158
18159 * dwarf2.h, unwind-dw2-fde.h, unwind-pe.h, unwind.h:
18160 Add multiple-include guard.
18161
ce1f50b2
HP
181622004-01-08 Hartmut Penner <hpenner@de.ibm.com>
18163
7ce27103
ZW
18164 * gcc/config/rs6000/rs6000.c (easy_vector_constant): Accept
18165 all vector constant loadable by vsplt*.
ce1f50b2
HP
18166 (output_vec_const_move): Likewise.
18167
bca63328
JM
181682004-01-07 Joseph S. Myers <jsm@polyomino.org.uk>
18169
18170 PR c/6024
18171 * c-typeck.c (comptypes): Only treat enumerated types in the same
18172 translation unit as compatible with each other when they are the
18173 same type.
18174 * doc/extend.texi: Update.
18175
85b58ca5
JM
181762004-01-07 Joseph S. Myers <jsm@polyomino.org.uk>
18177
18178 PR c/12165
18179 * c-decl.c (grokdeclarator): Take type qualifiers of typedefed
18180 array type from the array element type.
18181
93c9d1ba
AM
181822004-01-07 Alan Modra <amodra@bigpond.net.au>
18183
18184 * config/rs6000/rs6000.c (rs6000_dbx_register_number): New function.
18185 * config/rs6000/rs6000-protos.h (rs6000_dbx_register_number): Declare.
18186 * config/rs6000/rs6000.h (DWARF_FRAME_REGNUM): Define.
18187 (DWARF_REG_TO_UNWIND_COLUMN): Correct column adjustment and comment.
18188 * config/rs6000/sysv4.h (DBX_REGISTER_NUMBER): Define.
18189
deae8de6
EC
181902004-01-06 Eric Christopher <echristo@redhat.com>
18191
18192 * config/mips/mips.h (MDEBUG_ASM_SPEC): Change for dwarf2 default.
18193 (DWARF2_DEBUGGING_INFO): Define.
18194 (PREFERRED_DEBUGGING_TYPE): Set to dwarf2.
18195 * config/mips/openbsd.h (PREFERRED_DEBUGGING_TYPE): Remove.
18196 * config/mips/iris6.h (SUBTARGET_ASM_DEBUGGING_SPEC): Only pass -g0
18197 for irix as.
18198 (SUBTARGET_ASM_OPTIMIZING_SPEC): Only pass O0 for irix as.
18199 * config/mips/iris6gas.h (MDEBUG_ASM_SPEC): Remove.
18200 * config/mips/iris5gas.h: Ditto.
18201 (DBX_DEBUGGING_INFO): Remove.
18202 (DWARF2_DEBUGGING_INFO): Ditto.
18203 (MIPS_DEBUGGING_INFO): Ditto.
18204 (PREFERRED_DEBUGGING_TYPE): Ditto.
18205 * config/mips/elf.h (DWARF2_DEBUGGING_INFO): Remove.
18206 (PREFERRED_DEBUGGING_TYPE): Ditto.
18207 (SUBTARGET_ASM_DEBUGGING_SPEC): Ditto.
18208 * config/mips/elf64.h: Ditto.
18209
fed2b316
JH
182102004-01-06 Jan Hubicka <jh@suse.cz>
18211
18212 * Makefile.in (STAGEPROFILE_FLAGS_TO_PASS): Use -fprofile-generate.
18213 (STAGEFEEDBACK_FLAGS_TO_PASS): Use -fprofile-use.
18214
64d961b8
GK
182152004-01-06 Geoffrey Keating <geoffk@apple.com>
18216
084f5a35
GK
18217 * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Compile darwin-ldouble.c.
18218 (TARGET_LIBGCC2_CFLAGS): Use -mlong-double-128.
18219 * config/rs6000/darwin-ldouble.c: New.
deae8de6 18220
550d1387
GK
18221 * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg
18222 for constants.
18223 (constant_subword): Delete.
18224 * rtl.h (constant_subword): Delete prototype.
18225 (immed_double_const): Is not in varasm.c.
18226 * simplify-rtx.c (simplify_immed_subreg): New.
18227 (simplify_subreg): Use simplify_immed_subreg.
18228
0c90aa3c
GK
18229 * config/rs6000/rs6000.md (floatsitf2): Use expand_float rather
18230 than trying to generate RTL directly.
18231 (fix_trunctfsi2): Use expand_fix rather than trying to generate
18232 RTL directly.
18233
64d961b8
GK
18234 * dwarf2out.c (add_const_value_attribute): Remove incorrect comment.
18235
72b38561
DE
182362004-01-06 David Edelsohn <edelsohn@gnu.org>
18237
18238 * config/rs6000/xcoff.h (EXTRA_SECTION_FUNCTIONS): Split each
18239 function into a separate macro.
18240 (read_only_data_section): Add void argument.
18241 (private_data_section): Same.
18242 (read_only_private_data_section): Same.
18243 (toc_section): Same.
18244
9a609388
JH
182452004-01-06 Jan Hubicka <jh@suse.cz>
18246
0aaae060
JH
18247 * invoke.texi: Remove typo in last change.
18248
9a609388
JH
18249 PR target/10301
18250 * config.gcc: Accept opteron and athlon-64 as variants
18251 of k8.
18252 * i386.c (override_options): Likewise.
18253 * invoke.texi (i386 -mtune): Expand documentation.
18254
5d3cc252
KH
182552004-01-06 Kazu Hirata <kazu@cs.umass.edu>
18256
18257 * alias.c: Fix comment typos.
18258 * builtins.c: Likewise.
18259 * cfg.c: Likewise.
18260 * df.c: Likewise.
18261 * dominance.c: Likewise.
18262 * dwarf2out.c: Likewise.
18263 * emit-rtl.c: Likewise.
18264 * expr.c: Likewise.
18265 * final.c: Likewise.
18266 * fold-const.c: Likewise.
18267 * gcse.c: Likewise.
18268 * genattrtab.c: Likewise.
18269 * genrecog.c: Likewise.
18270 * gensupport.c: Likewise.
18271 * ggc-zone.c: Likewise.
18272 * integrate.c: Likewise.
18273 * local-alloc.c: Likewise.
18274 * loop.c: Likewise.
18275 * recog.c: Likewise.
18276 * regmove.c: Likewise.
18277 * reg-stack.c: Likewise.
18278 * reorg.c: Likewise.
18279 * rtlanal.c: Likewise.
18280 * rtl.h: Likewise.
18281 * sched-ebb.c: Likewise.
18282 * simplify-rtx.c: Likewise.
18283 * toplev.c: Likewise.
18284 * varasm.c: Likewise.
18285
95ea367d
KH
182862004-01-06 Kazu Hirata <kazu@cs.umass.edu>
18287
18288 * doc/install.texi: Fix typos.
18289 * doc/invoke.texi: Likewise.
18290 * doc/md.texi: Likewise.
18291
f26ef713
KI
182922004-01-06 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
18293
18294 * config/m32r/m32r.h (TRAMPOLINE_LINE_SIZE): Changed
18295
bcf17554
JH
182962004-01-06 Jan Hubicka <jh@suse.cz>
18297
18298 * i386.c (init_cumulative_args): Add handling of MMX_REGPARM.
18299 (function_arg_advance): Do not pass aggregates in SSE; deal handling
18300 of MMX_REGPARM.
18301 (function_arg): Add new warnings about ABI changes; fix SSE_REGPARM;
18302 add MMX_REGPARM.
18303 * i386.h (ix86_args): Add mmx_words/mmx_regs/mmx_regno fields.
18304 (SSE_REGPARM_MAX): Default to 3 on i386 -msse ABI.
18305 (MMX_REGPARM_MAX): Similarly for -mmmx.
18306
24746a42
KH
183072004-01-05 Kazu Hirata <kazu@cs.umass.edu>
18308
18309 * config/sh/linux.h: Fix comment formatting.
18310 * config/sh/netbsd-elf.h: Likewise.
18311 * config/sh/sh.c: Likewise.
18312 * config/sh/sh.h: Likewise.
18313 * config/sh/vxworks.h: Likewise.
18314
f7e7e318
KH
183152004-01-05 Kazu Hirata <kazu@cs.umass.edu>
18316
18317 * system.h (ASM_OUTPUT_MAIN_SOURCE_FILENAME): Poison.
18318 * toplev.c (output_file_directive): Don't use
18319 ASM_OUTPUT_MAIN_SOURCE_FILENAME.
18320
80a08664
SB
183212004-01-05 Steven Bosscher <s.bosscher@student.tudelft.nl>
18322
18323 * toplev.c: Fix broken checkin of 2003-12-30.
18324
02fef853 183252004-01-05 Daniel Berlin <dberlin@dberlin.org>
deae8de6 18326
02fef853
DB
18327 * ggc-zone.c: Remove everything in #ifdef USING_MALLOC_PAGE_GROUPS
18328 (USING_MMAP): We don't support non-mmap.
18329 (struct alloc_chunk): Steal 1 bit from typecode, use it to mark
18330 large objects.
18331 (struct page_entry): Remove bytes_free.
18332 (struct page_table_chain): Remove.
18333 (struct globals): Remove page_table member.
18334 (loookup_page_table_entry): Function deleted.
18335 (set_page_table_entry): Ditto.
18336 (ggc_allocated_p): No longer need page table lookups.
18337 (ggc_marked_p): Ditto.
18338 (alloc_small_page): Don't care about bytes_free anymore.
18339 (alloc_large_page): Round up size.
18340 (ggc_alloc_zone_1): Mark large objects as such, and calculate
deae8de6 18341 their size the new way.
02fef853
DB
18342 Remove page table lookups and setting.
18343 (ggc_get_size): Calculate large object size the new way.
18344 (sweep_pages): Redo to account for fact that we no longer have
18345 bytes_free.
18346 (ggc_collect): No longer need to reincrement bytes_free.
18347 (ggc_pch_alloc_object): Handle new large objects properly.
18348 (ggc_pch_read): Put PCH stuff into it's own uncollected zone.
18349
60b799fd
KH
183502004-01-05 Kazu Hirata <kazu@cs.umass.edu>
18351
18352 * doc/invoke.texi: Remove a page break.
18353
908c8c7e
KH
183542004-01-05 Kazu Hirata <kazu@cs.umass.edu>
18355
18356 * config/avr/avr.c (avr_output_function_prologue): Remove an
18357 extra pair of curly braces.
18358
8596d0a1
KH
183592004-01-05 Kazu Hirata <kazu@cs.umass.edu>
18360
18361 * config/mn10300/mn10300.c: Fix comment formatting.
18362 * config/mn10300/mn10300.h: Likewise.
18363
1e2d4dc1
RK
183642004-01-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18365
18366 * tree.h: Update documentation on nothrow_flag.
18367 * print-tree.c (print_node): Print TREE_NOTHROW as "align-ok" for
18368 types.
18369
b6e69d94
KH
183702004-01-05 Kazu Hirata <kazu@cs.umass.edu>
18371
18372 * doc/invoke.texi: Remove traces of dead ports.
18373
1cf959cb
RS
183742004-01-05 Richard Sandiford <rsandifo@redhat.com>
18375
18376 * doc/invoke.texi: Add documentation for the MIPS -mexplicit-relocs
18377 option.
18378
f6149877
RS
183792004-01-05 Richard Sandiford <rsandifo@redhat.com>
18380
18381 PR target/12945
18382 * coverage.c (coverage_counter_alloc): Set SYMBOL_FLAG_LOCAL for
b56c0023 18383 counter labels.
f6149877
RS
18384 * config/mips/mips.c (INTERNAL_SYMBOL_P): Delete.
18385 (mips_classify_symbol): Always treat SYMBOL_REF_FLAG as indicating
18386 string constants if TARGET_MIPS16. Use SYMBOL_REF_DECL to check
18387 the binding of decl symbols, otherwise check SYMBOL_REF_LOCAL_P.
18388 (mips_symbol_insns): Don't trust the local/global classification.
18389 (m16_usym8_4, m16_usym5_4): Same mips16 change as mips_classify_symbol.
18390 (override_options): Make -mabicalls -fno-unit-at-a-time imply
18391 -mno-explicit-relocs.
18392 (mips_encode_section_info): Don't use SYMBOL_REF_FLAG to distinguish
18393 between local and global symbols.
18394
a6008bd8
RS
183952004-01-05 Richard Sandiford <rsandifo@redhat.com>
18396
18397 * config/mips/mips-protos.h (mips_dangerous_for_la25_p): Declare.
18398 (mips_preferred_reload_class): Declare.
18399 * config/mips/mips.h (DANGEROUS_FOR_LA25_P): Replace with function.
18400 (EXTRA_CONSTRAINT): Update accordingly.
18401 (PREFERRED_RELOAD_CLASS): Use mips_preferred_reload_class.
18402 * config/mips/mips.c (mips_dangerous_for_la25_p): New function.
18403 (mips_preferred_reload_class): New function. Prefer LEA_REGS if
18404 mips_dangerous_for_la25_p.
18405 (mips_secondary_reload_class): Use LEA_REGS rather than GR_REGS
18406 if mips_dangerous_for_la25_p.
18407
d7b3c085
BI
184082004-01-05 Bernardo Innocenti <bernie@develer.com>
18409
18410 * config/m68k/m68k.c (output_andsi3): Fix signed/unsigned comparison
deae8de6 18411 warning.
d7b3c085 18412
ca9bc441
NN
184132004-01-04 Nathanael Nerode <neroden@gcc.gnu.org>
18414
18415 * configure.ac: Use AC_PROG_CPP_WERROR.
18416 * configure: Regenerate.
18417
016d7f3e
ZW
184182004-01-04 Zack Weinberg <zack@codesourcery.com>
18419
18420 * .cvsignore: Add autom4te.cache.
18421
5a4b3afd
RS
184222004-01-04 Richard Sandiford <rsandifo@redhat.com>
18423
18424 * doc/invoke.texi: Revamp documentation of MIPS options. Remove
18425 -mabi=meabi, -mabi-fake-default, -mmips-as, -mgas, -mmips-tfile,
18426 -m4650, -mfix7000 and -(m)no-crt0. Put endianness options first,
18427 then architecture options, then ABI options. General rewording.
18428
928a5ba9
JM
184292004-01-04 Joseph S. Myers <jsm@polyomino.org.uk>
18430
18431 PR c/3414
18432 * doc/extend.texi: Clarify definition of malloc attribute.
18433
dc0bfe6a
JH
184342004-01-04 Jan Hubicka <jh@suse.cz>
18435
18436 * Makefile.in (cgraph.o, cgraphunit.o): Add intl.h dependency.
18437 * cgraph.c (create_edge, dump_cgraph): Update to use inline_failed
18438 * cgraph.h (cgraph_edge): Replace inline_call by inline_failed
18439 (cgraph_inline_p): Add extra argument reason.
18440 * cgraphunit.c: Minor formating fixes.
18441 cgraph_first_inlined_callee): New functions.
18442 (record_call_1): Record builtins too.
18443 (cgraph_analyze_function): Update inline_failed messages.
18444 (cgraph_mark_functions_to_output, cgraph_expand_function, cgraph_inlined_into,
18445 cgraph_inlined_callees, cgraph_estimate_growth): Update to use inline_failed.
18446 (cgraph_check_inline_limits): Likewise; Add argument reason.
18447 (cgraph_set_inline_failed): New static function.
18448 (cgraph_decide_inlining_of_small_function, cgraph_decide_inlining): Set
18449 reasons.
18450 (cgraph_inline_p): Add new argument reason.
18451 * tree-inline.c (expand_call_inline): Update warning.
18452
ba479fd2
NN
184532004-01-03 Nathanael Nerode <neroden@gcc.gnu.org>
18454
914c5af7
NN
18455 * configure.ac: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM
18456 with modern equivalents.
18457 * configure: Regenerate.
18458
016d7f3e
ZW
18459 * configure.ac: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE.
18460 * aclocal.m4 (gcc_AC_CHECK_TYPE): Remove.
18461 * configure: Regenerate.
78c9cb99 18462
d44f1a00
NN
18463 * doc/install.texi: Note that 'gcc' is now a 2.57 directory.
18464
ba479fd2
NN
18465 * configure.in: Rename to configure.ac.
18466 * configure.ac: Renamed from configure.in; make minimum necessary
18467 changes for autoconf 2.5x.
18468 * aclocal.m4: Make minimum necessary changes for autoconf 2.5x.
18469 * configure: Regenerate with autoconf 2.57.
18470
031a26c5
KH
184712004-01-03 Kazu Hirata <kazu@cs.umass.edu>
18472
18473 * config/mips/linux.h: Fix comment formatting.
18474 * config/mips/mips.c: Likewise.
18475 * config/mips/mips.h: Likewise.
18476 * config/mips/mips.md: Likewise.
18477 * config/mips/netbsd.h: Likewise.
18478 * config/mips/windiss.h: Likewise.
18479
b87cfcfb
RH
184802004-01-02 Richard Henderson <rth@redhat.com>
18481
18482 * config/i386/i386.md (fp constant pool splitter): Reorg suppression
18483 for sse and 387; add suppression for mmx.
18484
36579663
AP
184852004-01-02 Andrew Pinski <pinskia@physics.uc.edu>
18486
9d85830f
AP
18487 * loop.c (loop_optimize): Free all loops_info's mems.
18488
016d7f3e 18489 * c-typeck.c (finish_init): Free spelling_base before
36579663 18490 setting it again.
016d7f3e 18491
36579663
AP
18492 * cfgloop.c (flow_loops_find): Always free the sbitmap
18493 headers.
18494
18495 * predict.c (estimate_probability): Free bbs after being
18496 done with it.
18497
3864b6fe
KH
184982004-01-02 Kazu Hirata <kazu@cs.umass.edu>
18499
18500 * config/mn10300/mn10300.h (PREDICATE_CODES): Add
18501 const_8bit_operand and call_address_operand.
18502
8b6bd5d7
JH
185032004-01-02 Jan Hubicka <jh@suse.cz>
18504
18505 * cgraphunit.c (cgraph_optimize_function): Call optimize_inline_calls
18506 when there is nothing to inline but warnings are requested.
18507 (cgraph_decide_inlining): Fix memory leak.
18508
9b9bd3b2
JH
185092004-01-02 Jan Hubicka <jh@suse.cz>
18510
18511 * expr.c (store_constructor): Fix pasto in previous patch.
18512
43f3a59d
KH
185132004-01-02 Kazu Hirata <kazu@cs.umass.edu>
18514
18515 * config/i386/cygming.h: Fix comment formatting.
18516 * config/i386/djgpp.h: Likewise.
18517 * config/i386/gthr-win32.c: Likewise.
18518 * config/i386/i386-interix.h: Likewise.
18519 * config/i386/i386.c: Likewise.
18520 * config/i386/i386.h: Likewise.
18521 * config/i386/openbsd.h: Likewise.
18522 * config/i386/winnt.c: Likewise.
18523 * config/i386/xm-mingw32.h: Likewise.
18524
daef8bbd
JM
185252004-01-02 Joseph S. Myers <jsm@polyomino.org.uk>
18526
18527 * doc/gcc.texi, doc/invoke.texi, doc/install.texi: Update
18528 copyright and last modification dates.
18529
7e081a0c
AJ
185302004-01-02 Andreas Jaeger <aj@suse.de>, Gerald Pfeifer <gp@suse.de>
18531
18532 * doc/install.texi (Specific): Mention x86_64.
18533
ac3f5df7
HPN
185342004-01-01 Hans-Peter Nilsson <hp@bitrange.com>
18535
18536 * builtins.c (expand_builtin_apply_args_1) [STACK_GROWS_DOWNWARD]:
18537 Call force_operand on plus_constant result.
18538
997404de
JH
185392004-01-01 Jan Hubicka <jh@suse.cz>
18540
18541 * expmed.c (store_bit_field, extract_bit_field): Use new named patterns
18542 * expr.c (store_constructor): Use vec_init pattern.
18543 * genopinit.c (optabs): Initailize vec_set/vec_extract/vec_init.
18544 * optabs.h (optab_index): ADD OTI_vec_set/OTI_vec_extract/OTI_vec_init
18545 (vec_set_optab, vec_extract_optab, vec_init_optab): New.
18546 * i386.md (vec_setv2df, vec_extractv2df, vec_setv4sf, vec_extractv4sf):
18547 New patterns.
18548 (sse2_unpc?pd): Fix pattern.
18549 (sse2_movlpd): Kill.
18550 (sse2_movsd): Deal with movlpd too.
18551 * i386.c (ix86_expand_builtin): Use sse2_movsd instead of sse2_movlpd.
18552 (ix86_expand_vector_init): New.
18553 * emmintrin.h (__mm_set_pd, __mm_set_ps): Use vector extensions.
18554 * md.texi (vec_set, vec_extract): Document
18555
b684a3df
JH
185562003-12-31 Jan Hubicka <jh@suse.cz>
18557
18558 PR opt/13473
18559 * recog.c (validate_replace_rtx_1): Take care for RTL sharing inside
18560 ASM input operands
18561
18562 PR opt/12617
18563 * toplev.c (dump_file_index): Reorder ce3 and bbro.
18564 (dump_file): Likewise.
18565 (rest_of_compilation): Likewise.
18566
18567 PR debug/13367
18568 * cgraph.c (cgraph_function_possibly_inlined): Even with
18569 flag_really_no_inline we inline always_inline functions.
18570 * cgraphunit.c (cgraph_analyze_function): Clear inlinable flag
18571 for non-always_inline functions when there is flag_really_no_inline.
18572 (cgraph_decide_inlining): Limit work done when not inlining.
18573 (cgraph_decide_inlining_incrementally): Likewise.
18574 (cgraph_optimize_function): Check whether something got inlined.
18575 * c-objc-common.c (c_disregard_inline_limits): Do not always inline
18576 extern inline functions when not inlining.
18577
18578 * opts.c (decode_options): Disable crossjumping at -O1
18579 * invoke.texi (-O1): Document change.
a55f4481 18580
cd14f58c 18581See ChangeLog.10 for earlier changes.
This page took 2.362598 seconds and 5 git commands to generate.