OSDN Git Service

(load_sda_base_32): New pattern. Loads sda base address on medium model.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2005-03-10  Kazuhiro Inaoka  <inaoka.lazuhiro@renesas.com>
2
3         * config/m32r/m32r.md (load_sda_base_32): New pattern.  Loads
4         sda base address on medium model.
5
6 2005-03-10  Zdenek Dvorak  <dvorakz@suse.cz>
7
8         * Makefile.in (tree-optimize.o): Add CFGLOOP_H dependence.
9         * cfgloop.c (flow_loop_nodes_find): Export.
10         * cfgloop.h (flow_loop_nodes_find, fix_loop_structure):
11         Declare.
12         * cfgloopmanip.c (fix_loop_structure): New function.
13         * predict.c (predict_loops): Clean up the loops information.
14         * tree-cfg.c (cleanup_tree_cfg_loop): New function.
15         (tree_can_merge_blocks_p, remove_bb, tree_forwarder_block_p): Respect
16         loop structure.
17         * tree-flow.h (cleanup_tree_cfg_loop): Declare.
18         (rewrite_into_loop_closed_ssa): Declaration changed.
19         * tree-loop-linear.c (linear_transform_loops): Add argument to
20         rewrite_into_loop_closed_ssa call.
21         * tree-ssa-loop-ch.c (copy_loop_headers): Ditto.
22         * tree-ssa-loop-im.c (move_computations): Ditto.
23         * tree-ssa-loop.c (tree_loop_optimizer_init): Ditto.
24         * tree-vectorizer.c (vectorize_loops): Ditto.
25         * tree-optimize.c: Include cfgloop.h.
26         (execute_todo): Choose whether to call cleanup_tree_cfg or
27         cleanup_tree_cfg_loop.
28         * tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables,
29         (tree_unroll_loops_completely): Enable cleanup_tree_cfg_loop call.
30         * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Enable
31         cleanup_tree_cfg_loop call.
32         * tree-ssa-loop-manip.c (find_uses_to_rename_bb): New function.
33         (find_uses_to_rename, rewrite_into_loop_closed_ssa): Support
34         work on part of cfg.
35
36 2005-03-10  Jakub Jelinek  <jakub@redhat.com>
37
38         PR inline-asm/20314
39         * gimplify.c (gimplify_asm_expr): Handle input/output constraints
40         with multiple alternatives.
41
42         * stmt.c (parse_output_constraint): Fix a typo.
43
44 2005-03-09  Bob Wilson  <bob.wilson@acm.org>
45
46         * config/xtensa/xtensa.h (TRAMPOLINE_TEMPLATE): Use "no-transform"
47         assembly directive instead of deprecated "no-generics".
48
49 2005-03-09  Ulrich Weigand  <uweigand@de.ibm.com>
50
51         * config/s390/s390.c (s390_secondary_output_reload_class): Adapt check
52         for non-offsettable memory references to cope with outstanding reload
53         replacements.
54         * config/s390/s390.md ("reload_outti"): Call find_replacement to
55         avoid losing outstanding address reloads.
56         ("reload_outdi", "reload_outdf"): Likewise.
57
58 2005-03-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
59
60         * builtins.c (fold_builtin_cbrt, fold_builtin_pow): Rearrange
61         code.  Add more cbrt transformations.
62
63 2005-03-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
64
65         * fold-const.c (fold_unary_to_constant): Add FIX_ROUND_EXPR case.
66
67 2005-03-09  Kazu Hirata  <kazu@cs.umass.edu>
68
69         * fold-const.c (fold_unary, fold_binary, fold_ternary): Return
70         NULL_TREE when a given tree is not simplified.
71         (fold): Return the original tree when any of the functions
72         mentioned above NULL_TREE.
73
74         * fold-const.c (fold_unary, fold_binary): Take decomposed
75         arguments, code, type, op0, and op1 in case of fold_binary.
76         (fold): Update calls to fold_unary and fold_binary.
77
78 2005-03-09  Roger Sayle  <roger@eyesopen.com>
79
80         * builtins.c (fold_builtin_unordered_cmp): Change prototype to take
81         a fndecl and an arglist instead of a CALL_EXPR, exp.
82
83 2005-03-09  Kazu Hirata  <kazu@cs.umass.edu>
84
85         * cfglayout.c (fixup_reorder_chain): Remove old_bb.
86
87         * cfgrtl.c (cfg_layout_merge_blocks): Remove new_e.
88
89         * expr.c (expand_assignment): Remove orig_to_rtx.
90
91         * fold-const.c (int_const_binop): Remove no_overflow.
92
93         * ifcvt.c (noce_emit_move_insn): Remove inmode.
94
95         * loop-iv.c (get_biv_step_1): Remove lhs.
96
97         * loop-unroll.c (analyze_insns_in_loop): Remove preheader.
98
99         * real.c (real_nan): Remove neg.
100
101         * function.c (thread_prologue_and_epilogue_insns): Remove i
102         and newinsn.
103
104         * tree-data-ref.c (array_base_name_differ_p): Remove ta and
105         tb.
106
107         * tree-eh.c (tree_could_trap_p): Remove idx.
108
109         * tree-into-ssa.c (ann): Remove ann.
110
111         * tree-outof-ssa.c (num_nodes): Remove num_nodes.
112
113         * tree-sra.c (decide_block_copy): Remove inst_count.
114
115         * tree-ssa-alias.c (may_alias_p): Remove v_ann.
116
117         * tree-ssa-loop-im.c (lhs): Remove.
118
119         * cfgbuild.c (state, STATE, SET_STATE,
120         BLOCK_USED_BY_TABLEJUMP, FULL_STATE): Move just before
121         make_edges.
122         (make_edges): Speed up by skipping blocks with BLOCK_ORIGINAL.
123         (find_basic_blocks): Set the state of each basic block to
124         BLOCK_NEW.
125
126 2005-03-08  Jeff Law  <law@redhat.com>
127
128         * tree-cfg.c (cleanup_control_flow): If removal of a computed
129         goto results in the removal of edges in the CFG, then we need
130         to recompute dominators.
131
132 2005-03-09  Ben Elliston  <bje@au.ibm.com>
133
134         * c-common.c (c_do_switch_warnings): Comment fix.
135
136 2005-03-08  Julian Brown  <julian@codesourcery.com>
137
138         * Patch from 2005-03-08 reverted for causing regressions and
139         ppc-darwin bootstrap failure.
140
141 2005-03-08  Fariborz Jahanian <fjahanian@apple.com>
142
143         * config/rs6000/rs6000.c (invalid_arg_for_unprototyped_fn): 
144         Define the real function for ppc-darwin.
145         * c-typeck.c (convert_arguments): Check for target-specific
146         invalid argument call to unprototyped function.
147         * target-def.h (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN): 
148         New Macro.
149         * target.h (invalid_arg_for_unprototyped_fn): New field 
150         in struct calls.
151         * targhooks.c (hook_invalid_arg_for_unprototyped_fn): New 
152         default target hook.
153         * targhooks.h (hook_invalid_arg_for_unprototyped_fn): 
154         Declare.
155
156 2005-03-08  Kazu Hirata  <kazu@cs.umass.edu>
157
158         * c-typeck.c (constructor_stack, constructor_range_stack,
159         initializer_stack): Make them static.
160
161         * cfg.c (rbi_pool): Make it static.
162
163         * gimple-low.c (lower_stmt_body): Make it static.
164         * tree-flow.h: Remove the corresponding prototype.  Don't
165         declare lower_data.
166
167         * sched-deps.c (cache_size): Make it static.
168
169         * stor-layout.c (lang_adjust_rli): Make it static.
170
171 2005-03-08  Julian Brown  <julian@codesourcery.com>
172
173         * config/elfos.h (MAKE_DECL_ONE_ONLY): Redefined to stop DECL_WEAK
174         from being used for symbols with vague linkage when
175         HAVE_GAS_COMDAT_GROUP is true.
176
177 2005-03-08  J"orn Rennecke <joern.rennecke@st.com>
178
179         * jump.c (invert_jump_1): Don't call redirect_jump_1 with
180         nlabel == JUMP_LABEL (jump).
181
182 2005-03-08  Kazu Hirata  <kazu@cs.umass.edu>
183
184         * c-common.c, c-opts.c, combine.c, cse.c, dojump.c,
185         gimplify.c, tree-dfa.c, tree-ssa-loop-ivopts.c,
186         tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-sink.c,
187         tree-vect-analyze.c, tree.def, tree.h: Fix comment formatting.
188
189 2005-03-08  Alexey Neyman  <alex.neyman@auriga.ru>
190
191         PR c/14411
192         * calls.c (flags_from_decl_or_type): Handle eturns_twice' attribute.
193         * c-common.c (handle_returns_twice): New function.
194         (c_common_attribute_table): Declare eturns_twice' attribute.
195         * doc/extend.texi: Document eturns_twice' attribute.
196         * tree.h (DECL_IS_RETURNS_TWICE): New macro.
197         (struct tree_decl): Add returns_twice_flag.
198
199 2005-03-08  Kazu Hirata  <kazu@cs.umass.edu>
200
201         * tree-ssa-phiopt.c: Fix a comment typo.
202
203         * c-semantics.c, cfghooks.c, diagnostic.h, loop-iv.c,
204         loop-unswitch.c, modulo-sched.c, stor-layout.c, tree-gimple.h,
205         config/i386/cygwin1.c, doc/cfg.texi, doc/objc.texi: Update
206         copyright.
207
208 2005-03-08  Richard Henderson  <rth@redhat.com>
209
210         * config/alpha/alpha.c (code_for_builtin): Replace special-case
211         builtin codes with ctzdi2, clzdi2, popcountdi2.
212         (struct alpha_builtin_def): Add is_const.
213         (zero_arg_builtins, one_arg_builtins, two_arg_builtins): Init it.
214         (alpha_v8qi_u, alpha_v8qi_s, alpha_v4hi_u, alpha_v4hi_s): New.
215         (alpha_init_builtins): Init them.  Set nothrow and const attributes
216         on builtins.
217         (alpha_fold_builtin_cmpbge, alpha_fold_builtin_zapnot, 
218         alpha_fold_builtin_extxx, alpha_fold_builtin_insxx, 
219         alpha_fold_builtin_mskxx, alpha_fold_builtin_umulh, 
220         alpha_fold_vector_minmax, alpha_fold_builtin_perr,
221         alpha_fold_builtin_pklb, alpha_fold_builtin_pkwb,
222         alpha_fold_builtin_unpkbl, alpha_fold_builtin_unpkbw,
223         alpha_fold_builtin_cttz, alpha_fold_builtin_ctlz,
224         alpha_fold_builtin_ctpop, alpha_fold_builtin): New.
225         (TARGET_FOLD_BUILTIN): New.
226         * config/alpha/alpha.md (UNSPEC_CTTZ): Remove.
227         (UNSPEC_CTLZ, UNSPEC_CTPOP): Remove.
228         (ffsdi2): Use ctz.
229         (cttz, builtin_cttz, builtin_ctlz, builtin_ctpop): Remove.
230
231 2005-03-08  Ira Rosen  <irar@il.ibm.com>
232
233         PR tree-optimization/20122
234         * tree-vect-analyze.c (vect_object_analysis): Analyze initial
235         condition of access function instead of base.
236
237 2005-03-07  Jeff Law  <law@redhat.com>
238             Steven Bosscher  <stevenb@suse.de>
239
240         * tree-cfg.c (find_taken_edge_computed_goto): New function.
241         (find_taken_edge): Call find_taken_edge_computed_goto as
242         appropriate.  Allow any gimple invariant rather than just
243         INTEGER_CST for VAL.
244         (cleanup_control_flow): Cleanup a computed goto which has turned
245         into a simple goto.
246         (tree_merge_blocks): If block B has any forced labels, move
247         them to the start of block A.
248         * tree-ssa-dom.c (thread_across_edge): Allow threading across
249         computed gotos as well.
250         * tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges): Handle
251         removal of unnecessary computed gotos too.
252         (lookup_redirection_data): Fix type of INSERT argument.  Callers
253         updated.
254
255 2005-03-08  Kazu Hirata  <kazu@cs.umass.edu>
256
257         * tree-ssa-phiopt.c: Update copyright.  Fix indentations.
258         Remove trailing spaces.
259
260         * gimplify.c (gimple_push_bind_expr, gimple_pop_bind_expr,
261         unshare_all_trees): Make them static.
262         * tree-gimple.h: Remove the corresponding prototypes.
263
264         * diagnostic.h: Remove unused prototype
265         debug_output_buffer.
266         * modulo-sched.c: Remove unused prototype
267         set_row_column_for_ps.
268
269         * tree-ssa-phiopt.c (tree_ssa_phiopt,
270         replace_phi_edge_with_variable): Remove unused variable i.
271
272 2005-03-07  Per Bothner  <per@bothner.com>
273
274         * tree.h (DECL_IS_BUILTIN): Reverted my patch from earlier today.
275
276 2005-03-06  Andrew Pinski  <pinskia@physics.uc.edu>
277         
278         PR tree-opt/17671
279         * tree-ssa-phiopt.c (tree_ssa_phiopt): Rewrite so we base the
280         bbs on the COND_EXPR instead of the PHI_NODEs.
281         (candidate_bb_for_phi_optimization): Remove.
282         (replace_phi_with_stmt): Rename to ...
283         (replace_phi_edge_with_variable): this and change so that we
284         replace the phi argument instead of removing the PHI.
285         (conditional_replacement): Change so we deal with PHI with more
286         than two arguments.
287         (value_replacement): Likewise.
288         (abs_replacement): Likewise.
289
290 2005-03-07  Aldy Hernandez  <aldyh@redhat.com>
291
292         * config/rs6000/rs6000-protos.h: Rename output_e500_flip_eq_bit to
293         output_e500_flip_gt_bit.
294
295         * config/rs6000/rs6000.c (print_operand): case D: Print out bit 31
296         as bit 31.
297         (rs6000_generate_compare): Fix logic to look at the correct bits.
298         (output_e500_flip_eq_bit): Rename to output_e500_flip_gt_bit.
299         Look at GT bit.
300         (rs6000_emit_sCOND): Rename gen_e500_flip_eq_bit to
301         gen_e500_flip_gt_bit.  Rename gen_move_from_CR_eq_bit to
302         gen_move_from_CR_gt_bit.
303
304         * config/rs6000/rs6000.md ("move_from_CR_eq_bit"): Change bit
305         ("move_from_CR_eq_bit"): Rename to move_from_CR_gt_bit.
306         (UNSPEC_MV_CR_EQ): Rename to UNSPEC_MV_CR_GT.
307
308         * config/rs6000/spe.md ("e500_cr_ior_compare"): New.
309         (E500_CR_IOR_COMPARE): New constant.
310
311 2005-03-08  Earl Chew <earl_chew@agilent.com>
312             David Billinghurst <David.Billinghurst@riotinto.com>
313
314         * config/i386/host-cygwin.c: New file to support precompiled
315         headers on cygwin
316         * config/i386/x-cygwin: Use host-cygwin.c on cygwin host
317         * config.host: Use above files for cygwin host.
318
319 2005-03-07  David Edelsohn  <edelsohn@gnu.org>
320
321         * fold-const.c (fold_binary_op_with_conditional_arg): Fix typo
322         ordering ops from earlier change.
323
324 2005-03-07  Per Bothner  <per@bothner.com>
325
326         Various fixes to allow us to again build if --enable-mapped-location:
327         * c-decl.c (finish_function): Use SET_EXPR_LOCATION instead of
328         unavailable annotate_with_file_line, if USE_MAPPED_LOCATION.
329         * tree-cfg.c (remove_bb): If USE_MAPPED_LOCATION, change type of
330         local variable loc. Change logic appropriately.
331         * tree-vect-transform.c (vect_finish_stmt_generation): Use
332         EXPR_LOCATION rather than EXPR_LOCUS if USE_MAPPED_LOCATION.    
333         * c-parser.c (c_parser_for_statement): Initialize loc variable.
334         * tree.h (DECL_IS_BUILTIN): Temporarily revert definition of
335         DECL_IS_BUILTIN in the USE_MAPPED_LOCATION because of jc1 issues.
336
337 2005-03-07  Richard Sandiford  <rsandifo@redhat.com>
338
339         PR rtl-optimization/19683
340         * reload1.c (choose_reload_regs): Pass the number of bits, not the
341         number of bytes, to smallest_int_for_mode.  Fix arguments to
342         REG_CANNOT_CHANGE_MODE_P.
343
344 2005-03-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
345
346         * reorg.c (relax_delay_slots): Check that the jump is
347         conditional before trying to invert it.
348
349 2005-03-07  Kazu Hirata  <kazu@cs.umass.edu>
350
351         * bb-reorder.c (max_entry_frequency, max_entry_frequency):
352         Make them static.
353
354         * calls (stack_arg_under_construction): Make it static.
355
356         * flow.c (regs_live_at_setjmp): Make it static.
357         * flow.h: Remove the corresponding prototype.
358
359         * reload1.c (reload_startobj, reload_firstobj,
360         something_needs_operands_changed, reload_inherited,
361         reload_inheritance_insn, reload_override_in,
362         reload_spill_index): Make them static.
363
364         * recog.c (verify_changes): Make it static.
365         * recog.h: Remove the corresponding prototype.
366
367         * cfgbuild.c (find_sub_basic_blocks): Remove.
368         * basic-block.h: Remove the corresponding prototype.
369         * cfgexpand.c, cfgrtl.c: Don't mention find_sub_basic_blocks
370         in comments.
371         * doc/cfg.texi: Don't mention find_sub_basic_blocks.
372
373         * tree-ssa-operands.c (check_build_stmt): Remove.
374
375         * stor-layout.c (set_alignment): Remove.
376         * tree.h: Remove the corresponding prototype.
377
378         * tree-ssa-pre.c (has_abnormal_preds): Make it static.
379
380         * tree-ssa-dce.c (control_dependence_map,
381         visited_control_parents): Make them static.
382
383         * cfghooks.c (verify_flow_info): Remove local variable
384         num_bb_notes.
385
386         * cfgrtl.c (rtl_verify_flow_info_1): Remove local variable
387         last_bb_seen.
388
389         * loop-unswitch.c (unswitch_loop): Remove local variable src.
390
391 2005-03-07  David Billinghurst <David.Billinghurst@riotinto.com>
392
393         * config/i386/cygwin1.c(mingw_scan): Use xstrdup in calls to putenv.
394
395 2005-03-07  Joseph S. Myers  <joseph@codesourcery.com>
396
397         * config/ia64/hpux.h (LINK_SPEC): Add -z.
398         * config/ia64/ia64.c (ia64_function_value): Return a REG not a
399         PARALLEL for an empty structure.
400
401 2005-03-07  Kazu Hirata  <kazu@cs.umass.edu>
402
403         * fold-const.c (fold_binary): Remove handling of RANGE_EXPR.
404
405         * fold-const.c (fold_binary): Unroll the very first "for"
406         loop.
407
408 2005-03-06  David Edelsohn  <edelsohn@gnu.org>
409
410         * config/rs6000/predicates.md (branch_comparison_operator): Remove
411         redundant match_code test.
412         (scc_comparison_operator): Swap match_operand and match_code
413         tests.
414         (branch_positive_comparison_operator): Same.
415         (trap_comparison_operator): Use comparison_operator and swap with
416         match_code test.
417
418 2005-03-06  Marek Michalkiewicz  <marekm@amelek.gda.pl>
419
420         PR target/20288
421         * config/avr/avr.c (print_operand): Add 'p' and 'r'.
422         (out_movhi_r_mr): Read low byte of volatile MEM first.
423         (out_movhi_mr_r): Write high byte of volatile MEM first.
424
425 2005-03-05  Kazu Hirata  <kazu@cs.umass.edu>
426
427         * cselib.c (reg_values, reg_values_size): Make them static.
428
429         * cse.c (cse_reg_info_table): Make it static.
430
431         * fold-const.c (fold_unary): Use build1 instead of copy_node.
432
433 2005-03-06  Zdenek Dvorak  <dvorakz@suse.cz>
434
435         * cse.c (find_best_addr): Use canon_for_address.
436
437 2005-03-06  Kazu Hirata  <kazu@cs.umass.edu>
438
439         * cse.c (fold_rtx_subreg, fold_rtx_mem): New.
440         (fold_rtx): Call fold_rtx_subreg and fold_rtx_mem to handle
441         SUBREG and MEM, respectively.
442
443         * fold-const.c (fold_binary): Use code instead of t.
444
445         * fold-const.c (optimize_minmax_comparison): Take decomposed
446         arguments code, type, op0, and op1 instead of t.
447         (fold_binary): Update a call to optimize_minmax_comparison.
448
449         * fold-const.c (fold_range_test): Take decomposed arguments
450         code, type, op0, and op1 instead of t.
451         (fold_binary): Update a call to fold_range_test.
452
453         * fold-const.c (fold_binary_op_with_conditional_arg): Take
454         decomposed arguments code, type, op0, and op1 instead of t.
455         (fold_binary): Update a call to fold_range_test.
456
457 2005-03-06  Kazu Hirata  <kazu@cs.umass.edu>
458
459         * fold-const.c (fold_binary): Avoid directly using the original
460         expression t as much as possible.
461
462 2005-03-05  Kazu Hirata  <kazu@cs.umass.edu>
463
464         * c-semantics.c (build_stmt): Use TYPE_P instead of
465         IS_NON_TYPE_CODE_CLASS.
466         * tree.h (IS_NON_TYPE_CODE_CLASS): Remove.
467         (NON_TYPE_CHECK): Use TYPE_P instead of
468         IS_NON_TYPE_CODE_CLASS.
469
470         * fold-const.c (fold): Remove handling of binary expressions.
471
472 2005-03-05  James A. Morrison  <phython@gcc.gnu.org>
473
474         * doc/c-tree.texi: Wrap comments in @r{}.
475         * doc/cpp.texi: Likewise.
476         * doc/cppinternals.texi: Likewise.
477         * doc/extend.texi: Likewise.
478         * doc/md.texi: Likewise.
479         * doc/objc.texi: Likewise.
480         * doc/sourcebuild.texi: Likewise.
481         * doc/tm.texi: Likewise.
482         * doc/tree-ssa.texi
483
484 2005-03-05  Kazu Hirata  <kazu@cs.umass.edu>
485
486         * predict.c (apply_return_prediction): Standardize PHI chain
487         walking.
488         * tree-ssa.c (ssa_redirect_edge): Likewise.
489
490         * genattrtab.c, genemit.c, genoutput.c, genrecog.c,
491         gensupport.c, jump.c, tree-phinodes.c, unwind-dw2-fde-glibc.c:
492         Update copyright.
493
494         * tree-phinodes.c (remove_phi_node): Drop the last argument.
495         * tree-flow.h: Adjust the prototype for remove_phi_node.
496         * lambda-code.c (perfect_nestify): Adjust a call to
497         remove_phi_node.
498         * tree-cfg.c
499         (remove_phi_nodes_and_edges_for_unreachable_block): Likewise.
500         * tree-outof-ssa.c (eliminate_virtual_phis, remove_ssa_form):
501         Likewise.
502         * tree-ssa-dce.c (remove_dead_phis): Likewise.
503         * tree-ssa-loop-ivopts.c (remove_statement): Likewise.
504         * tree-ssa-pre.c (remove_dead_inserted_code): Likewise.
505         * tree-ssa.c (kill_redundant_phi_nodes): Likewise.
506
507         * combine.c (simplify_and_const_int): Use gen_int_mode instead
508         of GEN_INT (trunc_int_for_mode (...)).
509         * loop-iv.c (iv_number_of_iterations): Likewise.
510         * postreload.c (reload_cse_move2add): Likewise.
511         * simplify-rtx.c (simplify_const_unary_operation,
512         simplify_const_binary_operation): Likewise.
513         * stor-layout.c (get_mode_bounds): Likewise.
514
515         * fold-const.c (fold_binary): New.
516         (fold): Call fold_binary on binary expressions.
517
518 2005-03-05  Richard Sandiford  <rsandifo@redhat.com>
519
520         * doc/invoke.texi: Document new MIPS -msym32 and -mno-sym32 options.
521         * config/mips/mips.h (MASK_SYM32, TARGET_SYM32): New macros.
522         (TARGET_SWITCHES): Add -msym32 and -mno-sym32.
523         (ABI_HAS_64BIT_SYMBOLS): Set to false if TARGET_SYM32.
524         (ASM_SPEC): Pass down -msym32 and -mno-sym32.
525
526 2005-03-04  Devang Patel  <dpatel@apple.com>
527         
528         PR tree-optimization/18815
529         * tree-if-conv.c (combine_blocks): Adjust loop header edges for
530         loops with zero exit edges.
531
532 2005-03-04  Devang Patel  <dpatel@apple.com>
533
534         * doc/invoke.texi: Remove reference to webpage that does not exist.
535         
536 2005-03-04  John David Anglin  <dave.danglin@nrc-cnrc.gc.ca>
537             Joseph S. Myers  <joseph@codesourcery.com>
538
539         PR c++/19797
540         * pa/elf.h, pa64-hpux.h, som.h (ASM_OUTPUT_EXTERNAL_REAL): Define.
541         (ASM_OUTPUT_EXTERNAL): Call pa_hpux_asm_output_external.
542         * pa-protos.h (pa_hpux_asm_output_external): Add prototype.
543         * pa.c (get_plabel): Change argument to symbol_ref.  Call
544         maybe_get_identifier instead of get_identifier.
545         (pa_hpux_asm_output_external, pa_hpux_file_end): New functions.
546         (struct deferred_plabel): Replace name field with symbol field.
547         (TARGET_ASM_FILE_END): Define as pa_hpux_file_end if
548         ASM_OUTPUT_EXTERNAL_REAL is defined.
549         (output_global_address): Use output_addr_const for output of all
550         symbol_refs.
551         (output_deferred_plabels): Use symbol_ref instead of name for address
552         output.
553         * pa.h (SYMBOL_FLAG_REFERENCED, SYMBOL_REF_REFERENCED_P,
554         ASM_OUTPUT_SYMBOL_REF): New macros.
555         * som.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use assemble_name_raw.  Update
556         comment.
557         (ASM_WEAKEN_LABEL): Use targetm.asm_out.globalize_label to globalize
558         label.
559
560 2005-03-05  Joseph S. Myers  <joseph@codesourcery.com>
561
562         * config.gcc (hppa*64*-*-hpux11*): Use pa/pa-hpux1111.h for
563         *-*-hpux11.[1-9]*, not just for *-*-hpux11.11.
564
565 2005-03-04  Jeff Law  <law@redhat.com>
566
567         * basic-block.h (rediscover_loops_after_threading): Declare.
568         * tree-ssa-dom.c: Include cfgloop.h.
569         (tree_ssa_dominator_optimize): Discover loops and some basic
570         properties.  Remove forwarder blocks recreated by loop header
571         canonicalization.  Also mark backedges in the CFG.
572         * tree-ssa-threadupdate.c: Include cfgloop.h
573         (rediscover_loops_after_threading): Define.
574         (struct local_info): New field, JUMP_THREADED.
575         (prune_undesirable_thread_requests): New function.
576         (redirect_edges): Clear EDGE_ABNORMAL.  If edges were threaded
577         then record that fact for the callers of redirct_edges.
578         (thread_block): If BB has incoming backedges, then call
579         prune_undesirable_thraed_requests.    Note when we are
580         going to have to rediscover loop information.  Return a
581         boolean indicating if any jumps were threaded.
582         (thread_through_all_blocks): Bubble up boolean indicating
583         if any jumps were threaded.
584         * Makefile.in (tree-ssa-dom.o): Depend on cfgloop.h
585         (tree-ssa-threadupdate.o): Similarly.
586
587 2005-03-04  Kazu Hirata  <kazu@cs.umass.edu>
588
589         * fold-const.c (fold_ternary): Unroll the "for" loop to
590         extract operands.  
591
592 2005-03-04  Andrew Haley  <aph@redhat.com>
593
594         * unwind-dw2-fde-glibc.c (struct
595         unw_eh_callback_data.check_cache): New field.
596         (frame_hdr_cache): New.
597         (_Unwind_IteratePhdrCallback): Add ext_dl_phdr_info.
598         Cache frame header info.
599
600 2005-03-04  Richard Sandiford  <rsandifo@redhat.com>
601
602         * rtl.h (copy_rtx_ptr_loc, print_rtx_ptr_loc, join_c_conditions)
603         (print_c_condition): Declare.
604         * read-rtl.c (ptr_loc): New structure.
605         (ptr_locs, ptr_loc_obstack, joined_conditions)
606         (joined_conditions_obstack): New variables.
607         (leading_ptr_hash, leading_ptr_eq_p, set_rtx_ptr_loc)
608         (get_rtx_ptr_loc, copy_rtx_ptr_loc, print_rtx_ptr_loc)
609         (join_c_conditions, print_c_condition): New functions.
610         (apply_macro_to_string): Associate the new string with the same
611         source location as the old one.
612         (add_condition_to_string): Use join_c_conditions.
613         (read_string): Use set_rtx_ptr_loc to record a filename and line
614         number for the string.
615         (read_rtx): Initialize the new variables above.
616         * genattrtab.c (write_test_expr, write_attr_value): Use
617         print_c_condition.
618         * genconditions.c (write_header): Don't define MAYBE_EVAL.  Move its
619         comment above the GCC_VERSION check.
620         (write_one_condition): Use print_rtx_ptr_loc and print_c_condition.
621         Inline the definition of MAYBE_EVAL.
622         * genemit.c (gen_expand, gen_split): Use print_rtx_ptr_loc.
623         * genoutput.c (process_template): Likewise.
624         * genpreds.c (write_predicate_subfunction): Likewise.
625         (write_predicate_expr): Use print_c_condition.
626         * genrecog.c (write_cond): Likewise.
627         * gensupport.c (process_rtx): Use join_c_conditions to join the
628         conditions of a define_insn_and_split.  Record a source location
629         for the string after the "&&".
630         (alter_test_for_insn): Use join_c_conditions.
631
632 2005-03-04  Andrew Pinski  <pinskia@physics.uc.edu>
633
634         Revert for now:
635         2005-03-03  James A. Morrison  <phython@gcc.gnu.org>
636         PR tree-optimization/15784
637         * fold-const.c (fold): Fold ~A + 1 to -1.  Fold -A - 1
638         and -1 - A to ~A.
639
640 2005-03-04  Ben Elliston  <bje@au.ibm.com>
641
642         * gcc.c (option_map): Add --coverage.
643         (LINK_COMMAND_SPEC): Pass -lgcov for `coverage'.
644         (cc1_options): Pass -fprofile-arcs -ftest-coverage for `coverage'.
645         * config/darwin.h: Pass -lgcov for `coverage'.
646         * doc/invoke.texi (Debugging Options): Document --coverage.
647
648 2005-03-04  Kazu Hirata  <kazu@cs.umass.edu>
649
650         * gcse.c (bypass_block): Use find_edge wherever possible.
651
652 2005-03-03  Daniel Berlin <dberlin@dbrelin.org>
653
654         Fix PR debug/20253
655         
656         * c-opts.c (c_common_parse_file): Call start_source_file
657         and end_source_file at the approriate times.
658
659         * dwarf2out.c (dwarf2out_finish): Don't auto-end
660         the main file, it will be done for us now.
661         
662 2005-03-04  Kazu Hirata  <kazu@cs.umass.edu>
663
664         * fold-const.c (fold_ternary): New.
665         (fold): Call fold_ternary on ternary expressions.  Remove
666         handling of ternary expressions.
667
668 2005-03-03  James A. Morrison  <phython@gcc.gnu.org>
669
670         PR tree-optimization/15784
671         * fold-const.c (fold): Fold ~A + 1 to -1.  Fold -A - 1
672         and -1 - A to ~A.
673
674 2005-03-03  David Edelsohn  <edelsohn@gnu.org>
675
676         * config/rs6000/predicates.md (branch_comparison_operator):
677         Convert from C block to conditional format.
678
679 2005-03-03  Jan Hubicka  <jh@suse.cz>
680
681         * tree-dfa.c (add_referenced_var): Don't walk initializer of external
682         and non-constant public variables.
683
684 2005-03-03  Kazu Hirata  <kazu@cs.umass.edu>
685
686         * tree-cfg.c (stmt_starts_bb_p): Clean up by replacing code
687         with LABEL_EXPR.
688
689         * cfgexpand.c (construct_exit_block): Use EDGE_PRED instead of
690         EDGE_I.
691
692         * tree-phinodes.c (remove_phi_node): Clean up by factoring out
693         calls to release_ssa_name and release_phi_node.
694
695         * fold-const.c (fold): Remove handling of unary expressions.
696
697         * fold-const.c (fold_unary): Avoid directly using the original
698         expression t as much as possible.
699
700 2005-03-03  Roger Sayle  <roger@eyesopen.com>
701             Andrew Pinski  <pinskia@physics.uc.edu>
702
703         * jump.c (redirect_exp_1): If nlabel is a NULL pointer create a
704         RETURN rtx, and not a LABEL_REF containing a NULL pointer.
705
706 2005-03-03  Hans-Peter Nilsson  <hp@axis.com>
707
708         Describe special registers SRP and MOF as allocatable registers.
709         * config/cris/cris.c (cris_md_asm_clobbers): New function.
710         (TARGET_MD_ASM_CLOBBERS): Define to cris_md_asm_clobbers.
711         (cris_conditional_register_usage): Enable CRIS_MOF_REGNUM if
712         TARGET_HAS_MUL_INSNS.
713         (cris_print_operand) <case 'd'>: New case.
714         <case REG>: Allow CRIS_MOF_REGNUM and CRIS_SRP_REGNUM.
715         * config/cris/cris.h (CRIS_PC_REGNUM, CRIS_SRP_REGNUM): Don't
716         define.
717         (FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS)
718         (REG_ALLOC_ORDER): Update for MOF.
719         (enum reg_class): New members MOF_REGS, GENERAL_REGS and
720         SPECIAL_REGS.
721         (GENERAL_REGS): No longer a define of ALL_REGS.
722         (REGNO_REG_CLASS, REG_CLASS_CONTENTS, REG_CLASS_NAMES)
723         (PREFERRED_RELOAD_CLASS, REGISTER_NAMES, DBX_REGISTER_NUMBER):
724         Adjust accordingly.
725         (CRIS_SPECIAL_REGS_CONTENTS): New macro.
726         (REG_CLASS_FROM_LETTER): Allocate 'h' and 'x'.
727         (SECONDARY_RELOAD_CLASS): Define.
728         (STACK_POINTER_REGNUM): Define as CRIS_SP_REGNUM.
729         (FRAME_POINTER_REGNUM): Define as CRIS_FP_REGNUM.
730         (ARG_POINTER_REGNUM): Define as CRIS_AP_REGNUM.
731         (STATIC_CHAIN_REGNUM): Define as CRIS_STATIC_CHAIN_REGNUM.
732         (REGISTER_MOVE_COST): Define.
733         (PIC_OFFSET_TABLE_REGNUM): Define in terms of CRIS_GOT_REGNUM.
734         * config/cris/cris.md (CRIS_GOT_REGNUM, CRIS_STATIC_CHAIN_REGNUM)
735         (CRIS_FP_REGNUM, CRIS_SP_REGNUM, CRIS_SRP_REGNUM, CRIS_AP_REGNUM)
736         (CRIS_MOF_REGNUM): New define_constants.
737         ("*movsi_internal", "movhi", "movqi", "movsf"): Add alternatives for
738         special registers.
739         ("reload_inhi", "reload_outhi", "reload_inqi", "reload_outqi"):
740         New patterns.
741         ("umulhisi3", "umulqihi3", "mulsi3", "mulqihi3", "mulhisi3")
742         ("mulsidi3", "umulsidi3", "smulsi3_highpart", "umulsi3_highpart"):
743         Adjust for MOF being properly described as a register.
744         (indir_to_reg_split): Name this split.  Conditionalize on the
745         destination register being a general register.
746         (movei): Conditionalize on on operands 0 and 1 having the same
747         register class.
748
749 2005-03-03  Alan Modra  <amodra@bigpond.net.au>
750
751         PR target/20277
752         * config/rs6000/rs6000.c (rs6000_override_options): Don't allow
753         -mcpu to override any other explicitly given flags.
754
755 2005-03-02  J"orn Rennecke <joern.rennecke@st.com>
756
757         * recog.c (verify_changes, confirm_change_group): New functions,
758         broken out of apply_change_group.
759         (apply_change_group): Use them.
760         * recog.h (verify_change, confirm_change_group): Declare.
761         * rtl.h (redirect_jump_2): Declare.
762         * jump.c (redirect_exp, invert_exp): Delete.
763         (invert_exp_1): Take second parameter.  Return value.  Changed caller.
764         (redirect_jump_2): New function, broken out of redirect_jump.
765         (redirect_jump): Use redirect_jump_1 and redirect_jump_2.
766         (invert_jump): Use invert_jump_1 and redirect_jump_2.
767         * ifcvt.c (dead_or_predicable): Use redirect_jump_2.
768
769 2005-03-02  Geoffrey Keating  <geoffk@apple.com>
770
771         * varasm.c (named_section): Use xstrdup rather than doing it by
772         hand.
773
774         * config/darwin8.h (LIB_SPEC): Switch -lmx and -lSystem.
775
776 2005-03-02  Devang Patel  <dpatel@apple.com>
777         
778         Undo PR tree-optimization/18815 fix.
779         
780 2005-03-02  Devang Patel  <dpatel@apple.com>
781
782         PR tree-optimization/18815
783         * tree-if-conv.c (combine_blocks): Adjust loop header edges for
784         loops with zero exit edges.
785         
786 2005-03-02  Kazu Hirata  <kazu@cs.umass.edu>
787
788         * cfg.c (connect_src, connect_dest, disconnect_src,
789         disconnct_dest): New.
790         (unchecked_make_edge, remove_edge, redirect_edge_succ,
791         redirect_edge_pred): Use the new functions.
792
793         * tree-ssa-dom.c (tree_ssa_dominator_optimize): Call
794         free_dominance_info only when needed.
795
796 2005-03-02  David Edelsohn  <edelsohn@gnu.org>
797
798         PR target/20276
799         * config/rs6000/predicates.md (reg_or_cint64_operand): Fix typo.
800         (reg_or_sub_cint64_operand): Same.
801
802 2005-03-02  Jeff Law  <law@redhat.com>
803
804         * tree-ssa-dom.c (tree_ssa_dominator_optimize): Fix setting of
805         CFG_ALTERED in the main DOM iteration loop.
806
807 2005-03-02  Mark Mitchell  <mark@codesourcery.com>
808
809         PR c++/19916
810         * varasm.c (initializer_constant_valid_p): Allow conversions
811         between OFFSET_TYPEs.  Tidy.
812
813 2005-03-02  Hans-Peter Nilsson  <hp@axis.com>
814
815         * config/cris/cris.md ("return"): Remove epilogue delay list
816         sanity check.
817
818 2005-03-02  Daniel Jacobowitz  <dan@codesourcery.com>
819
820         * config/arm/linux-elf.h (ARM_FUNCTION_PROFILER): Do not use (PLT)
821         for Thumb.
822         * config/arm/netbsd-elf.h (ARM_FUNCTION_PROFILER): Likewise.
823
824 2005-03-02  Kazu Hirata  <kazu@cs.umass.edu>
825
826         * cfgloop.h, cfgloopanal.c, cfgloopmanip.c, conflict.c,
827         loop-init.c, loop-unroll.c, print-tree.c, reg-notes.def,
828         config/m68k/m68k.c, config/mips/mips.h,
829         config/rs6000/rs6000-protos.h, doc/contrib.texi,
830         doc/include/gcc-common.texi: Update copyright.
831
832         PR middle-end/18029 and PR middle-end/18030
833         * expr.c (optimize_bitfield_assignment_op): Add a special case
834         to handle BIT_IOR_EXPR and BIT_XOR_EXPR.
835
836         * fold-const.c (fold_unary): New.
837         (fold): Call fold_unary on unary expressions.
838
839 2005-03-02  Richard Guenther  <rguenth@gcc.gnu.org>
840
841         * cgraph.h (struct cgraph_edge): Add prev_caller and
842         prev_callee fields.
843         (cgraph_node_remove_callees): Export.
844         * cgraph.c (cgraph_create_edge): Initialize prev_caller
845         and prev_callee.
846         (cgraph_edge_remove_callee): New function.
847         (cgraph_edge_remove_caller): Likewise.
848         (cgraph_remove_edge): Use.
849         (cgraph_redirect_edge_callee): Likewise.
850         (cgraph_node_remove_callees): New function.
851         (cgraph_node_remove_callers): Likewise.
852         (cgraph_remove_node): Use.
853         * tree-optimize.c (tree_rest_of_compilation): Use
854         cgraph_node_remove_callees instead of manual loop.
855         * cgraphunit.c (cgraph_finalize_function): Likewise.
856         (cgraph_expand_function): Likewise.
857         (cgraph_remove_unreachable_nodes): Likewise.
858
859 2005-03-02  Joseph S. Myers  <joseph@codesourcery.com>
860
861         PR c/8927
862         * c-tree.h (undeclared_variable, build_external_ref): Add extra
863         argument.
864         * c-decl.c (undeclared_variable): Take location as argument.
865         * c-typeck.c (build_external_ref): Likewise.
866         * c-parser.c (c_parser_postfix_expression): Pass location of
867         identifier to build_external_ref.
868
869 2005-03-01  David Edelsohn  <edelsohn@gnu.org>
870
871         * config/rs6000/rs6000.md (cceq splitter): Use operand mode, not
872         CCEQ mode for branch_positive_comparison_operator test.
873         * config/rs6000/predicates (branch_comparison_operator): Revert to
874         define_predicate.
875         (scc_comparison_operator): Same.
876         (branch_positive_comparison_operator): Same.
877
878 2005-03-01  Hans-Peter Nilsson  <hp@axis.com>
879
880         * config/cris/cris.c (cris_eligible_for_epilogue_delay)
881         (cris_delay_slots_for_epilogue): Remove.
882         (save_last): Move into cris_target_asm_function_epilogue.
883         (cris_target_asm_function_epilogue): Remove tests for file being
884         NULL.
885         * config/cris/cris-protos.h (cris_eligible_for_epilogue_delay)
886         (cris_delay_slots_for_epilogue): Remove prototypes.
887         * config/cris/cris.h (DELAY_SLOTS_FOR_EPILOGUE)
888         (ELIGIBLE_FOR_EPILOGUE_DELAY): Do not define.
889
890 2005-03-01  David Edelsohn  <edelsohn@gnu.org>
891
892         * config/rs6000/predicates.md (branch_comparison_operator): Change
893         to define_special_predicate.
894         (scc_comparison_operator): Same.
895         (branch_positive_comparison_operator): Same.
896
897 2005-03-01  Daniel Berlin <dberlin@dberlin.org>
898
899         * Makefile.in (tree-ssa-sink.o): New.
900         (OBJS-common): Add tree-ssa-sink.o.
901         * common.opt: Add -ftree-sink
902         * opts.c (decode_options): flag_tree_sink is set at O1 or higher.
903         * timevar.def (TV_TREE_SINK): new timevar.
904         * tree-flow.h (is_hidden_global_store): Prototype.
905         * tree-optimize.c (init_tree_optimization_passes): Add
906         pass_sink_code.
907         * tree-pass.h (pass_sink_code): New.
908         * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Move checking
909         for non-obvious global store store to is_hidden_global_store, and
910         call that new function.
911         * tree-ssa-sink.c: New file.
912         * doc/invoke.texi: Document -fdump-tree-sink and -ftree-sink.
913         * doc/passes.texi: Document forward store motion.
914         * testsuite/gcc.dg/tree-ssa/ssa-sink-1.c: New test
915         * testsuite/gcc.dg/tree-ssa/ssa-sink-2.c: New test
916         * testsuite/gcc.dg/tree-ssa/ssa-sink-3.c: New test
917         * testsuite/gcc.dg/tree-ssa/ssa-sink-4.c: New test
918
919 2005-03-01  Per Bothner  <per@bothner.com>
920
921         * diagnostic.c (diagnostic_build_prefix): If USE_MAPPED_LOCATION
922         and we have a non-zero column-number, add it to the message.
923         Also factor out the diagnostic_kind_text.
924
925 2005-03-01  Zdenek Dvorak  <dvorakz@suse.cz>
926
927         * cfgloop.c (flow_loop_entry_edges_find, flow_loop_exit_edges_find,
928         flow_loop_pre_header_scan, flow_loop_pre_header_find,
929         flow_loop_scan): Removed.
930         (flow_loop_dump): Do not dump removed fields.
931         (flow_loop_free): Do not free removed fields.
932         (flow_loops_find): Flags argument removed.  Do not call flow_loop_scan.
933         (loop_exit_edge_p): New function.
934         * cfgloop.h (struct loop): Removed fields pre_header, pre_header_edges,
935         num_pre_header_edges, entry_edges, num_entries, exit_edges,
936         num_exits, exits_doms.
937         (LOOP_TREE, LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
938         LOOP_EDGES, LOOP_ALL): Removed.
939         (flow_loop_scan): Declaration removed.
940         (loop_exit_edge_p, mark_loop_exit_edges): Declare.
941         * cfgloopmanip.c (create_loop_notes): Do not pass flags to
942         flow_loops_find.
943         * ifcvt.c (mark_loop_exit_edges): Moved to cfgloopanal.c.
944         (if_convert): Call flow_loops_find and flow_loops_free
945         when calling mark_loop_exit_edges.
946         * cfgloopanal.c (mark_loop_exit_edges): Moved from
947         ifcvt.c.  Removed the flow_loops_find, flow_loops_free and
948         free_dominance_info calls.
949         * loop-init.c (flow_loops_find): Ditto.
950         * passes.c (rest_of_handle_branch_prob): Ditto.
951         * lambda-code.c (perfect_nestify): Do not call flow_loops_find.
952         * loop-unroll.c (analyze_insns_in_loop): Do not use
953         EDGE_LOOP_EXIT.
954         * predict.c (predict_loops): Do not call flow_loop_scan.
955         Use get_loop_exit_edges.
956         (tree_estimate_probability): Do not pass flags to flow_loops_find.
957         * tree-if-conv.c (bb_with_exit_edge_p): Take loop as argument.
958         Do not use EDGE_LOOP_EXIT.
959         (tree_if_convert_cond_expr, if_convertible_modify_expr_p): Pass loop
960         to bb_with_exit_edge_p.
961         (if_convertible_loop_p): Do not call flow_loop_scan.  Use
962         loop->single_exit.  Do not use EDGE_LOOP_EXIT.  Pass loop
963         to bb_with_exit_edge_p.
964         (combine_blocks): Pass loop to bb_with_exit_edge_p.  Do not use
965         EDGE_LOOP_EXIT.
966         * tree-loop-linear.c (linear_transform_loops): Do not call
967         flow_loop_scan.  Use loop->single_exit.
968         * tree-vect-analyze.c (vect_analyze_operations): Use loop->single_exit.
969         (vect_analyze_loop_form): Do not call flow_loop_scan.
970         * tree-vect-transform.c (vect_update_ivs_after_vectorizer): Use
971         loop->single_exit.
972         (vect_do_peeling_for_loop_bound): Use loop_preheader_edge and
973         loop->single_exit.
974         * tree-vectorizer.c (slpeel_update_phis_for_duplicate_loop,
975         slpeel_make_loop_iterate_ntimes, slpeel_can_duplicate_loop_p,
976         slpeel_tree_duplicate_loop_to_edge_cfg,
977         slpeel_verify_cfg_after_peeling, slpeel_tree_peel_loop_to_edge):
978         Use loop_preheader_edge and loop->single_exit.  Do not call
979         flow_loop_scan.
980
981 2005-03-01  Nick Clifton  <nickc@redhat.com>
982
983         * config/arm/arm.c (thumb_find_work_register): Check all of the
984         argument registers to see if they are free, and a couple of
985         special cases where the last argument register but can be proved
986         to be available during the function's prologue.
987         (print_multi_reg, arm_compute_save_reg0_reg12_mask,
988         output_return_instruction, emit_multi_reg_push, thumb_pushpop,
989         thumb_unexpanded_epilogue): Use unsigned long as the type for the
990         register bit-mask.
991         (thumb_compute_save_reg_mask): Likewise.  Also use
992         thumb_find_work_register() to ensure that there is agreement about
993         which work register is going to be used in the prologue.
994         (thumb_output_function_prologue): Use unsigned long as the type
995         for the register bit-mask.  Also delay pushing the link register if
996         other high registers are going to be pushed.
997         (thumb_compute_save_reg_mask, emit_multi_reg_push,
998         print_multi-reg, number_of_first_bit_set, thumb_pushpop): Remove
999         redundant prototypes.
1000
1001 2005-02-28  John David Anglin  <dave.anglin#nrc-cnrc.gc.ca>
1002
1003         PR target/19819
1004         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Allow allow hard registers during
1005         and after reload in REG+REG indexed addresses without REG_POINTER
1006         set in the base and not set in the index.
1007
1008 2005-02-28  Kaz Kojima  <kkojima@gcc.gnu.org>
1009
1010         * config/sh/linux.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
1011         Don't undefine here.
1012         (HANDLE_PRAGMA_PACK_PUSH_POP): Delete.
1013         (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC): Likewise.
1014         (TARGET_OS_CPP_BUILTINS): Use LINUX_TARGET_OS_CPP_BUILTINS.
1015         (LIB_SPEC, LINK_EH_SPEC, STARTFILE_SPEC, ENDFILE_SPEC,
1016         LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED, TARGET_C99_FUNCTIONS):
1017         Delete.
1018         * config.gcc (sh*-*-linux*): Use config/linux.h.
1019
1020 2005-02-28  Dale Johannesen  <dalej@apple.com>
1021             Stan Shebs  <shebs@apple.com>
1022
1023         Rewrite of 64-bit Darwin structure-by-value pass/return.
1024         * config/rs6000/rs6000.h (CUMULATIVE_ARGS): New fields
1025         intoffset, use_stack, named.
1026         * config/rs6000/rs6000.c (rs6000_darwin64_function_arg):  Remove.
1027         (rs6000_darwin64_record_arg_advance_flush):  New.
1028         (rs6000_darwin64_record_arg_advance_recurse): New.
1029         (rs6000_darwin64_record_arg_flush):  New.
1030         (rs6000_darwin64_record_arg_recurse):  New.
1031         (rs6000_darwin64_record_arg):  New.
1032         (rs6000_return_in_memory):  Remove AGGREGATE_TYPE_P check.
1033         (function_arg_boundary):  Handle 128-bit aligned structs.
1034         (function_arg_advance):  Rewrite darwin64 struct handling.
1035         (function_arg):  Call rs6000_darwin64_record_arg.
1036         (function_arg_partial_nregs):  Handle darwin64 structs.
1037         (rs6000_darwin64_function_value):  Remove.
1038         (rs6000_function_value):  Call rs6000_darwin64_record_arg.
1039
1040 2005-02-28  Roger Sayle  <roger@eyesopen.com>
1041
1042         PR tree-optimization/20216
1043         * tree-chrec.c (tree_fold_factorial): Delete.
1044         (tree_fold_binomial): Change argument list to take a return type
1045         and change the type of K to unsigned int.  Rewrite to avoid explicit
1046         evaluation of factorials, and (recursively) calling fold to perform
1047         compile-time arithmetic.  Return NULL on (internal) overflow.
1048         (chrec_evaluate): Change type of K to an unsigned int.  Avoid
1049         calling tree_fold_binomial unnecessarily.  Return chrec_dont_know
1050         if any intermediate calculation overflows.
1051         (chrec_apply): Update call to chrec_evaluate.
1052
1053 2005-02-28  James E Wilson  <wilson@specifixinc.com>
1054
1055         * config/mips/mips.h (NO_PROFILE_COUNTERS): Define.
1056
1057 2005-02-28  Joseph S. Myers  <joseph@codesourcery.com>
1058
1059         PR c/20245
1060         * c-parser.c (c_parser_compound_statement): Return error_mark_node
1061         instead of NULL_TREE on error.
1062
1063 2005-02-28  David Edelsohn  <edelsohn@gnu.org>
1064
1065         * config/rs6000/rs6000.c (EASY_VECTOR_15): Remove.
1066         (EASY_VECTOR_15_ADD_SELF): Remove.
1067         (num_insns_constant_wide): Not static.
1068         (validate_condition_mode): Not static.
1069         (toc_relative_expr_p): Not static.
1070         (legitimate_indirect_address_p): Not static.
1071         (macho_lo_sum_memory_operand): Not static.
1072         (invalid_e500_subreg): Not static.
1073         (easy_vector_same): Not static.
1074         (easy_vector_splat_const): Not static.
1075         (RS6000_SYMBOL_REF_TLS_P): Remove.
1076         (any_operand): Delete.
1077         (any_parallel_operand): Delete.
1078         (count_register_operand): Delete.
1079         (altivec_register_operand): Delete.
1080         (xer_operand): Delete.
1081         (s8bit_cint_operand): Delete.
1082         (short_cint_operand): Delete.
1083         (u_short_cint_operand): Delete.
1084         (non_short_cint_operand): Delete.
1085         (exact_log2_cint_operand): Delete.
1086         (gpc_reg_operand): Delete.
1087         (cc_reg_operand): Delete.
1088         (cc_reg_not_cr0_operand): Delete.
1089         (reg_or_short_operand): Delete.
1090         (reg_or_neg_short_operand): Delete.
1091         (reg_or_aligned_short_operand): Delete.
1092         (reg_or_u_short_operand): Delete.
1093         (reg_or_cint_operand): Delete.
1094         (reg_or_arith_cint_operand): Delete.
1095         (reg_or_add_cint64_operand): Delete.
1096         (reg_or_sub_cint64_operand): Delete.
1097         (reg_or_logical_cint_operand): Delete.
1098         (got_operand): Delete.
1099         (got_no_const_operand): Delete.
1100         (easy_fp_constant): Delete.
1101         (easy_vector_constant): Delete.
1102         (easy_vector_constant_add_self): Delete.
1103         (zero_constant): Delete.
1104         (zero_fp_constant): Delete.
1105         (volatile_mem_operand): Delete.
1106         (offsettable_mem_operand): Delete.
1107         (mem_or_easy_const_operand): Delete.
1108         (add_operand): Delete.
1109         (non_add_cint_operand): Delete.
1110         (logical_operand): Delete.
1111         (non_logical_cint_operand): Delete.
1112         (mask_operand): Delete.
1113         (mask_operand_wrap): Delete.
1114         (mask64_operand): Delete.
1115         (mask64_2_operand): Delete.
1116         (and64_operand): Delete.
1117         (and64_2_operand): Delete.
1118         (and_operand): Delete.
1119         (reg_or_mem_operand): Delete.
1120         (lwa_operand): Delete.
1121         (symbol_ref_operand): Delete.
1122         (call_operand): Delete.
1123         (current_file_function_operand): Delete.
1124         (input_operand): Delete.
1125         (rs6000_nonimmediate_operand): Delete.
1126         (rs6000_tls_symbol_ref): Delete.
1127         (save_world_operation): Delete.
1128         (restore_world_operation): Delete.
1129         (load_multiple_operation): Delete.
1130         (store_multiple_operation): Delete.
1131         (vrsave_operation): Delete.
1132         (mfcr_operation): Delete.
1133         (mtcrf_operation): Delete.
1134         (lmw_operation): Delete.
1135         (stmw_operation): Delete.
1136         (branch_comparison_operator): Delete.
1137         (branch_positive_comparison_operator): Delete.
1138         (scc_comparison_operator): Delete.
1139         (trap_comparison_operator): Delete.
1140         (boolean_operator): Delete.
1141         (boolean_or_operator): Delete.
1142         (min_max_operator): Delete.
1143         * config/rs6000/rs6000.h (RS6000_SYMBOL_REF_TLS_P): Move to here.
1144         (EASY_VECTOR_15): Moved to here.
1145         (EASY_VECTOR_15_ADD_SELF): Move to here.
1146         (PREDICATE_CODES): Delete.
1147         * config/rs6000/rs6000-protos.h: Delete predicate functions.
1148         Declare functions no longer static.
1149         * config/rs6000/predicates.md: New.
1150         * config/rs6000/rs6000.md: Include predicates.md
1151
1152 2005-02-28  Kazu Hirata  <kazu@cs.umass.edu>
1153
1154         * calls.c (emit_call_1): Don't use  REG_ALWAYS_RETURN.
1155         (emit_library_call_value_1): Don't use LCT_ALWAYS_RETURN and
1156         REG_ALWAYS_RETURN.
1157         * cfgrtl.c (need_fake_edge_p): Likewise.
1158         * combine.c (distribute_notes): Likewise.
1159         * emit-rtl.c (try_split): Likewise.
1160         * recog.c (peephole2_opimize): Likewise.
1161         * reg-notes.def (ALWAYS_RETURN): Remove.
1162         * rtl.h (LCT_ALWAYS_RETURN): Remove.
1163         * tree-cfg.c (need_fake_edge_p): Don't use ECF_ALWAYS_RETURN.
1164         * tree.h (ECF_ALWAYS_RETURN): Remove.
1165
1166 2005-02-28  Roger Sayle  <roger@eyesopen.com>
1167
1168         PR middle-end/19874
1169         * tree-ssa.c (tree_ssa_useless_type_conversion_1): A conversion
1170         between different machine modes is never a "useless" conversion.
1171
1172 2005-02-28  Geert Bosch  <bosch@gnat.com>
1173
1174         PR ada/15977
1175         * doc/contrib.texi: List contributors for Ada front end
1176
1177 2005-02-28 Paolo Bonzini <bonzini@gnu.org>
1178
1179         * simplify-rtx.c (simplify_unary_operation_1,
1180         simplify_const_unary_operation): New, extracted from...
1181         (simplify_unary_operation): ... this one.
1182         (simplify_binary_operation_1,
1183         simplify_const_binary_operation): New, extracted from...
1184         (simplify_binary_operation): ... this one.
1185         * rtl.h (simplify_const_unary_operation,
1186         simplify_const_binary_operation): Add prototypes.
1187
1188 2005-02-28  Julian Brown  <julian@codesourcery.com>
1189
1190         * config/elfos.h: Revert my patch from 2005-02-25 since it broke
1191         building libjava and caused PR regression/20228.
1192
1193 2005-02-28  Paolo Bonzini  <bonzini@gnu.org>
1194
1195         PR bootstrap/17383
1196         * Makefile.in (host_subdir): New.
1197         (build_objdir): New.  Replace ../$(build_subdir) with it throughout.
1198         * configure: Regenerate.
1199
1200 2005-02-27  Zack Weinberg  <zack@codesourcery.com>
1201
1202         * config/alpha/t-osf4, config/arm/t-netbsd, config/ia64/t-hpux
1203         * config/pa/t-hpux-shlib (SHLIB_INSTALL): Create the
1204         installation directory first.
1205
1206 2005-02-28  Hans-Peter Nilsson  <hp@axis.com>
1207
1208         PR target/19065.
1209         * config/cris/cris.h (EXTRA_CONSTRAINT_Q): Accept only (mem (reg)),
1210         not including (reg). Do not check for reg being CRIS_PC_REGNUM.
1211         (EXTRA_MEMORY_CONSTRAINT): Define as 'Q'.
1212         * config/cris/cris.md: Tweak comments referring to Q.
1213         ("cmpsi", "cmphi", "cmpqi", "*movsi_internal", "movhi")
1214         ("movstricthi", "movqi", "movstrictqi", "movsf", "addsi3")
1215         ("addhi3", "addqi3", "subsi3", "subhi3", "subqi3")
1216         ("*expanded_andsi", "*expanded_andhi", "*andhi_lowpart", "andqi3")
1217         ("*andqi_lowpart", "iorsi3", "iorhi3", "iorqi3", "uminsi3"):
1218         Insert spaces in constraints to align alternatives vertically for
1219         readability.
1220         ("cmphi"): Ditto.  Add separate alternative for operand 0 "r",
1221         operand 1: "M".
1222
1223 2005-02-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1224
1225         PR rtl-optimization/17728
1226         * pa.md (mulsi3, divsi3, udivsi3, modsi3): Change predicate for
1227         operand 0 from general_operand to move_dest_operand.
1228
1229 2005-02-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1230
1231         * pa/elf.h, pa/som.h (ASM_OUTPUT_EXTERNAL): Use assemble_name_raw
1232         instead of trying to save and restore TREE_SYMBOL_REFERENCED.
1233         * pa/pa64-hpux.h (ASM_OUTPUT_TYPE_DIRECTIVE): Define.
1234         (ASM_OUTPUT_EXTERNAL): Don't save and restore TREE_SYMBOL_REFERENCED.
1235
1236 2005-02-26  Nathanael Nerode  <neroden@gcc.gnu.org>
1237
1238         * configure.ac: Rename cc_for_cross_gnattools to host_cc_for_libada.
1239         * configure: Regenerate.
1240         * libada-mk.in: Remove CC; rename
1241         cc_for_cross_gnattools / cc_set_by_configure to host_cc_for_libada.
1242
1243 2005-02-26  Andrew Pinski  <pinskia@physics.uc.edu>
1244
1245         PR tree-opt/20188
1246         * tree-ssa-alias.c (count_uses_and_derefs): If we have TREE_LIST
1247         for the lhs, also walk over the tree.  Likewise for rhs.
1248
1249 2005-02-26  Zdenek Dvorak  <dvorakz@suse.cz>
1250
1251         * tree-ssa-dom.c (simple_iv_increment_p): New function.
1252         (simplify_rhs_and_lookup_avail_expr, eliminate_redundant_computations):
1253         Do not propagate value of iv before increment over the increment.
1254
1255 2005-02-25  Joseph S. Myers  <joseph@codesourcery.com>
1256
1257         * c-parser.c: New file.
1258         * c-parse.in: Remove.
1259         * Makefile.in (c-parse.o-warn, c-parse.o, c-parse.c, c-parse.y):
1260         Remove.
1261         (c-parser.o): Add dependencies.
1262         (C_AND_OBJC_OBJC, C_OBJS, gcc.srcextra, GTFILES, distclean,
1263         maintainer-clean, TAGS): Update.
1264         * c-config-lang.in (gtfiles): Update.
1265         * gengtype-lex.l: Don't handle "@@".
1266         * stub-objc.c (objc_get_class_ivars, objc_build_throw_stmt,
1267         objc_build_synchronized, objc_begin_try_stmt,
1268         objc_begin_catch_clause, objc_finish_catch_clause,
1269         objc_build_finally_clause, objc_finish_try_stmt): New.
1270         * c-tree.h (struct c_declspecs): Add declspecs_seen_p and
1271         type_seen_p.
1272         (c_parse_init): Update comment.
1273         * c-decl.c (c_init_decl_processing): Update comment.
1274         (build_null_declspecs, declspecs_add_qual, declspecs_add_type,
1275         declspecs_add_scspec, declspecs_add_attrs): Initialize and update
1276         new c_declspecs members.
1277
1278 2005-02-25  Julian Brown  <julian@codesourcery.com>
1279
1280         * config/elfos.h (MAKE_DECL_ONE_ONLY): Redefined to stop DECL_WEAK
1281         from being used for symbols with vague linkage when
1282         HAVE_GAS_COMDAT_GROUP is true.
1283
1284 2005-02-25  Mark Mitchell  <mark@codesourcery.com>
1285
1286         * doc/include/gcc-common.texi (version-GCC): Update to 4.1.
1287
1288 2005-02-25  Steve Ellcey  <sje@cup.hp.com>
1289
1290         PR target/19930
1291         * doc/tm.texi (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Document.
1292         (LIBGCC2_HAS_DF_MODE): New.
1293         (LIBGCC2_HAS_XF_MODE): New.
1294         (LIBGCC2_HAS_TF_MODE): New.
1295         * libgcc2.h (LIBGCC2_HAS_XF_MODE): New name for HAVE_XFMODE.
1296         (LIBGCC2_HAS_TF_MODE): New name for HAVE_TFMODE.
1297         * libgcc2.c (LIBGCC2_HAS_XF_MODE): New name for HAVE_XFMODE.
1298         (LIBGCC2_HAS_TF_MODE): New name for HAVE_TFMODE.
1299         (LIBGCC2_HAS_DF_MODE): New name for HAVE_DFMODE.
1300         * config/ia64/t-ia64 (LIB1ASMFUNCS): Remove __compat
1301         and add _fixtfdi, _fixunstfdi, _floatditf
1302         * lib1funcs.asm: Remove L__compat. Add L_fixtfdi,
1303         L_fixunstfdi, L_floatditf.
1304         * config/ia64/hpux.h (LIBGCC2_HAS_XF_MODE): Define.
1305         (LIBGCC2_HAS_TF_MODE): Define.
1306
1307 2005-02-25  Diego Novillo  <dnovillo@redhat.com>
1308
1309         PR tree-optimization/20204
1310         * tree-into-ssa.c (insert_phi_nodes_for): Do not use
1311         REWRITE_THIS_STMT markers on PHI nodes.
1312         (rewrite_initialize_block): Likewise.
1313
1314 2005-02-25  Mark Mitchell  <mark@codesourcery.com>
1315
1316         * version.c (version_string): Update to 4.1.
1317
1318 2005-02-25  Paolo Carlini  <pcarlini@suse.de>
1319
1320         * doc/extend.texi (5.24 Declaring Attributes of Functions)<noreturn>:
1321         Clarify that the alternative way doesn't work in GNU C++.
1322
1323 2005-02-25  Zdenek Dvorak  <dvorakz@suse.cz>
1324
1325         PR tree-optimization/19937
1326         * tree-ssa-loop-ivopts.c (rewrite_use_compare): Cast the final value
1327         to the type of the induction variable.
1328
1329 2005-02-25  Kaz Kojima  <kkojima@gcc.gnu.org>
1330
1331         PR rtl-optimization/20117
1332         * bb-reorder.c (duplicate_computed_gotos): Don't duplicate
1333         the block including noncopyable insn.
1334
1335 2005-02-24  Kazu Hirata  <kazu@cs.umass.edu>
1336
1337         * cse.c (delete_trivially_dead_insns): Speed up by minimizing
1338         calls to find_reg_note.
1339
1340 2005-02-24  Richard Henderson  <rth@redhat.com>
1341
1342         PR tree-opt/20127
1343         * tree-sra.c (instantiate_element): Copy TREE_THIS_VOLATILE from
1344         the type.
1345
1346 2005-02-24  Fariborz Jahanian <fjahanian@apple.com>
1347
1348         * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Check for
1349         vector types if to use base reg for misaligned non-word ld/std.
1350
1351 2005-02-24  Hans-Peter Nilsson  <hp@axis.com>
1352
1353         PR target/14619
1354         * config/cris/cris.c (cris_target_asm_function_prologue): Create
1355         dwarf2 label manually and put it after, not before the prologue.
1356
1357 2005-02-24  David Edelsohn  <edelsohn@gnu.org>
1358
1359         PR target/19019
1360         * reload.c (operands_match_p): Only increment register number for
1361         SCALAR_INT_MODE_P modes in multiple hard registers.
1362
1363         * config/rs6000/rs6000.md (trunctfdf2): Remove register constraints.
1364         Fix formatting.
1365
1366 2005-02-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1367
1368         * ChangeLog.5: Fix log message typo(s).
1369         * ChangeLog.7: Likewise.
1370         * ChangeLog.tree-ssa: Likewise.
1371         * cfgexpand.c: Fix comment typo(s).
1372         * conflict.c: Likewise.
1373         * defaults.h: Likewise.
1374         * dwarf2out.c: Likewise.
1375         * gcse.c: Likewise.
1376         * ggc-page.c: Likewise.
1377         * tree-eh.c: Likewise.
1378         * tree-ssa-dom.c: Likewise.
1379
1380 2005-02-24  Jakub Jelinek  <jakub@redhat.com>
1381
1382         PR target/19019
1383         * mklibgcc.in: Pass -DSHARED when compiling all *_s${objext} objects.
1384         * config/rs6000/darwin-ldouble.c: Only use the .symver directives
1385         if SHARED is defined.
1386
1387         PR target/20196
1388         * config/rs6000/rs6000.md (LTU, GTU sCC splitters): Add earlyclobber,
1389         allow splitting only if operands 0 and 3 don't overlap.
1390
1391 2005-02-24  Richard Henderson  <rth@redhat.com>
1392
1393         PR middle-end/19953
1394         * builtins.c (fold_builtin_complex_mul, fold_builtin_complex_div): New.
1395         (fold_builtin_1): Call them.
1396         * fold-const.c (fold_complex_mult_parts): Split out from ...
1397         (fold_complex_mult): ... here.  Fix typo in both imaginary case.
1398         (fold_complex_div_parts, fold_complex_div): New.
1399         (fold): Use them.
1400         * tree.h (fold_complex_mult_parts, fold_complex_div_parts): Declare.
1401
1402 2005-02-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1403
1404         * tree-ssa-ccp.c (visit_assignment): Verify that result of
1405         VIEW_CONVERT_EXPR is_gimple_min_invariant.
1406
1407         * print-tree.c (print_node_brief): Print LABEL_DECL_UID.
1408         (print_node): Likewise.
1409         Print TYPE_SIZES_GIMPLIFIED.
1410
1411 2005-02-24  Hans-Peter Nilsson  <hp@axis.com>
1412
1413         * config/cris/cris.md ("umulhisi3", "umulqihi3", "mulsi3")
1414         ("mulqihi3", "mulhisi3", "mulsidi3", "umulsidi3"): Mark input
1415         operands as commutative in constraints.
1416
1417 2005-02-24  Diego Novillo  <dnovillo@redhat.com>
1418
1419         * tree-into-ssa.c: Re-organize internal functions.
1420
1421 2005-02-24  Richard Henderson  <rth@redhat.com>
1422
1423         PR middle-end/18902
1424         * c-opts.c (c_common_post_options): Set flag_complex_method to 2
1425         for c99.
1426         * common.opt (fcx-limited-range): New.
1427         * opts.c (set_fast_math_flags): Set flag_cx_limited_range.
1428         * toplev.c (flag_complex_method): Initialize to 1.
1429         (process_options): Set flag_complex_method to 0 if
1430         flag_cx_limited_range.
1431         * doc/invoke.texi (-fcx-limited-range): New.
1432
1433 2005-02-24  Kazu Hirata  <kazu@cs.umass.edu>
1434
1435         * cse.c (delete_trivially_dead_insns): Speed up by using
1436         NEXT_INSN and PREV_INSN directly instead of next_real_insn and
1437         prev_real_insn.
1438
1439 2005-02-24  Andrea Tarani  <andrea.tarani@gilbarco.com>
1440
1441         * config/m68k/m68k.c (m68k_save_reg): Also save A5 for non-leaf
1442         functions when -mid-shared-library is being used.
1443
1444 2005-02-23  Daniel Jacobowitz  <dan@codesourcery.com>
1445
1446         * doc/tm.texi (LINK_LIBGCC_SPECIAL): Remove.
1447         (LINK_LIBGCC_SPECIAL_1): Don't mention it.
1448         * gcc.c: Don't check for LINK_LIBGCC_SPECIAL.
1449         * system.h: Poison LINK_LIBGCC_SPECIAL.
1450
1451 2005-02-23  James E Wilson  <wilson@specifixinc.com>
1452
1453         * gengtype.c (note_insn_name): Make 1 element larger.
1454
1455 2005-02-23  Roger Sayle  <roger@eyesopen.com>
1456
1457         PR target/20018
1458         PR rtl-optimization/20097
1459         * simplify-rtx.c (simplify_relational_operation_1): Avoid creating
1460         BImode SUBREGs of SImode registers which confuse the ia64 backend.
1461
1462 2005-02-23  David Edelsohn  <edelsohn@gnu.org>
1463
1464         * t-aix43 (SHLIB_INSTALL): Create directory for shared library.
1465         * t-aix52 (SHLIB_INSTALL): Same.
1466
1467 2005-02-23  Kazu Hirata  <kazu@cs.umass.edu>
1468
1469         * genpreds.c: Update copyright.
1470
1471 2005-02-23  Michael Beach  <michaelb@ieee.org>
1472
1473         PR target/20159
1474         * config/sparc/t-elf (startup files): Assemble with CPP.
1475
1476 2005-02-23  Paolo Bonzini  <bonzini@gnu.org>
1477
1478         * genpreds.c (mark_mode_tests): Handle non-VOIDmode match_operands.
1479         (write_predicate_expr): Likewise.
1480
1481 2005-02-22  Diego Novillo  <dnovillo@redhat.com>
1482
1483         PR tree-optimization/20100
1484         PR tree-optimization/20115
1485         * tree-optimize.c (init_tree_optimization_passes): Remove
1486         pass_maybe_create_global_var.
1487         * tree-pass.h (pass_maybe_create_global_var): Remove.
1488         * tree-ssa-alias.c (aliases_computed_p): Declare.
1489         (struct alias_info): Add field NUM_PURE_CONST_CALLS_FOUND.
1490         (count_calls_and_maybe_create_global_var): Remove.
1491         (pass_maybe_create_global_var): Remove.
1492         (init_alias_info): Do not declare aliases_computed_p.
1493         (maybe_create_global_var): If the function contains no
1494         call-clobbered variables and a mix of pure/const and regular
1495         function calls, create .GLOBAL_VAR.
1496         Mark all call-clobbered variables for renaming.
1497         (merge_pointed_to_info): Update comment.
1498         (add_pointed_to_var): Likewise.
1499         (is_escape_site): Likewise.
1500         Accept struct alias_info * instead of size_t *.
1501         Update all users.
1502         Update AI->NUM_CALLS_FOUND and AI->NUM_PURE_CONST_CALLS_FOUND
1503         as necessary.
1504         * tree-ssa-operands.c (get_call_expr_operands): If
1505         ALIASES_COMPUTED_P is false, do not add call-clobbering
1506         operands.
1507         * tree-ssa.c (init_tree_ssa): Set ALIASES_COMPUTED_P to false.
1508         (delete_tree_ssa): Likewise.
1509
1510 2005-02-22  James E Wilson  <wilson@specifixinc.com>
1511
1512         * toplev.c (backend_init): Don't call init_adjust_machine_modes here.
1513         (do_compile): Do call it here.
1514
1515 2005-02-22  Kazu Hirata  <kazu@cs.umass.edu>
1516
1517         PR rtl-optimization/20017.
1518         * passes.c (rest_of_handle_combine, rest_of_handle_cse,
1519         rest_of_handle_cse2, rest_of_handle_gcse): Call
1520         delete_dead_jumptables immediately before calling cleanup_cfg.
1521
1522 2005-02-22  Devang Patel  <dpatel@apple.com>
1523
1524         PR 19952
1525         * tree-if-conv.c (process_phi_nodes): Use bsi_after_labels and skip
1526         all labels
1527
1528 2005-02-22  David Edelsohn  <edelsohn@gnu.org>
1529
1530         * config/rs6000/aix.h (WINT_TYPE): Define.
1531
1532 2005-02-22  Stan Shebs  <shebs@apple.com>
1533
1534         * config/rs6000/rs6000.c (rs6000_override_options): Default to
1535         natural alignment for 64-bit Darwin.
1536         (rs6000_parse_alignment_option): Warn about uses of -malign-power
1537         on 64-bit Darwin.
1538         * doc/invoke.texi: Document this.
1539
1540 2005-02-22  DJ Delorie  <dj@redhat.com>
1541
1542         * c-common.c (c_common_type_for_mode): Pass the mode's precision
1543         to make_[un]signed_type, not the mode itself.
1544
1545 2005-02-22  Kazu Hirata  <kazu@cs.umass.edu>
1546
1547         * cfg.c (cached_make_edge): Call make_edge if edge cache is
1548         not available.  Use tail calls wherever possible.
1549         (make_edge): Call unchecked_make_edge to create an edge.
1550
1551         * tree-outof-ssa.c (SSANORM_USE_COALESCE_LIST): Remove.
1552         (coalesce_ssa_name): Don't check for
1553         SSANORM_USE_COALESCE_LIST.
1554         (rewrite_out_of_ssa): Don't use SSANORM_USE_COALESCE_LIST.
1555
1556 2005-02-22  Diego Novillo  <dnovillo@redhat.com>
1557
1558         * tree-into-ssa.c (rewrite_blocks): Move debug dumps from ...
1559         (rewrite_into_ssa): ... here.
1560
1561 2005-02-21  Alexandre Oliva  <aoliva@redhat.com>
1562
1563         PR tree-optimization/19786
1564         * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Add one
1565         tag to another's may-alias bitmap when adding to the other's list.
1566
1567 2005-02-21  DJ Delorie  <dj@redhat.com>
1568
1569         * tree-ssa-loop-ivopts.c (computation_cost): Start register
1570         numbering at LAST_VIRTUAL_REGISTER+1 to avoid possibly using hard
1571         registers in unsupported ways.
1572         * expmed.c (init_expmed): Likewise.
1573
1574 2005-02-21  Stan Cox  <scox@redhat.com>
1575
1576         * config/iq2000/iq2000.h (DWARF_FRAME_RETURN_COLUMN): Change to 31.
1577
1578 2005-02-21  Kazu Hirata  <kazu@cs.umass.edu>
1579
1580         * tree-cfg.c (fold_cond_expr_cond): New.
1581         (make_edges): Call fold_cond_expr_cond.
1582         (find_taken_edge): Accept nothing but INTEGER_CST.
1583         (find_taken_edge_cond_expr): Reject INTEGER_CST other than 0
1584         and 1.
1585         (find_taken_edge_switch_expr): Remove a check for INTEGER_CST.
1586
1587         * flow.c (delete_dead_jumptables): Speed up by scanning insns
1588         that do not belong to any basic block.
1589
1590 2005-02-21  Jeff Law  <law@redhat.com>
1591
1592         * cfganal.c (find_unreachable_blocks): Manually CSE load of
1593         e->dest.
1594
1595 2005-02-21  Kazu Hirata  <kazu@cs.umass.edu>
1596
1597         * tree-outof-ssa.c (SSANORM_REMOVE_ALL_PHIS): Remove.
1598         (SSANORM_COALESCE_PARTITIONS, SSANORM_USE_COALESCE_LIST):
1599         Adjust their definitions.
1600         (remove_ssa_form): Don't check for SSANORM_REMOVE_ALL_PHIS.
1601         (rewrite_out_of_ssa): Don't use SSANORM_REMOVE_ALL_PHIS.
1602
1603         * c-objc-common.h, c-pretty-print.c, cgraphunit.c, except.c,
1604         genautomata.c, langhooks.c, langhooks.h, system.h,
1605         config/arm/lib1funcs.asm: Update copyright.
1606
1607 2005-02-21  Ulrich Weigand  <uweigand@de.ibm.com>
1608
1609         * dbxout.c (dbxout_function_end): Emit Lscope label always.
1610
1611 2005-02-21  Richard Guenther  <rguenth@gcc.gnu.org>
1612
1613         PR bootstrap/13770
1614         * doc/install.texi: Document --with-gc.
1615
1616 2005-02-21  Paolo Bonzini  <bonzini@gnu.org>
1617
1618         * simplify-rtx.c (simplify_unary_operation): Add a missing
1619         "break" statement.
1620
1621 2005-02-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
1622
1623         PR tree-optimization/18663
1624         * tree-ssa-dom.c (extract_range_from_cond): Return 0
1625         if the type has variable bounds.
1626
1627 2005-02-20  Kazu Hirata  <kazu@cs.umass.edu>
1628
1629         * gcse.c: Remove an obsolete comment.
1630
1631         * cse.c (init_cse_reg_info): Use xmalloc instead of xrealloc.
1632
1633 2005-02-20  Hans-Peter Nilsson  <hp@axis.com>
1634
1635         * doc/extend.texi (Function Attributes) <Attribute const>: The
1636         attribute "pure" is below this text, not above.
1637
1638 2005-02-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1639
1640         * pa.c (pa_assemble_integer, get_plabel): Small cleanups.
1641         (pa_asm_output_mi_thunk): Use asm_output_insn instead of fprintf.
1642         * som.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Small cleanup.
1643
1644 2005-02-20  Zack Weinberg  <zack@codesourcery.com>
1645
1646         PR 18785
1647         * langhooks.h (struct lang_hooks): Add to_target_charset.
1648         * langhooks.c (lhd_to_target_charset): New function.
1649         * langhooks-def.h: Declare lhd_to_target_charset.
1650         (LANG_HOOKS_TO_TARGET_CHARSET): New macro.
1651         (LANG_HOOKS_INITIALIZER): Update.
1652         * c-common.c (c_common_to_target_charset): New function.
1653         * c-common.h: Declare it.
1654         * c-objc-common.h (LANG_HOOKS_TO_TARGET_CHARSET): Set to
1655         c_common_to_target_charset.
1656
1657         * defaults.c (TARGET_BELL, TARGET_BS, TARGET_CR, TARGET_DIGIT0)
1658         (TARGET_ESC, TARGET_FF, TARGET_NEWLINE, TARGET_TAB, TARGET_VT):
1659         Delete definitions.
1660         * system.h: Poison them.
1661         * doc/tm.texi: Don't discuss them.
1662         * builtins.c (fold_builtin_isdigit): Use lang_hooks.to_target_charset.
1663         * c-pretty-print.c (pp_c_integer_constant): Don't use pp_c_char.
1664         (pp_c_char): Do not attempt to generate letter escapes for
1665         newline, tab, etc.
1666         * config/arm/arm.c (output_ascii_pseudo_op): Likewise.
1667         * config/mips/mips.c (mips_output_ascii): Likewise.
1668
1669 2005-02-20  Dorit Naishlos  <dorit@il.ibm.com>
1670
1671         PR tree-optimization/19951
1672         * tree-vect-analyze.c (vect_analyze_loop_form): Check if loop exit edge
1673         is abnormal.
1674
1675 2005-02-19  Steven Bosscher  <stevenb@suse.de>
1676
1677         PR middle-end/19698
1678         * function.h (struct function): New field `max_loop_depth'.
1679         * cfgloop.c (establish_preds): Update maximum loop depth seen so far.
1680         (flow_loops_find): Reset the max loop depth count before finding loops.
1681         * flow.c (MAX_LIVENESS_ROUNDS): New constant.
1682         (update_life_info_in_dirty_blocks): Remove 2002-05-28 workaround.
1683         (calculate_global_regs_live): Make sure the loop will terminate
1684         when the initial sets are not empty.
1685
1686 2005-02-19  Zack Weinberg  <zack@codesourcery.com>
1687
1688         * mklibgcc.in: If libgcc_eh.a would be empty, put a dummy
1689         object inside.
1690         * config/ia64/hpux.h: Don't define LIBGCC_SPEC.
1691
1692 2005-02-19  Richard Sandiford  <rsandifo@redhat.com>
1693
1694         PR other/19525
1695         * doc/invoke.texi: Remove documentation of %M spec.
1696         * gcc.c: Likewise.
1697         (init_spec): Remove %M suffix from -lgcc_s.
1698         (do_spec_1): Remove 'M' case.
1699         * mklibgcc.in: Remove SHLIB_MULTILIB handling.  Expect SHLIB_LINK
1700         to put shared libraries in the multilib directory.  Remove the
1701         shlib_so_soname substitution variable.  Don't add a multilib encoding
1702         to shlib_base_name.  Set shlib_slibdir_qual to the full pathname
1703         reported by -print-multi-os-directory.  Pass @multilib_dir@ to
1704         SHLIB_INSTALL as well as SHLIB_LINK.
1705         * config/t-slibgcc-elf-ver (SHLIB_SONAME): Use @shlib_base_name@.
1706         (SHLIB_NAME): Delete.
1707         (SHLIB_DIR): New macro.
1708         (SHLIB_LINK): Put $(SHLIB_SONAME) and $(SHLIB_SOLINK) in $(SHLIB_DIR).
1709         (SHLIB_INSTALL): Adjust accordingly.
1710         * config/t-slibgcc-darwin: As for t-slibgcc-elf-ver.
1711         * config/t-slibgcc-sld: Likewise.
1712         * config/t-libunwind-elf (SHLIBUNWIND_NAME): Delete.
1713         (SHLIBUNWIND_SONAME): Use @shlib_base_name@.
1714         (SHLIBUNWIND_LINK): Put $(SHLIBUNWIND_SONAME) and $(SHLIB_SOLINK)
1715         in $(SHLIB_DIR).
1716         (SHLIBUNWIND_INSTALL): Adjust accordingly.
1717         * config/i386/t-nwld (SHLIB_SONAME): Delete.
1718         (SHLIB_LINK, SHLIB_INSTALL): Use SHLIB_NAME instead of SHLIB_SONAME.
1719         Use @shlib_base_name@ instead of @shlib_so_name@.
1720         * config/ia64/t-hpux (SHLIB_LINK): Put @shlib_base_name@.so.0
1721         and @shlib_base_name@.so in @multilib_dir@.
1722         (SHLIB_INSTALL): Adjust accordingly.  Add @shlib_slibdir_qual@
1723         to the install path.
1724         * config/mips/t-slibgcc-irix: As for t-slibgcc-elf-ver.
1725         (SHLIB_LINK): Remove previous workaround.
1726         * config/pa/t-hpux-shlib (SHLIB_DIR, SHLIB_SLIBDIR_QUAL): New macros.
1727         (SHLIB_LINK): Put $(SHLIB_SONAME) and $(SHLIB_NAME) in $(SHLIB_DIR).
1728         (SHLIB_INSTALL): Adjust accordingly.  Add $(SHLIB_SLIBDIR_QUAL) to
1729         the install path.
1730         * config/rs6000/t-aix43 (SHLIB_LINK): Put @shlib_base_name@.a in
1731         @multilib_dir@.  Use @multilib_dir@ to check for threading libraries.
1732         (SHLIB_INSTALL): Adjust accordingly.
1733         (SHLIB_LIBS): Use @multilib_dir@ to check for threading libraries.
1734         * config/rs6000/t-aix52: As for config/rs6000/t-aix43.
1735         * config/sh/t-linux (SHLIB_LINK, SHLIB_INSTALL): As for
1736         config/t-slibgcc-elf-ver.
1737
1738 2005-02-19  Zdenek Dvorak  <dvorakz@suse.cz>
1739             Jakub Jelinek  <jakub@redhat.com>
1740
1741         PR tree-optimization/19828
1742         * tree-ssa-loop-im.c: Add a TODO comment.
1743         (movement_possibility): Return MOVE_PRESERVE_EXECUTION for calls
1744         without side-effects.
1745
1746 2005-02-18  James A. Morrison  <phython@gcc.gnu.org>
1747
1748         * tree-ssa-ccp.c (widen_bitfield): Pass type to build_int_cst and don't
1749         call fold_convert.
1750
1751 2005-02-18  James E. Wilson  <wilson@specifixinc.com>
1752
1753         * doc/invoke.texi (IA-64 Options): Delete -mb-step.
1754         * config/ia64/ia64.c (last_group, group_idx): Delete variables.
1755         (errata_find_address_regs, errata_emit_nops, fixup_errata): Delete
1756         functions.
1757         (ia64_reorg): Delete fixup_errata call.
1758         * config/ia64/ia64.h (MASK_B_STEP, TARGET_B_STEP): Delete.
1759         (TARGET_SWITCHES): Delete -mb-step entry.
1760
1761 2005-02-19  Jakub Jelinek  <jakub@redhat.com>
1762
1763         PR c/20043
1764         * c-typeck.c (composite_type): Handle quals in transparent unions.
1765         (type_lists_compatible_p): Likewise.
1766
1767 2005-02-18  Stan Shebs  <shebs@apple.com>
1768
1769         * config/darwin.c (machopic_select_rtx_section): Don't put relocatable
1770         expressions in the .literal8 section.
1771
1772 2005-02-18  Geoffrey Keating  <geoffk@apple.com>
1773
1774         * config/rs6000/darwin-tramp.asm: Remove stray 'APPLE LOCAL' marker.
1775
1776 2005-02-18  Roger Sayle  <roger@eyesopen.com>
1777
1778         * fold-const.c (constant_boolean_node): Always create values of the
1779         specified type, don't bother calling truthvalue_conversion.
1780
1781 2005-02-18  Joseph S. Myers  <joseph@codesourcery.com>
1782
1783         * except.c (output_function_exception_table): Call
1784         assemble_external_libcall (eh_personality_libfunc).
1785
1786 2005-02-18  Joseph S. Myers  <joseph@codesourcery.com>
1787
1788         PR target/19886
1789         * config/ia64/ia64.h (struct machine_function): Add state_num.
1790         * config/ia64/ia64.c (process_epilogue,
1791         process_for_unwind_directive): Use new unwind state numbers each
1792         time rather than state 1.
1793
1794 2005-02-18  Ulrich Weigand  <uweigand@de.ibm.com>
1795
1796         PR target/20054
1797         * config/s390/s390.md ("*llgt_sidi", "*llgt_sidi_split"): Move to
1798         before the "*llgt_didi" pattern.
1799
1800 2005-02-18  Jason Merrill  <jason@redhat.com>
1801
1802         * gimplify.c (gimplify_modify_expr_rhs) [CALL_EXPR]: Revert again.
1803
1804 2005-02-18  Richard Earnshaw  <rearnsha@arm.com>
1805
1806         * arm/lib1funcs.asm (FUNC_ALIAS): New macro.
1807         (div0): Use it in place of ARM_FUNC_ALIAS.
1808         (lshrdi3, ashrdi3, ashlrdi3): Likewise.
1809
1810 2005-02-18  Andrew Pinski  <pinskia@physics.uc.edu>
1811
1812         PR middle-end/20030
1813         * fold-const.c (fold_indirect_ref_1): Use the correct index for zero
1814         access, the lower bound of the array type if it exists.
1815
1816 2005-02-18  Alexandre Oliva  <aoliva@redhat.com>
1817
1818         PR c++/20008
1819         * stmt.c (expand_case): Don't assume cleanup_tree_cfg will remove
1820         cases that are out-of-range for the index type.
1821
1822 2005-02-18  James A. Morrison  <phython@gcc.gnu.org>
1823
1824         * stmt.c (emit_case_bit_tests): Call fold_convert instead of convert.
1825         (estimate_case_costs): Don't call convert.
1826         * expmed.c (expand_shift): Likewise.
1827         (make_tree): Call fold_convert instead of convert.
1828
1829 2005-02-18  Jakub Jelinek  <jakub@redhat.com>
1830
1831         PR c++/19813
1832         * emit-rtl.c (set_mem_attributes_minus_bitpos): Add assertion
1833         that ref to be marked MEM_READONLY_P doesn't have base that needs
1834         constructing.
1835
1836 2005-02-18  Joseph S. Myers  <joseph@codesourcery.com>
1837
1838         * genautomata.c (output_get_cpu_unit_code_func,
1839         output_cpu_unit_reservation_p): Don't generate old-style function
1840         definitions.
1841
1842 2005-02-18  Jakub Jelinek  <jakub@redhat.com>
1843
1844         PR c++/20023
1845         PR tree-optimization/20009
1846         * convert.c (convert_to_integer): Revert 2005-02-16 change.
1847
1848         PR tree-optimization/18947
1849         * cgraphunit.c (cgraph_finalize_function): When redefining an extern
1850         inline, remove all nodes that are inlined into the extern inline
1851         being redefined.
1852
1853 2005-02-17  Kazu Hirata  <kazu@cs.umass.edu>
1854
1855         * bt-load.c, cfgloop.c, convert.c, dominance.c, global.c,
1856         loop-invariant.c, stmt.c, tree-ssa-forwprop.c,
1857         tree-ssa-live.c, tree-ssanames.c, tree-vn.c,
1858         config/host-linux.c, config/arm/fpa.md, config/avr/avr.h:
1859         Update copyright.
1860
1861 2005-02-17  Roger Sayle  <roger@eyesopen.com>
1862
1863         PR tree-optimization/19917
1864         * tree-eh.c (tree_could_trap_p): Consider calls to weak functions
1865         to be potentially trapping.
1866
1867 2005-02-17  Kazu Hirata  <kazu@cs.umass.edu>
1868
1869         * libgcc2.c, tree-vect-analyze.c: Fix comment typos.
1870
1871 2005-02-17  Andreas Krebbel  <krebbel1@de.ibm.com>
1872
1873         * builtins.c (expand_builtin_return_addr): Remove tem parameter.
1874         tem becomes a local variable which is set to the value of the
1875         back end defined INITIAL_FRAME_ADDRESS macro.
1876         (expand_builtin_frame_address): Omit the base parameter to
1877         expand_builtin_return_addr.
1878         (expand_builtin_profile_func): Likewise.
1879         * config/s390/s390.h (INITIAL_FRAME_ADDRESS_RTX): Define new macro.
1880         (DYNAMIC_CHAIN_ADDRESS): Remove the case for the initial frame.
1881         * doc/tm.texi: Documentation for INITIAL_FRAME_ADDRESS_RTX added.
1882
1883 2005-02-17  Jakub Jelinek  <jakub@redhat.com>
1884
1885         * config/s390/s390.c (s390_alloc_pool, s390_free_pool,
1886         s390_chunkify_start): Use BITMAP_ALLOC and BITMAP_FREE.
1887         * config/frv/frv.c (frv_function_epilogue): Likewise.
1888
1889 2005-02-17  Daniel Berlin  <dberlin@dberlin.org>
1890
1891         * lambda-code (perfect_nestify): Remove mark/unmark
1892         for rewriting hack.
1893         * tree-loop-linear.c (linear_transform_loops): Add
1894         rewrite_into_ssa call so that ssa is correct for
1895         rewriting into loop closed.
1896
1897 2005-02-17  Nathan Sidwell  <nathan@codesourcery.com>
1898
1899         * bitmap.h (BITMAP_XMALLOC, BITMAP_XFREE): Remove.
1900         * bb-reorder.c (duplicate_computed_gotos): Use BITMAP_ALLOC and
1901         BITMAP_FREE.
1902         * bt-load.c (btr_def_live_range, combine_btr_defs,
1903         migrate_btr_def, migrate_btr_defs): Likewise.
1904         * cfgcleanup.c (thread_jump): Likewise.
1905         * cfgloop.c (get_loop_body_in_bfs_order): Likewise.
1906         * df.c (df_insn_table_realloc, df_bitmaps_alloc, df_bitmaps_free,
1907         df_alloc, df_free, df_du_chain_create, df_bb_rd_local_compute,
1908         df_rd_local_compute, df_reg_info_compute): Likewise.
1909         * dominance.c (init_dom_info, free_dom_info): Likewise.
1910         * flow.c (init_propagate_block_info,
1911         free_propagate_block_info): Likewise.
1912         * gcse.c (alloc_gcse_mem, free_gcse_mem): Likewise.
1913         * global.c (allocate_bb_info, free_bb_info, calculate_reg_pav,
1914         modify_reg_pav): Likewise.
1915         * loop-invariant.c (find_defs, find_invariant_insn,
1916         find_invariants, free_inv_motion_data): Likewise.
1917         * predict.c (tree_predict_by_opcode,
1918         estimate_bb_frequencies): Likewise.
1919         * stmt.c (expand_case): Likewise.
1920         * tree-cfg.c (tree_duplicate_sese_region): Likewise.
1921         * tree-dfa.c (mark_new_vars_to_rename): Likewise.
1922         * tree-if-conv.c (get_loop_body_in_if_conv_order): Likewise.
1923         * tree-into-ssa.c (insert_phi_nodes_for, def_blocks_free,
1924         get_def_blocks_for, mark_def_site_blocks, rewrite_into_ssa,
1925         rewrite_ssa_into_ssa): Likewise.
1926         * tree-optimize.c (tree_rest_of_compilation): Likewise.
1927         * tree-outof-ssa.c (new_temp_expr_table, free_temp_expr_table,
1928         analyze_edges_for_bb, perform_edge_inserts): Likewise.
1929         * tree-scalar-evolution.c (scev_initialize, scev_finalize): Likewise.
1930         * tree-sra.c (tree_sra): Likewise.
1931         * tree-ssa-alias.c (init_alias_info, delete_alias_info): Likewise.
1932         * tree-ssa-ccp.c (ccp_fold_builtin): Likewise.
1933         * tree-ssa-dce.c (tree_dce_init, tree_dce_done): Likewise.
1934         * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
1935         * tree-ssa-dse.c (tree_ssa_dse): Likewise.
1936         * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_var):
1937         Likewise.
1938         * tree-ssa-live.c (new_tree_live_info, delete_tree_live_info,
1939         calculate_live_on_entry, calculate_live_on_exit,
1940         build_tree_conflict_graph): Likewise.
1941         * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize_init, record_use,
1942         record_important_candidates, set_use_iv_cost, find_depends,
1943         determine_use_iv_costs, iv_ca_new, iv_ca_free, free_loop_data,
1944         tree_ssa_iv_optimize_finalize): Likewise.
1945         * tree-ssa-loop-manip.c (add_exit_phis_var, get_loops_exit,
1946         find_uses_to_rename_use, rewrite_into_loop_closed_ssa,
1947         tree_duplicate_loop_to_header_edge): Likewise.
1948         * tree-ssa-pre.c (init_pre, fini_pre): Likewise.
1949         * tree-ssa.c (verify_flow_insensitive_alias_info,
1950         verify_name_tags, verify_ssa, init_tree_ssa,
1951         delete_tree_ssa): Likewise.
1952         * tree-ssanames.c (marked_ssa_names, init_ssanames,
1953         fini_ssanames): Likewise.
1954         * tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Likewise.
1955
1956 2005-02-17  Ralf Corsepius  <ralf.corsepius@rtems.org>
1957
1958         * config/rs6000/t-rtems: Completely reworked.
1959
1960 2005-02-17  Ira Rosen  <irar@il.ibm.com>
1961
1962         * tree-data-ref.c (array_base_name_differ_p): Remove gcc_assert.
1963
1964 2005-02-17  Ira Rosen  <irar@il.ibm.com>
1965
1966         * tree-vect-analyze.c (vect_analyze_pointer_ref_access): Use
1967         POINTER_TYPE_P when checking that type is a pointer.
1968         (vect_get_memtag): Remove.
1969         (vect_address_analysis): Use POINTER_TYPE_P. Call
1970         vect_object_analysis with dummy parameter for memtag.
1971         (vect_object_analysis): Extract memtag (functionality that
1972         used to be in vect_get_memtag and moved here). Fix printings.
1973         (vect_analyze_data_refs): Fix comment. Call vect_object_analysis
1974         with correct parameters. Remove call to vect_get_memtag.
1975
1976 2005-02-17  Dorit Naishlos  <dorit@il.ibm.com>
1977
1978         * Makefile.in (tree-vect-analyze.o, tree-vect-transform.o): New.
1979         (tree-vectorizer.o): Added missing dependencies.
1980
1981         * tree-vectorizer.h (vect_dump, vect_verbosity_level): Added extern
1982         decleration.
1983         (slpeel_tree_peel_loop_to_edge): Function externalized (had a static
1984         declaration in tree-vectorizer.c, now has an extern declaration in
1985         tree-vectorizer.h).
1986         (slpeel_make_loop_iterate_ntimes, slpeel_can_duplicate_loop_p,
1987         slpeel_verify_cfg_after_peeling, vect_strip_conversion,
1988         get_vectype_for_scalar_type, vect_is_simple_use,
1989         vect_is_simple_iv_evolution, vect_can_force_dr_alignment_p,
1990         vect_supportable_dr_alignment, new_loop_vec_info, destroy_loop_vec_info,
1991         new_stmt_vec_info, vect_analyze_loop, vectorizable_load,
1992         vectorizable_store, vectorizable_operation, vectorizable_assignment,
1993         vect_transform_loop, vect_print_dump_info, vect_set_verbosity_level,
1994         find_loop_location): Likewise.
1995
1996         * tree-vectorizer.c (langhooks.h): #include removed.
1997         (slpeel_tree_peel_loop_to_edge): Function externalized. Declaration
1998         moved to tree-vectorized.h.
1999         (slpeel_make_loop_iterate_ntimes, slpeel_can_duplicate_loop_p,
2000         slpeel_verify_cfg_after_peeling, vect_strip_conversion,
2001         get_vectype_for_scalar_type, vect_is_simple_use,
2002         vect_is_simple_iv_evolution, vect_can_force_dr_alignment_p,
2003         vect_supportable_dr_alignment, new_loop_vec_info,
2004         destroy_loop_vec_info, new_stmt_vec_info, vect_print_dump_info,
2005         vect_set_verbosity_level, find_loop_location): Likewise.
2006
2007         (vect_analyze_loop): Function externalized. Declaration moved to
2008         tree-vectorized.h. Function definition moved to tree-vect-analyze.c.
2009         (vect_analyze_loop_form): Moved to tree-vect-analyze.c.
2010         (vect_mark_stmts_to_be_vectorized, vect_analyze_scalar_cycles,
2011         vect_analyze_data_ref_accesses, vect_analyze_data_ref_dependences,
2012         vect_analyze_data_refs_alignment, vect_compute_data_refs_alignment,
2013         vect_enhance_data_refs_alignment, vect_analyze_operations,
2014         exist_non_indexing_operands_for_use_p, vect_mark_relevant,
2015         vect_stmt_relevant_p, vect_get_loop_niters,
2016         vect_analyze_data_ref_dependence, vect_compute_data_ref_alignment,
2017         vect_analyze_data_ref_access, vect_analyze_pointer_ref_access,
2018         vect_can_advance_ivs_p, vect_get_ptr_offset, vect_analyze_offset_expr,
2019         vect_base_addr_differ_p, vect_object_analysis, vect_address_analysis,
2020         vect_get_memtag): Likewise.
2021
2022         (vectorizable_load): Function externalized. Declaration moved to
2023         tree-vectorized.h. Function definition moved to tree-vect-transform.c.
2024         (vectorizable_store, vectorizable_operation, vectorizable_assignment,
2025         vect_transform_loop): Likewise.
2026         (vect_transform_stmt): Moved to tree-vect-transform.c.
2027         (vect_align_data_ref, vect_create_destination_var,
2028         vect_create_data_ref_ptr, vect_create_index_for_vector_ref,
2029         vect_create_addr_base_for_vector_ref, vect_get_new_vect_var,
2030         vect_get_vec_def_for_operand, vect_init_vector,
2031         vect_finish_stmt_generation, vect_generate_tmps_on_preheader,
2032         vect_build_loop_niters, vect_update_ivs_after_vectorizer,
2033         vect_gen_niters_for_prolog_loop, vect_update_inits_of_dr,
2034         vect_update_inits_of_drs, vect_do_peeling_for_alignment,
2035         vect_do_peeling_for_loop_bound): Likewise.
2036
2037         * tree-vect-analyze.c: New file.
2038         * tree-vect-transform.c: New file.
2039
2040 2005-02-17  Jason Merrill  <jason@redhat.com>
2041
2042         PR mudflap/19319, c++/19317
2043         * gimplify.c (gimplify_modify_expr_rhs) [CALL_EXPR]: Make return
2044         slot explicit.
2045
2046 2005-02-17  Gerald Pfeifer  <gerald@pfeifer.com>
2047
2048         * doc/install.texi (Specific): Update link for Darwin-specific
2049         tool binary site.
2050
2051 2005-02-16  James A. Morrison  <phython@gcc.gnu.org>
2052
2053         * fold-const.c (invert_truthvalue): <INTEGER_CST>: Call
2054         constant_boolean_node.
2055
2056 2005-02-16  David Edelsohn  <edelsohn@gnu.org>
2057
2058         PR target/19019
2059         * config/rs6000/t-aix43 (SHLIB_MAPFILES): Add libgcc-ppc64.ver.
2060         * config/rs6000/t-aix52 (SHLIB_MAPFILES): Same.
2061
2062 2005-02-16  Richard Henderson  <rth@redhat.com>
2063
2064         PR 19920
2065         * libgcc2.c (WORD_SIZE): Remove all definitions; replace uses
2066         with W_TYPE_SIZE.
2067         (HIGH_WORD_COEFF, HIGH_HALFWORD_COEFF): Remove all definitions;
2068         replace uses with Wtype_MAXp1_F.
2069         (L_fixunstfdi, L_fixtfdi, L_floatditf, L_fixunsxfdi, L_fixxfdi,
2070         L_floatdixf, L_fixunsxfsi, L_fixunsdfdi, L_floatdidf, L_fixunsdfsi,
2071         L_powidf2, L_powixf2, L_powitf2, L_muldc3, L_divdc3, L_mulxc3,
2072         L_divxc3, L_multc3, L_divtc3): Protect with HAVE_DFMODE, HAVE_XFMODE,
2073         and HAVE_TFMODE as appropriate.
2074         (__fixunssfDI): Provide an implementation that doesn't need DFmode.
2075         (__floatdisf): Likewise.
2076         * libgcc2.h (LIBGCC2_DOUBLE_TYPE_SIZE): New.
2077         (HAVE_DFMODE, HAVE_XFMODE, HAVE_TFMODE): New.
2078         (Wtype_MAXp1_F): New.
2079         (DFtype, DCtype, __fixdfdi, __floatdidf, __fixunsdfSI, __fixunsdfDI,
2080         __powidf2, __divdc3, __muldc3): Protect with HAVE_DFMODE.
2081
2082 2005-02-16  Richard Earnshaw  <rearnsha@arm.com>
2083
2084         * PR target/19162
2085         * arm.c (arm_apply_result_size): New function.
2086         * arm.h (APPLY_RESULT_SIZE): Define.
2087         * arm-protos.h (arm_apply_result_size): Add prototype.
2088         * arm.md (RO_REGNUM, FPA_F0_REGNUM, FPA_F7_REGNUM): New constants.
2089         (movxf): New expand.
2090         (ldmsi_postinc4_thumb, stmsi_postinc4_thumb): New patterns for Thumb.
2091         (call_value_symbol): Remove predicate for operand 0.
2092         (call_value_insn, sibcall_value, sibcall_value_insn): Likewise.
2093         (untyped_call): Rework to correclty return values for any type.
2094         (untyped_return): New expand.
2095         * fpa.md (movxf_fpa): Simplify and use sfm/lfm when appropriate.
2096
2097 2005-02-16  Stan Shebs  <shebs@apple.com>
2098
2099         * config.gcc (powerpc-*-darwin*): Use fragment for Darwin 8 or later.
2100         * config/rs6000/t-darwin8: New, for 64-bit multilib.
2101
2102 2005-02-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
2103
2104         * doc/install.texi (sparc-sun-solaris2*): Document required GMP
2105         configure settings on Solaris 7 and later.
2106
2107 2005-02-16  Diego Novillo  <dnovillo@redhat.com>
2108
2109         PR tree-optimization/19865
2110         * tree-optimize.c (init_tree_optimization_passes): Run
2111         pass_may_alias after pass_sra.
2112
2113 2005-02-16  Richard Henderson  <rth@redhat.com>
2114             Stuart Hastings  <stuart@apple.com>
2115
2116         PR debug/19521
2117         * dbxout.c (dbxout_function_end): Take decl parameter; update callers.
2118         Do nothing if debug info suppressed for this function.
2119         (dbxout_begin_function): Early exit if debug info suppressed for
2120         this function.
2121
2122 2005-02-16  Kazu Hirata  <kazu@cs.umass.edu>
2123
2124         PR target/20007
2125         * config/ip2k/ip2k.c (ip2k_reorg): Adjust calls to
2126         find_basic_blocks.
2127         * config/sh/sh.c (sh_output_mi_thunk): Likewise.
2128
2129         PR tree-optimization/19967
2130         * builtins.c (expand_builtin_strstr, expand_builtin_strpbrk,
2131         expand_builtin_strchr, expand_builtin_strrchr): Take a new
2132         argument TYPE.  Adjust calls to fold_builtin_XXX.
2133         (expand_builtin, fold_builtin_1): Adjust calls to
2134         expand_builtin_XXX.
2135         (fold_builtin_strchr, fold_builtin_strpbrk,
2136         fold_builtin_strstr, fold_builtin_strrchr): Convert the folded
2137         result to a requested type TYPE.
2138
2139 2005-02-16  Jakub Jelinek  <jakub@redhat.com>
2140
2141         PR middle-end/19857
2142         * fold-const.c (fold): Don't optimize (T)(x & cst) to
2143         (T)x & (T)cst if (T)cst overflows.
2144         * convert.c (convert_to_integer) <case POINTER_TYPE>: Pass
2145         TYPE_UNSIGNED (type) as type_for_size's UNSIGNEDP argument.
2146
2147 2005-02-15  Jeff Law  <law@redhat.com>
2148
2149         * gcse.c (blocks_with_calls): New bitmap.
2150         (alloc_gcse_mem): Allocate it.
2151         (free_gcse_mem): Free it.
2152         (clear_modifY_mem_tables): Clear it.
2153         (record_last_mem_set_info): Set the proper bit in BLOCK_WITH_CALLS
2154         when we encounter CALL_INSNs.
2155         (compute_transp, case MEM): Handle blocks with calls separate
2156         from blocks without calls.  Use bitmap iterators rather than
2157         FOR_EACH_BB.
2158
2159 2005-02-15  Peter O'Gorman  <peter@pogma.com>
2160
2161         PR bootstrap/18810
2162         * mklibgcc.in (vis_hide): Use a temporary object file, not
2163         -o /dev/null.
2164
2165 2005-02-15  Andy Hutchinson  <HutchinsonAndy@netscape.net>
2166
2167         PR target/19924
2168         * config/avr/avr.h (MODES_TIEABLE_P): Define to 1 to allow subreg
2169         access optimization.
2170
2171 2005-02-15  David Edelsohn  <edelsohn@gnu.org>
2172             Alan Modra  <amodra@bigpond.net.au>
2173
2174         PR target/19019
2175         * config/rs6000/darwin-ldouble.c (_xlqadd): Rename to __gcc_qadd.
2176         (_xlqsub): Rename to __gcc_qsub.
2177         (_xlqmul): Rename to __gcc_qmul.
2178         (_xlqdiv): Rename to __gcc_qdiv.
2179         Provide versioned symbol aliases with old names.
2180         * config/rs6000/libgcc-ppc64.ver: Rename symbols.
2181         * config/rs6000/rs6000.c (rs6000_init_libfuncs): Rename symbols.
2182         * config/rs6000/t-aix43 (LIB2FUNCS_EXTRA): New.
2183         * config/rs6000/t-aix52 (LIB2FUNCS_EXTRA): New.
2184         * config/rs6000/t-newas (LIB2FUNCS_EXTRA): New.
2185
2186 2005-02-15  James A. Morrison  <phython@gcc.gnu.org>
2187
2188         * fold-const.c (fold): Fold -(~A) to A + 1.  Fold ~(-A) to A - 1.
2189         Fold ~(A - 1) and ~(A + -1) to -A.
2190
2191 2005-02-15  James A. Morrison  <phython@gcc.gnu.org>
2192
2193         PR pch/14940
2194         PR target/19300
2195         * config/host-linux.c (linux_gt_pch_use_address): Copy from
2196         config/pa/pa-host.c:pa_gt_pch_use_address.
2197
2198 2005-02-15  Daniel Berlin  <dberlin@dberlin.org>
2199
2200         * tree-vn.c (get_value_handle): Make sure that given an
2201         is_gimple_min_invariant expression, we always return it.
2202
2203 2005-02-15  Kazu Hirata  <kazu@cs.umass.edu>
2204
2205         * passes.c (rest_of_handle_gcse): Fix a comment.
2206
2207 2005-02-15  Jeff Law  <law@redhat.com>
2208
2209         * gcse.c (canon_modify_mem_set_list_set): Kill unnecessary
2210         bitmap.
2211         (alloc_gcse_mem, free_gcse_mem): Corresponding changes.
2212         (canon_list_insert, record_last_mem_set_info): Similarly.
2213         (clear_modify_mem_tables): Similarly.
2214
2215 2005-02-15  Kazu Hirata  <kazu@cs.umass.edu>
2216
2217         * bitmap.c, bitmap.h, lambda-code.c, tree-dfa.c, tree-dump.c,
2218         tree-dump.h, tree-ssa-loop-manip.c, value-prof.c,
2219         config/mips/mips.md, config/rs6000/aix.h,
2220         config/rs6000/beos.h, config/rs6000/sysv4.h: Update copyright.
2221
2222 2005-02-15  Richard Henderson  <rth@redhat.com>
2223
2224         * bb-reorder.c (find_traces_1_round): Force fallthru edge from a
2225         call to be best_edge.
2226
2227 2005-02-14  Kazu Hirata  <kazu@cs.umass.edu>
2228
2229         * basic-block.h: Adjust the prototype for find_basic_blocks.
2230         * cfgbuild.c (find_basic_blocks): Remove unused arguments.
2231         * passes.c (rest_of_handle_loop_optimize): Adjust the call to
2232         find_basic_blocks.
2233
2234         * flow.c (recompute_reg_usage): Remove all arguments.
2235         * passes.c (rest_of_compilation): Adjust the call to
2236         recompute_reg_usage.
2237         * rtl.h: Adjust the prototype for recompute_reg_usage.
2238
2239 2005-02-14  Daniel Berlin  <dberlin@dberlin.org>
2240
2241         * tree-dump.c (dump_files): Update to reflect new member
2242         of dump_file_info.
2243         (dump_register): Add new argument.
2244         Set glob name.
2245         (dump_switch_p_1): Check against glob name if doglob was passed.
2246         (dump_switch_p): Check against regular first, then glob if
2247         we didn't have any hits on the dump name.
2248         * tree-optimize.c (register_one_dump_file):
2249         Pass in glob name as well.
2250         * tree-pass.h (struct dump_file_info): Add glob
2251         member.
2252
2253 2005-02-14  Joseph S. Myers  <joseph@codesourcery.com>
2254
2255         PR preprocessor/16323
2256         * doc/invoke.texi: Document that -Wendif-labels is on by default.
2257
2258 2005-02-14  David Edelsohn  <edelsohn@gnu.org>
2259
2260         PR target/19019
2261         * config/rs6000/rs6000.md (trunctfdf2): Change to define_expand.
2262         (trunctfdf2_internal1): New.
2263         (trunctfdf2_internal2): Renamed from trunctfdf2.
2264
2265 2005-02-14  Diego Novillo  <dnovillo@redhat.com>
2266
2267         PR tree-optimization/19853
2268         * tree-dfa.c (add_referenced_var): Always examine DECL_INITIAL.
2269
2270 2005-02-14  Kazu Hirata  <kazu@cs.umass.edu>
2271
2272         * passes.c (rest_of_handle_loop_optimize): Remove calls to
2273         delete_dead_jumptables and cleanup_cfg.
2274
2275 2005-02-14  Ulrich Weigand  <uweigand@de.ibm.com>
2276
2277         * reload.c (find_reloads): Swap address_reloaded flags when
2278         swapping commutative operands.
2279
2280 2005-02-14  Sebastian Pop  <pop@cri.ensmp.fr>
2281
2282         * lambda-code.c (lambda_loopnest_to_gcc_loopnest, perfect_nestify):
2283         Use standard_iv_increment_position for computing the bsi position
2284         for create_iv.
2285         * tree-ssa-loop-manip.c (create_iv): Add a comment on how to compute
2286         the bsi position.
2287
2288 2005-02-13  Zdenek Dvorak  <dvorakz@suse.cz>
2289
2290         PR target/17428
2291         * cfgrtl.c (safe_insert_insn_on_edge): Avoid extending
2292         life range of hard registers.
2293         * value-prof.c (insn_prefetch_values_to_profile): Only
2294         scan normal insns.
2295
2296         * value-prof.c (rtl_find_values_to_profile): Do not look for values to
2297         profile in libcalls.
2298
2299 2005-02-13  Nathan Sidwell  <nathan@codesourcery.com>
2300
2301         * bitmap.h (bitmap_and_compl_into): Return bool.
2302         * bitmap.c (bitmap_and_compl_into): Return changed flag.
2303
2304 2005-02-13  James A. Morrison  <phython@gcc.gnu.org>
2305
2306         PR tree-optimization/19944
2307         * fold-const.c (fold): Re-add ABS_EXPR folding.
2308
2309 2005-02-13  David Edelsohn  <edelsohn@gnu.org>
2310
2311         PR target/19019
2312         * config/rs6000/aix.h ({TARGET,MASK}_XL_CALL): Rename to
2313         {TARGET,MASK}_XL_COMPAT.
2314         (SUBTARGET_SWITCHES): Rename xl-call to xl-compat.  Use
2315         MASK_XL_COMPAT.
2316         * config/rs6000/beos.h ({TARGET,MASK}_XL_CALL): Remove.
2317         * config/rs6000/rs6000.c (function_arg): Change TARGET_XL_CALL to
2318         TARGET_XL_COMPAT.
2319         (rs6000_arg_partial_bytes): Same.
2320         (rs6000_generate_compare): Generate PARALLEL for compare if TFmode
2321         and XL compatibility enabled.
2322         * config/rs6000/rs6000.h (TARGET_XL_CALL): Rename to TARGET_XL_COMPAT.
2323         * config/rs6000/rs6000.md (cmptf_internal1): Add !TARGET_XL_COMPAT
2324         test to final condition.
2325         (cmptf_internal2): New.
2326         * doc/invoke.texi (RS/6000 Subtarget Options): Change xl-call to
2327         xl-compat.  Add TFmode information to description.
2328
2329 2005-02-13  Kazu Hirata  <kazu@cs.umass.edu>
2330
2331         * flags.h, read-rtl.c, tree-ssa-live.h: Update copyright.
2332
2333 2005-02-13  Jason Merrill  <jason@redhat.com>
2334
2335         PR c++/16405
2336         * fold-const.c (fold_indirect_ref_1): Split out from...
2337         (build_fold_indirect_ref): Here.
2338         (fold_indirect_ref): New fn.
2339         * tree.h: Declare it.
2340         * gimplify.c (gimplify_compound_lval): Call fold_indirect_ref.
2341         (gimplify_modify_expr_rhs): Likewise.
2342         (gimplify_expr): Likewise.
2343
2344 2005-02-13  James A. Morrison  <phython@gcc.gnu.org>
2345
2346         PR tree-optimization/14303
2347         PR tree-optimization/15784
2348         * fold-const.c (fold): Fold ABS_EXPR<x> >= 0 to true, when possible.
2349         Fold ABS_EXPR<x> < 0 to false.  Fold ABS_EXPR<x> == 0 to x == 0 and
2350         ABS_EXPR<x> != 0 to x != 0.
2351
2352 2005-02-12  Kazu Hirata  <kazu@cs.umass.edu>
2353
2354         * c-tree.h, combine.c, expmed.c, flow.c, libgcc2.c,
2355         simplify-rtx.c, tree-ssa-live.h: Fix comment typos.  Follow
2356         spelling conventions.
2357
2358         * passes.c (rest_of_handle_gcse): Don't run cse_main and
2359         delete_trivially_dead_insns too many times.
2360
2361         * passes.c (rest_of_handle_gcse): Remove dead assignments to
2362         tem and tem2.
2363
2364 2005-02-12  Ira Rosen  <irar@il.ibm.com>
2365
2366         * tree-vectorizer.c (vect_get_base_and_offset): Remove.
2367         (vect_is_simple_iv_evolution): Remove redundant parameter
2368         and step check.
2369         (vect_analyze_scalar_cycles): Call vect_is_simple_iv_evolution
2370         without last parameter.
2371         (vect_analyze_pointer_ref_access): Get access_fn as parameter.
2372         Return pointer step. Call vect_is_simple_iv_evolution without
2373         last parameter. Check only that the step is multiple of size
2374         type. Remove stmt_vinfo updates.
2375         (vect_get_memtag_and_dr): Remove.
2376         (vect_get_memtag): New function.
2377         (vect_address_analysis): New function.
2378         (vect_object_analysis): New function.
2379         (vect_analyze_data_refs): Call vect_object_analysis and
2380         vect_get_memtag. Update stmt_vinfo fields.
2381
2382 2005-02-12  Ira Rosen  <irar@il.ibm.com>
2383
2384         * tree-data-ref.c (array_base_name_differ_p): Check that the bases
2385         exist and are objects. Remove checks for pointer.
2386         * tree-vectorizer.c (vect_create_addr_base_for_vector_ref): Use
2387         STMT_VINFO_VECT_DR_BASE_ADDRESS instead of DR_BASE_NAME.
2388         (vect_create_data_ref_ptr): Likewise.
2389         (vect_base_addr_differ_p): New function.
2390         (vect_analyze_data_ref_dependence): Call vect_base_addr_differ_p.
2391         (vect_analyze_pointer_ref_access): Add output parameter - ptr_init.
2392         Don't set the DR_BASE_NAME field of data-ref.
2393         (vect_get_memtag_and_dr): Use ptr_init instead of DR_BASE_NAME.
2394
2395 2005-02-12  Uros Bizjak  <uros@kss-loka.si>
2396
2397         * optabs.h (enum optab_index): Add new OTI_ldexp.
2398         (ldexp_optab): Define corresponding macro.
2399         * optabs.c (init_optabs): Initialize ldexp_optab.
2400         * genopinit.c (optabs): Implement ldexp_optab using ldexp?f3
2401         patterns.
2402         * builtins.c (expand_builtin_mathfn_2): Handle BUILT_IN_LDEXP{,F,L}
2403         using ldexp_optab.
2404         (expand_builtin): Expand BUILT_IN_LDEXP{,F,L} using
2405         expand_builtin_mathfn_2 if flag_unsafe_math_optimizations is set.
2406
2407         * config/i386/i386.md (ldexpsf3, ldexpdf3, ldexpxf3): New expanders
2408         to implement ldexpf, ldexp and ldexpl built-ins as inline x87
2409         intrinsics.
2410
2411 2005-02-12  Ira Rosen  <irar@il.ibm.com>
2412
2413         * tree-vectorizer.h (struct _stmt_vec_info): Rename a field: base
2414         to base_address.
2415         * tree-vectorizer.c (new_stmt_vec_info): Rename the above field of
2416         stmt_vec_info.
2417         (vect_get_base_and_offset): Always return an address.
2418         (vect_create_addr_base_for_vector_ref): Remove treatment for
2419         different data reference types.
2420         (vect_compute_data_ref_alignment): Rename base to base_address in
2421         stmt_vec_info. Get the object in order to force its alignment.
2422         (vect_get_memtag_and_dr): Rename base to base_address in
2423         stmt_vec_info. Extract the object for memtag analysis.
2424
2425 2005-02-12  Hans-Peter Nilsson  <hp@axis.com>
2426
2427         PR regression/19898.
2428         * config/cris/cris.c (cris_notice_update_cc): When testing if insn
2429         changes cc_status, use apply modified_in_p to part of cc_status
2430         and insn, not cris_reg_overlap_mentioned_p on SET_DEST of insn
2431         body.
2432
2433 2005-02-11  Richard Henderson  <rth@redhat.com>
2434
2435         * tree-complex.c (expand_complex_libcall): New.
2436         (expand_complex_multiplication): Use it for c99 compliance.
2437         (expand_complex_division): Likewise.
2438         * fold-const.c (fold_complex_add, fold_complex_mult): New.
2439         (fold): Call them.
2440         * builtins.c (built_in_names): Remove const.
2441         * tree.c (build_common_builtin_nodes): Build complex arithmetic
2442         builtins.
2443         * tree.h (BUILT_IN_COMPLEX_MUL_MIN, BUILT_IN_COMPLEX_MUL_MAX): New.
2444         (BUILT_IN_COMPLEX_DIV_MIN, BUILT_IN_COMPLEX_DIV_MAX): New.
2445         (built_in_names): Remove const.
2446         * c-common.c (c_common_type_for_mode): Handle complex modes.
2447         * flags.h, toplev.c (flag_complex_method): Rename from
2448         flag_complex_divide_method.
2449         * libgcc2.c (__divsc3, __divdc3, __divxc3, __divtc3,
2450         __mulsc3, __muldc3, __mulxc3, __multc3): New.
2451         * libgcc2.h: Declare them.
2452         * libgcc-std.ver: Export them.
2453         * mklibgcc.in (lib2funcs): Build them.
2454
2455 2005-02-11  Steven Bosscher  <stevenb@suse.de>
2456
2457         PR tree-optimization/19876
2458         Partially revert my change from 2005-01-14
2459         * tree-ssa-pre.c (compute_antic_aux): Make recursive once again...
2460         (compute_antic): ...and remove the loop here.
2461
2462 2005-02-11  Jakub Jelinek  <jakub@redhat.com>
2463
2464         PR middle-end/19858
2465         * fold-const.c (make_bit_field_ref): If bitpos == 0 and bitsize
2466         is number of inner's bits, avoid creating a BIT_FIELD_REF.
2467
2468         * config/rs6000/sysv4.h (ENDFILE_LINUX_SPEC): Use crtendS.o instead of
2469         crtend.o if -pie.  Use %{x:a;:b} spec syntax.
2470
2471 2005-02-11  Daniel Jacobowitz  <dan@codesourcery.com>
2472
2473         * config/mips/linux-unwind.h (mips_fallback_frame_state): Adjust
2474         offsets for the big-endian 32-bit case.
2475
2476 2005-02-11  Joseph S. Myers  <joseph@codesourcery.com>
2477
2478         * config/ia64/hpux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
2479
2480 2005-02-11  Dale Johannesen  <dalej@apple.com>
2481
2482         * cselib.c (cselib_process_insn):  Clear out regs where
2483         HARD_REGNO_CALL_PART_CLOBBERED is true at a call.
2484         * reload.c (find_equiv_reg): Ditto.
2485
2486 2005-02-11  Ian Lance Taylor  <ian@airs.com>
2487
2488         * read-rtl.c (read_rtx_1): Give fatal error if we see a vector
2489         with no elements.
2490
2491         * tree.c (build_function_type_list): Work correctly if there are
2492         no arguments.
2493
2494 2005-02-11  Ulrich Weigand  <uweigand@de.ibm.com>
2495
2496         * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccs",
2497         "*cmpsi_ccs"): Use %h instead of %c to print immediate operand.
2498         ("*zero_extendhisi2_64", "*zero_extendhisi2_31"): Choose based on
2499         TARGET_ZARCH instead of TARGET_64BIT.
2500
2501 2005-02-11  Ralf Corsepius  <ralf.corsepius@rtems.org>
2502
2503         * config/rs6000/t-rtems:
2504         (MULTILIB_OPTIONS): Remove mcpu=602.
2505         (MUTLILIB_DIRNAMES): Remove m602.
2506         (MULTILIB_MATCHES): Add ${MULTILIB_MATCHES_FLOAT}.
2507         Let mcpu=602 match mcpu=603.
2508         (MULTILIB_NEW_EXCEPTIONS_ONLY): Add mcpu=601, mcpu=602, mcpu=m603.
2509
2510 2005-02-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2511
2512         * pa/linux-unwind.h (pa32_fallback_frame_state): Handle misaligned
2513         signal trampolines.
2514
2515 2005-02-10  David Daney  <ddaney@avtrex.com>
2516
2517         * config/alpha/linux-unwind.h: Add exception clause to copyright.
2518         * config/i386/linux-unwind.h: Likewise.
2519         * config/ia64/linux-unwind.h: Likewise.
2520         * config/mips/linux-unwind.h: Likewise.
2521         * config/pa/linux-unwind.h: Likewise.
2522         * config/rs6000/linux-unwind.h: Likewise.
2523         * config/s390/linux-unwind.h: Likewise.
2524         * config/sh/linux-unwind.h: Likewise.
2525         * config/sparc/linux-unwind.h: Likewise.
2526
2527 2005-02-10  Steven Bosscher  <stevenb@suse.de>
2528
2529         PR tree-optimization/17549
2530         * tree-outof-ssa.c (find_replaceable_in_bb): Do not allow
2531         TER to replace a DEF with its expression if the DEF and the
2532         rhs of the expression we replace into have the same root
2533         variable.
2534
2535 2005-02-10  Richard Sandiford  <rsandifo@redhat.com>
2536
2537         * config/mips/mips.md: Fix the placement of the match_scratch in the
2538         lea64 peephole2.
2539
2540 2005-02-10  Kazu Hirata  <kazu@cs.umass.edu>
2541
2542         * cse.c, tree-ssa-loop-ivopts.c, config/rs6000/linux-unwind.h:
2543         Fix comment typos.
2544
2545 2005-02-10  Zdenek Dvorak  <dvorakz@suse.cz>
2546
2547         * tree-ssa-loop-ivopts.c (determine_base_object): Ignore casts.
2548         (strip_offset): Handle addresses.
2549         (add_address_candidates): Use strip_offset.
2550         (difference_cost): Reflect strip_offset change.
2551         (force_var_cost, difference_cost): Strip nops.
2552
2553 2005-02-10  Kazu Hirata  <kazu@cs.umass.edu>
2554
2555         * df.h (DF_REF_MODE_CHANGE, DF_REF_MEM_OK): Remove.
2556
2557         * builtins.def, haifa-sched.c, libgcc2.c, libgcc2.h,
2558         tree-ssa-loop-ivcanon.c, tree-ssa-loop-niter.c,
2559         config/cris/cris-protos.h, config/cris/cris.c: Update
2560         copyright.
2561
2562 2005-02-10  Jeff Law  <law@redhat.com>
2563
2564         * tree-ssa-dom.c (thread_across_edge): Use xmalloc, not xcalloc.
2565         (lookup_avail_expr): Similarly.
2566
2567 2005-02-10  Richard Guenther  <rguenth@gcc.gnu.org>
2568
2569         * builtins.c (fold_builtin_powi): New function.
2570         (fold_builtin_1): Call it.
2571
2572 2005-02-10  Steven Bosscher  <stevenb@suse.de>
2573
2574         PR documentation/19309
2575         * doc/cpp.texi: The __GNUC__ and related predefined macros
2576         are also defined for the "standalone" cpp.
2577         Some non-GCC compilers may also define __GNUC__.
2578
2579 2005-02-10  Jakub Jelinek  <jakub@redhat.com>
2580
2581         PR c/19342
2582         * c-typeck.c (common_type): New routine.  Old common_type renamed
2583         to...
2584         (c_common_type): ...this.
2585         (build_conditional_expr, build_binary_op): Use c_common_type instead
2586         of common_type.
2587
2588 2005-02-10  Steven Bosscher  <stevenb@suse.de>
2589
2590         * doc/md.texi: Replace @samp{length} with @code{length}.
2591
2592 2005-02-09  Zdenek Dvorak  <dvorakz@suse.cz>
2593
2594         PR tree-optimization/18687
2595         * tree-flow.h (find_loop_niter): Declare.
2596         * tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables):
2597         Try using scev even for loops with more than one exit.
2598         * tree-ssa-loop-ivopts.c (struct loop_data): Removed niter field.
2599         (struct ivopts_data): Added niters field.
2600         (struct nfe_cache_elt): New.
2601         (nfe_hash, nfe_eq, niter_for_exit, niter_for_single_dom_exit): New
2602         functions.
2603         (tree_ssa_iv_optimize_init): Initialize niters cache.
2604         (determine_number_of_iterations): Removed.
2605         (find_induction_variables): Do not call determine_number_of_iterations.
2606         Access niters for single exit through niter_for_single_dom_exit.
2607         (add_iv_outer_candidates): Access niters for single exit through
2608         niter_for_single_dom_exit.
2609         (may_eliminate_iv): Take data argument.  Use niter_for_exit.  Do not use
2610         number_of_iterations_cond.
2611         (iv_period): New function.
2612         (determine_use_iv_cost_condition): Pass data to may_eliminate_iv.
2613         (may_replace_final_value): Take data argument.  Use
2614         niter_for_single_dom_exit.
2615         (determine_use_iv_cost_outer): Pass data to may_replace_final_value.
2616         (rewrite_use_compare): Pass data to may_eliminate_iv.
2617         (rewrite_use_outer): Pass data to may_replace_final_value.
2618         (free_loop_data): Clean up the niters cache.
2619         (tree_ssa_iv_optimize_finalize): Free the niters cache.
2620         (tree_ssa_iv_optimize_loop): Do not call loop_commit_inserts.
2621         * tree-ssa-loop-niter.c (find_loop_niter): New function.
2622         (find_loop_niter_by_eval): Use tree_int_cst_lt.
2623         (num_ending_zeros): Moved to tree.c.
2624         * tree.h (num_ending_zeros): Declare.
2625         * tree.c (num_ending_zeros): Moved from tree.c.
2626
2627 2005-02-09  Richard Henderson  <rth@redhat.com>
2628
2629         * builtins.c (DEF_BUILTIN): Add COND argument.
2630         * tree.h (DEF_BUILTIN): Likewise.
2631         * builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN, DEF_EXT_LIB_BUILTIN,
2632         DEF_C94_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN): Update to
2633         match.
2634         (DEF_BUILTIN_STUB): New.
2635         (BUILT_IN_STACK_SAVE, BUILT_IN_STACK_RESTORE, BUILT_IN_INIT_TRAMPOLINE,
2636         BUILT_IN_ADJUST_TRAMPOLINE, BUILT_IN_NONLOCAL_GOTO,
2637         BUILT_IN_PROFILE_FUNC_ENTER, BUILT_IN_PROFILE_FUNC_EXIT): Use it.
2638         * c-common.c (DEF_BUILTIN): Add COND argument.
2639         * tree.c (local_define_builtin): New.
2640         (build_common_builtin_nodes): New.
2641
2642 2005-02-09  Roger Sayle  <roger@eyesopen.com>
2643
2644         * fold-const.c (fold_strip_sign_ops): New function to simplify a
2645         floating point expression ignoring the sign of the result.
2646         (fold) <ABS_EXPR>: Use it to simplify fabs(x).
2647         (fold) <MULT_EXPR>: Use it to simplify x*x.
2648         * tree.h (fold_strip_sign_ops): Prototype here.
2649         * builtins.c (fold_builtin_copysign): Take an additional FNDECL
2650         argument.  Use fold_strip_sign_ops to simplify the first argument.
2651         (fold_builtin_pow):  Use fold_strip_sign_ops to simplify the
2652         first argument when the second argument is an even integer
2653         constant, but only with -funsafe_math_optimizations.
2654         (fold_builtin_1): Update call to fold_builtin_copysign.
2655
2656 2005-02-09  Ian Lance Taylor  <ian@airs.com>
2657
2658         PR middle-end/19583
2659         * gimple-low.c (try_catch_may_fallthru): In EH_FILTER_EXPR case,
2660         just check whether EH_FILTER_FAILURE falls through.
2661
2662 2005-02-09  Andreas Krebbel  <krebbel1@de.ibm.com>
2663
2664         * gcc/haifa-sched.c (schedule_block): Make queued sched group
2665         insns return to ready list in the next turn.
2666
2667 2005-02-09  Richard Guenther  <rguenth@gcc.gnu.org>
2668
2669         PR middle-end/19402
2670         * builtins.def: New __builtin_powi[lf].
2671         * builtins.c (mathfn_built_in): Handle BUILT_IN_POWI.
2672         (expand_builtin_powi): New function.
2673         (expand_builtin): Dispatch to expand_builtin_powi.
2674         * libgcc2.h: Add prototypes for __builtin_powi[lf].
2675         * libgcc2.c: Add __builtin_powi[lf] implementation.
2676         * mklibgcc.in: Add __builtin_powi[lf] to lib2funcs.
2677         * optabs.h: Add powi_optab.
2678         * optabs.c (init_optabs): Initialize powi_optab.
2679         * doc/extend.texi: Document __builtin_powi[lf].
2680
2681 2005-02-09  Dorit Naishlos  <dorit@il.ibm.com>
2682
2683         * tree-vectorizer.c (vect_set_dump_settings): Check that dump_file
2684         exists.
2685
2686 2005-02-09  Richard Guenther  <rguenth@gcc.gnu.org>
2687
2688         PR middle-end/19854
2689         * fold-const.c (try_move_mult_to_index): Remove redundant
2690         type argument.  Create ADDR_EXPR with correct type.
2691         (fold): Update callers of try_move_mult_to_index.  Convert
2692         result to the appropriate type.
2693
2694 2005-02-09  Roger Sayle  <roger@eyesopen.com>
2695
2696         PR target/19597
2697         * config/avr/avr.c (default_rtx_costs): Delete.
2698         (avr_operand_rtx_cost): New function.
2699         (avr_rtx_costs): Completely rewrite.
2700
2701 2005-02-08  Hans-Peter Nilsson  <hp@axis.com>
2702
2703         PR target/19806
2704         * config/cris/cris.c (in_code): New variable.
2705         (cris_output_addr_const): Now a static function, a wrapper for
2706         output_addr_const.
2707         (cris_asm_output_symbol_ref): New function, broken out SYMBOL_REF
2708         case from old cris_output_addr_const.
2709         (cris_asm_output_label_ref): Similar for LABEL_REF.
2710         (cris_output_addr_const_extra): Similar for UNSPEC.
2711         * config/cris/cris.h (OUTPUT_ADDR_CONST_EXTRA)
2712         (ASM_OUTPUT_SYMBOL_REF, ASM_OUTPUT_LABEL_REF): Define.
2713         * config/cris/cris-protos.h (cris_output_addr_const): Remove
2714         declaration.
2715         (cris_asm_output_symbol_ref, cris_output_addr_const_extra)
2716         (cris_asm_output_label_ref): Declare.
2717
2718 2005-02-08  Paolo Bonzini  <bonzini@gnu.org>
2719
2720         PR preprocessor/19801
2721         * doc/cppinternals.texi (Conventions, Lexer, Files): Adjust
2722         filenames that changed when libcpp was moved to the toplevel.
2723
2724 2005-02-07  Roger Sayle  <roger@eyesopen.com>
2725
2726         * simplify-rtx.c (simplify_relational_operation_1): Avoid creating
2727         zero extensions of BImode operands.  Call lowpart_subreg instead
2728         of gen_lowpart_common and gen_lowpart_SUBREG.
2729
2730 2005-02-07  Nathanael Nerode  <neroden@gcc.gnu.org>
2731
2732         PR ada/19489
2733         * libada-mk.in: Use cc_for_cross_gnattools, not cc_set_by_configure.
2734         * configure.ac: Set cc_for_cross_gnattools.
2735         * configure: Regenerate.
2736
2737 2005-02-08  Alan Modra  <amodra@bigpond.net.au>
2738
2739         PR target/19803
2740         * predict.c (PROB_VERY_UNLIKELY): Use 1% instead of 10%.
2741
2742 2005-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
2743
2744         PR debug/19327
2745         * dbxout.c (dbxout_symbol) <FUNCTION_DECL>: Skip inline instance
2746         of nested functions.
2747
2748 2005-02-07  Jonathan Wakely  <redi@gcc.gnu.org>
2749
2750         * doc/extend.texi: Document deprecated extensions allowing
2751         static floating-point members to have initializers and allowing
2752         floating-point literals in integral constant expressions.
2753
2754 2005-02-07  Kazu Hirata  <kazu@cs.umass.edu>
2755
2756         * cfgcleanup.c, df.h, diagnostic.c, rtl.c, tree-vectorizer.h,
2757         config/darwin7.h, config/mips/mips.c,
2758         config/rs6000/altivec.md, config/rs6000/darwin-tramp.asm:
2759         Update copyright.
2760
2761         * cse.c: Update comments.
2762
2763 2005-02-07  Richard Guenther  <rguenth@gcc.gnu.org>
2764
2765         PR middle-end/19775
2766         * builtins.c (fold_builtin_sqrt): Transform
2767         sqrt(pow(x,y)) to pow(fabs(x),y*0.5), not
2768         pow(x,y*0.5).
2769
2770 2005-02-07  Leehod Baruch  <leehod@il.ibm.com>
2771             Dorit Naishlos  <dorit@il.ibm.com>
2772
2773         * doc/invoke.texi (ftree-vectorizer-verbose): New.
2774         * opts.c (OPT_ftree_vectorizer_verbose_): New case for switch.
2775         * common.opt (ftree-vectorizer-verbose): New Flag for the vectorizer
2776         was added.
2777         * tree.h (vect_set_verbosity_level): New extern function declaration
2778         added.
2779         * tree-vectorizer.h (verbosity_levels): New enum type.
2780         * tree-vectorizer.c (vect_debug_stats): Function removed.
2781         (vect_debug_details): Likewise.
2782         (vect_verbosity_level): Global variable was defined and initialized.
2783         (vect_dump): Global variable definition.
2784         (vect_print_dump_info): New function.
2785         (vect_set_dump_settings): New function.
2786         (vect_set_verbosity_level): New function.
2787         (vectorize_loops): Add call to vect_set_dump_settings.
2788
2789         (slpeel_make_loop_iterate_ntimes): Dump condition was changed.
2790         (slpeel_tree_duplicate_loop_to_edge_cfg): Likewise.
2791         (slpeel_tree_peel_loop_to_edge): Likewise.
2792
2793         (vect_analyze_offset_expr): Call to vect_print_dump_info with
2794         appropriate verbosity level instead of call to vect_debug_details
2795         or vect_debug_stats.
2796         (vect_get_base_and_offset):
2797         (vect_create_addr_base_for_vector_ref):
2798         (get_vectype_for_scalar_type):
2799         (vect_create_data_ref_ptr):
2800         (vect_init_vector):
2801         (vect_get_vec_def_for_operand):
2802         (vect_finish_stmt_generation):
2803         (vectorizable_assignment):
2804         (vectorizable_operation):
2805         (vectorizable_store):
2806         (vectorizable_load):
2807         (vect_transform_stmt):
2808         (vect_update_ivs_after_vectorizer):
2809         (vect_do_peeling_for_loop_bound):
2810         (vect_update_inits_of_drs):
2811         (vect_do_peeling_for_alignment):
2812         (vect_transform_loop):
2813         (vect_is_simple_use):
2814         (vect_analyze_operations):
2815         (vect_is_simple_iv_evolution):
2816         (vect_analyze_scalar_cycles):
2817         (vect_analyze_data_ref_dependence):
2818         (vect_analyze_data_ref_dependences):
2819         (vect_compute_data_ref_alignment):
2820         (vect_enhance_data_refs_alignment):
2821         (vect_analyze_data_refs_alignment):
2822         (vect_analyze_data_ref_access):
2823         (vect_analyze_data_ref_accesses):
2824         (vect_analyze_pointer_ref_access):
2825         (vect_get_memtag_and_dr):
2826         (vect_analyze_data_refs):
2827         (vect_mark_relevant):
2828         (vect_stmt_relevant_p):
2829         (vect_mark_stmts_to_be_vectorized):
2830         (vect_can_advance_ivs_p):
2831         (vect_get_loop_niters):
2832         (vect_analyze_loop_form):
2833         (vect_analyze_loop):
2834         (vectorize_loops): Likewise.
2835
2836         (vect_do_peeling_for_loop_bound): Dump format slightly changed.
2837         (vect_update_inits_of_drs):
2838         (vect_do_peeling_for_alignment):
2839         (vect_transform_loop):
2840         (vect_analyze_operations):
2841         (vect_analyze_scalar_cycles):
2842         (vect_analyze_data_ref_dependences):
2843         (vect_analyze_data_refs_alignment):
2844         (vect_analyze_data_ref_accesses):
2845         (vect_analyze_data_refs):
2846         (vect_mark_stmts_to_be_vectorized):
2847         (vect_get_loop_niters):
2848         (vect_analyze_loop_form):
2849         (vect_analyze_loop): Likewise.
2850         (vect_mark_stmts_to_be_vectorized): Add call to print_generic_expr.
2851
2852 2005-02-07  Richard Sandiford  <rsandifo@redhat.com>
2853
2854         PR bootstrap/19796
2855         Revert:
2856         2005-01-26  Richard Sandiford  <rsandifo@redhat.com>
2857         * config/mips/iris6.h (ENDFILE_SPEC): Don't link in irix-csr.o if
2858         either -ffast-math or -funsafe-math-optimizations is in use.
2859
2860         2005-01-24  Richard Sandiford  <rsandifo@redhat.com>
2861         * config/mips/irix-csr.c: New file.
2862         * config/mips/t-iris6 (irix-csr.o): New rule to build it.
2863         (EXTRA_MULTILIB_PARTS): Add irix-csr.o.
2864         * config/mips/iris6.h (ENDFILE_SPEC): Include it in n32 and n64
2865         executables.
2866
2867 2005-02-07  Alexandre Oliva  <aoliva@redhat.com>
2868
2869         * config/mn10300/linux.h (LIB_SPEC, STARTFILE_SPEC): Remove
2870         redundant, incorrect definitions.
2871
2872         * config/frv/frv.md ("tls_indirect_call"): Turn into libcall-like
2873         expand.
2874         ("*tls_indirect_call"): New, reference hard regs directly.
2875         * config/frv/frv.c (gen_inlined_tls_plt): Adjust.
2876
2877 2005-02-07  Ralf Corsepius  <ralf.corsepius@rtems.org>
2878
2879         * config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC):
2880         Let !-mhard-float !-msoft-float imply -mfpu=softfpa.
2881
2882 2005-02-06  Roger Sayle  <roger@eyesopen.com>
2883
2884         PR rtl-optimization/19800
2885         * simplify_rtx.c (simplify_relational_operation_1): Explicitly
2886         call gen_lowpart_common and gen_lowpart_SUBREG instead of calling
2887         gen_lowpart.
2888
2889 2005-02-07  Ralf Corsepius  <ralf.corsepius@rtems.org>
2890
2891         * config/m68k/t-rtems (MULTILIB_MATCHES): Let m528x match m5200.
2892
2893 2005-02-07  Joseph S. Myers  <joseph@codesourcery.com>
2894
2895         PR other/17135
2896         * doc/invoke.texi: Correct documentation of -freorder-functions.
2897
2898 2005-02-06  Joseph S. Myers  <joseph@codesourcery.com>
2899
2900         PR other/14402
2901         * doc/invoke.texi: Don't mention gccbug.
2902
2903 2005-02-06  Roger Sayle  <roger@eyesopen.com>
2904             Andrew Pinski  <pinskia@physics.uc.edu>
2905             Paolo Bonzini  <paolo.bonzini@lu.unisi.ch>
2906
2907         * simplify-rtx.c (simplify_relational_operation_1): Simplify
2908         (ne:SI (zero_extract:SI FOO (const_int 1) BAR) (const_int 0))
2909         into just (zero_extract:SI FOO (const_int 1) BAR).
2910
2911 2005-02-06  Joseph S. Myers  <joseph@codesourcery.com>
2912
2913         * doc/cpp.texi: Include gcc-common.texi.  Don't define gcctabopt
2914         macro locally.  Don't give last revision date.  Use GCC version
2915         number from gcc-common.texi.
2916         * doc/cppinternals.texi: Include gcc-common.texi.  Don't give last
2917         revision date.  Use GCC version number from gcc-common.texi.
2918         Describe being a library as current state rather than as 3.x
2919         history.
2920         * doc/gcc.texi: Remove last update date.
2921         * doc/gccint.texi: Likewise.  Update copyright dates.
2922         * doc/install.texi: Update copyright dates.
2923
2924 2005-02-06  Joseph S. Myers  <joseph@codesourcery.com>
2925
2926         PR other/7549
2927         * doc/invoke.texi: Mention for each option included in -Wall that
2928         it is included in -Wall.
2929         * doc/gcc.texi: Update copyright and last modification date.
2930
2931 2005-02-06  Zdenek Dvorak  <dvorakz@suse.cz>
2932
2933         * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Do not add
2934         unnecessary cast to original induction variable increments.
2935
2936 2005-02-06  Zdenek Dvorak  <dvorakz@suse.cz>
2937
2938         PR tree-optimization/18219
2939         * tree-ssa-loop-ivopts.c (get_computation_at): Produce computations
2940         in distributed form.
2941
2942 2005-02-06  Richard Sandiford  <rsandifo@redhat.com>
2943
2944         * expmed.c (store_bit_field): Make the SUBREG code adjust bitnum.
2945         Set bitpos and offset later in the function.  Do nothing if the
2946         target is a register and if the bitfield lies completely outside
2947         that register.
2948         (extract_bit_field): Make the same SUBREG, bitpos and offset changes
2949         here.  Return an uninitialised register if the source value is stored
2950         in a register and the bitfield lies completely outside that register.
2951
2952 2005-02-06  Steven Bosscher  <stevenb@suse.de>
2953
2954         * df.c (df_insn_refs_record): Use XEXP to get the operand of a USE,
2955         not SET_DEST.
2956
2957 2005-02-06  Marcin Dalecki  <martin@dalecki.de>
2958
2959         * diagnostic.c (default_diagnostic_finalizer): Fix use of attribute.
2960
2961 2005-02-06  Geoffrey Keating  <geoffk@apple.com>
2962
2963         * config.gcc (*-*-darwin*): Separate darwin7 and darwin8 configs.
2964         * config/darwin8.h: New.
2965         * config/darwin7.h: Update comment.
2966
2967 2005-02-03  Leehod Baruch  <leehod@il.ibm.com>
2968             Dorit Naishlos  <dorit@il.ibm.com>
2969
2970         * tree-vectorizer.h (LOC): New type.
2971         (UNKNOWN_LOC, EXPR_LOC, LOC_FILE, LOC_LINE): New macros.
2972         (loop_line_number): New field in struct _loop_vec_info.
2973         (LOOP_VINFO_LOC, LOOP_LOC): New macros.
2974
2975         * tree-vectorizer.c (input.h): Included.
2976         (find_loop_location): New function.
2977         (vect_debug_stats): Argument changed from loop to LOC. Computation of
2978         loop line number removed.
2979         (vect_debug_details): Likewise.
2980         (new_loop_vec_info): Initialize new field LOOP_VINFO_LOC.
2981
2982         (slpeel_make_loop_iterate_ntimes): Call find_loop_location. Argument in
2983         call to vect_debug_details/stats changed from loop to loop_loc.
2984         (slpeel_tree_duplicate_loop_to_edge_cfg): Likewise.
2985         (slpeel_tree_peel_loop_to_edge): Likewise.
2986
2987         (vect_analyze_offset_expr): Argument in call to vect_debug_details/stats
2988         changed from NULL to UNKNOWN_LOC.
2989         (vect_get_base_and_offset):
2990         (vect_create_addr_base_for_vector_ref):
2991         (get_vectype_for_scalar_type):
2992         (vect_create_data_ref_ptr):
2993         (vect_init_vector):
2994         (vect_get_vec_def_for_operand):
2995         (vect_finish_stmt_generation):
2996         (vectorizable_assignment):
2997         (vectorizable_operation):
2998         (vectorizable_store):
2999         (vectorizable_load):
3000         (vect_transform_stmt):
3001         (vect_update_ivs_after_vectorizer):
3002         (vect_do_peeling_for_loop_bound):
3003         (vect_do_peeling_for_alignment):
3004         (vect_transform_loop):
3005         (vect_is_simple_use):
3006         (vect_analyze_operations):
3007         (vect_is_simple_iv_evolution):
3008         (vect_analyze_scalar_cycles):
3009         (vect_analyze_data_ref_dependences):
3010         (vect_compute_data_ref_alignment):
3011         (vect_enhance_data_refs_alignment):
3012         (vect_analyze_data_ref_access):
3013         (vect_analyze_data_ref_accesses):
3014         (vect_analyze_pointer_ref_access):
3015         (vect_get_memtag_and_dr):
3016         (vect_analyze_data_refs):
3017         (vect_mark_relevant):
3018         (vect_stmt_relevant_p):
3019         (vect_mark_stmts_to_be_vectorized):
3020         (vect_can_advance_ivs_p):
3021         (vect_get_loop_niters):
3022         (vect_analyze_loop):
3023         (vectorize_loops): Likewise.
3024
3025         (vectorizable_load): Argument in call to vect_debug_details/stats
3026         changed from loop to LOOP_LOC (loop_vinfo).
3027         (vect_transform_loop):
3028         (vect_analyze_operations):
3029         (vect_analyze_scalar_cycles):
3030         (vect_analyze_data_ref_dependence):
3031         (vect_enhance_data_refs_alignment):
3032         (vect_analyze_data_ref_accesses):
3033         (vect_analyze_pointer_ref_access):
3034         (vect_analyze_data_refs):
3035         (vect_analyze_loop): Likewise.
3036
3037         (vect_analyze_loop_form): Argument in call to vect_debug_details/stats
3038         changed from loop to loop_loc.
3039
3040         (vect_enhance_data_refs_alignment): Removed unused variable loop.
3041
3042 2005-02-03  Leehod Baruch  <leehod@il.ibm.com>
3043             Dorit Naishlos  <dorit@il.ibm.com>
3044
3045         * tree-vectorizer.c (vect_analyze_data_ref_dependence): Function
3046         declaration added.
3047         (vect_analyze_data_ref_dependences): Likewise.
3048
3049         (vect_is_simple_use): Argument changed from loop structure to
3050         loop_vect_info structure.
3051         (vect_can_advance_ivs_p): Likewise.
3052         (vect_create_index_for_vector_ref): Likewise.
3053         (vect_update_ivs_after_vectorizer): Likewise.
3054         (new_stmt_vec_info): Likewise.
3055
3056         (new_loop_vec_info): Second argument in call to new_stmt_vec_info was
3057         changed from loop to loop_vinfo.
3058         (vect_create_data_ref_ptr): First argument in call to
3059         vect_create_index_for_vector_ref was changed from loop to loop_vinfo.
3060         (vectorizable_assignment): Second argument in call to vect_is_simple_use
3061         was changed from loop to loop_vinfo.
3062         (vectorizable_operation): Likewise.
3063         (vectorizable_store): Likewise.
3064         (vect_mark_stmts_to_be_vectorized): Likewise.
3065         (vect_do_peeling_for_loop_bound): First argument in call to
3066         vect_update_ivs_after_vectorizer was changed from loop to loop_vinfo.
3067         (vect_analyze_operations): Argument in call to vect_can_advance_ivs_p
3068         was changed from loop to loop_vinfo.
3069         (vect_analyze_data_ref_dependences): Third argument in call to
3070         vect_analyze_data_ref_dependence was changed from loop to loop_vinfo.
3071
3072         (vect_create_index_for_vector_ref): Get the loop from loop_vinfo.
3073         (vect_create_data_ref_ptr): Likewise.
3074         (vect_init_vector): Likewise.
3075         (vect_get_vec_def_for_operand): Likewise.
3076         (vectorizable_assignment): Likewise.
3077         (vectorizable_operation): Likewise.
3078         (vectorizable_store): Likewise.
3079         (vectorizable_load): Likewise.
3080         (vect_update_ivs_after_vectorizer): Likewise.
3081         (vect_is_simple_use): Likewise.
3082         (vect_analyze_data_ref_dependence): Likewise.
3083         (vect_analyze_pointer_ref_access): Likewise.
3084         (vect_can_advance_ivs_p): Likewise.
3085
3086         * tree-vectorizer.h: (_loop_vec_info): Definition and macros moved
3087         before _stmt_vec_info.
3088         (_stmt_vec_info): Loop field replaced by loop_vec_info.
3089         (STMT_VINFO_LOOP): Replaced with STMT_VINFO_LOOP_VINFO.
3090         (new_stmt_vec_info): Argument changed from loop structure to
3091         loop_vect_info structure
3092
3093         (vect_analyze_data_ref_dependences): Unnecessary line was removed.
3094         (vect_analyze_offset_expr): Avoid 80 columns overflow.
3095         (vect_create_addr_base_for_vector_ref): Likewise.
3096         (vect_analyze_pointer_ref_access): Likewise.
3097
3098 2005-02-03  Andrew Pinski  <pinskia@physics.uc.edu>
3099
3100         PR tree-opt/19768
3101         * tree-ssa-dse.c (fix_phi_uses): Update the occurs in abnormal
3102         phi flag if the phi is abnormal.
3103
3104 2005-02-03  Andrew Pinski  <pinskia@physics.uc.edu>
3105
3106         PR tree-opt/19736
3107         * tree-ssa.c (replace_immediate_uses): Update the immediate_uses
3108         information for the new statement.
3109
3110 2005-02-03  Joseph S. Myers  <joseph@codesourcery.com>
3111
3112         PR driver/19117
3113         * gcc.c (main): Include the target in -v output.
3114
3115 2005-02-03  Alexandre Oliva  <aoliva@redhat.com>
3116
3117         * combine.c (simplify_comparison, case SIGN_EXTEND, ZERO_EXTEND):
3118         Do not drop the extend if we'd have to add a paradoxical subreg
3119         later.  Include optabs.h and insn-codes.h.
3120         * Makefile.in (combine.o): Depend on $(OPTABS_H).
3121
3122 2005-02-02  Roger Sayle  <roger@eyesopen.com>
3123
3124         PR middle-end/19405
3125         * real.h (REAL_MODE_FORMAT_COMPOSITE_P): New macro.
3126         * fold-const.c (const_binop): Avoid constant folding floating
3127         point operations in modes that use composite representations.
3128         * simplify-rtx.c (simplify_binary_operation): Likewise.
3129
3130 2005-02-02  Geoffrey Keating  <geoffk@apple.com>
3131
3132         * config/rs6000/altivec.md (altivec_dst): Make the first operand
3133         a REG, not a MEM.
3134         (altivec_dstt): Likewise.
3135         (altivec_dstst): Likewise.
3136         (altivec_dststt): Likewise.
3137         * config/rs6000/rs6000.c (altivec_expand_dst_builtin): Adjust creation
3138         of first operand.
3139
3140 2005-02-03  Dorit Naishlos  <dorit@il.ibm.com>
3141
3142         * tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Copy
3143         EXPR_LOCUS from orig_cond to the new cond_stmt.
3144         (vect_finish_stmt_generation): Copy EXPR_LOCUS from stmt to
3145         the new vec_stmt.
3146
3147 2005-02-03  Dorit Naishlos  <dorit@il.ibm.com>
3148
3149         * tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Call
3150         standard_iv_increment_position. Remove call to bsi_next
3151         (no need to bump the iterator anymore).
3152         (vect_create_index_for_vector_ref): Call
3153         standard_iv_increment_position. Remove second function argument.
3154         (vect_finish_stmt_generation): Remove call to bsi_next
3155         (no need to bump the iterator anymore).
3156         (vect_create_data_ref_ptr): Remove second argument (bsi) in call
3157         to vect_create_index_for_vector_ref.
3158
3159 2005-02-03  Dorit Naishlos  <dorit@il.ibm.com>
3160
3161         * tree-vectorizer.c (vect_mark_stmts_to_be_vectorized): Check if
3162         phis are used out of the loop.
3163
3164 2005-02-03  Joseph S. Myers  <joseph@codesourcery.com>
3165
3166         PR c/17807
3167         * c-decl.c (undef_nested_function): New variable.
3168         (pop_scope): Diagnose undefined nested functions.
3169         (finish_function): Don't attempt cgraph processing or genericizing
3170         if current top-level function contained an undefined nested
3171         function.  Reset undef_nested_function at the end of a top-level
3172         function.
3173
3174 2005-02-02  Zdenek Dvorak  <dvorakz@suse.cz>
3175
3176         * tree.c (build_int_cst_type): Take sign of the value into account
3177         when deciding whether sign extend the value.
3178
3179 2005-02-02  Joseph S. Myers  <joseph@codesourcery.com>
3180
3181         PR c/18502
3182         * gcc.c (cpp_unique_options): Remove %{trigraphs}.
3183         (cpp_options, cc1_options): Change %{std*&ansi} to
3184         %{std*&ansi&trigraphs}.
3185
3186 2005-02-02  Kazu Hirata  <kazu@cs.umass.edu>
3187
3188         * cse.c: Update comments.
3189
3190 2005-02-02  Aldy Hernandez  <aldyh@redhat.com>
3191
3192         * config/rs6000/rs6000.c (rs6000_spe_function_arg): Multi-reg
3193         arguments go on the stack.  Do not put complex doubles in odd/even
3194         pairs.
3195
3196 2005-02-02  Steven Bosscher  <stevenb@suse.de>
3197
3198         * doc/invoke.texi: Update the options enabled at -O1, -O2,
3199         and -O3.  Update the documentation for -fgcse-sm, -fgcse-las,
3200         -ftree-pre, and -fthread-jumps.
3201
3202 2005-02-02  Richard Sandiford  <rsandifo@redhat.com>
3203
3204         PR tree-optimization/19578
3205         * tree-flow.h (modified_noreturn_calls): Declare.
3206         (noreturn_call_p): Declare.
3207         * tree-flow-inline.h (noreturn_call_p): New function.
3208         (modify_stmt): Add modified noreturn calls to modified_noreturn_calls.
3209         * tree-cfg.c (modified_noreturn_calls): New variable.
3210         (cleanup_control_flow): Use noreturn_call_p.  Split basic blocks
3211         that contain a mid-block noreturn call.
3212         * tree-ssa.c (delete_tree_ssa): Clear modified_noreturn_calls.
3213
3214 2005-02-02  Kazu Hirata  <kazu@cs.umass.edu>
3215
3216         * df.c (df_def_record_1, df_uses_record): Don't use
3217         DF_FOR_REGALLOC.
3218         * df.h (DF_FOR_REGALLOC): Remove.
3219
3220 2005-02-02  Joseph S. Myers  <joseph@codesourcery.com>
3221
3222         PR c/19435
3223         * c-typeck.c (really_start_incremental_init): Reset
3224         constructor_max_index for arrays of incomplete type.
3225
3226 2005-02-02  Jeff Law  <law@redhat.com>
3227
3228         * gcse.c (struct reg_set): Store the block index where the register
3229         was set rather than the setting insn.
3230         (record_one_set, compute_transp): Corresponding changes.
3231         (pre_insert_copy_insn): Do not call replace_one_set.
3232         (replace_one_set): Remove.
3233
3234 2005-02-02  Joseph S. Myers  <joseph@codesourcery.com>
3235
3236         PR other/15514
3237         * doc/gcov.texi: Fix typo.
3238
3239 2005-02-01  Richard Henderson  <rth@redhat.com
3240
3241         PR target/19680
3242         * config/i386/i386.h (MODES_TIEABLE_P): Use ix86_modes_tieable_p.
3243         * config/i386/i386.c (ix86_hard_regno_mode_ok): Change return
3244         type to bool.
3245         (ix86_tieable_integer_mode_p, ix86_modes_tieable_p): New.
3246         * config/i386/i386-protos.h: Update.
3247
3248 2005-02-01  Steven Bosscher  <stevenb@suse.de>
3249
3250         PR tree-optimization/19217
3251         * tree-cfg.c (verify_expr): Use the data field to see if TP was
3252         seen inside a PHI node.  Do not do the ADDR_EXPR check if it was.
3253         (verify_stmts): Pass (void*)1 as data to verify_expr to signal
3254         that it is walking a PHI node.
3255
3256 2005-02-01  Joseph S. Myers  <joseph@codesourcery.com>
3257
3258         * doc/extend.texi (Nested Functions): Update.
3259
3260 2005-02-01  Richard Henderson  <rth@redhat.com>
3261
3262         PR 19696
3263         * optabs.c (expand_copysign_absneg): Export.
3264         * optabs.h (expand_copysign_absneg): Declare.
3265         * config/rs6000/rs6000.md (copysigntf3): New.
3266
3267 2005-02-01  Diego Novillo  <dnovillo@redhat.com>
3268
3269         PR tree-optimization/19633
3270         * tree-flow.h (struct ptr_info_def): Add field 'pt_null'.
3271         * tree-ssa-alias.c (init_alias_info): Initialize.
3272         (merge_pointed_to_info): Set.
3273         (add_pointed_to_expr): Set pt_null if EXPR is a NULL pointer.
3274         (dump_points_to_info_for): Show value of pt_null.
3275         (struct count_ptr_d): Declare.
3276         (find_ptr_dereference): Remove.
3277         (ptr_is_dereferenced_by): Remove.
3278         (count_ptr_derefs): New local function.
3279         (count_uses_and_derefs): New local function.
3280         (compute_points_to_and_addr_escape): Call it.  If the number
3281         of dereferences is greater than zero, mark the pointer as
3282         dereferenced.  If there are fewer dereferences than uses of
3283         the pointer, the pointer's value escapes.
3284
3285 2005-02-01  Diego Novillo  <dnovillo@redhat.com>
3286
3287         PR tree-optimization/19670
3288         * tree-ssa.c (verify_ssa_name): Don't set TREE_VISITED
3289         here...
3290         (verify_use): ... set it here, instead.
3291
3292 2005-02-01  Janis Johnson  <janis187@us.ibm.com>
3293
3294         * doc/sourcebuild.texi (Test directives): Fix formatting.
3295
3296         * doc/sourcebuild.texi (Test directives): Describe selector
3297         expressions.
3298
3299 2005-02-01  Segher Boessenkool  <segher@kernel.crashing.org>
3300
3301         * config.gcc (powerpc64-*-linux*): Default to -m64 also for
3302         specific 64-bit CPUs.
3303
3304 2005-02-01  Richard Earnshaw  <rearnsha@arm.com>
3305
3306         PR target/16201
3307         * arm.c (arm_eliminable_register): New function.
3308         (adjacent_mem_locations): Don't allow eliminable registers.  Use
3309         HOST_WIDE_INT for address offsets.
3310         * arm-protos.h (arm_eliminable_register): Add prototype.
3311
3312 2005-02-01  Steven Bosscher  <stevenb@suse.de>
3313
3314         PR optimization/15242
3315         * params.def (PARAM_MAX_GOTO_DUPLICATION_INSNS): New param.
3316         * basic-block.h (duplicate_computed_gotos): Add prototype.
3317         * bb-reorder.c (duplicate_computed_gotos): New function to
3318         duplicate sufficiently small blocks ending in a computed jump.
3319         * passes.c (rest_of_compilation): Call duplicate_computed_gotos
3320         if not optimizing for size.
3321         * cfgcleanup.c (try_crossjump_bb): If not optimizing for size,
3322         never do tail merging for blocks ending in a computed jump.
3323         * doc/invoke.texi: Document the max-goto-duplication-insns param.
3324
3325 2005-02-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
3326
3327         Patch from Richard Sandiford <rsandifo@redhat.com>
3328         * reload1.c (choose_reload_regs): Prevent the find_equiv_reg() code
3329         from inheriting a subreg equivalence with a non-spill register.
3330
3331         * tree.h (DECL_FUNCTION_CODE): Document that it is overloaded.
3332
3333 2005-02-01  Alexandre Oliva  <aoliva@redhat.com>
3334
3335         * config/frv/frv.c (movcc_fp_destination_operand): New.
3336         (gpr_or_memory_operand): Fix typo in comment.
3337         (gpr_or_memory_operand_with_scratch): New.
3338         * config/frv/frv.h (PREDICATE_CODES): Add the two new predicates.
3339         * config/frv/frv.md (movcc_fp, movcc_fp_internal): Use
3340         movcc_fp_destination_operand.
3341         (reload_incc_fp): Use gpr_or_memory_operand_with_scratch.
3342         Legitimize memory addresses using a scratch register.
3343
3344 2005-01-31  Jeff Law  <law@redhat.com>
3345
3346         * tree-into-ssa.c (mark_def_sites_global_data): Make KILLS
3347         bitmap a sparse bitmap instead of a simple bitmap.
3348         (mark_def_sites_initialize_block):  Corresponding changes.
3349         (ssa_mark_def_sites_initialize_block): Likewise.
3350         (ssa_mark_phi_uses): Likewise.
3351         (mark_def_site, ssa_mark_def_sites): Likewise.
3352         (mark_def_site_blocks): Likewise.
3353         (rewrite_ssa_into_ssa): Likewise.
3354
3355         * tree-ssa-dom.c (record_cond): Pass correct variable type
3356         for last argument to htab_find_slot_with_hash.
3357
3358         * fold-const.c (fold, case CEIL_MOD_EXPR): Do not lose side
3359         effects when optimizing 0 % X.  Do not try to optimize X % 0.
3360
3361 2005-01-31  James E. Wilson  <wilson@specifixinc.com>
3362
3363         * config/ia64/itanium1.md (1_scall bypass): Change 2_mmalua to
3364         1_mmalua.
3365
3366 2005-02-01  Eric Christopher  <echristo@redhat.com>
3367
3368         * config/mips/mips.c (override_options): Warn if -mint64
3369         is used.
3370         * doc/invoke.texi (MIPS Options): Document that -mint64 is
3371         deprecated.
3372
3373 2005-02-01  Kazu Hirata  <kazu@cs.umass.edu>
3374
3375         * cse.c (cse_reg_info): Remove hash_next, next, regno.  Add
3376         timestamp.
3377         (cse_reg_info_list, cse_reg_info_list_free, REGHASH_SHIFT,
3378         REGHASH_SIZE, REGHASH_MASK, reg_hash, REGHASH_FN,
3379         cached_cse_reg_info, GET_CSE_REG_INFO): Remove.
3380         (cached_regno): Initialize to INVALID_REGNUM.
3381         (cse_reg_info_table_size,
3382         cse_reg_info_table_first_uninitialized,
3383         cse_reg_info_timestamp): New.
3384         (REG_TICK, REG_IN_TABLE, SUBREG_TICKED, REG_QTY): Use
3385         get_cse_reg_info.
3386         (init_cse_reg_info, get_cse_reg_info_1): New.
3387         (get_cse_reg_info): Cache the last look-up.
3388         (new_basic_block): Update the code to clear mappings from
3389         registers to cse_reg_info entries.
3390         (cse_main): Call init_cse_reg_info.
3391
3392         * cse.c (get_cse_reg_info): Update a comment.
3393
3394 2005-01-31  Steven Bosscher  <stevenb@suse.de>
3395
3396         PR c/19333
3397         * c-decl.c (start_decl): Do not warn about arrays of elements with
3398         an incomplete type here.
3399         (grokdeclarator): Do it here by making a pedwarn an error.
3400         * c-typeck.c (push_init_level): If there were previous errors with
3401         the constructor type, do not warn about braces for initializers.
3402         (process_init_element): Likewise for excess initializer elements.
3403
3404 2005-01-31  Kazu Hirata  <kazu@cs.umass.edu>
3405
3406         * cse.c (delete_trivially_dead_insn): Don't iterate.
3407
3408 2005-01-31  Andrew Pinski  <pinskia@physics.uc.edu>
3409
3410         * config/rs6000/rs6000.md (copysignsf3): New expand.
3411         (copysigndf3): Likewise.
3412
3413 2005-01-31  Steven Bosscher  <stevenb@suse.de>
3414
3415         * recog.c (constrain_operands): Only look for earlyclobber operand
3416         conflicts if an '&' constraint was seen.
3417
3418 2005-01-31  Marc Espie <espie@openbsd.org>
3419
3420         * config.gcc: Don't include embedded systems fragment, switches default
3421         debugging format to ELF.
3422         * config/i386/openbsdelf.h: Add DBX_REGISTER_NUMBER since we no
3423         longer pick it up there.
3424
3425 2005-01-31  Dale Johannesen  <dalej@apple.com>
3426
3427         * doc/extend.texi (nested functions): Fix linkage description.
3428         Clarify that static is not allowed.
3429
3430 2005-01-31  Dale Johannesen  <dalej@apple.com>
3431
3432         * config/rs6000/darwin.md (movsf_low_di):  Make work.
3433         (movdf_low_di):  Make work.
3434
3435 2005-01-31  Dale Johannesen  <dalej@apple.com>
3436
3437         * config/rs6000/darwin-tramp.asm (__trampoline_setup):
3438         Make work for 64 bit.
3439
3440 2005-01-31  Roger Sayle  <roger@eyesopen.com>
3441             Dale Johannesen  <dalej@apple.com>
3442
3443         PR middle-end/19650
3444         * fold-const.c (fold_binary_op_with_conditional_arg):
3445         Make types match original operands, before STRIP_NOPS.
3446
3447 2005-01-31  Alan Modra  <amodra@bigpond.net.au>
3448
3449         * config/rs6000/linux-unwind.h (struct gcc_vregs): New.
3450         (struct gcc_regs): Rename from gcc_pt_regs.  Add more regs.
3451         (struct gcc_sigcontext): Delete.  Merge contents to..
3452         (struct gcc_ucontext): ..here.
3453         (get_sigcontext): Delete.
3454         (get_regs): New function, like get_sigcontext but return regs ptr.
3455         64-bit version finds regs from r1 to support vdso.
3456         (ppc_linux_aux_vector): New function.
3457         (ppc_fallback_frame_state): Modify for get_regs.  Restore fprs
3458         and vector regs.
3459
3460 2005-01-31  Ira Rosen  <irar@il.ibm.com>
3461
3462         * tree-vectorizer.c (vect_analyze_offset_expr): Use ssizetype instead
3463         sizetype.
3464         (vect_get_base_and_offset): Use ssizetype instead sizetype. Remove
3465         redundant fold. Fix misalignment for MINUS_EXPR.
3466         (vect_compute_data_ref_alignment): Use ssizetype instead sizetype.
3467         (vect_analyze_pointer_ref_access): Likewise.
3468         (vect_get_memtag_and_dr): Likewise.
3469
3470 2005-01-31  Richard Henderson  <rth@redhat.com>
3471