OSDN Git Service

PR tree-optimization/20204
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2005-02-25  Diego Novillo  <dnovillo@redhat.com>
2
3         PR tree-optimization/20204
4         * tree-into-ssa.c (insert_phi_nodes_for): Do not use
5         REWRITE_THIS_STMT markers on PHI nodes.
6         (rewrite_initialize_block): Likewise.
7
8 2005-02-25  Mark Mitchell  <mark@codesourcery.com>
9
10         * version.c (version_string): Update to 4.1.
11
12 2005-02-25  Paolo Carlini  <pcarlini@suse.de>
13
14         * doc/extend.texi (5.24 Declaring Attributes of Functions)<noreturn>:
15         Clarify that the alternative way doesn't work in GNU C++.
16
17 2005-02-25  Zdenek Dvorak  <dvorakz@suse.cz>
18
19         * tree-ssa-dom.c (simple_iv_increment_p): New function.
20         (simplify_rhs_and_lookup_avail_expr, eliminate_redundant_computations):
21         Do not propagate value of iv before increment over the increment.
22
23 2005-02-25  Zdenek Dvorak  <dvorakz@suse.cz>
24
25         PR tree-optimization/19937
26         * tree-ssa-loop-ivopts.c (rewrite_use_compare): Cast the final value
27         to the type of the induction variable.
28
29 2005-02-25  Kaz Kojima  <kkojima@gcc.gnu.org>
30
31         PR rtl-optimization/20117
32         * bb-reorder.c (duplicate_computed_gotos): Don't duplicate
33         the block including noncopyable insn.
34
35 2005-02-24  Kazu Hirata  <kazu@cs.umass.edu>
36
37         * cse.c (delete_trivially_dead_insns): Speed up by minimizing
38         calls to find_reg_note.
39
40 2005-02-24  Richard Henderson  <rth@redhat.com>
41
42         PR tree-opt/20127
43         * tree-sra.c (instantiate_element): Copy TREE_THIS_VOLATILE from
44         the type.
45
46 2005-02-24  Fariborz Jahanian <fjahanian@apple.com>
47
48         * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Check for
49         vector types if to use base reg for misaligned non-word ld/std.
50
51 2005-02-24  Hans-Peter Nilsson  <hp@axis.com>
52
53         PR target/14619
54         * config/cris/cris.c (cris_target_asm_function_prologue): Create
55         dwarf2 label manually and put it after, not before the prologue.
56
57 2005-02-24  David Edelsohn  <edelsohn@gnu.org>
58
59         PR target/19019
60         * reload.c (operands_match_p): Only increment register number for
61         SCALAR_INT_MODE_P modes in multiple hard registers.
62
63         * config/rs6000/rs6000.md (trunctfdf2): Remove register constraints.
64         Fix formatting.
65
66 2005-02-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
67
68         * ChangeLog.5: Fix log message typo(s).
69         * ChangeLog.7: Likewise.
70         * ChangeLog.tree-ssa: Likewise.
71         * cfgexpand.c: Fix comment typo(s).
72         * conflict.c: Likewise.
73         * defaults.h: Likewise.
74         * dwarf2out.c: Likewise.
75         * gcse.c: Likewise.
76         * ggc-page.c: Likewise.
77         * tree-eh.c: Likewise.
78         * tree-ssa-dom.c: Likewise.
79
80 2005-02-24  Jakub Jelinek  <jakub@redhat.com>
81
82         PR target/19019
83         * mklibgcc.in: Pass -DSHARED when compiling all *_s${objext} objects.
84         * config/rs6000/darwin-ldouble.c: Only use the .symver directives
85         if SHARED is defined.
86
87         PR target/20196
88         * config/rs6000/rs6000.md (LTU, GTU sCC splitters): Add earlyclobber,
89         allow splitting only if operands 0 and 3 don't overlap.
90
91 2005-02-24  Richard Henderson  <rth@redhat.com>
92
93         PR middle-end/19953
94         * builtins.c (fold_builtin_complex_mul, fold_builtin_complex_div): New.
95         (fold_builtin_1): Call them.
96         * fold-const.c (fold_complex_mult_parts): Split out from ...
97         (fold_complex_mult): ... here.  Fix typo in both imaginary case.
98         (fold_complex_div_parts, fold_complex_div): New.
99         (fold): Use them.
100         * tree.h (fold_complex_mult_parts, fold_complex_div_parts): Declare.
101
102 2005-02-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
103
104         * tree-ssa-ccp.c (visit_assignment): Verify that result of
105         VIEW_CONVERT_EXPR is_gimple_min_invariant.
106
107         * print-tree.c (print_node_brief): Print LABEL_DECL_UID.
108         (print_node): Likewise.
109         Print TYPE_SIZES_GIMPLIFIED.
110
111 2005-02-24  Hans-Peter Nilsson  <hp@axis.com>
112
113         * config/cris/cris.md ("umulhisi3", "umulqihi3", "mulsi3")
114         ("mulqihi3", "mulhisi3", "mulsidi3", "umulsidi3"): Mark input
115         operands as commutative in constraints.
116
117 2005-02-24  Diego Novillo  <dnovillo@redhat.com>
118
119         * tree-into-ssa.c: Re-organize internal functions.
120
121 2005-02-24  Richard Henderson  <rth@redhat.com>
122
123         PR middle-end/18902
124         * c-opts.c (c_common_post_options): Set flag_complex_method to 2
125         for c99.
126         * common.opt (fcx-limited-range): New.
127         * opts.c (set_fast_math_flags): Set flag_cx_limited_range.
128         * toplev.c (flag_complex_method): Initialize to 1.
129         (process_options): Set flag_complex_method to 0 if
130         flag_cx_limited_range.
131         * doc/invoke.texi (-fcx-limited-range): New.
132
133 2005-02-24  Kazu Hirata  <kazu@cs.umass.edu>
134
135         * cse.c (delete_trivially_dead_insns): Speed up by using
136         NEXT_INSN and PREV_INSN directly instead of next_real_insn and
137         prev_real_insn.
138
139 2005-02-24  Andrea Tarani  <andrea.tarani@gilbarco.com>
140
141         * config/m68k/m68k.c (m68k_save_reg): Also save A5 for non-leaf
142         functions when -mid-shared-library is being used.
143
144 2005-02-23  Daniel Jacobowitz  <dan@codesourcery.com>
145
146         * doc/tm.texi (LINK_LIBGCC_SPECIAL): Remove.
147         (LINK_LIBGCC_SPECIAL_1): Don't mention it.
148         * gcc.c: Don't check for LINK_LIBGCC_SPECIAL.
149         * system.h: Poison LINK_LIBGCC_SPECIAL.
150
151 2005-02-23  James E Wilson  <wilson@specifixinc.com>
152
153         * gengtype.c (note_insn_name): Make 1 element larger.
154
155 2005-02-23  Roger Sayle  <roger@eyesopen.com>
156
157         PR target/20018
158         PR rtl-optimization/20097
159         * simplify-rtx.c (simplify_relational_operation_1): Avoid creating
160         BImode SUBREGs of SImode registers which confuse the ia64 backend.
161
162 2005-02-23  David Edelsohn  <edelsohn@gnu.org>
163
164         * t-aix43 (SHLIB_INSTALL): Create directory for shared library.
165         * t-aix52 (SHLIB_INSTALL): Same.
166
167 2005-02-23  Kazu Hirata  <kazu@cs.umass.edu>
168
169         * genpreds.c: Update copyright.
170
171 2005-02-23  Michael Beach  <michaelb@ieee.org>
172
173         PR target/20159
174         * config/sparc/t-elf (startup files): Assemble with CPP.
175
176 2005-02-23  Paolo Bonzini  <bonzini@gnu.org>
177
178         * genpreds.c (mark_mode_tests): Handle non-VOIDmode match_operands.
179         (write_predicate_expr): Likewise.
180
181 2005-02-22  Diego Novillo  <dnovillo@redhat.com>
182
183         PR tree-optimization/20100
184         PR tree-optimization/20115
185         * tree-optimize.c (init_tree_optimization_passes): Remove
186         pass_maybe_create_global_var.
187         * tree-pass.h (pass_maybe_create_global_var): Remove.
188         * tree-ssa-alias.c (aliases_computed_p): Declare.
189         (struct alias_info): Add field NUM_PURE_CONST_CALLS_FOUND.
190         (count_calls_and_maybe_create_global_var): Remove.
191         (pass_maybe_create_global_var): Remove.
192         (init_alias_info): Do not declare aliases_computed_p.
193         (maybe_create_global_var): If the function contains no
194         call-clobbered variables and a mix of pure/const and regular
195         function calls, create .GLOBAL_VAR.
196         Mark all call-clobbered variables for renaming.
197         (merge_pointed_to_info): Update comment.
198         (add_pointed_to_var): Likewise.
199         (is_escape_site): Likewise.
200         Accept struct alias_info * instead of size_t *.
201         Update all users.
202         Update AI->NUM_CALLS_FOUND and AI->NUM_PURE_CONST_CALLS_FOUND
203         as necessary.
204         * tree-ssa-operands.c (get_call_expr_operands): If
205         ALIASES_COMPUTED_P is false, do not add call-clobbering
206         operands.
207         * tree-ssa.c (init_tree_ssa): Set ALIASES_COMPUTED_P to false.
208         (delete_tree_ssa): Likewise.
209
210 2005-02-22  James E Wilson  <wilson@specifixinc.com>
211
212         * toplev.c (backend_init): Don't call init_adjust_machine_modes here.
213         (do_compile): Do call it here.
214
215 2005-02-22  Kazu Hirata  <kazu@cs.umass.edu>
216
217         PR rtl-optimization/20017.
218         * passes.c (rest_of_handle_combine, rest_of_handle_cse,
219         rest_of_handle_cse2, rest_of_handle_gcse): Call
220         delete_dead_jumptables immediately before calling cleanup_cfg.
221
222 2005-02-22  Devang Patel  <dpatel@apple.com>
223
224         PR 19952
225         * tree-if-conv.c (process_phi_nodes): Use bsi_after_labels and skip 
226         all labels
227         
228 2005-02-22  David Edelsohn  <edelsohn@gnu.org>
229
230         * config/rs6000/aix.h (WINT_TYPE): Define.
231
232 2005-02-22  Stan Shebs  <shebs@apple.com>
233
234         * config/rs6000/rs6000.c (rs6000_override_options): Default to
235         natural alignment for 64-bit Darwin.
236         (rs6000_parse_alignment_option): Warn about uses of -malign-power
237         on 64-bit Darwin.
238         * doc/invoke.texi: Document this.
239
240 2005-02-22  DJ Delorie  <dj@redhat.com>
241
242         * c-common.c (c_common_type_for_mode): Pass the mode's precision
243         to make_[un]signed_type, not the mode itself.
244
245 2005-02-22  Kazu Hirata  <kazu@cs.umass.edu>
246
247         * cfg.c (cached_make_edge): Call make_edge if edge cache is
248         not available.  Use tail calls wherever possible.
249         (make_edge): Call unchecked_make_edge to create an edge.
250
251         * tree-outof-ssa.c (SSANORM_USE_COALESCE_LIST): Remove.
252         (coalesce_ssa_name): Don't check for
253         SSANORM_USE_COALESCE_LIST.
254         (rewrite_out_of_ssa): Don't use SSANORM_USE_COALESCE_LIST.
255
256 2005-02-22  Diego Novillo  <dnovillo@redhat.com>
257
258         * tree-into-ssa.c (rewrite_blocks): Move debug dumps from ...
259         (rewrite_into_ssa): ... here.
260
261 2005-02-21  Alexandre Oliva  <aoliva@redhat.com>
262
263         PR tree-optimization/19786
264         * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Add one
265         tag to another's may-alias bitmap when adding to the other's list.
266
267 2005-02-21  DJ Delorie  <dj@redhat.com>
268
269         * tree-ssa-loop-ivopts.c (computation_cost): Start register
270         numbering at LAST_VIRTUAL_REGISTER+1 to avoid possibly using hard
271         registers in unsupported ways.
272         * expmed.c (init_expmed): Likewise.
273         
274 2005-02-21  Stan Cox  <scox@redhat.com>
275
276         * config/iq2000/iq2000.h (DWARF_FRAME_RETURN_COLUMN): Change to 31.
277
278 2005-02-21  Kazu Hirata  <kazu@cs.umass.edu>
279
280         * tree-cfg.c (fold_cond_expr_cond): New.
281         (make_edges): Call fold_cond_expr_cond.
282         (find_taken_edge): Accept nothing but INTEGER_CST.
283         (find_taken_edge_cond_expr): Reject INTEGER_CST other than 0
284         and 1.
285         (find_taken_edge_switch_expr): Remove a check for INTEGER_CST.
286
287         * flow.c (delete_dead_jumptables): Speed up by scanning insns
288         that do not belong to any basic block.
289
290 2005-02-21  Jeff Law  <law@redhat.com>
291
292         * cfganal.c (find_unreachable_blocks): Manually CSE load of
293         e->dest.
294
295 2005-02-21  Kazu Hirata  <kazu@cs.umass.edu>
296
297         * tree-outof-ssa.c (SSANORM_REMOVE_ALL_PHIS): Remove.
298         (SSANORM_COALESCE_PARTITIONS, SSANORM_USE_COALESCE_LIST):
299         Adjust their definitions.
300         (remove_ssa_form): Don't check for SSANORM_REMOVE_ALL_PHIS.
301         (rewrite_out_of_ssa): Don't use SSANORM_REMOVE_ALL_PHIS.
302
303         * c-objc-common.h, c-pretty-print.c, cgraphunit.c, except.c,
304         genautomata.c, langhooks.c, langhooks.h, system.h,
305         config/arm/lib1funcs.asm: Update copyright.
306
307 2005-02-21  Ulrich Weigand  <uweigand@de.ibm.com>
308
309         * dbxout.c (dbxout_function_end): Emit Lscope label always.
310
311 2005-02-21  Richard Guenther  <rguenth@gcc.gnu.org>
312
313         PR bootstrap/13770
314         * doc/install.texi: Document --with-gc.
315
316 2005-02-21  Paolo Bonzini  <bonzini@gnu.org>
317
318         * simplify-rtx.c (simplify_unary_operation): Add a missing
319         "break" statement.
320
321 2005-02-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
322
323         PR tree-optimization/18663
324         * tree-ssa-dom.c (extract_range_from_cond): Return 0
325         if the type has variable bounds.
326
327 2005-02-20  Kazu Hirata  <kazu@cs.umass.edu>
328
329         * gcse.c: Remove an obsolete comment.
330
331         * cse.c (init_cse_reg_info): Use xmalloc instead of xrealloc.
332
333 2005-02-20  Hans-Peter Nilsson  <hp@axis.com>
334
335         * doc/extend.texi (Function Attributes) <Attribute const>: The
336         attribute "pure" is below this text, not above.
337
338 2005-02-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
339
340         * pa.c (pa_assemble_integer, get_plabel): Small cleanups.
341         (pa_asm_output_mi_thunk): Use asm_output_insn instead of fprintf.
342         * som.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Small cleanup.
343
344 2005-02-20  Zack Weinberg  <zack@codesourcery.com>
345
346         PR 18785
347         * langhooks.h (struct lang_hooks): Add to_target_charset.
348         * langhooks.c (lhd_to_target_charset): New function.
349         * langhooks-def.h: Declare lhd_to_target_charset.
350         (LANG_HOOKS_TO_TARGET_CHARSET): New macro.
351         (LANG_HOOKS_INITIALIZER): Update.
352         * c-common.c (c_common_to_target_charset): New function.
353         * c-common.h: Declare it.
354         * c-objc-common.h (LANG_HOOKS_TO_TARGET_CHARSET): Set to
355         c_common_to_target_charset.
356
357         * defaults.c (TARGET_BELL, TARGET_BS, TARGET_CR, TARGET_DIGIT0)
358         (TARGET_ESC, TARGET_FF, TARGET_NEWLINE, TARGET_TAB, TARGET_VT):
359         Delete definitions.
360         * system.h: Poison them.
361         * doc/tm.texi: Don't discuss them.
362         * builtins.c (fold_builtin_isdigit): Use lang_hooks.to_target_charset.
363         * c-pretty-print.c (pp_c_integer_constant): Don't use pp_c_char.
364         (pp_c_char): Do not attempt to generate letter escapes for
365         newline, tab, etc.
366         * config/arm/arm.c (output_ascii_pseudo_op): Likewise.
367         * config/mips/mips.c (mips_output_ascii): Likewise.
368
369 2005-02-20  Dorit Naishlos  <dorit@il.ibm.com>
370
371         PR tree-optimization/19951
372         * tree-vect-analyze.c (vect_analyze_loop_form): Check if loop exit edge
373         is abnormal.
374
375 2005-02-19  Steven Bosscher  <stevenb@suse.de>
376
377         PR middle-end/19698
378         * function.h (struct function): New field `max_loop_depth'.
379         * cfgloop.c (establish_preds): Update maximum loop depth seen so far.
380         (flow_loops_find): Reset the max loop depth count before finding loops.
381         * flow.c (MAX_LIVENESS_ROUNDS): New constant.
382         (update_life_info_in_dirty_blocks): Remove 2002-05-28 workaround.
383         (calculate_global_regs_live): Make sure the loop will terminate
384         when the initial sets are not empty.
385
386 2005-02-19  Zack Weinberg  <zack@codesourcery.com>
387
388         * mklibgcc.in: If libgcc_eh.a would be empty, put a dummy
389         object inside.
390         * config/ia64/hpux.h: Don't define LIBGCC_SPEC.
391
392 2005-02-19  Richard Sandiford  <rsandifo@redhat.com>
393
394         PR other/19525
395         * doc/invoke.texi: Remove documentation of %M spec.
396         * gcc.c: Likewise.
397         (init_spec): Remove %M suffix from -lgcc_s.
398         (do_spec_1): Remove 'M' case.
399         * mklibgcc.in: Remove SHLIB_MULTILIB handling.  Expect SHLIB_LINK
400         to put shared libraries in the multilib directory.  Remove the
401         shlib_so_soname substitution variable.  Don't add a multilib encoding
402         to shlib_base_name.  Set shlib_slibdir_qual to the full pathname
403         reported by -print-multi-os-directory.  Pass @multilib_dir@ to
404         SHLIB_INSTALL as well as SHLIB_LINK.
405         * config/t-slibgcc-elf-ver (SHLIB_SONAME): Use @shlib_base_name@.
406         (SHLIB_NAME): Delete.
407         (SHLIB_DIR): New macro.
408         (SHLIB_LINK): Put $(SHLIB_SONAME) and $(SHLIB_SOLINK) in $(SHLIB_DIR).
409         (SHLIB_INSTALL): Adjust accordingly.
410         * config/t-slibgcc-darwin: As for t-slibgcc-elf-ver.
411         * config/t-slibgcc-sld: Likewise.
412         * config/t-libunwind-elf (SHLIBUNWIND_NAME): Delete.
413         (SHLIBUNWIND_SONAME): Use @shlib_base_name@.
414         (SHLIBUNWIND_LINK): Put $(SHLIBUNWIND_SONAME) and $(SHLIB_SOLINK)
415         in $(SHLIB_DIR).
416         (SHLIBUNWIND_INSTALL): Adjust accordingly.
417         * config/i386/t-nwld (SHLIB_SONAME): Delete.
418         (SHLIB_LINK, SHLIB_INSTALL): Use SHLIB_NAME instead of SHLIB_SONAME.
419         Use @shlib_base_name@ instead of @shlib_so_name@.
420         * config/ia64/t-hpux (SHLIB_LINK): Put @shlib_base_name@.so.0
421         and @shlib_base_name@.so in @multilib_dir@.
422         (SHLIB_INSTALL): Adjust accordingly.  Add @shlib_slibdir_qual@
423         to the install path.
424         * config/mips/t-slibgcc-irix: As for t-slibgcc-elf-ver.
425         (SHLIB_LINK): Remove previous workaround.
426         * config/pa/t-hpux-shlib (SHLIB_DIR, SHLIB_SLIBDIR_QUAL): New macros.
427         (SHLIB_LINK): Put $(SHLIB_SONAME) and $(SHLIB_NAME) in $(SHLIB_DIR).
428         (SHLIB_INSTALL): Adjust accordingly.  Add $(SHLIB_SLIBDIR_QUAL) to
429         the install path.
430         * config/rs6000/t-aix43 (SHLIB_LINK): Put @shlib_base_name@.a in
431         @multilib_dir@.  Use @multilib_dir@ to check for threading libraries.
432         (SHLIB_INSTALL): Adjust accordingly.
433         (SHLIB_LIBS): Use @multilib_dir@ to check for threading libraries.
434         * config/rs6000/t-aix52: As for config/rs6000/t-aix43.
435         * config/sh/t-linux (SHLIB_LINK, SHLIB_INSTALL): As for
436         config/t-slibgcc-elf-ver.
437
438 2005-02-19  Zdenek Dvorak  <dvorakz@suse.cz>
439             Jakub Jelinek  <jakub@redhat.com>
440
441         PR tree-optimization/19828
442         * tree-ssa-loop-im.c: Add a TODO comment.
443         (movement_possibility): Return MOVE_PRESERVE_EXECUTION for calls
444         without side-effects.
445
446 2005-02-18  James A. Morrison  <phython@gcc.gnu.org>
447
448         * tree-ssa-ccp.c (widen_bitfield): Pass type to build_int_cst and don't
449         call fold_convert.
450
451 2005-02-18  James E. Wilson  <wilson@specifixinc.com>
452
453         * doc/invoke.texi (IA-64 Options): Delete -mb-step.
454         * config/ia64/ia64.c (last_group, group_idx): Delete variables.
455         (errata_find_address_regs, errata_emit_nops, fixup_errata): Delete
456         functions.
457         (ia64_reorg): Delete fixup_errata call.
458         * config/ia64/ia64.h (MASK_B_STEP, TARGET_B_STEP): Delete.
459         (TARGET_SWITCHES): Delete -mb-step entry.
460
461 2005-02-19  Jakub Jelinek  <jakub@redhat.com>
462
463         PR c/20043
464         * c-typeck.c (composite_type): Handle quals in transparent unions.
465         (type_lists_compatible_p): Likewise.
466
467 2005-02-18  Stan Shebs  <shebs@apple.com>
468
469         * config/darwin.c (machopic_select_rtx_section): Don't put relocatable
470         expressions in the .literal8 section.
471
472 2005-02-18  Geoffrey Keating  <geoffk@apple.com>
473
474         * config/rs6000/darwin-tramp.asm: Remove stray 'APPLE LOCAL' marker.
475
476 2005-02-18  Roger Sayle  <roger@eyesopen.com>
477
478         * fold-const.c (constant_boolean_node): Always create values of the
479         specified type, don't bother calling truthvalue_conversion.
480
481 2005-02-18  Joseph S. Myers  <joseph@codesourcery.com>
482
483         * except.c (output_function_exception_table): Call
484         assemble_external_libcall (eh_personality_libfunc).
485
486 2005-02-18  Joseph S. Myers  <joseph@codesourcery.com>
487
488         PR target/19886
489         * config/ia64/ia64.h (struct machine_function): Add state_num.
490         * config/ia64/ia64.c (process_epilogue,
491         process_for_unwind_directive): Use new unwind state numbers each
492         time rather than state 1.
493
494 2005-02-18  Ulrich Weigand  <uweigand@de.ibm.com>
495
496         PR target/20054
497         * config/s390/s390.md ("*llgt_sidi", "*llgt_sidi_split"): Move to
498         before the "*llgt_didi" pattern.
499
500 2005-02-18  Jason Merrill  <jason@redhat.com>
501
502         * gimplify.c (gimplify_modify_expr_rhs) [CALL_EXPR]: Revert again.
503
504 2005-02-18  Richard Earnshaw  <rearnsha@arm.com>
505
506         * arm/lib1funcs.asm (FUNC_ALIAS): New macro.
507         (div0): Use it in place of ARM_FUNC_ALIAS.
508         (lshrdi3, ashrdi3, ashlrdi3): Likewise.
509
510 2005-02-18  Andrew Pinski  <pinskia@physics.uc.edu>
511
512         PR middle-end/20030
513         * fold-const.c (fold_indirect_ref_1): Use the correct index for zero
514         access, the lower bound of the array type if it exists.
515
516 2005-02-18  Alexandre Oliva  <aoliva@redhat.com>
517
518         PR c++/20008
519         * stmt.c (expand_case): Don't assume cleanup_tree_cfg will remove
520         cases that are out-of-range for the index type.
521
522 2005-02-18  James A. Morrison  <phython@gcc.gnu.org>
523
524         * stmt.c (emit_case_bit_tests): Call fold_convert instead of convert.
525         (estimate_case_costs): Don't call convert.
526         * expmed.c (expand_shift): Likewise.
527         (make_tree): Call fold_convert instead of convert.
528
529 2005-02-18  Jakub Jelinek  <jakub@redhat.com>
530
531         PR c++/19813
532         * emit-rtl.c (set_mem_attributes_minus_bitpos): Add assertion
533         that ref to be marked MEM_READONLY_P doesn't have base that needs
534         constructing.
535
536 2005-02-18  Joseph S. Myers  <joseph@codesourcery.com>
537
538         * genautomata.c (output_get_cpu_unit_code_func,
539         output_cpu_unit_reservation_p): Don't generate old-style function
540         definitions.
541
542 2005-02-18  Jakub Jelinek  <jakub@redhat.com>
543
544         PR c++/20023
545         PR tree-optimization/20009
546         * convert.c (convert_to_integer): Revert 2005-02-16 change.
547
548         PR tree-optimization/18947
549         * cgraphunit.c (cgraph_finalize_function): When redefining an extern
550         inline, remove all nodes that are inlined into the extern inline
551         being redefined.
552
553 2005-02-17  Kazu Hirata  <kazu@cs.umass.edu>
554
555         * bt-load.c, cfgloop.c, convert.c, dominance.c, global.c,
556         loop-invariant.c, stmt.c, tree-ssa-forwprop.c,
557         tree-ssa-live.c, tree-ssanames.c, tree-vn.c,
558         config/host-linux.c, config/arm/fpa.md, config/avr/avr.h:
559         Update copyright.
560
561 2005-02-17  Roger Sayle  <roger@eyesopen.com>
562
563         PR tree-optimization/19917
564         * tree-eh.c (tree_could_trap_p): Consider calls to weak functions
565         to be potentially trapping.
566
567 2005-02-17  Kazu Hirata  <kazu@cs.umass.edu>
568
569         * libgcc2.c, tree-vect-analyze.c: Fix comment typos.
570
571 2005-02-17  Andreas Krebbel  <krebbel1@de.ibm.com>
572
573         * builtins.c (expand_builtin_return_addr): Remove tem parameter.
574         tem becomes a local variable which is set to the value of the
575         back end defined INITIAL_FRAME_ADDRESS macro.
576         (expand_builtin_frame_address): Omit the base parameter to
577         expand_builtin_return_addr.
578         (expand_builtin_profile_func): Likewise.
579         * config/s390/s390.h (INITIAL_FRAME_ADDRESS_RTX): Define new macro.
580         (DYNAMIC_CHAIN_ADDRESS): Remove the case for the initial frame.
581         * doc/tm.texi: Documentation for INITIAL_FRAME_ADDRESS_RTX added.
582
583 2005-02-17  Jakub Jelinek  <jakub@redhat.com>
584
585         * config/s390/s390.c (s390_alloc_pool, s390_free_pool,
586         s390_chunkify_start): Use BITMAP_ALLOC and BITMAP_FREE.
587         * config/frv/frv.c (frv_function_epilogue): Likewise.
588
589 2005-02-17  Daniel Berlin  <dberlin@dberlin.org>
590
591         * lambda-code (perfect_nestify): Remove mark/unmark
592         for rewriting hack.
593         * tree-loop-linear.c (linear_transform_loops): Add
594         rewrite_into_ssa call so that ssa is correct for
595         rewriting into loop closed.
596
597 2005-02-17  Nathan Sidwell  <nathan@codesourcery.com>
598
599         * bitmap.h (BITMAP_XMALLOC, BITMAP_XFREE): Remove.
600         * bb-reorder.c (duplicate_computed_gotos): Use BITMAP_ALLOC and
601         BITMAP_FREE.
602         * bt-load.c (btr_def_live_range, combine_btr_defs,
603         migrate_btr_def, migrate_btr_defs): Likewise.
604         * cfgcleanup.c (thread_jump): Likewise.
605         * cfgloop.c (get_loop_body_in_bfs_order): Likewise.
606         * df.c (df_insn_table_realloc, df_bitmaps_alloc, df_bitmaps_free,
607         df_alloc, df_free, df_du_chain_create, df_bb_rd_local_compute,
608         df_rd_local_compute, df_reg_info_compute): Likewise.
609         * dominance.c (init_dom_info, free_dom_info): Likewise.
610         * flow.c (init_propagate_block_info,
611         free_propagate_block_info): Likewise.
612         * gcse.c (alloc_gcse_mem, free_gcse_mem): Likewise.
613         * global.c (allocate_bb_info, free_bb_info, calculate_reg_pav,
614         modify_reg_pav): Likewise.
615         * loop-invariant.c (find_defs, find_invariant_insn,
616         find_invariants, free_inv_motion_data): Likewise.
617         * predict.c (tree_predict_by_opcode,
618         estimate_bb_frequencies): Likewise.
619         * stmt.c (expand_case): Likewise.
620         * tree-cfg.c (tree_duplicate_sese_region): Likewise.
621         * tree-dfa.c (mark_new_vars_to_rename): Likewise.
622         * tree-if-conv.c (get_loop_body_in_if_conv_order): Likewise.
623         * tree-into-ssa.c (insert_phi_nodes_for, def_blocks_free,
624         get_def_blocks_for, mark_def_site_blocks, rewrite_into_ssa,
625         rewrite_ssa_into_ssa): Likewise.
626         * tree-optimize.c (tree_rest_of_compilation): Likewise.
627         * tree-outof-ssa.c (new_temp_expr_table, free_temp_expr_table,
628         analyze_edges_for_bb, perform_edge_inserts): Likewise.
629         * tree-scalar-evolution.c (scev_initialize, scev_finalize): Likewise.
630         * tree-sra.c (tree_sra): Likewise.
631         * tree-ssa-alias.c (init_alias_info, delete_alias_info): Likewise.
632         * tree-ssa-ccp.c (ccp_fold_builtin): Likewise.
633         * tree-ssa-dce.c (tree_dce_init, tree_dce_done): Likewise.
634         * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
635         * tree-ssa-dse.c (tree_ssa_dse): Likewise.
636         * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_var):
637         Likewise.
638         * tree-ssa-live.c (new_tree_live_info, delete_tree_live_info,
639         calculate_live_on_entry, calculate_live_on_exit,
640         build_tree_conflict_graph): Likewise.
641         * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize_init, record_use,
642         record_important_candidates, set_use_iv_cost, find_depends,
643         determine_use_iv_costs, iv_ca_new, iv_ca_free, free_loop_data,
644         tree_ssa_iv_optimize_finalize): Likewise.
645         * tree-ssa-loop-manip.c (add_exit_phis_var, get_loops_exit,
646         find_uses_to_rename_use, rewrite_into_loop_closed_ssa,
647         tree_duplicate_loop_to_header_edge): Likewise.
648         * tree-ssa-pre.c (init_pre, fini_pre): Likewise.
649         * tree-ssa.c (verify_flow_insensitive_alias_info,
650         verify_name_tags, verify_ssa, init_tree_ssa,
651         delete_tree_ssa): Likewise.
652         * tree-ssanames.c (marked_ssa_names, init_ssanames,
653         fini_ssanames): Likewise.
654         * tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Likewise.
655
656 2005-02-17  Ralf Corsepius  <ralf.corsepius@rtems.org>
657
658         * config/rs6000/t-rtems: Completely reworked.
659
660 2005-02-17  Ira Rosen  <irar@il.ibm.com>
661
662         * tree-data-ref.c (array_base_name_differ_p): Remove gcc_assert.
663
664 2005-02-17  Ira Rosen  <irar@il.ibm.com>
665
666         * tree-vect-analyze.c (vect_analyze_pointer_ref_access): Use
667         POINTER_TYPE_P when checking that type is a pointer.
668         (vect_get_memtag): Remove.
669         (vect_address_analysis): Use POINTER_TYPE_P. Call
670         vect_object_analysis with dummy parameter for memtag.
671         (vect_object_analysis): Extract memtag (functionality that
672         used to be in vect_get_memtag and moved here). Fix printings.
673         (vect_analyze_data_refs): Fix comment. Call vect_object_analysis
674         with correct parameters. Remove call to vect_get_memtag.
675
676 2005-02-17  Dorit Naishlos  <dorit@il.ibm.com>
677
678         * Makefile.in (tree-vect-analyze.o, tree-vect-transform.o): New.
679         (tree-vectorizer.o): Added missing dependencies.
680
681         * tree-vectorizer.h (vect_dump, vect_verbosity_level): Added extern
682         decleration.
683         (slpeel_tree_peel_loop_to_edge): Function externalized (had a static
684         declaration in tree-vectorizer.c, now has an extern declaration in
685         tree-vectorizer.h).
686         (slpeel_make_loop_iterate_ntimes, slpeel_can_duplicate_loop_p,
687         slpeel_verify_cfg_after_peeling, vect_strip_conversion,
688         get_vectype_for_scalar_type, vect_is_simple_use,
689         vect_is_simple_iv_evolution, vect_can_force_dr_alignment_p,
690         vect_supportable_dr_alignment, new_loop_vec_info, destroy_loop_vec_info,
691         new_stmt_vec_info, vect_analyze_loop, vectorizable_load,
692         vectorizable_store, vectorizable_operation, vectorizable_assignment,
693         vect_transform_loop, vect_print_dump_info, vect_set_verbosity_level,
694         find_loop_location): Likewise.
695
696         * tree-vectorizer.c (langhooks.h): #include removed.
697         (slpeel_tree_peel_loop_to_edge): Function externalized. Declaration
698         moved to tree-vectorized.h.
699         (slpeel_make_loop_iterate_ntimes, slpeel_can_duplicate_loop_p,
700         slpeel_verify_cfg_after_peeling, vect_strip_conversion,
701         get_vectype_for_scalar_type, vect_is_simple_use,
702         vect_is_simple_iv_evolution, vect_can_force_dr_alignment_p,
703         vect_supportable_dr_alignment, new_loop_vec_info,
704         destroy_loop_vec_info, new_stmt_vec_info, vect_print_dump_info,
705         vect_set_verbosity_level, find_loop_location): Likewise.
706
707         (vect_analyze_loop): Function externalized. Declaration moved to
708         tree-vectorized.h. Function definition moved to tree-vect-analyze.c.
709         (vect_analyze_loop_form): Moved to tree-vect-analyze.c.
710         (vect_mark_stmts_to_be_vectorized, vect_analyze_scalar_cycles,
711         vect_analyze_data_ref_accesses, vect_analyze_data_ref_dependences,
712         vect_analyze_data_refs_alignment, vect_compute_data_refs_alignment,
713         vect_enhance_data_refs_alignment, vect_analyze_operations,
714         exist_non_indexing_operands_for_use_p, vect_mark_relevant,
715         vect_stmt_relevant_p, vect_get_loop_niters,
716         vect_analyze_data_ref_dependence, vect_compute_data_ref_alignment,
717         vect_analyze_data_ref_access, vect_analyze_pointer_ref_access,
718         vect_can_advance_ivs_p, vect_get_ptr_offset, vect_analyze_offset_expr,
719         vect_base_addr_differ_p, vect_object_analysis, vect_address_analysis,
720         vect_get_memtag): Likewise.
721
722         (vectorizable_load): Function externalized. Declaration moved to
723         tree-vectorized.h. Function definition moved to tree-vect-transform.c.
724         (vectorizable_store, vectorizable_operation, vectorizable_assignment,
725         vect_transform_loop): Likewise.
726         (vect_transform_stmt): Moved to tree-vect-transform.c.
727         (vect_align_data_ref, vect_create_destination_var,
728         vect_create_data_ref_ptr, vect_create_index_for_vector_ref,
729         vect_create_addr_base_for_vector_ref, vect_get_new_vect_var,
730         vect_get_vec_def_for_operand, vect_init_vector,
731         vect_finish_stmt_generation, vect_generate_tmps_on_preheader,
732         vect_build_loop_niters, vect_update_ivs_after_vectorizer,
733         vect_gen_niters_for_prolog_loop, vect_update_inits_of_dr,
734         vect_update_inits_of_drs, vect_do_peeling_for_alignment,
735         vect_do_peeling_for_loop_bound): Likewise.
736
737         * tree-vect-analyze.c: New file.
738         * tree-vect-transform.c: New file.
739
740 2005-02-17  Jason Merrill  <jason@redhat.com>
741
742         PR mudflap/19319, c++/19317
743         * gimplify.c (gimplify_modify_expr_rhs) [CALL_EXPR]: Make return
744         slot explicit.
745
746 2005-02-17  Gerald Pfeifer  <gerald@pfeifer.com>
747
748         * doc/install.texi (Specific): Update link for Darwin-specific
749         tool binary site.
750
751 2005-02-16  James A. Morrison  <phython@gcc.gnu.org>
752
753         * fold-const.c (invert_truthvalue): <INTEGER_CST>: Call
754         constant_boolean_node.
755
756 2005-02-16  David Edelsohn  <edelsohn@gnu.org>
757
758         PR target/19019
759         * config/rs6000/t-aix43 (SHLIB_MAPFILES): Add libgcc-ppc64.ver.
760         * config/rs6000/t-aix52 (SHLIB_MAPFILES): Same.
761
762 2005-02-16  Richard Henderson  <rth@redhat.com>
763
764         PR 19920
765         * libgcc2.c (WORD_SIZE): Remove all definitions; replace uses
766         with W_TYPE_SIZE.
767         (HIGH_WORD_COEFF, HIGH_HALFWORD_COEFF): Remove all definitions;
768         replace uses with Wtype_MAXp1_F.
769         (L_fixunstfdi, L_fixtfdi, L_floatditf, L_fixunsxfdi, L_fixxfdi,
770         L_floatdixf, L_fixunsxfsi, L_fixunsdfdi, L_floatdidf, L_fixunsdfsi,
771         L_powidf2, L_powixf2, L_powitf2, L_muldc3, L_divdc3, L_mulxc3,
772         L_divxc3, L_multc3, L_divtc3): Protect with HAVE_DFMODE, HAVE_XFMODE,
773         and HAVE_TFMODE as appropriate.
774         (__fixunssfDI): Provide an implementation that doesn't need DFmode.
775         (__floatdisf): Likewise.
776         * libgcc2.h (LIBGCC2_DOUBLE_TYPE_SIZE): New.
777         (HAVE_DFMODE, HAVE_XFMODE, HAVE_TFMODE): New.
778         (Wtype_MAXp1_F): New.
779         (DFtype, DCtype, __fixdfdi, __floatdidf, __fixunsdfSI, __fixunsdfDI,
780         __powidf2, __divdc3, __muldc3): Protect with HAVE_DFMODE.
781
782 2005-02-16  Richard Earnshaw  <rearnsha@arm.com>
783
784         * PR target/19162
785         * arm.c (arm_apply_result_size): New function.
786         * arm.h (APPLY_RESULT_SIZE): Define.
787         * arm-protos.h (arm_apply_result_size): Add prototype.
788         * arm.md (RO_REGNUM, FPA_F0_REGNUM, FPA_F7_REGNUM): New constants.
789         (movxf): New expand.
790         (ldmsi_postinc4_thumb, stmsi_postinc4_thumb): New patterns for Thumb.
791         (call_value_symbol): Remove predicate for operand 0.
792         (call_value_insn, sibcall_value, sibcall_value_insn): Likewise.
793         (untyped_call): Rework to correclty return values for any type.
794         (untyped_return): New expand.
795         * fpa.md (movxf_fpa): Simplify and use sfm/lfm when appropriate.
796
797 2005-02-16  Stan Shebs  <shebs@apple.com>
798
799         * config.gcc (powerpc-*-darwin*): Use fragment for Darwin 8 or later.
800         * config/rs6000/t-darwin8: New, for 64-bit multilib.
801
802 2005-02-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
803
804         * doc/install.texi (sparc-sun-solaris2*): Document required GMP
805         configure settings on Solaris 7 and later.
806
807 2005-02-16  Diego Novillo  <dnovillo@redhat.com>
808
809         PR tree-optimization/19865
810         * tree-optimize.c (init_tree_optimization_passes): Run
811         pass_may_alias after pass_sra.
812
813 2005-02-16  Richard Henderson  <rth@redhat.com>
814             Stuart Hastings  <stuart@apple.com>
815
816         PR debug/19521
817         * dbxout.c (dbxout_function_end): Take decl parameter; update callers.
818         Do nothing if debug info suppressed for this function.
819         (dbxout_begin_function): Early exit if debug info suppressed for
820         this function.
821
822 2005-02-16  Kazu Hirata  <kazu@cs.umass.edu>
823
824         PR target/20007
825         * config/ip2k/ip2k.c (ip2k_reorg): Adjust calls to
826         find_basic_blocks.
827         * config/sh/sh.c (sh_output_mi_thunk): Likewise.
828
829         PR tree-optimization/19967
830         * builtins.c (expand_builtin_strstr, expand_builtin_strpbrk,
831         expand_builtin_strchr, expand_builtin_strrchr): Take a new
832         argument TYPE.  Adjust calls to fold_builtin_XXX.
833         (expand_builtin, fold_builtin_1): Adjust calls to
834         expand_builtin_XXX.
835         (fold_builtin_strchr, fold_builtin_strpbrk,
836         fold_builtin_strstr, fold_builtin_strrchr): Convert the folded
837         result to a requested type TYPE.
838
839 2005-02-16  Jakub Jelinek  <jakub@redhat.com>
840
841         PR middle-end/19857
842         * fold-const.c (fold): Don't optimize (T)(x & cst) to
843         (T)x & (T)cst if (T)cst overflows.
844         * convert.c (convert_to_integer) <case POINTER_TYPE>: Pass
845         TYPE_UNSIGNED (type) as type_for_size's UNSIGNEDP argument.
846
847 2005-02-15  Jeff Law  <law@redhat.com>
848
849         * gcse.c (blocks_with_calls): New bitmap.
850         (alloc_gcse_mem): Allocate it.
851         (free_gcse_mem): Free it.
852         (clear_modifY_mem_tables): Clear it.
853         (record_last_mem_set_info): Set the proper bit in BLOCK_WITH_CALLS
854         when we encounter CALL_INSNs.
855         (compute_transp, case MEM): Handle blocks with calls separate
856         from blocks without calls.  Use bitmap iterators rather than
857         FOR_EACH_BB.
858
859 2005-02-15  Peter O'Gorman  <peter@pogma.com>
860
861         PR bootstrap/18810
862         * mklibgcc.in (vis_hide): Use a temporary object file, not
863         -o /dev/null.
864
865 2005-02-15  Andy Hutchinson  <HutchinsonAndy@netscape.net>
866
867         PR target/19924
868         * config/avr/avr.h (MODES_TIEABLE_P): Define to 1 to allow subreg
869         access optimization.
870
871 2005-02-15  David Edelsohn  <edelsohn@gnu.org>
872             Alan Modra  <amodra@bigpond.net.au>
873
874         PR target/19019
875         * config/rs6000/darwin-ldouble.c (_xlqadd): Rename to __gcc_qadd.
876         (_xlqsub): Rename to __gcc_qsub.
877         (_xlqmul): Rename to __gcc_qmul.
878         (_xlqdiv): Rename to __gcc_qdiv.
879         Provide versioned symbol aliases with old names.
880         * config/rs6000/libgcc-ppc64.ver: Rename symbols.
881         * config/rs6000/rs6000.c (rs6000_init_libfuncs): Rename symbols.
882         * config/rs6000/t-aix43 (LIB2FUNCS_EXTRA): New.
883         * config/rs6000/t-aix52 (LIB2FUNCS_EXTRA): New.
884         * config/rs6000/t-newas (LIB2FUNCS_EXTRA): New.
885
886 2005-02-15  James A. Morrison  <phython@gcc.gnu.org>
887
888         * fold-const.c (fold): Fold -(~A) to A + 1.  Fold ~(-A) to A - 1.
889         Fold ~(A - 1) and ~(A + -1) to -A.
890
891 2005-02-15  James A. Morrison  <phython@gcc.gnu.org>
892
893         PR pch/14940
894         PR target/19300
895         * config/host-linux.c (linux_gt_pch_use_address): Copy from
896         config/pa/pa-host.c:pa_gt_pch_use_address.
897
898 2005-02-15  Daniel Berlin  <dberlin@dberlin.org>
899
900         * tree-vn.c (get_value_handle): Make sure that given an
901         is_gimple_min_invariant expression, we always return it.
902
903 2005-02-15  Kazu Hirata  <kazu@cs.umass.edu>
904
905         * passes.c (rest_of_handle_gcse): Fix a comment.
906
907 2005-02-15  Jeff Law  <law@redhat.com>
908
909         * gcse.c (canon_modify_mem_set_list_set): Kill unnecessary
910         bitmap.
911         (alloc_gcse_mem, free_gcse_mem): Corresponding changes.
912         (canon_list_insert, record_last_mem_set_info): Similarly.
913         (clear_modify_mem_tables): Similarly.
914
915 2005-02-15  Kazu Hirata  <kazu@cs.umass.edu>
916
917         * bitmap.c, bitmap.h, lambda-code.c, tree-dfa.c, tree-dump.c,
918         tree-dump.h, tree-ssa-loop-manip.c, value-prof.c,
919         config/mips/mips.md, config/rs6000/aix.h,
920         config/rs6000/beos.h, config/rs6000/sysv4.h: Update copyright.
921
922 2005-02-15  Richard Henderson  <rth@redhat.com>
923
924         * bb-reorder.c (find_traces_1_round): Force fallthru edge from a
925         call to be best_edge.
926
927 2005-02-14  Kazu Hirata  <kazu@cs.umass.edu>
928
929         * basic-block.h: Adjust the prototype for find_basic_blocks.
930         * cfgbuild.c (find_basic_blocks): Remove unused arguments.
931         * passes.c (rest_of_handle_loop_optimize): Adjust the call to
932         find_basic_blocks.
933
934         * flow.c (recompute_reg_usage): Remove all arguments.
935         * passes.c (rest_of_compilation): Adjust the call to
936         recompute_reg_usage.
937         * rtl.h: Adjust the prototype for recompute_reg_usage.
938
939 2005-02-14  Daniel Berlin  <dberlin@dberlin.org>
940
941         * tree-dump.c (dump_files): Update to reflect new member
942         of dump_file_info.
943         (dump_register): Add new argument.
944         Set glob name.
945         (dump_switch_p_1): Check against glob name if doglob was passed.
946         (dump_switch_p): Check against regular first, then glob if
947         we didn't have any hits on the dump name.
948         * tree-optimize.c (register_one_dump_file):
949         Pass in glob name as well.
950         * tree-pass.h (struct dump_file_info): Add glob
951         member.
952
953 2005-02-14  Joseph S. Myers  <joseph@codesourcery.com>
954
955         PR preprocessor/16323
956         * doc/invoke.texi: Document that -Wendif-labels is on by default.
957
958 2005-02-14  David Edelsohn  <edelsohn@gnu.org>
959
960         PR target/19019
961         * config/rs6000/rs6000.md (trunctfdf2): Change to define_expand.
962         (trunctfdf2_internal1): New.
963         (trunctfdf2_internal2): Renamed from trunctfdf2.
964
965 2005-02-14  Diego Novillo  <dnovillo@redhat.com>
966
967         PR tree-optimization/19853
968         * tree-dfa.c (add_referenced_var): Always examine DECL_INITIAL.
969
970 2005-02-14  Kazu Hirata  <kazu@cs.umass.edu>
971
972         * passes.c (rest_of_handle_loop_optimize): Remove calls to
973         delete_dead_jumptables and cleanup_cfg.
974
975 2005-02-14  Ulrich Weigand  <uweigand@de.ibm.com>
976
977         * reload.c (find_reloads): Swap address_reloaded flags when
978         swapping commutative operands.
979
980 2005-02-14  Sebastian Pop  <pop@cri.ensmp.fr>
981
982         * lambda-code.c (lambda_loopnest_to_gcc_loopnest, perfect_nestify):
983         Use standard_iv_increment_position for computing the bsi position
984         for create_iv.
985         * tree-ssa-loop-manip.c (create_iv): Add a comment on how to compute
986         the bsi position.
987
988 2005-02-13  Zdenek Dvorak  <dvorakz@suse.cz>
989
990         PR target/17428
991         * cfgrtl.c (safe_insert_insn_on_edge): Avoid extending
992         life range of hard registers.
993         * value-prof.c (insn_prefetch_values_to_profile): Only
994         scan normal insns.
995
996         * value-prof.c (rtl_find_values_to_profile): Do not look for values to
997         profile in libcalls.
998
999 2005-02-13  Nathan Sidwell  <nathan@codesourcery.com>
1000
1001         * bitmap.h (bitmap_and_compl_into): Return bool.
1002         * bitmap.c (bitmap_and_compl_into): Return changed flag.
1003
1004 2005-02-13  James A. Morrison  <phython@gcc.gnu.org>
1005
1006         PR tree-optimization/19944
1007         * fold-const.c (fold): Re-add ABS_EXPR folding.
1008
1009 2005-02-13  David Edelsohn  <edelsohn@gnu.org>
1010
1011         PR target/19019
1012         * config/rs6000/aix.h ({TARGET,MASK}_XL_CALL): Rename to
1013         {TARGET,MASK}_XL_COMPAT.
1014         (SUBTARGET_SWITCHES): Rename xl-call to xl-compat.  Use
1015         MASK_XL_COMPAT.
1016         * config/rs6000/beos.h ({TARGET,MASK}_XL_CALL): Remove.
1017         * config/rs6000/rs6000.c (function_arg): Change TARGET_XL_CALL to
1018         TARGET_XL_COMPAT.
1019         (rs6000_arg_partial_bytes): Same.
1020         (rs6000_generate_compare): Generate PARALLEL for compare if TFmode
1021         and XL compatibility enabled.
1022         * config/rs6000/rs6000.h (TARGET_XL_CALL): Rename to TARGET_XL_COMPAT.
1023         * config/rs6000/rs6000.md (cmptf_internal1): Add !TARGET_XL_COMPAT
1024         test to final condition.
1025         (cmptf_internal2): New.
1026         * doc/invoke.texi (RS/6000 Subtarget Options): Change xl-call to
1027         xl-compat.  Add TFmode information to description.
1028
1029 2005-02-13  Kazu Hirata  <kazu@cs.umass.edu>
1030
1031         * flags.h, read-rtl.c, tree-ssa-live.h: Update copyright.
1032
1033 2005-02-13  Jason Merrill  <jason@redhat.com>
1034
1035         PR c++/16405
1036         * fold-const.c (fold_indirect_ref_1): Split out from...
1037         (build_fold_indirect_ref): Here.
1038         (fold_indirect_ref): New fn.
1039         * tree.h: Declare it.
1040         * gimplify.c (gimplify_compound_lval): Call fold_indirect_ref.
1041         (gimplify_modify_expr_rhs): Likewise.
1042         (gimplify_expr): Likewise.
1043
1044 2005-02-13  James A. Morrison  <phython@gcc.gnu.org>
1045
1046         PR tree-optimization/14303
1047         PR tree-optimization/15784
1048         * fold-const.c (fold): Fold ABS_EXPR<x> >= 0 to true, when possible.
1049         Fold ABS_EXPR<x> < 0 to false.  Fold ABS_EXPR<x> == 0 to x == 0 and
1050         ABS_EXPR<x> != 0 to x != 0.
1051
1052 2005-02-12  Kazu Hirata  <kazu@cs.umass.edu>
1053
1054         * c-tree.h, combine.c, expmed.c, flow.c, libgcc2.c,
1055         simplify-rtx.c, tree-ssa-live.h: Fix comment typos.  Follow
1056         spelling conventions.
1057
1058         * passes.c (rest_of_handle_gcse): Don't run cse_main and
1059         delete_trivially_dead_insns too many times.
1060
1061         * passes.c (rest_of_handle_gcse): Remove dead assignments to
1062         tem and tem2.
1063
1064 2005-02-12  Ira Rosen  <irar@il.ibm.com>
1065
1066         * tree-vectorizer.c (vect_get_base_and_offset): Remove.
1067         (vect_is_simple_iv_evolution): Remove redundant parameter
1068         and step check.
1069         (vect_analyze_scalar_cycles): Call vect_is_simple_iv_evolution
1070         without last parameter.
1071         (vect_analyze_pointer_ref_access): Get access_fn as parameter.
1072         Return pointer step. Call vect_is_simple_iv_evolution without
1073         last parameter. Check only that the step is multiple of size
1074         type. Remove stmt_vinfo updates.
1075         (vect_get_memtag_and_dr): Remove.
1076         (vect_get_memtag): New function.
1077         (vect_address_analysis): New function.
1078         (vect_object_analysis): New function.
1079         (vect_analyze_data_refs): Call vect_object_analysis and
1080         vect_get_memtag. Update stmt_vinfo fields.
1081
1082 2005-02-12  Ira Rosen  <irar@il.ibm.com>
1083
1084         * tree-data-ref.c (array_base_name_differ_p): Check that the bases
1085         exist and are objects. Remove checks for pointer.
1086         * tree-vectorizer.c (vect_create_addr_base_for_vector_ref): Use
1087         STMT_VINFO_VECT_DR_BASE_ADDRESS instead of DR_BASE_NAME.
1088         (vect_create_data_ref_ptr): Likewise.
1089         (vect_base_addr_differ_p): New function.
1090         (vect_analyze_data_ref_dependence): Call vect_base_addr_differ_p.
1091         (vect_analyze_pointer_ref_access): Add output parameter - ptr_init.
1092         Don't set the DR_BASE_NAME field of data-ref.
1093         (vect_get_memtag_and_dr): Use ptr_init instead of DR_BASE_NAME.
1094
1095 2005-02-12  Uros Bizjak  <uros@kss-loka.si>
1096
1097         * optabs.h (enum optab_index): Add new OTI_ldexp.
1098         (ldexp_optab): Define corresponding macro.
1099         * optabs.c (init_optabs): Initialize ldexp_optab.
1100         * genopinit.c (optabs): Implement ldexp_optab using ldexp?f3
1101         patterns.
1102         * builtins.c (expand_builtin_mathfn_2): Handle BUILT_IN_LDEXP{,F,L}
1103         using ldexp_optab.
1104         (expand_builtin): Expand BUILT_IN_LDEXP{,F,L} using
1105         expand_builtin_mathfn_2 if flag_unsafe_math_optimizations is set.
1106
1107         * config/i386/i386.md (ldexpsf3, ldexpdf3, ldexpxf3): New expanders
1108         to implement ldexpf, ldexp and ldexpl built-ins as inline x87
1109         intrinsics.
1110
1111 2005-02-12  Ira Rosen  <irar@il.ibm.com>
1112
1113         * tree-vectorizer.h (struct _stmt_vec_info): Rename a field: base
1114         to base_address.
1115         * tree-vectorizer.c (new_stmt_vec_info): Rename the above field of
1116         stmt_vec_info.
1117         (vect_get_base_and_offset): Always return an address.
1118         (vect_create_addr_base_for_vector_ref): Remove treatment for
1119         different data reference types.
1120         (vect_compute_data_ref_alignment): Rename base to base_address in
1121         stmt_vec_info. Get the object in order to force its alignment.
1122         (vect_get_memtag_and_dr): Rename base to base_address in
1123         stmt_vec_info. Extract the object for memtag analysis.
1124
1125 2005-02-12  Hans-Peter Nilsson  <hp@axis.com>
1126
1127         PR regression/19898.
1128         * config/cris/cris.c (cris_notice_update_cc): When testing if insn
1129         changes cc_status, use apply modified_in_p to part of cc_status
1130         and insn, not cris_reg_overlap_mentioned_p on SET_DEST of insn
1131         body.
1132
1133 2005-02-11  Richard Henderson  <rth@redhat.com>
1134
1135         * tree-complex.c (expand_complex_libcall): New.
1136         (expand_complex_multiplication): Use it for c99 compliance.
1137         (expand_complex_division): Likewise.
1138         * fold-const.c (fold_complex_add, fold_complex_mult): New.
1139         (fold): Call them.
1140         * builtins.c (built_in_names): Remove const.
1141         * tree.c (build_common_builtin_nodes): Build complex arithmetic
1142         builtins.
1143         * tree.h (BUILT_IN_COMPLEX_MUL_MIN, BUILT_IN_COMPLEX_MUL_MAX): New.
1144         (BUILT_IN_COMPLEX_DIV_MIN, BUILT_IN_COMPLEX_DIV_MAX): New.
1145         (built_in_names): Remove const.
1146         * c-common.c (c_common_type_for_mode): Handle complex modes.
1147         * flags.h, toplev.c (flag_complex_method): Rename from
1148         flag_complex_divide_method.
1149         * libgcc2.c (__divsc3, __divdc3, __divxc3, __divtc3,
1150         __mulsc3, __muldc3, __mulxc3, __multc3): New.
1151         * libgcc2.h: Declare them.
1152         * libgcc-std.ver: Export them.
1153         * mklibgcc.in (lib2funcs): Build them.
1154
1155 2005-02-11  Steven Bosscher  <stevenb@suse.de>
1156
1157         PR tree-optimization/19876
1158         Partially revert my change from 2005-01-14
1159         * tree-ssa-pre.c (compute_antic_aux): Make recursive once again...
1160         (compute_antic): ...and remove the loop here.
1161
1162 2005-02-11  Jakub Jelinek  <jakub@redhat.com>
1163
1164         PR middle-end/19858
1165         * fold-const.c (make_bit_field_ref): If bitpos == 0 and bitsize
1166         is number of inner's bits, avoid creating a BIT_FIELD_REF.
1167
1168         * config/rs6000/sysv4.h (ENDFILE_LINUX_SPEC): Use crtendS.o instead of
1169         crtend.o if -pie.  Use %{x:a;:b} spec syntax.
1170
1171 2005-02-11  Daniel Jacobowitz  <dan@codesourcery.com>
1172
1173         * config/mips/linux-unwind.h (mips_fallback_frame_state): Adjust
1174         offsets for the big-endian 32-bit case.
1175
1176 2005-02-11  Joseph S. Myers  <joseph@codesourcery.com>
1177
1178         * config/ia64/hpux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
1179
1180 2005-02-11  Dale Johannesen  <dalej@apple.com>
1181
1182         * cselib.c (cselib_process_insn):  Clear out regs where
1183         HARD_REGNO_CALL_PART_CLOBBERED is true at a call.
1184         * reload.c (find_equiv_reg): Ditto.
1185
1186 2005-02-11  Ian Lance Taylor  <ian@airs.com>
1187
1188         * read-rtl.c (read_rtx_1): Give fatal error if we see a vector
1189         with no elements.
1190
1191         * tree.c (build_function_type_list): Work correctly if there are
1192         no arguments.
1193
1194 2005-02-11  Ulrich Weigand  <uweigand@de.ibm.com>
1195
1196         * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccs",
1197         "*cmpsi_ccs"): Use %h instead of %c to print immediate operand.
1198         ("*zero_extendhisi2_64", "*zero_extendhisi2_31"): Choose based on
1199         TARGET_ZARCH instead of TARGET_64BIT.
1200
1201 2005-02-11  Ralf Corsepius  <ralf.corsepius@rtems.org>
1202
1203         * config/rs6000/t-rtems:
1204         (MULTILIB_OPTIONS): Remove mcpu=602.
1205         (MUTLILIB_DIRNAMES): Remove m602.
1206         (MULTILIB_MATCHES): Add ${MULTILIB_MATCHES_FLOAT}.
1207         Let mcpu=602 match mcpu=603.
1208         (MULTILIB_NEW_EXCEPTIONS_ONLY): Add mcpu=601, mcpu=602, mcpu=m603.
1209
1210 2005-02-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1211
1212         * pa/linux-unwind.h (pa32_fallback_frame_state): Handle misaligned
1213         signal trampolines.
1214
1215 2005-02-10  David Daney  <ddaney@avtrex.com>
1216
1217         * config/alpha/linux-unwind.h: Add exception clause to copyright.
1218         * config/i386/linux-unwind.h: Likewise.
1219         * config/ia64/linux-unwind.h: Likewise.
1220         * config/mips/linux-unwind.h: Likewise.
1221         * config/pa/linux-unwind.h: Likewise.
1222         * config/rs6000/linux-unwind.h: Likewise.
1223         * config/s390/linux-unwind.h: Likewise.
1224         * config/sh/linux-unwind.h: Likewise.
1225         * config/sparc/linux-unwind.h: Likewise.
1226
1227 2005-02-10  Steven Bosscher  <stevenb@suse.de>
1228
1229         PR tree-optimization/17549
1230         * tree-outof-ssa.c (find_replaceable_in_bb): Do not allow
1231         TER to replace a DEF with its expression if the DEF and the
1232         rhs of the expression we replace into have the same root
1233         variable.
1234
1235 2005-02-10  Richard Sandiford  <rsandifo@redhat.com>
1236
1237         * config/mips/mips.md: Fix the placement of the match_scratch in the
1238         lea64 peephole2.
1239
1240 2005-02-10  Kazu Hirata  <kazu@cs.umass.edu>
1241
1242         * cse.c, tree-ssa-loop-ivopts.c, config/rs6000/linux-unwind.h:
1243         Fix comment typos.
1244
1245 2005-02-10  Zdenek Dvorak  <dvorakz@suse.cz>
1246
1247         * tree-ssa-loop-ivopts.c (determine_base_object): Ignore casts.
1248         (strip_offset): Handle addresses.
1249         (add_address_candidates): Use strip_offset.
1250         (difference_cost): Reflect strip_offset change.
1251         (force_var_cost, difference_cost): Strip nops.
1252
1253 2005-02-10  Kazu Hirata  <kazu@cs.umass.edu>
1254
1255         * df.h (DF_REF_MODE_CHANGE, DF_REF_MEM_OK): Remove.
1256
1257         * builtins.def, haifa-sched.c, libgcc2.c, libgcc2.h,
1258         tree-ssa-loop-ivcanon.c, tree-ssa-loop-niter.c,
1259         config/cris/cris-protos.h, config/cris/cris.c: Update
1260         copyright.
1261
1262 2005-02-10  Jeff Law  <law@redhat.com>
1263
1264         * tree-ssa-dom.c (thread_across_edge): Use xmalloc, not xcalloc.
1265         (lookup_avail_expr): Similarly.
1266
1267 2005-02-10  Richard Guenther  <rguenth@gcc.gnu.org>
1268
1269         * builtins.c (fold_builtin_powi): New function.
1270         (fold_builtin_1): Call it.
1271
1272 2005-02-10  Steven Bosscher  <stevenb@suse.de>
1273
1274         PR documentation/19309
1275         * doc/cpp.texi: The __GNUC__ and related predefined macros
1276         are also defined for the "standalone" cpp.
1277         Some non-GCC compilers may also define __GNUC__.
1278
1279 2005-02-10  Jakub Jelinek  <jakub@redhat.com>
1280
1281         PR c/19342
1282         * c-typeck.c (common_type): New routine.  Old common_type renamed
1283         to...
1284         (c_common_type): ...this.
1285         (build_conditional_expr, build_binary_op): Use c_common_type instead
1286         of common_type.
1287
1288 2005-02-10  Steven Bosscher  <stevenb@suse.de>
1289
1290         * doc/md.texi: Replace @samp{length} with @code{length}.
1291
1292 2005-02-09  Zdenek Dvorak  <dvorakz@suse.cz>
1293
1294         PR tree-optimization/18687
1295         * tree-flow.h (find_loop_niter): Declare.
1296         * tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables):
1297         Try using scev even for loops with more than one exit.
1298         * tree-ssa-loop-ivopts.c (struct loop_data): Removed niter field.
1299         (struct ivopts_data): Added niters field.
1300         (struct nfe_cache_elt): New.
1301         (nfe_hash, nfe_eq, niter_for_exit, niter_for_single_dom_exit): New
1302         functions.
1303         (tree_ssa_iv_optimize_init): Initialize niters cache.
1304         (determine_number_of_iterations): Removed.
1305         (find_induction_variables): Do not call determine_number_of_iterations.
1306         Access niters for single exit through niter_for_single_dom_exit.
1307         (add_iv_outer_candidates): Access niters for single exit through
1308         niter_for_single_dom_exit.
1309         (may_eliminate_iv): Take data argument.  Use niter_for_exit.  Do not use
1310         number_of_iterations_cond.
1311         (iv_period): New function.
1312         (determine_use_iv_cost_condition): Pass data to may_eliminate_iv.
1313         (may_replace_final_value): Take data argument.  Use
1314         niter_for_single_dom_exit.
1315         (determine_use_iv_cost_outer): Pass data to may_replace_final_value.
1316         (rewrite_use_compare): Pass data to may_eliminate_iv.
1317         (rewrite_use_outer): Pass data to may_replace_final_value.
1318         (free_loop_data): Clean up the niters cache.
1319         (tree_ssa_iv_optimize_finalize): Free the niters cache.
1320         (tree_ssa_iv_optimize_loop): Do not call loop_commit_inserts.
1321         * tree-ssa-loop-niter.c (find_loop_niter): New function.
1322         (find_loop_niter_by_eval): Use tree_int_cst_lt.
1323         (num_ending_zeros): Moved to tree.c.
1324         * tree.h (num_ending_zeros): Declare.
1325         * tree.c (num_ending_zeros): Moved from tree.c.
1326
1327 2005-02-09  Richard Henderson  <rth@redhat.com>
1328
1329         * builtins.c (DEF_BUILTIN): Add COND argument.
1330         * tree.h (DEF_BUILTIN): Likewise.
1331         * builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN, DEF_EXT_LIB_BUILTIN,
1332         DEF_C94_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN): Update to
1333         match.
1334         (DEF_BUILTIN_STUB): New.
1335         (BUILT_IN_STACK_SAVE, BUILT_IN_STACK_RESTORE, BUILT_IN_INIT_TRAMPOLINE,
1336         BUILT_IN_ADJUST_TRAMPOLINE, BUILT_IN_NONLOCAL_GOTO,
1337         BUILT_IN_PROFILE_FUNC_ENTER, BUILT_IN_PROFILE_FUNC_EXIT): Use it.
1338         * c-common.c (DEF_BUILTIN): Add COND argument.
1339         * tree.c (local_define_builtin): New.
1340         (build_common_builtin_nodes): New.
1341
1342 2005-02-09  Roger Sayle  <roger@eyesopen.com>
1343
1344         * fold-const.c (fold_strip_sign_ops): New function to simplify a
1345         floating point expression ignoring the sign of the result.
1346         (fold) <ABS_EXPR>: Use it to simplify fabs(x).
1347         (fold) <MULT_EXPR>: Use it to simplify x*x.
1348         * tree.h (fold_strip_sign_ops): Prototype here.
1349         * builtins.c (fold_builtin_copysign): Take an additional FNDECL
1350         argument.  Use fold_strip_sign_ops to simplify the first argument.
1351         (fold_builtin_pow):  Use fold_strip_sign_ops to simplify the
1352         first argument when the second argument is an even integer
1353         constant, but only with -funsafe_math_optimizations.
1354         (fold_builtin_1): Update call to fold_builtin_copysign.
1355
1356 2005-02-09  Ian Lance Taylor  <ian@airs.com>
1357
1358         PR middle-end/19583
1359         * gimple-low.c (try_catch_may_fallthru): In EH_FILTER_EXPR case,
1360         just check whether EH_FILTER_FAILURE falls through.
1361
1362 2005-02-09  Andreas Krebbel  <krebbel1@de.ibm.com>
1363
1364         * gcc/haifa-sched.c (schedule_block): Make queued sched group
1365         insns return to ready list in the next turn.
1366
1367 2005-02-09  Richard Guenther  <rguenth@gcc.gnu.org>
1368
1369         PR middle-end/19402
1370         * builtins.def: New __builtin_powi[lf].
1371         * builtins.c (mathfn_built_in): Handle BUILT_IN_POWI.
1372         (expand_builtin_powi): New function.
1373         (expand_builtin): Dispatch to expand_builtin_powi.
1374         * libgcc2.h: Add prototypes for __builtin_powi[lf].
1375         * libgcc2.c: Add __builtin_powi[lf] implementation.
1376         * mklibgcc.in: Add __builtin_powi[lf] to lib2funcs.
1377         * optabs.h: Add powi_optab.
1378         * optabs.c (init_optabs): Initialize powi_optab.
1379         * doc/extend.texi: Document __builtin_powi[lf].
1380
1381 2005-02-09  Dorit Naishlos  <dorit@il.ibm.com>
1382
1383         * tree-vectorizer.c (vect_set_dump_settings): Check that dump_file
1384         exists.
1385
1386 2005-02-09  Richard Guenther  <rguenth@gcc.gnu.org>
1387
1388         PR middle-end/19854
1389         * fold-const.c (try_move_mult_to_index): Remove redundant
1390         type argument.  Create ADDR_EXPR with correct type.
1391         (fold): Update callers of try_move_mult_to_index.  Convert
1392         result to the appropriate type.
1393
1394 2005-02-09  Roger Sayle  <roger@eyesopen.com>
1395
1396         PR target/19597
1397         * config/avr/avr.c (default_rtx_costs): Delete.
1398         (avr_operand_rtx_cost): New function.
1399         (avr_rtx_costs): Completely rewrite.
1400
1401 2005-02-08  Hans-Peter Nilsson  <hp@axis.com>
1402
1403         PR target/19806
1404         * config/cris/cris.c (in_code): New variable.
1405         (cris_output_addr_const): Now a static function, a wrapper for
1406         output_addr_const.
1407         (cris_asm_output_symbol_ref): New function, broken out SYMBOL_REF
1408         case from old cris_output_addr_const.
1409         (cris_asm_output_label_ref): Similar for LABEL_REF.
1410         (cris_output_addr_const_extra): Similar for UNSPEC.
1411         * config/cris/cris.h (OUTPUT_ADDR_CONST_EXTRA)
1412         (ASM_OUTPUT_SYMBOL_REF, ASM_OUTPUT_LABEL_REF): Define.
1413         * config/cris/cris-protos.h (cris_output_addr_const): Remove
1414         declaration.
1415         (cris_asm_output_symbol_ref, cris_output_addr_const_extra)
1416         (cris_asm_output_label_ref): Declare.
1417
1418 2005-02-08  Paolo Bonzini  <bonzini@gnu.org>
1419
1420         PR preprocessor/19801
1421         * doc/cppinternals.texi (Conventions, Lexer, Files): Adjust
1422         filenames that changed when libcpp was moved to the toplevel.
1423
1424 2005-02-07  Roger Sayle  <roger@eyesopen.com>
1425
1426         * simplify-rtx.c (simplify_relational_operation_1): Avoid creating
1427         zero extensions of BImode operands.  Call lowpart_subreg instead
1428         of gen_lowpart_common and gen_lowpart_SUBREG.
1429
1430 2005-02-07  Nathanael Nerode  <neroden@gcc.gnu.org>
1431
1432         PR ada/19489
1433         * libada-mk.in: Use cc_for_cross_gnattools, not cc_set_by_configure.
1434         * configure.ac: Set cc_for_cross_gnattools.
1435         * configure: Regenerate.
1436
1437 2005-02-08  Alan Modra  <amodra@bigpond.net.au>
1438
1439         PR target/19803
1440         * predict.c (PROB_VERY_UNLIKELY): Use 1% instead of 10%.
1441
1442 2005-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
1443
1444         PR debug/19327
1445         * dbxout.c (dbxout_symbol) <FUNCTION_DECL>: Skip inline instance
1446         of nested functions.
1447
1448 2005-02-07  Jonathan Wakely  <redi@gcc.gnu.org>
1449
1450         * doc/extend.texi: Document deprecated extensions allowing
1451         static floating-point members to have initializers and allowing
1452         floating-point literals in integral constant expressions.
1453
1454 2005-02-07  Kazu Hirata  <kazu@cs.umass.edu>
1455
1456         * cfgcleanup.c, df.h, diagnostic.c, rtl.c, tree-vectorizer.h,
1457         config/darwin7.h, config/mips/mips.c,
1458         config/rs6000/altivec.md, config/rs6000/darwin-tramp.asm:
1459         Update copyright.
1460
1461         * cse.c: Update comments.
1462
1463 2005-02-07  Richard Guenther  <rguenth@gcc.gnu.org>
1464
1465         PR middle-end/19775
1466         * builtins.c (fold_builtin_sqrt): Transform
1467         sqrt(pow(x,y)) to pow(fabs(x),y*0.5), not
1468         pow(x,y*0.5).
1469
1470 2005-02-07  Leehod Baruch  <leehod@il.ibm.com>
1471             Dorit Naishlos  <dorit@il.ibm.com>
1472
1473         * doc/invoke.texi (ftree-vectorizer-verbose): New.
1474         * opts.c (OPT_ftree_vectorizer_verbose_): New case for switch.
1475         * common.opt (ftree-vectorizer-verbose): New Flag for the vectorizer
1476         was added.
1477         * tree.h (vect_set_verbosity_level): New extern function declaration
1478         added.
1479         * tree-vectorizer.h (verbosity_levels): New enum type.
1480         * tree-vectorizer.c (vect_debug_stats): Function removed.
1481         (vect_debug_details): Likewise.
1482         (vect_verbosity_level): Global variable was defined and initialized.
1483         (vect_dump): Global variable definition.
1484         (vect_print_dump_info): New function.
1485         (vect_set_dump_settings): New function.
1486         (vect_set_verbosity_level): New function.
1487         (vectorize_loops): Add call to vect_set_dump_settings.
1488
1489         (slpeel_make_loop_iterate_ntimes): Dump condition was changed.
1490         (slpeel_tree_duplicate_loop_to_edge_cfg): Likewise.
1491         (slpeel_tree_peel_loop_to_edge): Likewise.
1492
1493         (vect_analyze_offset_expr): Call to vect_print_dump_info with
1494         appropriate verbosity level instead of call to vect_debug_details
1495         or vect_debug_stats.
1496         (vect_get_base_and_offset):
1497         (vect_create_addr_base_for_vector_ref):
1498         (get_vectype_for_scalar_type):
1499         (vect_create_data_ref_ptr):
1500         (vect_init_vector):
1501         (vect_get_vec_def_for_operand):
1502         (vect_finish_stmt_generation):
1503         (vectorizable_assignment):
1504         (vectorizable_operation):
1505         (vectorizable_store):
1506         (vectorizable_load):
1507         (vect_transform_stmt):
1508         (vect_update_ivs_after_vectorizer):
1509         (vect_do_peeling_for_loop_bound):
1510         (vect_update_inits_of_drs):
1511         (vect_do_peeling_for_alignment):
1512         (vect_transform_loop):
1513         (vect_is_simple_use):
1514         (vect_analyze_operations):
1515         (vect_is_simple_iv_evolution):
1516         (vect_analyze_scalar_cycles):
1517         (vect_analyze_data_ref_dependence):
1518         (vect_analyze_data_ref_dependences):
1519         (vect_compute_data_ref_alignment):
1520         (vect_enhance_data_refs_alignment):
1521         (vect_analyze_data_refs_alignment):
1522         (vect_analyze_data_ref_access):
1523         (vect_analyze_data_ref_accesses):
1524         (vect_analyze_pointer_ref_access):
1525         (vect_get_memtag_and_dr):
1526         (vect_analyze_data_refs):
1527         (vect_mark_relevant):
1528         (vect_stmt_relevant_p):
1529         (vect_mark_stmts_to_be_vectorized):
1530         (vect_can_advance_ivs_p):
1531         (vect_get_loop_niters):
1532         (vect_analyze_loop_form):
1533         (vect_analyze_loop):
1534         (vectorize_loops): Likewise.
1535
1536         (vect_do_peeling_for_loop_bound): Dump format slightly changed.
1537         (vect_update_inits_of_drs):
1538         (vect_do_peeling_for_alignment):
1539         (vect_transform_loop):
1540         (vect_analyze_operations):
1541         (vect_analyze_scalar_cycles):
1542         (vect_analyze_data_ref_dependences):
1543         (vect_analyze_data_refs_alignment):
1544         (vect_analyze_data_ref_accesses):
1545         (vect_analyze_data_refs):
1546         (vect_mark_stmts_to_be_vectorized):
1547         (vect_get_loop_niters):
1548         (vect_analyze_loop_form):
1549         (vect_analyze_loop): Likewise.
1550         (vect_mark_stmts_to_be_vectorized): Add call to print_generic_expr.
1551
1552 2005-02-07  Richard Sandiford  <rsandifo@redhat.com>
1553
1554         PR bootstrap/19796
1555         Revert:
1556         2005-01-26  Richard Sandiford  <rsandifo@redhat.com>
1557         * config/mips/iris6.h (ENDFILE_SPEC): Don't link in irix-csr.o if
1558         either -ffast-math or -funsafe-math-optimizations is in use.
1559
1560         2005-01-24  Richard Sandiford  <rsandifo@redhat.com>
1561         * config/mips/irix-csr.c: New file.
1562         * config/mips/t-iris6 (irix-csr.o): New rule to build it.
1563         (EXTRA_MULTILIB_PARTS): Add irix-csr.o.
1564         * config/mips/iris6.h (ENDFILE_SPEC): Include it in n32 and n64
1565         executables.
1566
1567 2005-02-07  Alexandre Oliva  <aoliva@redhat.com>
1568
1569         * config/mn10300/linux.h (LIB_SPEC, STARTFILE_SPEC): Remove
1570         redundant, incorrect definitions.
1571
1572         * config/frv/frv.md ("tls_indirect_call"): Turn into libcall-like
1573         expand.
1574         ("*tls_indirect_call"): New, reference hard regs directly.
1575         * config/frv/frv.c (gen_inlined_tls_plt): Adjust.
1576
1577 2005-02-07  Ralf Corsepius  <ralf.corsepius@rtems.org>
1578
1579         * config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC):
1580         Let !-mhard-float !-msoft-float imply -mfpu=softfpa.
1581
1582 2005-02-06  Roger Sayle  <roger@eyesopen.com>
1583
1584         PR rtl-optimization/19800
1585         * simplify_rtx.c (simplify_relational_operation_1): Explicitly
1586         call gen_lowpart_common and gen_lowpart_SUBREG instead of calling
1587         gen_lowpart.
1588
1589 2005-02-07  Ralf Corsepius  <ralf.corsepius@rtems.org>
1590
1591         * config/m68k/t-rtems (MULTILIB_MATCHES): Let m528x match m5200.
1592
1593 2005-02-07  Joseph S. Myers  <joseph@codesourcery.com>
1594
1595         PR other/17135
1596         * doc/invoke.texi: Correct documentation of -freorder-functions.
1597
1598 2005-02-06  Joseph S. Myers  <joseph@codesourcery.com>
1599
1600         PR other/14402
1601         * doc/invoke.texi: Don't mention gccbug.
1602
1603 2005-02-06  Roger Sayle  <roger@eyesopen.com>
1604             Andrew Pinski  <pinskia@physics.uc.edu>
1605             Paolo Bonzini  <paolo.bonzini@lu.unisi.ch>
1606
1607         * simplify-rtx.c (simplify_relational_operation_1): Simplify
1608         (ne:SI (zero_extract:SI FOO (const_int 1) BAR) (const_int 0))
1609         into just (zero_extract:SI FOO (const_int 1) BAR).
1610
1611 2005-02-06  Joseph S. Myers  <joseph@codesourcery.com>
1612
1613         * doc/cpp.texi: Include gcc-common.texi.  Don't define gcctabopt
1614         macro locally.  Don't give last revision date.  Use GCC version
1615         number from gcc-common.texi.
1616         * doc/cppinternals.texi: Include gcc-common.texi.  Don't give last
1617         revision date.  Use GCC version number from gcc-common.texi.
1618         Describe being a library as current state rather than as 3.x
1619         history.
1620         * doc/gcc.texi: Remove last update date.
1621         * doc/gccint.texi: Likewise.  Update copyright dates.
1622         * doc/install.texi: Update copyright dates.
1623
1624 2005-02-06  Joseph S. Myers  <joseph@codesourcery.com>
1625
1626         PR other/7549
1627         * doc/invoke.texi: Mention for each option included in -Wall that
1628         it is included in -Wall.
1629         * doc/gcc.texi: Update copyright and last modification date.
1630
1631 2005-02-06  Zdenek Dvorak  <dvorakz@suse.cz>
1632
1633         * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Do not add
1634         unnecessary cast to original induction variable increments.
1635
1636 2005-02-06  Zdenek Dvorak  <dvorakz@suse.cz>
1637
1638         PR tree-optimization/18219
1639         * tree-ssa-loop-ivopts.c (get_computation_at): Produce computations
1640         in distributed form.
1641
1642 2005-02-06  Richard Sandiford  <rsandifo@redhat.com>
1643
1644         * expmed.c (store_bit_field): Make the SUBREG code adjust bitnum.
1645         Set bitpos and offset later in the function.  Do nothing if the
1646         target is a register and if the bitfield lies completely outside
1647         that register.
1648         (extract_bit_field): Make the same SUBREG, bitpos and offset changes
1649         here.  Return an uninitialised register if the source value is stored
1650         in a register and the bitfield lies completely outside that register.
1651
1652 2005-02-06  Steven Bosscher  <stevenb@suse.de>
1653
1654         * df.c (df_insn_refs_record): Use XEXP to get the operand of a USE,
1655         not SET_DEST.
1656
1657 2005-02-06  Marcin Dalecki  <martin@dalecki.de>
1658
1659         * diagnostic.c (default_diagnostic_finalizer): Fix use of attribute.
1660
1661 2005-02-06  Geoffrey Keating  <geoffk@apple.com>
1662
1663         * config.gcc (*-*-darwin*): Separate darwin7 and darwin8 configs.
1664         * config/darwin8.h: New.
1665         * config/darwin7.h: Update comment.
1666
1667 2005-02-03  Leehod Baruch  <leehod@il.ibm.com>
1668             Dorit Naishlos  <dorit@il.ibm.com>
1669
1670         * tree-vectorizer.h (LOC): New type.
1671         (UNKNOWN_LOC, EXPR_LOC, LOC_FILE, LOC_LINE): New macros.
1672         (loop_line_number): New field in struct _loop_vec_info.
1673         (LOOP_VINFO_LOC, LOOP_LOC): New macros.
1674
1675         * tree-vectorizer.c (input.h): Included.
1676         (find_loop_location): New function.
1677         (vect_debug_stats): Argument changed from loop to LOC. Computation of
1678         loop line number removed.
1679         (vect_debug_details): Likewise.
1680         (new_loop_vec_info): Initialize new field LOOP_VINFO_LOC.
1681
1682         (slpeel_make_loop_iterate_ntimes): Call find_loop_location. Argument in
1683         call to vect_debug_details/stats changed from loop to loop_loc.
1684         (slpeel_tree_duplicate_loop_to_edge_cfg): Likewise.
1685         (slpeel_tree_peel_loop_to_edge): Likewise.
1686
1687         (vect_analyze_offset_expr): Argument in call to vect_debug_details/stats
1688         changed from NULL to UNKNOWN_LOC.
1689         (vect_get_base_and_offset):
1690         (vect_create_addr_base_for_vector_ref):
1691         (get_vectype_for_scalar_type):
1692         (vect_create_data_ref_ptr):
1693         (vect_init_vector):
1694         (vect_get_vec_def_for_operand):
1695         (vect_finish_stmt_generation):
1696         (vectorizable_assignment):
1697         (vectorizable_operation):
1698         (vectorizable_store):
1699         (vectorizable_load):
1700         (vect_transform_stmt):
1701         (vect_update_ivs_after_vectorizer):
1702         (vect_do_peeling_for_loop_bound):
1703         (vect_do_peeling_for_alignment):
1704         (vect_transform_loop):
1705         (vect_is_simple_use):
1706         (vect_analyze_operations):
1707         (vect_is_simple_iv_evolution):
1708         (vect_analyze_scalar_cycles):
1709         (vect_analyze_data_ref_dependences):
1710         (vect_compute_data_ref_alignment):
1711         (vect_enhance_data_refs_alignment):
1712         (vect_analyze_data_ref_access):
1713         (vect_analyze_data_ref_accesses):
1714         (vect_analyze_pointer_ref_access):
1715         (vect_get_memtag_and_dr):
1716         (vect_analyze_data_refs):
1717         (vect_mark_relevant):
1718         (vect_stmt_relevant_p):
1719         (vect_mark_stmts_to_be_vectorized):
1720         (vect_can_advance_ivs_p):
1721         (vect_get_loop_niters):
1722         (vect_analyze_loop):
1723         (vectorize_loops): Likewise.
1724
1725         (vectorizable_load): Argument in call to vect_debug_details/stats
1726         changed from loop to LOOP_LOC (loop_vinfo).
1727         (vect_transform_loop):
1728         (vect_analyze_operations):
1729         (vect_analyze_scalar_cycles):
1730         (vect_analyze_data_ref_dependence):
1731         (vect_enhance_data_refs_alignment):
1732         (vect_analyze_data_ref_accesses):
1733         (vect_analyze_pointer_ref_access):
1734         (vect_analyze_data_refs):
1735         (vect_analyze_loop): Likewise.
1736
1737         (vect_analyze_loop_form): Argument in call to vect_debug_details/stats
1738         changed from loop to loop_loc.
1739
1740         (vect_enhance_data_refs_alignment): Removed unused variable loop.
1741
1742 2005-02-03  Leehod Baruch  <leehod@il.ibm.com>
1743             Dorit Naishlos  <dorit@il.ibm.com>
1744
1745         * tree-vectorizer.c (vect_analyze_data_ref_dependence): Function
1746         declaration added.
1747         (vect_analyze_data_ref_dependences): Likewise.
1748
1749         (vect_is_simple_use): Argument changed from loop structure to
1750         loop_vect_info structure.
1751         (vect_can_advance_ivs_p): Likewise.
1752         (vect_create_index_for_vector_ref): Likewise.
1753         (vect_update_ivs_after_vectorizer): Likewise.
1754         (new_stmt_vec_info): Likewise.
1755
1756         (new_loop_vec_info): Second argument in call to new_stmt_vec_info was
1757         changed from loop to loop_vinfo.
1758         (vect_create_data_ref_ptr): First argument in call to
1759         vect_create_index_for_vector_ref was changed from loop to loop_vinfo.
1760         (vectorizable_assignment): Second argument in call to vect_is_simple_use
1761         was changed from loop to loop_vinfo.
1762         (vectorizable_operation): Likewise.
1763         (vectorizable_store): Likewise.
1764         (vect_mark_stmts_to_be_vectorized): Likewise.
1765         (vect_do_peeling_for_loop_bound): First argument in call to
1766         vect_update_ivs_after_vectorizer was changed from loop to loop_vinfo.
1767         (vect_analyze_operations): Argument in call to vect_can_advance_ivs_p
1768         was changed from loop to loop_vinfo.
1769         (vect_analyze_data_ref_dependences): Third argument in call to
1770         vect_analyze_data_ref_dependence was changed from loop to loop_vinfo.
1771
1772         (vect_create_index_for_vector_ref): Get the loop from loop_vinfo.
1773         (vect_create_data_ref_ptr): Likewise.
1774         (vect_init_vector): Likewise.
1775         (vect_get_vec_def_for_operand): Likewise.
1776         (vectorizable_assignment): Likewise.
1777         (vectorizable_operation): Likewise.
1778         (vectorizable_store): Likewise.
1779         (vectorizable_load): Likewise.
1780         (vect_update_ivs_after_vectorizer): Likewise.
1781         (vect_is_simple_use): Likewise.
1782         (vect_analyze_data_ref_dependence): Likewise.
1783         (vect_analyze_pointer_ref_access): Likewise.
1784         (vect_can_advance_ivs_p): Likewise.
1785
1786         * tree-vectorizer.h: (_loop_vec_info): Definition and macros moved
1787         before _stmt_vec_info.
1788         (_stmt_vec_info): Loop field replaced by loop_vec_info.
1789         (STMT_VINFO_LOOP): Replaced with STMT_VINFO_LOOP_VINFO.
1790         (new_stmt_vec_info): Argument changed from loop structure to
1791         loop_vect_info structure
1792
1793         (vect_analyze_data_ref_dependences): Unnecessary line was removed.
1794         (vect_analyze_offset_expr): Avoid 80 columns overflow.
1795         (vect_create_addr_base_for_vector_ref): Likewise.
1796         (vect_analyze_pointer_ref_access): Likewise.
1797
1798 2005-02-03  Andrew Pinski  <pinskia@physics.uc.edu>
1799
1800         PR tree-opt/19768
1801         * tree-ssa-dse.c (fix_phi_uses): Update the occurs in abnormal
1802         phi flag if the phi is abnormal.
1803
1804 2005-02-03  Andrew Pinski  <pinskia@physics.uc.edu>
1805
1806         PR tree-opt/19736
1807         * tree-ssa.c (replace_immediate_uses): Update the immediate_uses
1808         information for the new statement.
1809
1810 2005-02-03  Joseph S. Myers  <joseph@codesourcery.com>
1811
1812         PR driver/19117
1813         * gcc.c (main): Include the target in -v output.
1814
1815 2005-02-03  Alexandre Oliva  <aoliva@redhat.com>
1816
1817         * combine.c (simplify_comparison, case SIGN_EXTEND, ZERO_EXTEND):
1818         Do not drop the extend if we'd have to add a paradoxical subreg
1819         later.  Include optabs.h and insn-codes.h.
1820         * Makefile.in (combine.o): Depend on $(OPTABS_H).
1821
1822 2005-02-02  Roger Sayle  <roger@eyesopen.com>
1823
1824         PR middle-end/19405
1825         * real.h (REAL_MODE_FORMAT_COMPOSITE_P): New macro.
1826         * fold-const.c (const_binop): Avoid constant folding floating
1827         point operations in modes that use composite representations.
1828         * simplify-rtx.c (simplify_binary_operation): Likewise.
1829
1830 2005-02-02  Geoffrey Keating  <geoffk@apple.com>
1831
1832         * config/rs6000/altivec.md (altivec_dst): Make the first operand
1833         a REG, not a MEM.
1834         (altivec_dstt): Likewise.
1835         (altivec_dstst): Likewise.
1836         (altivec_dststt): Likewise.
1837         * config/rs6000/rs6000.c (altivec_expand_dst_builtin): Adjust creation
1838         of first operand.
1839
1840 2005-02-03  Dorit Naishlos  <dorit@il.ibm.com>
1841
1842         * tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Copy
1843         EXPR_LOCUS from orig_cond to the new cond_stmt.
1844         (vect_finish_stmt_generation): Copy EXPR_LOCUS from stmt to
1845         the new vec_stmt.
1846
1847 2005-02-03  Dorit Naishlos  <dorit@il.ibm.com>
1848
1849         * tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Call
1850         standard_iv_increment_position. Remove call to bsi_next
1851         (no need to bump the iterator anymore).
1852         (vect_create_index_for_vector_ref): Call
1853         standard_iv_increment_position. Remove second function argument.
1854         (vect_finish_stmt_generation): Remove call to bsi_next
1855         (no need to bump the iterator anymore).
1856         (vect_create_data_ref_ptr): Remove second argument (bsi) in call
1857         to vect_create_index_for_vector_ref.
1858
1859 2005-02-03  Dorit Naishlos  <dorit@il.ibm.com>
1860
1861         * tree-vectorizer.c (vect_mark_stmts_to_be_vectorized): Check if
1862         phis are used out of the loop.
1863
1864 2005-02-03  Joseph S. Myers  <joseph@codesourcery.com>
1865
1866         PR c/17807
1867         * c-decl.c (undef_nested_function): New variable.
1868         (pop_scope): Diagnose undefined nested functions.
1869         (finish_function): Don't attempt cgraph processing or genericizing
1870         if current top-level function contained an undefined nested
1871         function.  Reset undef_nested_function at the end of a top-level
1872         function.
1873
1874 2005-02-02  Zdenek Dvorak  <dvorakz@suse.cz>
1875
1876         * tree.c (build_int_cst_type): Take sign of the value into account
1877         when deciding whether sign extend the value.
1878
1879 2005-02-02  Joseph S. Myers  <joseph@codesourcery.com>
1880
1881         PR c/18502
1882         * gcc.c (cpp_unique_options): Remove %{trigraphs}.
1883         (cpp_options, cc1_options): Change %{std*&ansi} to
1884         %{std*&ansi&trigraphs}.
1885
1886 2005-02-02  Kazu Hirata  <kazu@cs.umass.edu>
1887
1888         * cse.c: Update comments.
1889
1890 2005-02-02  Aldy Hernandez  <aldyh@redhat.com>
1891
1892         * config/rs6000/rs6000.c (rs6000_spe_function_arg): Multi-reg
1893         arguments go on the stack.  Do not put complex doubles in odd/even
1894         pairs.
1895
1896 2005-02-02  Steven Bosscher  <stevenb@suse.de>
1897
1898         * doc/invoke.texi: Update the options enabled at -O1, -O2,
1899         and -O3.  Update the documentation for -fgcse-sm, -fgcse-las,
1900         -ftree-pre, and -fthread-jumps.
1901
1902 2005-02-02  Richard Sandiford  <rsandifo@redhat.com>
1903
1904         PR tree-optimization/19578
1905         * tree-flow.h (modified_noreturn_calls): Declare.
1906         (noreturn_call_p): Declare.
1907         * tree-flow-inline.h (noreturn_call_p): New function.
1908         (modify_stmt): Add modified noreturn calls to modified_noreturn_calls.
1909         * tree-cfg.c (modified_noreturn_calls): New variable.
1910         (cleanup_control_flow): Use noreturn_call_p.  Split basic blocks
1911         that contain a mid-block noreturn call.
1912         * tree-ssa.c (delete_tree_ssa): Clear modified_noreturn_calls.
1913
1914 2005-02-02  Kazu Hirata  <kazu@cs.umass.edu>
1915
1916         * df.c (df_def_record_1, df_uses_record): Don't use
1917         DF_FOR_REGALLOC.
1918         * df.h (DF_FOR_REGALLOC): Remove.
1919
1920 2005-02-02  Joseph S. Myers  <joseph@codesourcery.com>
1921
1922         PR c/19435
1923         * c-typeck.c (really_start_incremental_init): Reset
1924         constructor_max_index for arrays of incomplete type.
1925
1926 2005-02-02  Jeff Law  <law@redhat.com>
1927
1928         * gcse.c (struct reg_set): Store the block index where the register
1929         was set rather than the setting insn.
1930         (record_one_set, compute_transp): Corresponding changes.
1931         (pre_insert_copy_insn): Do not call replace_one_set.
1932         (replace_one_set): Remove.
1933
1934 2005-02-02  Joseph S. Myers  <joseph@codesourcery.com>
1935
1936         PR other/15514
1937         * doc/gcov.texi: Fix typo.
1938
1939 2005-02-01  Richard Henderson  <rth@redhat.com
1940
1941         PR target/19680
1942         * config/i386/i386.h (MODES_TIEABLE_P): Use ix86_modes_tieable_p.
1943         * config/i386/i386.c (ix86_hard_regno_mode_ok): Change return
1944         type to bool.
1945         (ix86_tieable_integer_mode_p, ix86_modes_tieable_p): New.
1946         * config/i386/i386-protos.h: Update.
1947
1948 2005-02-01  Steven Bosscher  <stevenb@suse.de>
1949
1950         PR tree-optimization/19217
1951         * tree-cfg.c (verify_expr): Use the data field to see if TP was
1952         seen inside a PHI node.  Do not do the ADDR_EXPR check if it was.
1953         (verify_stmts): Pass (void*)1 as data to verify_expr to signal
1954         that it is walking a PHI node.
1955
1956 2005-02-01  Joseph S. Myers  <joseph@codesourcery.com>
1957
1958         * doc/extend.texi (Nested Functions): Update.
1959
1960 2005-02-01  Richard Henderson  <rth@redhat.com>
1961
1962         PR 19696
1963         * optabs.c (expand_copysign_absneg): Export.
1964         * optabs.h (expand_copysign_absneg): Declare.
1965         * config/rs6000/rs6000.md (copysigntf3): New.
1966
1967 2005-02-01  Diego Novillo  <dnovillo@redhat.com>
1968
1969         PR tree-optimization/19633
1970         * tree-flow.h (struct ptr_info_def): Add field 'pt_null'.
1971         * tree-ssa-alias.c (init_alias_info): Initialize.
1972         (merge_pointed_to_info): Set.
1973         (add_pointed_to_expr): Set pt_null if EXPR is a NULL pointer.
1974         (dump_points_to_info_for): Show value of pt_null.
1975         (struct count_ptr_d): Declare.
1976         (find_ptr_dereference): Remove.
1977         (ptr_is_dereferenced_by): Remove.
1978         (count_ptr_derefs): New local function.
1979         (count_uses_and_derefs): New local function.
1980         (compute_points_to_and_addr_escape): Call it.  If the number
1981         of dereferences is greater than zero, mark the pointer as
1982         dereferenced.  If there are fewer dereferences than uses of
1983         the pointer, the pointer's value escapes.
1984
1985 2005-02-01  Diego Novillo  <dnovillo@redhat.com>
1986
1987         PR tree-optimization/19670
1988         * tree-ssa.c (verify_ssa_name): Don't set TREE_VISITED
1989         here...
1990         (verify_use): ... set it here, instead.
1991
1992 2005-02-01  Janis Johnson  <janis187@us.ibm.com>
1993
1994         * doc/sourcebuild.texi (Test directives): Fix formatting.
1995
1996         * doc/sourcebuild.texi (Test directives): Describe selector
1997         expressions.
1998
1999 2005-02-01  Segher Boessenkool  <segher@kernel.crashing.org>
2000
2001         * config.gcc (powerpc64-*-linux*): Default to -m64 also for
2002         specific 64-bit CPUs.
2003
2004 2005-02-01  Richard Earnshaw  <rearnsha@arm.com>
2005
2006         PR target/16201
2007         * arm.c (arm_eliminable_register): New function.
2008         (adjacent_mem_locations): Don't allow eliminable registers.  Use
2009         HOST_WIDE_INT for address offsets.
2010         * arm-protos.h (arm_eliminable_register): Add prototype.
2011
2012 2005-02-01  Steven Bosscher  <stevenb@suse.de>
2013
2014         PR optimization/15242
2015         * params.def (PARAM_MAX_GOTO_DUPLICATION_INSNS): New param.
2016         * basic-block.h (duplicate_computed_gotos): Add prototype.
2017         * bb-reorder.c (duplicate_computed_gotos): New function to
2018         duplicate sufficiently small blocks ending in a computed jump.
2019         * passes.c (rest_of_compilation): Call duplicate_computed_gotos
2020         if not optimizing for size.
2021         * cfgcleanup.c (try_crossjump_bb): If not optimizing for size,
2022         never do tail merging for blocks ending in a computed jump.
2023         * doc/invoke.texi: Document the max-goto-duplication-insns param.
2024
2025 2005-02-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
2026
2027         Patch from Richard Sandiford <rsandifo@redhat.com>
2028         * reload1.c (choose_reload_regs): Prevent the find_equiv_reg() code
2029         from inheriting a subreg equivalence with a non-spill register.
2030
2031         * tree.h (DECL_FUNCTION_CODE): Document that it is overloaded.
2032
2033 2005-02-01  Alexandre Oliva  <aoliva@redhat.com>
2034
2035         * config/frv/frv.c (movcc_fp_destination_operand): New.
2036         (gpr_or_memory_operand): Fix typo in comment.
2037         (gpr_or_memory_operand_with_scratch): New.
2038         * config/frv/frv.h (PREDICATE_CODES): Add the two new predicates.
2039         * config/frv/frv.md (movcc_fp, movcc_fp_internal): Use
2040         movcc_fp_destination_operand.
2041         (reload_incc_fp): Use gpr_or_memory_operand_with_scratch.
2042         Legitimize memory addresses using a scratch register.
2043
2044 2005-01-31  Jeff Law  <law@redhat.com>
2045
2046         * tree-into-ssa.c (mark_def_sites_global_data): Make KILLS
2047         bitmap a sparse bitmap instead of a simple bitmap.
2048         (mark_def_sites_initialize_block):  Corresponding changes.
2049         (ssa_mark_def_sites_initialize_block): Likewise.
2050         (ssa_mark_phi_uses): Likewise.
2051         (mark_def_site, ssa_mark_def_sites): Likewise.
2052         (mark_def_site_blocks): Likewise.
2053         (rewrite_ssa_into_ssa): Likewise.
2054
2055         * tree-ssa-dom.c (record_cond): Pass correct variable type
2056         for last argument to htab_find_slot_with_hash.
2057
2058         * fold-const.c (fold, case CEIL_MOD_EXPR): Do not lose side
2059         effects when optimizing 0 % X.  Do not try to optimize X % 0.
2060
2061 2005-01-31  James E. Wilson  <wilson@specifixinc.com>
2062
2063         * config/ia64/itanium1.md (1_scall bypass): Change 2_mmalua to
2064         1_mmalua.
2065
2066 2005-02-01  Eric Christopher  <echristo@redhat.com>
2067
2068         * config/mips/mips.c (override_options): Warn if -mint64
2069         is used.
2070         * doc/invoke.texi (MIPS Options): Document that -mint64 is
2071         deprecated.
2072
2073 2005-02-01  Kazu Hirata  <kazu@cs.umass.edu>
2074
2075         * cse.c (cse_reg_info): Remove hash_next, next, regno.  Add
2076         timestamp.
2077         (cse_reg_info_list, cse_reg_info_list_free, REGHASH_SHIFT,
2078         REGHASH_SIZE, REGHASH_MASK, reg_hash, REGHASH_FN,
2079         cached_cse_reg_info, GET_CSE_REG_INFO): Remove.
2080         (cached_regno): Initialize to INVALID_REGNUM.
2081         (cse_reg_info_table_size,
2082         cse_reg_info_table_first_uninitialized,
2083         cse_reg_info_timestamp): New.
2084         (REG_TICK, REG_IN_TABLE, SUBREG_TICKED, REG_QTY): Use
2085         get_cse_reg_info.
2086         (init_cse_reg_info, get_cse_reg_info_1): New.
2087         (get_cse_reg_info): Cache the last look-up.
2088         (new_basic_block): Update the code to clear mappings from
2089         registers to cse_reg_info entries.
2090         (cse_main): Call init_cse_reg_info.
2091
2092         * cse.c (get_cse_reg_info): Update a comment.
2093
2094 2005-01-31  Steven Bosscher  <stevenb@suse.de>
2095
2096         PR c/19333
2097         * c-decl.c (start_decl): Do not warn about arrays of elements with
2098         an incomplete type here.
2099         (grokdeclarator): Do it here by making a pedwarn an error.
2100         * c-typeck.c (push_init_level): If there were previous errors with
2101         the constructor type, do not warn about braces for initializers.
2102         (process_init_element): Likewise for excess initializer elements.
2103
2104 2005-01-31  Kazu Hirata  <kazu@cs.umass.edu>
2105
2106         * cse.c (delete_trivially_dead_insn): Don't iterate.
2107
2108 2005-01-31  Andrew Pinski  <pinskia@physics.uc.edu>
2109
2110         * config/rs6000/rs6000.md (copysignsf3): New expand.
2111         (copysigndf3): Likewise.
2112
2113 2005-01-31  Steven Bosscher  <stevenb@suse.de>
2114
2115         * recog.c (constrain_operands): Only look for earlyclobber operand
2116         conflicts if an '&' constraint was seen.
2117
2118 2005-01-31  Marc Espie <espie@openbsd.org>
2119
2120         * config.gcc: Don't include embedded systems fragment, switches default
2121         debugging format to ELF.
2122         * config/i386/openbsdelf.h: Add DBX_REGISTER_NUMBER since we no
2123         longer pick it up there.
2124
2125 2005-01-31  Dale Johannesen  <dalej@apple.com>
2126
2127         * doc/extend.texi (nested functions): Fix linkage description.
2128         Clarify that static is not allowed.
2129
2130 2005-01-31  Dale Johannesen  <dalej@apple.com>
2131
2132         * config/rs6000/darwin.md (movsf_low_di):  Make work.
2133         (movdf_low_di):  Make work.
2134
2135 2005-01-31  Dale Johannesen  <dalej@apple.com>
2136
2137         * config/rs6000/darwin-tramp.asm (__trampoline_setup):
2138         Make work for 64 bit.
2139
2140 2005-01-31  Roger Sayle  <roger@eyesopen.com>
2141             Dale Johannesen  <dalej@apple.com>
2142
2143         PR middle-end/19650
2144         * fold-const.c (fold_binary_op_with_conditional_arg):
2145         Make types match original operands, before STRIP_NOPS.
2146
2147 2005-01-31  Alan Modra  <amodra@bigpond.net.au>
2148
2149         * config/rs6000/linux-unwind.h (struct gcc_vregs): New.
2150         (struct gcc_regs): Rename from gcc_pt_regs.  Add more regs.
2151         (struct gcc_sigcontext): Delete.  Merge contents to..
2152         (struct gcc_ucontext): ..here.
2153         (get_sigcontext): Delete.
2154         (get_regs): New function, like get_sigcontext but return regs ptr.
2155         64-bit version finds regs from r1 to support vdso.
2156         (ppc_linux_aux_vector): New function.
2157         (ppc_fallback_frame_state): Modify for get_regs.  Restore fprs
2158         and vector regs.
2159
2160 2005-01-31  Ira Rosen  <irar@il.ibm.com>
2161
2162         * tree-vectorizer.c (vect_analyze_offset_expr): Use ssizetype instead
2163         sizetype.
2164         (vect_get_base_and_offset): Use ssizetype instead sizetype. Remove
2165         redundant fold. Fix misalignment for MINUS_EXPR.
2166         (vect_compute_data_ref_alignment): Use ssizetype instead sizetype.
2167         (vect_analyze_pointer_ref_access): Likewise.
2168         (vect_get_memtag_and_dr): Likewise.
2169
2170 2005-01-31  Richard Henderson  <rth@redhat.com>
2171
2172         * config/i386/i386.c (absnegsf2_mixed): Remove all of the # hackery.
2173         (absnegsf2_sse, absnegsf2_i387, absnegdf2_mixed, absnegdf2_sse,
2174         absnegdf2_i387, absnegxf2_i387): Likewise.
2175
2176 2005-01-31  Richard Henderson  <rth@redhat.com>
2177
2178         PR 19696
2179         * optabs.c (expand_copysign_absneg): New.
2180         (expand_copysign_bit): Split out from ...
2181         (expand_copysign): ... here.  Use expand_copysign_absneg.
2182
2183 2005-01-30  Roger Sayle  <roger@eyesopen.com>
2184
2185         PR middle-end/19697
2186         * config/pa/pa.md (anddi3, iordi3): On HPPA64, disallow an integer
2187         constant as the second operand and a register as the third.
2188
2189 2005-01-31  Danny Smith  <dannysmith@users.sourceforge.net>
2190
2191         PR target/19704
2192         * config/i386/i386.c (ix86_function_ok_for_sibcall):  Also check
2193         that dllimport'd functions do not use all call-clobbered registers
2194         to pass parameters.
2195
2196 2005-01-30  Richard Henderson  <rth@redhat.com>
2197
2198         PR 19696
2199         * optabs.c (expand_absneg_bit): Split out from expand_unop and
2200         expand_abs_nojump and generalize.  Use operand_subword and
2201         emit_no_conflict_block.  Support large modes.
2202         (expand_abs_nojump): Use it.  Use HONOR_SIGNED_ZEROS to fall
2203         back to maximum.
2204         (expand_unop): Likewise.  Use HONOR_SIGNED_ZEROS to fall back
2205         negation to subtraction.
2206         (expand_copysign): Check that the format has signed zeros.
2207         Use operand_subword and emit_no_conflict_block.  Support large modes.
2208
2209 2005-01-30  Daniel Berlin  <dberlin@dberlin.org>
2210
2211         Fix PR tree-optimization/19624
2212
2213         * Makefile.in (tree-ssa-pre.o): Add CFGLOOP_H.
2214         * tree-ssa-pre.c: Add cfgloop.h.
2215         Update comment.
2216         (pre_stats): New member, constified.
2217         (inserted_exprs): New static variable.
2218         (NECESSARY): New macro.
2219         (create_expression_by_pieces): Fold the expression, and
2220         mark it as defaulting to not necessary. Also put in
2221         inserted_exprs.
2222         (fully_constant_expression): New function.
2223         (insert_into_preds_of_block): Modify to not insert phis when we
2224         are playing with induction variables.
2225         Push phis onto the inserted_exprs vector, and mark them as not
2226         necessary by default.
2227         (insert_aux): Call fully_constant_expression on eprime.
2228         If all edges produce the same value, mark it constant.
2229         (mark_operand_necessary): New function.
2230         (remove_dead_inserted_code): New function.
2231         (init_pre): Init loop optimizer to get loop info.
2232         (fini_pre): Free loop_optimizer, and inserted_exprs vec.
2233         (execute_pre): Commit edge inserts, then remove dead code.
2234
2235 2005-01-30  Richard Henderson  <rth@redhat.com>
2236
2237         * rtl.c (rtx_equal_p): No early exit for CONST_VECTOR.
2238         * varasm.c (const_rtx_hash_1): Handle CONST_VECTOR.
2239
2240 2005-01-30  Richard Henderson  <rth@redhat.com>
2241
2242         PR target/19700
2243         * config/i386/i386.c (ix86_expand_copysign): New.
2244         (ix86_split_copysign_const): New.
2245         (ix86_split_copysign_var): Rename from ix86_split_copysign,
2246         rearrange op1/nmask operands.
2247         * config/i386/i386-protos.h: Update.
2248         * config/i386/i386.md (copysignsf3): Use ix86_expand_copysign.
2249         (copysigndf3): Likewise.
2250         (copysignsf3_const, copysigndf3_const): New.
2251         (copysignsf3_var): Rename from copysignsf3, split out splitter
2252         and fix split predicate for X constraint.
2253         (copysigndf3_var): Similarly.
2254
2255 2005-01-30  Kazu Hirata  <kazu@cs.umass.edu>
2256
2257         * optabs.c, doc/c-tree.texi, doc/install.texi, doc/md.texi,
2258         doc/passes.texi, doc/rtl.texi, doc/sourcebuild.texi,
2259         doc/tm.texi, doc/tree-ssa.texi: Update copyright.
2260
2261 2005-01-29  Richard Henderson  <rth@redhat.com>
2262
2263         PR target/19690
2264         * config/i386/i386.md (movdf_nointeger, movdf_integer): Fix ordering
2265         of # and * in constraints.
2266
2267 2005-01-29  Richard Henderson  <rth@redhat.com>
2268
2269         PR middle-end/19689
2270         * expr.c (store_field): Don't strip sub-mode cast when the input
2271         data is even smaller.
2272
2273 2005-01-29  Richard Henderson  <rth@redhat.com>
2274
2275         PR middle-end/19687
2276         * expr.c (categorize_ctor_elements_1): Check for CONSTRUCTOR of a
2277         union being empty.
2278
2279 2005-01-29  Richard Henderson  <rth@redhat.com>
2280
2281         * combine.c (make_field_assignment): Fix argument order
2282         to gen_int_mode.
2283
2284 2005-01-29  Richard Guenther <richard.guenther@uni-tuebingen.de>
2285
2286         PR tree-optimization/15791
2287         * fold-const.c (extract_array_ref): New function.
2288         (fold): Fold comparisons between &a[i] and &a[j] or
2289         semantically equivalent trees.
2290
2291 2005-01-29  Jeff Law  <law@redhat.com>
2292
2293         * gcse.c (insert_expr_in_table): Revamp handling of available
2294         and anticipatable occurrence lists to avoid unnecessary list
2295         walking.
2296         (insert_set_in_table): Similarly.
2297
2298 2005-01-29  Joseph S. Myers  <joseph@codesourcery.com>
2299
2300         * c-common.c (fix_string_type): Just use c_build_qualified_type to
2301         build string type.
2302         (c_build_qualified_type): Build qualified array types with
2303         TYPE_MAIN_VARIANT pointing to corresponding unqualified type.
2304         * c-decl.c (c_make_fname_decl): Build unqualified array type
2305         before qualified type.
2306         (grokdeclarator): Use TYPE_MAIN_VARIANT of typedef type if element
2307         type is qualified, not just if type itself is.  Don't apply
2308         qualifiers to array type when declarator is processed.  Apply
2309         qualifiers to field type whether or not it is an array type.
2310         Don't handle array types specially for applying qualifiers to
2311         variables.
2312         * c-typeck.c (composite_type): Build unqualified element type and
2313         array type when forming composite of array types.
2314         (common_pointer_type, comptypes, comp_target_types,
2315         type_lists_compatible_p, build_indirect_ref, build_array_ref,
2316         convert_for_assignment): Don't apply TYPE_MAIN_VARIANT to array
2317         types.
2318         (type_lists_compatible_p): Cache TREE_VALUE (args1) and TREE_VALUE
2319         (args2) in variables a1 and a2.
2320
2321 2005-01-29  Kazu Hirata  <kazu@cs.umass.edu>
2322
2323         * cse.c (n_elements_made, max_elements_made): Remove.
2324         (insert): Don't touch n_elements_made.
2325         (cse_main): Don't touch n_elements_made or max_elements_made.
2326
2327 2005-01-28  Stephane Carrez  <stcarrez@nerim.fr>
2328
2329         PR target/15384
2330         * config/m68hc11/t-m68hc11-gas (dp-bit.c): Fix typo causing a
2331         configuration part of dp-bit.c to be lost.
2332
2333 2005-01-28  Roger Sayle  <roger@eyesopen.com>
2334
2335         * expmed.c (expand_mult_highpart_optab): When attempting to use
2336         a non-widening multiplication in a wider mode, the operands need
2337         to be converted (zero or sign extended) to that mode.
2338
2339 2005-01-28  Ian Lance Taylor  <ian@airs.com>
2340
2341         PR middle-end/16558
2342         PR middle-end/19583
2343         * gimple-low.c (block_may_fallthru): TRY_FINALLY_EXPR only falls
2344         through if both operands fall through.
2345
2346 2005-01-28  Kazu Hirata  <kazu@cs.umass.edu>
2347
2348         * cse.c (fold_rtx) <PC>: Don't optimize.
2349
2350 2005-01-28  Jeff Law  <law@redhat.com>
2351
2352         * fold-const.c (fold, case CEIL_MOD_EXPR): Optimize 0 % X.
2353         (case FLOOR_MOD_EXPR, ROUND_MOD_EXPR, TRUNC_MOD_EXPR): Similarly.
2354
2355 2005-01-28  Kazu Hirata  <kazu@cs.umass.edu>
2356
2357         * cse.c (cse_reg_info_free_list, cse_reg_info_used_list,
2358         cse_reg_info_used_list_end): Remove.
2359         (cse_reg_info_list, cse_reg_info_list_free): New.
2360         (get_cse_reg_info): When allocating an instance of
2361         cse_reg_info, add it to the beginning of the cse_reg_info_list
2362         list.  Remove code to maintain cse_reg_info_used_list.
2363         (new_basic_block): Reset the free list to the beginning of
2364         cse_reg_info_list.
2365
2366 2005-01-28  Richard Sandiford  <rsandifo@redhat.com>
2367
2368         * config/frv/frv.c (bdesc_2arg): Remove __MDPACKH.
2369         (frv_init_builtins): Change its prototype to take 4 uhalf arguments.
2370         (frv_expand_mdpackh_builtin): New function.
2371         (frv_expand_builtin): Use it to expand __MDPACKH.
2372         * doc/extend.texi (__MDPACKH): Update documentation.
2373
2374 2005-01-28  Uros Bizjak  <uros@kss-loka.si>
2375
2376         * config/i386/i386.c (ix86_expand_fp_absneg_operator): Use
2377         SSE_FLOAT_MODE_P for use_sse computation.
2378
2379 2005-01-28  Ralf Corsepius  <ralf.corsepius@rtems.org>
2380
2381         PR target/19663
2382         * config/sparc/rtemself.h (LINK_GCC_C_SEQUENCE_SPEC): undefine.
2383
2384 2005-01-27  Richard Henderson  <rth@redhat.com>
2385
2386         * builtins.c (expand_builtin_copysign): New.
2387         (expand_builtin): Call it.
2388         * genopinit.c (optabs): Add copysign_optab.
2389         * optabs.c (init_optabs): Initialize it.
2390         (expand_copysign): New.
2391         * optabs.h (OTI_copysign, copysign_optab): New.
2392         (expand_copysign): Declare.
2393
2394         * config/alpha/alpha.md (UNSPEC_COPYSIGN): New.
2395         (copysignsf3, ncopysignsf3, copysigndf3, ncopysigndf3): New.
2396
2397         * config/i386/i386.c (ix86_build_signbit_mask): Split from ...
2398         (ix86_expand_fp_absneg_operator): ... here.
2399         (ix86_split_copysign): New.
2400         * config/i386/i386-protos.h: Update.
2401         * config/i386/i386.md (UNSPEC_COPYSIGN): New.
2402         (copysignsf3, copysigndf3): New.
2403
2404         * config/ia64/ia64.md (UNSPEC_COPYSIGN): New.
2405         (copysignsf3, ncopysignsf3): New.
2406         (copysigndf3, ncopysigndf3): New.
2407         (copysignxf3, ncopysignxf3): New.
2408         * config/ia64/ia64.c (rtx_needs_barrier): Handle UNSPEC_COPYSIGN.
2409
2410 2005-01-27  Arend Bayer  <arend.bayer@web.de>
2411             Kazu Hirata  <kazu@cs.umass.edu>
2412
2413         * cse.c: (find_best_addr): Don't call copy_rtx before calling
2414         fold_rtx.  Save cost recomputation if fold_rtx did nothing.
2415         (fold_rtx) <ASM_OPERANDS>: Don't do anything if INSN is
2416         NULL_RTX.
2417
2418 2005-01-27  Jeff Law  <law@redhat.com>
2419
2420         * tree-into-ssa.c (ssa_rewrite_initialize_block): Do not register
2421         definitions of SSA_NAMEs which are not being rewritten.
2422         (rewrite_ssa_into_ssa): Only initialize the current definition
2423         of an SSA_NAME if that SSA_NAME has been marked for rewriting.
2424         If checking is enabled, assert that SSA_NAME_AUX is clear for all
2425         SSA_NAMEs before returning.
2426
2427 2005-01-27  Kazu Hirata  <kazu@cs.umass.edu>
2428
2429         * c-common.def, c-dump.c, c-gimplify.c, c-objc-common.c,
2430         cfgexpand.c, dbxout.c, function.h, opts.c, tree-flow-inline.h,
2431         tree-ssa-operands.h, tree-ssa-threadupdate.c, tree-tailcall.c,
2432         config/avr/avr.md, config/cris/aout.h, config/cris/cris.h,
2433         config/mips/iris6.h, config/sh/sh.c: Update copyright.
2434
2435 2005-01-27  Steven Bosscher  <stevenb@suse.de>
2436
2437         PR middle-end/17278
2438         * opts.c (decode_options): Move flag_thread_jumps from -O1 and
2439         higher to -O2 and higher.  Likewise for tree PRE.
2440         * tree-ssa-dom.c (tree_ssa_dominator_optimize): Only iterate at -O2
2441         and better.
2442
2443 2005-01-27  Ian Lance Taylor  <ian@airs.com>
2444
2445         PR middle-end/19583
2446         * gimple-low.c (try_catch_may_fallthru): New static function.
2447         (block_may_fallthru): Handle TRY_CATCH_EXPR.
2448         * tree-inline.c (expand_call_inline): Don't warn about reaching
2449         the end of a non-void function being inlined if the function uses
2450         a return slot.
2451
2452 2005-01-27  Jakub Jelinek  <jakub@redhat.com>
2453
2454         * config/i386/i386.h (CALL_USED_REGISTERS): Fix comment pastos.
2455
2456         PR c/18946
2457         * c-decl.c (warn_if_shadowing): Handle old_decl error_mark_node.
2458         (pushdecl): Only use DECL_FILE_SCOPE_P if DECL_P.
2459         (implicitly_declare): Handle error_mark_node.
2460
2461 2005-01-27  Richard Henderson  <rth@redhat.com>
2462
2463         PR tree-opt/14329
2464         * tree.h (struct tree_decl): Add debug_expr_is_from.
2465         (DECL_DEBUG_EXPR_IS_FROM): New.
2466         (DECL_DEBUG_EXPR): Rename from DECL_DEBUG_ALIAS_OF.
2467         * dwarf2out.c (dwarf2out_var_location): Update to match.
2468         * tree-outof-ssa.c (create_temp): Likewise.
2469         * var-tracking.c (track_expr_p): Likewise.
2470         * tree-sra.c (instantiate_element): Set DECL_DEBUG_EXPR.
2471         * c-objc-common.c (c_tree_printer) <'D'>: Handle DECL_DEBUG_EXPR.
2472         * toplev.c (default_tree_printer): Likewise.
2473
2474 2005-01-27  Alexandre Oliva  <aoliva@redhat.com>
2475
2476         * config/frv/frv.c (frv_class_likely_spilled_p): Add GR8_REGS,
2477         GR9_REGS, GR89_REGS, FDPIC_FPTR_REGS, FDPIC_REGS.
2478
2479 2005-01-27  Steven Bosscher  <stevenb@suse.de>
2480
2481         * tree.h (SWITCH_COND, SWITCH_BODY, SWITCH_LABELS, CASE_LOW,
2482         CASE_HIGH, CASE_LABEL, ASM_STRING, ASM_OUTPUTS, ASM_INPUTS,
2483         ASM_CLOBBERS): Add tree checks.
2484
2485         * c-common.h (SWITCH_TYPE): Rename to SWITCH_STMT_TYPE.
2486         (SWITCH_STMT_COND, SWITCH_STMT_BODY): New.
2487         * c-common.def (SWITCH_STMT): Update to match.
2488         * c-common.c (c_do_switch_warnings): Use SWITCH_STMT accessor
2489         macros instead of SWITCH_EXPR ones.
2490         * c-dump.c (c_dump_tree): Likewise.
2491         * c-gimplify.c (gimplify_switch_stmt): Likewise.
2492         * c-typeck.c (c_start_case, do_case, c_finish_case): Likewise.
2493
2494         * doc/c-tree.texi (SWITCH_STMT): Update accessor macro names.
2495
2496 2005-01-27  Alan Modra  <amodra@bigpond.net.au>
2497
2498         * unwind-dw2.c (execute_stack_op): Add missing cases for
2499         DW_OP_shl, DW_OP_shr, DW_OP_shra, DW_OP_xor.
2500
2501 2005-01-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
2502
2503         * config.gcc (Obsolete configurations): Remove 'dummy', add
2504         sparclite-*-coff*, sparclite-*-elf*, sparc86x-*-elf* and
2505         sparc-*-openbsd*.
2506
2507 2005-01-26  Diego Novillo  <dnovillo@redhat.com>
2508
2509         PR tree-optimization/19633
2510         * tree-ssa-alias.c (ptr_is_dereferenced_by): Also handle
2511         CALL_EXPRs.
2512         (maybe_create_global_var): Do not create .GLOBAL_VAR if there
2513         are no call-clobbered variables.
2514         * tree-outof-ssa.c (check_replaceable): Return false for calls
2515         with side-effects.
2516
2517 2005-01-26  Ulrich Weigand  <uweigand@de.ibm.com>
2518
2519         * dbxout.c (dbxout_symbol_location): Resolve constant pool references
2520         even for variables with NULL DECL_INITIAL.
2521
2522 2005-01-26  Stuart Hastings  <stuart@apple.com>
2523
2524         * gimplify.c (shortcut_cond_expr): Re-compute side-effects.
2525
2526 2005-01-26  Richard Henderson  <rth@redhat.com>
2527
2528         PR middle-end/18008
2529         * c-decl.c (finish_struct): Set DECL_MODE after resetting a
2530         field's type.
2531         * expr.c (store_field): Strip conversions to odd-bit-sized types
2532         if the destination field width matches.
2533
2534 2005-01-26  Richard Henderson  <rth@redhat.com>
2535
2536         * c-decl.c, expmed.c, expr.c: Revert last change.
2537
2538 2005-01-26  Richard Henderson  <rth@redhat.com>
2539
2540         PR middle-end/18008
2541         * c-decl.c (finish_struct): Set DECL_MODE after resetting a
2542         field's type.
2543         * expmed.c (store_fixed_bit_field): Create a paradoxical subreg
2544         if we don't need the bits above those present in the current mode.
2545         * expr.c (store_field): Strip conversions to odd-bit-sized types
2546         if the destination field width matches.
2547
2548 2005-01-26  Richard Sandiford  <rsandifo@redhat.com>
2549
2550         * config/mips/iris6.h (ENDFILE_SPEC): Don't link in irix-csr.o if
2551         either -ffast-math or -funsafe-math-optimizations is in use.
2552
2553 2005-01-26  Marek Michalkiewicz  <marekm@amelek.gda.pl>
2554
2555         PR target/19293
2556         PR target/19329
2557         * config/avr/avr.c (notice_update_cc): Only set condition code for
2558         ashrqi3 if shift count > 0.
2559         (out_shift_with_cnt): Handle shift count <= 0 as a no-op.
2560         (ashlqi3_out, ashlhi3_out, ashlsi3_out, ashrqi3_out, ashrhi3_out,
2561         ashrsi3_out, lshrqi3_out, lshrhi3_out, lshrsi3_out): Handle shift
2562         count <= 0 as a no-op, and shift count >= width by copying zero
2563         or sign bit to all bits of the result.
2564         * config/avr/avr.md (all shifts): Add alternatives for zero shift
2565         count, with attribute "length" set to 0 and "cc" set to "none".
2566
2567 2005-01-26  Aldy Hernandez  <aldyh@redhat.com>
2568
2569         * doc/invoke.texi: Document -mTLS.
2570
2571         * testsuite/gcc.target/frv/all-tls-global-dynamic.c: New.
2572         * testsuite/gcc.target/frv/all-tls-initial-exec.c: New.
2573         * testsuite/gcc.target/frv/all-tls-initial-exec-pic.c: New.
2574         * testsuite/gcc.target/frv/all-tls-local-dynamic.c: New.
2575         * testsuite/gcc.target/frv/all-tls-local-dynamic-plt.c: New.
2576         * testsuite/gcc.target/frv/all-tls-local-dynamic-plt-pic.c: New.
2577         * testsuite/gcc.target/frv/all-tls-local-exec.c: New.
2578         * testsuite/gcc.target/frv/all-tls-local-exec-TLS.c: New.
2579
2580         * configure.ac: Check for a TLS capable gas.
2581
2582         * configure: Regenerate.
2583
2584 2005-01-26  Richard Henderson  <rth@redhat.com>
2585
2586         PR middle-end/18008
2587         * combine.c (make_field_assignment): Simplify store to zero_extract
2588         from a source with an overlapping mask.
2589
2590 2005-01-26  Aldy Hernandez  <aldyh@redhat.com>
2591
2592         2004-11-11  Eric Christopher  <echristo@redhat.com>
2593
2594         * config/frv/frv.md: Add fr400_integer automaton. Don't
2595         allow TYPE_MUL, TYPE_MACC, or TYPE_CUT to issue in parallel
2596         to TYPE_MACC.
2597
2598 2005-01-26  Steven Bosscher  <stevenb@suse.de>
2599
2600         PR middle-end/16585
2601         * cfgbuild.c (make_edges): Do not clear or set
2602         current_function_has_computed_jump.
2603         * function.h (struct function): Remove the has_computed_jump field.
2604         (current_function_has_computed_jump): Do not define.
2605         * sched-rgn.c (is_cfg_nonregular): Return true if a basic block ends
2606         in a computed jump.  Ignore current_function_has_computed_jump.
2607
2608 2005-01-26  Richard Henderson  <rth@redhat.com>
2609
2610         PR middle-end/19515
2611         * expr.c (categorize_ctor_elements): New argument p_must_clear.
2612         (categorize_ctor_elements_1): Likewise.  Detect a union that isn't
2613         fully initialized.
2614         (mostly_zeros_p): Update for new categorize_ctor_elements argument.
2615         * gimplify.c (gimplify_init_constructor): Likewise.  Only shove
2616         objects into static storage if they have more than one non-zero value.
2617         * tree.h (categorize_ctor_elements): Update decl.
2618
2619 2005-01-26  Steven Bosscher  <stevenb@suse.de>
2620
2621         PR middle-end/19616
2622         * tree.h (CALL_EXPR_TAILCALL): Add comment.
2623         * calls.c (check_sibcall_argument_overlap_1): Revert the change
2624         to this function from 2004-07-10.
2625         * tree-tailcall.c (suitable_for_tail_opt_p): Do not consider the
2626         the current function for tail call optimizations if the address
2627         of one of it its arguments is taken.
2628
2629 2005-01-26  Kazu Hirata  <kazu@cs.umass.edu>
2630
2631         * cse.c (fold_rtx): Call equiv_constant only when necessary.
2632
2633 2005-01-26  Bernd Schmidt  <bernd.schmidt@analog.com>
2634
2635         * function.c (expand_function_end): If current_function_calls_alloca,
2636         emit stack restore in a place that is reached when the function falls
2637         through at the end.
2638
2639 2005-01-26  Alexandre Oliva  <aoliva@redhat.com>
2640
2641         * Makefile.in (../$(build_subdir)/fixincludes/fixincl): Add dummy
2642         rule to avoid matching inappropriate suffix rule.
2643
2644 2005-01-26  Jan Hubicka  <jh@suse.cz>
2645
2646         PR tree-optimization/19241
2647         * tree-inline.c (copy_body_r): Do not walk subtrees after substituting.
2648
2649 2005-01-26  Hans-Peter Nilsson  <hp@axis.com>
2650
2651         * config/cris/cris.h (LIB_SPEC) <sim*>: Use -lsyslinux, not
2652         -lsyssim.  Wrap -lc -lsyssim in --start-group --end-group instead
2653         of doubling.
2654         (STARTFILE_SPEC): Add crti.o, before crtbegin.o.
2655         <sim*>: Always use crt1.o, regardless of N in simN.
2656         <!sim>: Drop support for -pg and -p variants; always use crt0.o.
2657         (ENDFILE_SPEC): Add crtn.o, after crtend.o.
2658         (CRT_CALL_STATIC_FUNCTION): Remove.
2659         * config/cris/aout.h (STARTFILE_SPEC): <!melinux && sim*>: Always
2660         use crt1.o, regardless of N in simN.
2661         <!sim>: Drop support for -pg and -p variants; always use crt0.o.
2662         (LIB_SPEC): Do not define; default to the one in config/cris/cris.h.
2663         (CRIS_CPP_SUBTARGET_SPEC) <melinux && !nostdinc>: Remove special
2664         case isystem setting.
2665         (MAX_OFILE_ALIGNMENT): Correct to 32, not 16.
2666
2667 2005-01-25  Ian Lance Taylor  <ian@airs.com>
2668
2669         * gimple-low.c (block_may_fallthru): Correct handling of
2670         SWITCH_EXPR--may fall through if SWITCH_LABELS is NULL.
2671
2672 2005-01-26  Hans-Peter Nilsson  <hp@axis.com>
2673
2674         * config/cris/cris.h (CPP_SPEC): Adjust the various mtune=
2675         handlers to match indentation; nested under the mtune=* handler.
2676         Similar for mcpu= and march=.
2677
2678 2005-01-25  Daniel Jacobowitz  <dan@codesourcery.com>
2679
2680         * config/mips/linux.h (LIB_SPEC): Remove -rpath-link.
2681         * config/mips/linux64.h (LIB_SPEC): Likewise.
2682         * config/mn10300/linux.h (LIB_SPEC): Likewise.
2683         * config/sh/linux.h (LIB_SPEC): Likewise.
2684
2685 2005-01-25  Aldy Hernandez  <aldyh@redhat.com>
2686
2687         * config/frv/frv.c (frv_legitimize_tls_address): New.
2688         (TARGET_HAVE_TLS): Define.
2689         (FRV_SYMBOL_REF_TLS_P): Define.
2690         (frv_override_options): Handle new register classes.
2691         (frv_legitimate_address_p): Reject tls addresses.
2692         (frv_legitimize_address): Handle TLS addresses.
2693         (gen_inlined_tls_plt): New.
2694         (gen_tlsmoff): New.
2695         (frv_legitimize_tls_address): New.
2696         (unspec_got_name): Add TLS entries.
2697         (got12_operand): Add R_FRV_TLSMOFF12 case.
2698         (frv_emit_move): Fixup TLS addresses.
2699         (frv_emit_movsi): Legitimize TLS addresses.
2700
2701         * config/frv/frv.h (MASK_BIG_TLS): New.
2702         (TARGET_BIG_TLS): New.
2703         (HAVE_AS_TLS): Define.
2704         (TARGET_SWITCHES): Add -mTLS and -mtls options.
2705         (enum reg_class): Add GR8_REGS, GR9_REGS, GR89_REGS.
2706         (REG_CLASS_NAMES): Same.
2707         (REG_CLASS_CONTENTS): Same.
2708         (CONSTRAINT_LEN): New.
2709         (REG_CLASS_FROM_CONSTRAINT): New.
2710         (PREDICATE_CODES): Add symbolic_operand.
2711
2712         * config/frv/frv.md (define_constants): Add UNSPEC_GETTLSOFF,
2713         UNSPEC_TLS_LOAD_GOTTLSOFF12, UNSPEC_TLS_INDIRECT_CALL,
2714         UNSPEC_TLS_TLSDESC_LDD, UNSPEC_TLS_TLSDESC_LDD_AUX,
2715         UNSPEC_TLS_TLSOFF_LD, UNSPEC_TLS_LDDI, UNSPEC_TLSOFF_HILO,
2716         R_FRV_GOTTLSOFF_HI, R_FRV_GOTTLSOFF_LO, R_FRV_TLSMOFFHI,
2717         R_FRV_TLSMOFFLO, R_FRV_TLSMOFF12, R_FRV_TLSDESCHI,
2718         R_FRV_TLSDESCLO, R_FRV_GOTTLSDESCHI, R_FRV_GOTTLSDESCLO, GR8_REG,
2719         GR9_REG, GR14_REG, LRREG.
2720         (type): Add load_or_call attribute.
2721         ("load_or_call"): New reservation.
2722         ("call_gettlsoff"): New.
2723         ("tls_indirect_call"): New.
2724         ("tls_load_gottlsoff12"): New.
2725         ("tlsoff_hilo"): New.
2726         ("tls_tlsdesc_ldd"): New.
2727         ("tls_tlsoff_ld"): New.
2728         ("tls_lddi"): New.
2729
2730         * config/frv/frv-protos.h (symbolic_operand): Protoize.
2731
2732         2005-01-25  Alexandre Oliva  <aoliva@redhat.com>
2733
2734         * config/frv/frv.h (ASM_OUTPUT_DWARF_DTPREL): Define.
2735         * config/frv/frv-protos.h (frv_output_dwarf_dtprel): Declare.
2736         * config/frv/frv.c (TLS_BIAS): Define.
2737         (frv_output_dwarf_dtprel): New.
2738
2739 2005-01-26  Jakub Jelinek  <jakub@redhat.com>
2740
2741         PR rtl-optimization/19579
2742         * ifcvt.c (noce_try_cmove_arith): If emitting instructions to set up
2743         both A and B, see if they don't clobber registers the other expr uses.
2744
2745 2005-01-25  J"orn Rennecke <joern.rennecke@st.com>
2746
2747         * real.c (do_add): Initialize signalling and canonical members.
2748
2749         * real.c (real_from_integer): Zero out destination.
2750
2751 2005-01-18  Jan Hubicka  <jh@suse.cz>
2752
2753         PR tree-optimize/19337
2754         * tree-inline.c (initialize_inlined_parameters): Copy
2755         saved_static_chain_decl only.
2756
2757 2005-01-25  Richard Henderson  <rth@redhat.com>
2758
2759         PR target/19556
2760         PR target/19584
2761         * config/i386/i386.c (x86_inter_unit_moves): Zero.
2762         (ix86_preferred_reload_class): Rewrite fp-constant section, with
2763         80387 enabled, to return a proper subclass.  Return the subset that
2764         overlaps with GENERAL_REGS for PLUS.
2765         * config/i386/i386.md (movsi_1, movdi_2): Set type to "mmx" for pxor.
2766
2767 2005-01-25  Richard Henderson  <rth@redhat.com>
2768
2769         PR middle-end/19609
2770         * tree-complex.c (expand_complex_div_wide): Use the correct formulae.
2771
2772 2005-01-25  Roger Sayle  <roger@eyesopen.com>
2773
2774         * expmed.c (choose_multiplier): Change interface to return the
2775         multiplier lowpart as an rtx instead of an unsigned HOST_WIDE_INT.
2776         (expand_divmod): Update calls to choose_multiplier.
2777
2778 2005-01-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2779
2780         PR middle-end/19330
2781         * expmed.c (extract_bit_field): Use adjust_address instead of
2782         gen_lowpart when op0 is a MEM.
2783
2784 2005-01-24  Steven Bosscher  <stevenb@suse.de>
2785
2786         * cfgexpand.c (expand_gimple_tailcall): Fix typo.
2787
2788 2005-01-24  Richard Sandiford  <rsandifo@redhat.com>
2789
2790         * config/mips/irix-csr.c: New file.
2791         * config/mips/t-iris6 (irix-csr.o): New rule to build it.
2792         (EXTRA_MULTILIB_PARTS): Add irix-csr.o.
2793         * config/mips/iris6.h (ENDFILE_SPEC): Include it in n32 and n64
2794         executables.
2795
2796 2005-01-24  Eric Botcazou  <ebotcazou@libertysurf.fr>
2797
2798         PR bootstrap/19364
2799         * config.gcc (sparc-*-elf*): Remove sol2.h, sparc/sol2.h and
2800         sparc/elf.h, add sparc/sp-elf.h.
2801         (sparc-*-rtems*): Likewise.
2802         (sparclite-*-elf*): Remove sol2.h, sparc/sol2.h, sparc/elf.h and
2803         tm-dwarf2.h, add sparc/sp-elf.h.
2804         (sparc86x-*-elf): Likewise.
2805         (sparc64-*-elf*): Remove sol2.h, sparc/sol2.h and tm-dwarf2.h.
2806         * config/sparc/liteelf.h (TARGET_SUB_OS_CPP_BUILTINS): Rename into
2807         TARGET_OS_CPP_BUILTINS.
2808         * config/sparc/sp86x-elf (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
2809         * config/sparc/rtemself.h (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
2810         Undefine it.
2811         * config/sparc/openbsd64.h (NO_IMPLICIT_EXTERN_C): Undefine.
2812         * config/sparc/sp64-elf.h (NO_IMPLICIT_EXTERN_C): New macro.
2813         (SWITCH_TAKES_ARG): Likewise.
2814         (LOCAL_LABEL_PREFIX): Likewise.
2815         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2816         (TARGET_N_FORMAT_TYPES): Delete.
2817         (TARGET_FORMAT_TYPES): Likewise.
2818         (ASM_DECLARE_FUNCTION_SIZE): Likewise.
2819         * config/sparc/elf.h: Delete.
2820         * config/sparc/sp-elf.h: New file.
2821
2822 2005-01-24  Kazu Hirata  <kazu@cs.umass.edu>
2823
2824         * tree-flow-inline.h (phi_arg_from_edge): Remove.
2825         * tree-flow.h: Remove the corresponding prototype.
2826         * tree-ssa-operands.h, tree-ssa-threadupdate.c, tree-ssa.c,
2827         tree-vectorizer.c: Use dest_idx instead of phi_arg_from_edge.
2828
2829 2005-01-24  Jakub Jelinek  <jakub@redhat.com>
2830
2831         PR target/17751
2832         * config/rs6000/rs6000.c (rs6000_file_start): Create toc section
2833         for AIX ABI or ELF -fPIC.
2834         (rs6000_emit_load_toc_table): Don't create toc_section here.
2835         (rs6000_xcoff_file_start): Nor here.
2836
2837 2005-01-24  J"orn Rennecke <joern.rennecke@st.com>
2838
2839         * sh.c (ra.h): Don't #include.
2840         (hard_regs_intersect_p): New function, resurrected from ra.c.
2841
2842         * sh.c: Fix 1996 Copyright.
2843
2844 2005-01-24  Richard Henderson  <rth@redhat.com>
2845             Aldy Hernandez  <aldyh@redhat.com>
2846
2847         * regrename.c (note_sets): Handle subregs.
2848
2849 2005-01-24  Joseph S. Myers  <joseph@codesourcery.com>
2850
2851         PR bootstrap/18058
2852         * genconditions.c (write_header, write_conditions): Elide file if
2853         not GCC >= 3.0.1.
2854
2855 2005-01-24  Kazu Hirata  <kazu@cs.umass.edu>
2856
2857         * c-opts.c, expmed.c, gengtype.c, tree-complex.c,
2858         config/arm/iwmmxt.md, config/avr/avr.c, config/s390/s390.h:
2859         Update copyright.
2860
2861 2005-01-24  Jakub Jelinek  <jakub@redhat.com>
2862
2863         * builtins.c (get_pointer_alignment, gimplify_va_arg_expr,
2864         expand_builtin_printf, expand_builtin_fprintf,
2865         expand_builtin_sprintf): Use POINTER_TYPE_P instead TREE_CODE
2866         checking against POINTER_TYPE.
2867         (validate_arglist): Handle POINTER_TYPE code by checking
2868         POINTER_TYPE_P.
2869
2870 2005-01-24  Paolo Bonzini  <bonzini@gnu.org>
2871
2872         * rtlanal.c (non_rtx_starting_operands, for_each_rtx_1,
2873         init_rtlanal): New.
2874         (for_each_rtx): Call for_each_rtx_1.
2875         * rtl.h (init_rtlanal): Declare.
2876         * toplev.c (backend_init): Call init_rtlanal.
2877
2878 2005-01-24  Jakub Jelinek  <jakub@redhat.com>
2879
2880         * flow.c (propagate_one_insn): Formatting.
2881
2882         PR middle-end/19551
2883         * flow.c (libcall_dead_p): Be more conservative if unsure.
2884         If there are any instructions between insn and call, see if they are
2885         all dead before saying the libcall is dead.
2886
2887 2005-01-24  Uros Bizjak  <uros@kss-loka.si>
2888
2889         * config/i386/i386.md (*extendsfdf2_sse): Use "nonimmediate_operand"
2890         operand constraint for operand 0.
2891
2892 2005-01-23  Richard Henderson  <rth@redhat.com>
2893
2894         PR 19486
2895         * tree-complex.c (expand_complex_div_wide): Set EDGE_FALLTHRU on
2896         edges leading to join block.
2897
2898 2005-01-23  Roger Sayle  <roger@eyesopen.com>
2899
2900         * expmed.c (expand_mult_highpart): Make static.  Change type of
2901         constant multiplier argument from unsigned HOST_WIDE_INT to rtx.
2902         (expand_divmod): Updates calls to expand_mult_highpart by using
2903         gen_int_mode to pass a CONST_INT rtx.
2904         * rtl.h (expand_mult_highpart): Remove prototype.
2905
2906 2005-01-23  Kazu Hirata  <kazu@cs.umass.edu>
2907
2908         * flow.c (regset_bytes, regset_size): Remove.
2909
2910         * cfganal.c: Fix a reference to Harvey's paper.
2911
2912 2005-01-23  Steven Bosscher  <stevenb@suse.de>
2913
2914         PR rtl-optimization/19464
2915         * tree-optimize.c (init_tree_optimization_passes): Add one more
2916         copyrename pass just before out-of-ssa.
2917
2918 2005-01-23  Joseph S. Myers  <joseph@codesourcery.com>
2919
2920         PR bootstrap/18058
2921         * recog.c (recog_memoized): Don't define if GENERATOR_FILE.
2922         * ggc-none.c (ggc_free): Define.
2923
2924 2005-01-23  Kazu Hirata  <kazu@cs.umass.edu>
2925
2926         * cse.c (max_reg, max_insn_uid): Remove.
2927         (cse_main): Don't access max_reg or max_insn_uid.
2928
2929         * c-common.c (explicit_flag_signed_bitfields,
2930         lang_statement_code_p, lang_expand_function_end): Remove.
2931         * c-common.h: Remove the corresponding declarations.
2932         * c-opts.c (c_common_handle_option): Remove all write access
2933         to explicit_flag_signed_bitfields.
2934
2935         * cgraph.c (cgraph_varpool_n_nodes): Remove.
2936         (cgraph_varpool_node): Don't access cgraph_varpool_n_nodes.
2937         * cgraph.h: Remove the corresponding declaration.
2938
2939         * gcse.c (null_pointer_info): Remove.
2940
2941 2005-01-23  Roger Sayle  <roger@eyesopen.com>
2942             Eric Botcazou  <ebotcazou@libertysurf.fr>
2943
2944         * combine.c (simplify_logical): Only simplify logical expressions
2945         of the form ior(and(x,y),z) by the inverse distributive law if the
2946         result is cheaper than the original.
2947
2948 2005-01-23  Kazu Hirata  <kazu@cs.umass.edu>
2949
2950         * alias.c, c-common.h, c-incpath.c, c-incpath.h, expr.c,
2951         fold-const.c, gimplify.c, params.h, tree-data-ref.c,
2952         tree-if-conv.c, tree-nested.c, tree-outof-ssa.c,
2953         tree-ssa-dom.c, tree-vectorizer.c, tree.def, config/darwin.c,
2954         config/freebsd-spec.h, config/arm/arm.h,
2955         config/h8300/h8300.md, config/i386/i386.md,
2956         config/i386/predicates.md, config/i386/sse.md,
2957         config/ia64/ia64.c, config/ip2k/ip2k.c, config/s390/s390.c,
2958         config/vax/vax.md: Fix comment typos.  Follow spelling
2959         conventions.
2960
2961 2005-01-23  Steven Bosscher  <stevenb@suse.de>
2962
2963         * gengtype.c (walk_type): Produce `not equal to' compares for loop
2964         tests, instead of `less than'.
2965
2966 2005-01-23  Richard Sandiford  <rsandifo@redhat.com>
2967
2968         * function.c (assign_parm_setup_block): When creating a new stack slot
2969         for a parameter, get its alignment from the parameter's DECL_ALIGN
2970         rather than the type's TYPE_ALIGN.  Make sure that the parameter
2971         is at least word aligned.
2972
2973 2005-01-22  Roger Sayle  <roger@eyesopen.com>
2974
2975         PR middle-end/19378
2976         * config/avr/avr.c (avr_hard_regno_mode_ok): Rewrite.
2977
2978 2005-01-22  Richard Henderson  <rth@redhat.com>
2979
2980         PR target/19506
2981         * config/i386/i386.md (movsfcc_1_sse_max): Use nonimmediate_operand
2982         in both compare operands.
2983         (movdfcc_1_sse_max): Likewise.
2984         (movsfcc_1_sse): Likewise.  Add earlyclobber for scratch.
2985         (movdfcc_1_sse): Likewise.
2986         * config/i386/i386.c (ix86_split_sse_movcc): Emit copies into the
2987         scratch register as needed.
2988
2989 2005-01-22  Richard Henderson  <rth@redhat.com>
2990
2991         * config/i386/i386.md (smaxsf3): Fix mnemonic typo.
2992
2993         * config/i386/i386.c (ix86_prepare_fp_compare_args): Fix is_sse test.
2994
2995 2005-01-22  Richard Henderson  <rth@redhat.com>
2996
2997         * genopinit.c (optabs): Use smin/smax for floating point too.
2998         * doc/md.texi: Update to match.  Clarify that floating point
2999         results are undefined for +0/-0 and NaN.
3000         * doc/rtl.texi: Likewise.
3001         * rtl.def (SMIN, SMAX): Likewise
3002         * tree.def (MIN_EXPR, MAX_EXPR): Likewise.
3003
3004         * config/alpha/alpha.md (smaxdf3, smindf3, smaxsf3, sminsf3): Add
3005         leading 's' to the name.
3006         * config/ia64/ia64.md (smaxsf3, sminsf3, smaxdf3, smindf3,
3007         smaxxf3, sminxf3): Likewise.
3008         * config/rs6000/rs6000.md (smaxdf3, smindf3, smaxsf3, sminsf3):
3009         Likewise.
3010
3011 2005-01-22  Paul Brook  <paul@codesourcery.com>
3012
3013         * config/arm/arm.md: Use "Uy" constraint for wcgr load/stores.
3014
3015 2005-01-21  Mark Dettinger  <dettinge@de.ibm.com>
3016
3017         * config/s390/s390.c (struct processor_costs): New fields
3018         dlgr, dlr, dr, dsgfr, dsgr.
3019         (z900_cost, z990_cost): Values for new fields.
3020         (s390_rtx_costs): New cases MEM und COMPARE in switch
3021         statement. Modified handling of SIGN_EXTEND, ZERO_EXTEND,
3022         DIV, MOD, UDIV, UMOD.
3023
3024 2005-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
3025
3026         * config/s390/s390.md ("doloop_si64"): Reload input value directly
3027         into the register being decremented.
3028         ("doloop_si31", "doloop_di"): Likewise.
3029         ("*doloop_si_long"): Adapt pattern.
3030
3031 2005-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
3032
3033         * config/s390/s390.h (HARD_REGNO_NREGS): Fix computation for
3034         access registers.
3035         (CLASS_MAX_NREGS): Likewise.
3036
3037 2005-01-21  Daniel Berlin  <dberlin@dberlin.org>
3038
3039         * doc/tree-ssa.texi (Statement Operands): Add example for new
3040         must-def macro. Note deprecation of old operands interface.
3041
3042 2005-01-22  Richard Sandiford  <rsandifo@redhat.com>
3043
3044         PR tree-optimization/19484
3045         * tree-cfg.c (remove_fallthru_edge): New function.
3046         (cleanup_control_flow): Remove fallthru edges from calls that are
3047         now known not to return.
3048
3049 2005-01-20  Daniel Berlin  <dberlin@dberlin.org>
3050
3051         Fix PR tree-optimization/19038
3052         * tree-ssa-dom.c (cprop_operand): Don't replace loop invaeriant
3053         copies with loop variant ones.
3054
3055 2005-01-22  Kazu Hirata  <kazu@cs.umass.edu>
3056
3057         * cfganal.c, real.h, reorg.c, timevar.def, tree-ssa-ccp.c,
3058         config/alpha/alpha-protos.h, config/alpha/alpha.h,
3059         config/alpha/alpha.md, config/alpha/predicates.md,
3060         config/sparc/freebsd.h, config/sparc/netbsd-elf.h,
3061         config/sparc/sol2.h: Update copyright.
3062
3063         * tree-cfg.c (remove_forwarder_block_with_phi): Look at the
3064         first label to see if it is a nonlocal label.
3065
3066 2005-01-22  David Edelsohn  <edelsohn@gnu.org>
3067             Andrew Pinski  <pinskia@physics.uc.edu>
3068
3069         PR target/19491
3070         * config/rs6000/rs6000.c (rs6000_va_start): Saturate n_gpr at
3071         maximum number of GPRs.  Saturate n_fpr at maximum number of FPRs.
3072
3073 2005-01-22  Ralf Corsepius  <ralf.corsepius@rtems.org>
3074
3075         * config/rs6000/rtems.h: Update copyright.
3076
3077 2005-01-22  Ralf Corsepius  <ralf.corsepius@rtems.org>
3078
3079         PR target/19548
3080         * config/rs6000/rtems.h: Resurrect cpp_os_rtems_spec from gcc < 3.4.
3081         (CPP_OS_RTEMS_SPEC): New (From gcc-3.3's config/rs6000/sys4.h).
3082         (SUBSUBTARGET_EXTRA_SPECS): Use CPP_OS_RTEMS_SPEC.
3083
3084 2005-01-22  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3085
3086         PR c/18809
3087         * c-typeck.c (convert_arguments): Check for error_mark_node.
3088
3089 2005-01-21  Ian Lance Taylor  <ian@airs.com>
3090
3091         PR tree-optimization/13000
3092         * tree-inline.c: Include "tree-flow.h".
3093         (expand_call_inline): If warn_return_type, warn if non-void inline
3094         function falls through.
3095         * tree-cfg.c (execute_warn_function_return): Don't warn about
3096         control reaching end if TREE_NO_WARNING is set.  Set
3097         TREE_NO_WARNING.
3098         * gimple-low.c (block_may_fallthru): Don't assume that SWITCH_EXPR
3099         has been lowered.
3100         * gimplify.c (shortcut_cond_expr): Don't emit a jump over the else
3101         branch if we don't need one.
3102         * c-typeck.c: Include "tree-flow.h"
3103         (c_finish_bc_stmt): Don't add a goto if the current statement
3104         list doesn't fall through to the current point.
3105
3106 2005-01-21  Roger Sayle  <roger@eyesopen.com>
3107
3108         PR rtl-optimization/576
3109         * real.c (real_arithmetic): Change return type from void to bool
3110         to return an indication that the result may be inexact.
3111         * real.h (real_arithmeric): Update prototype.
3112         * fold-const.c (const_binop):  Don't constant fold floating
3113         point expressions when the user specifies -frounding-math and
3114         the result may depend upon the run-time rounding mode.
3115         (fold_convert_const_real_from_real): Clean-up.
3116         (fold_initializer): Ignore flag_rounding_math for initializers.
3117         * simplify-rtx.c (simplify_binary_operation): Likewise, don't
3118         constant fold FP operations with flag_rounding_math if the
3119         result may depend upon the run-time rounding mode.
3120
3121 2005-01-21  Tom Tromey  <tromey@redhat.com>
3122
3123         * c-cppbuiltin.c (define__GNUC__): Correct assertion.
3124
3125 2005-01-21  Kazu Hirata  <kazu@cs.umass.edu>
3126
3127         * tree-cfg.c: Fix comment typos.
3128
3129 2005-01-21  J"orn Rennecke <joern.rennecke@st.com>
3130
3131         * passes.c (rest_of_handle_flow2): Close / open the flow2 dump file
3132         around the call to rest_of_handle_branch_target_load_optimize.
3133
3134 2005-01-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
3135
3136         * config.gcc (sparc-*-netbsdelf*): Include dbxelf.h
3137         (sparc64-*-openbsd*): Likewise.
3138         (sparclite-*-elf*): Include tm-dwarf2.h.
3139         (sparc86x-*-elf*): Likewise.
3140         (sparc64-*-elf*): Likewise.
3141         * config/sparc/linux64.h (DWARF2_DEBUGGING_INFO): Delete.
3142         (DBX_DEBUGGING_INFO): Likewise.
3143         * config/sparc/liteelf.h (DWARF2_DEBUGGING_INFO): Likewise.
3144         (PREFERRED_DEBUGGING_TYPE): Likewise.
3145         * config/sparc/netbsd-elf.h (PREFERRED_DEBUGGING_TYPE): Likewise.
3146         * config/sparc/sp64-elf.h (DBX_DEBUGGING_INFO): Likewise.
3147         (PREFERRED_DEBUGGING_TYPE): Likewise.
3148         * config/sparc/sp86x-elf.h (DWARF2_DEBUGGING_INFO): Likewise.
3149         (PREFERRED_DEBUGGING_TYPE): Likewise.
3150         * config/sparc/sparc.h (DBX_DEBUGGING_INFO): Likewise.
3151
3152 2005-01-21  Hans-Peter Nilsson  <hp@bitrange.com>
3153
3154         PR target/18701
3155         * combine.c (combine_simplify_rtx): Revert change of 2004-12-31.
3156
3157 2005-01-20  Paul Brook  <paul@codesourcery.com>
3158
3159         * doc/rtl.texi: Document value extension requirements for CONST_INT.
3160
3161 2005-01-20  Kazu Hirata  <kazu@cs.umass.edu>
3162
3163         * tree-cfg.c (tree_verify_flow_info): Check that a nonlocal
3164         label is first in a sequence of labels.
3165
3166         * tree-cfg.c (tree_verify_flow_info): Fix a typo.
3167
3168 2005-01-20  Janis Johnson  <janis187@us.ibm.com>
3169             Giovanni Bajo  <giovannibajo@gcc.gnu.org>
3170
3171         * doc/sourcebuild.texi (Test Directives): New.
3172
3173 2005-01-20  Roger Sayle  <roger@eyesopen.com>
3174
3175         * real.c (real_floor): Don't leave the result uninitialized when
3176         mode is VOIDMode, but return the unrounded intermediate value.
3177         (real_ceil): Likewise.
3178
3179 2005-01-20  Paul Brook  <paul@codesourcery.com>
3180
3181         * config/arm/arm.md (insv): Use gen_int_mode.
3182
3183 2005-01-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
3184
3185         * config/sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABELREF): Delete.
3186         * config/sparc/linux.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise.
3187         * config/sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise.
3188         * config/sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise.
3189         * config/sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise.
3190
3191 2005-01-20  Daniel Berlin  <dberlin@dberlin.org>
3192
3193         Fix PR debug/19124
3194         * dwarf2out.c (concat_loc_descriptor): We don't know we can use
3195         fbreg, so we have to assume we can't.
3196         (loc_descriptor_from_tree_1): Ditto.
3197         (containing_function_has_frame_base): New function.
3198         (add_location_or_const_value_attribute): Use it.
3199         Also try to generate a frame_base from a single element location
3200         list.
3201
3202 2005-01-20  Kazu Hirata  <kazu@cs.umass.edu>
3203
3204         PR tree-optimization/15349
3205         * timevar.def (TV_TREE_MERGE_PHI): New.
3206         * tree-cfg.c (tree_forwarder_block_p): Add a new argument
3207         PHI_WANTED.
3208         (remove_forwarder_block, cleanup_forwarder_blocks): Adjust the
3209         calls to tree_forwarder_block_p.
3210         (remove_forwarder_block_with_phi, merge_phi_nodes,
3211         gate_merge_phi, pass_merge_phi): New.
3212         * tree-optimize.c (init_tree_optimization_passes): Add
3213         pass_merge_phi.
3214         * tree-pass.h: Add an extern for pass_merge_phi;
3215
3216 2005-01-20  Richard Henderson  <rth@redhat.com>
3217
3218         PR target/19418
3219         * config/i386/emmintrin.h (_mm_castpd_ps, _mm_castpd_si128): New.
3220         (_mm_castps_pd, _mm_castps_si128): New.
3221         (_mm_castsi128_ps, _mm_castsi128_pd): New.
3222
3223 2005-01-20  Richard Henderson  <rth@redhat.com>
3224
3225         PR target/19530
3226         * config/i386/mmintrin.h (_mm_cvtsi32_si64): Use
3227         __builtin_ia32_vec_init_v2si.
3228         (_mm_cvtsi64_si32): Use __builtin_ia32_vec_ext_v2si.
3229         * config/i386/i386.c (IX86_BUILTIN_VEC_EXT_V2SI): New.
3230         (ix86_init_mmx_sse_builtins): Create it.
3231         (ix86_expand_builtin): Expand it.
3232         (ix86_expand_vector_set): Handle V2SFmode and V2SImode.
3233         * config/i386/mmx.md (vec_extractv2sf_0, vec_extractv2sf_1): New.
3234         (vec_extractv2si_0, vec_extractv2si_1): New.
3235
3236 2005-01-20  Richard Henderson  <rth@redhat.com>
3237
3238         PR target/16533
3239         * config/i386/i386.c (ix86_expand_push): New.
3240         * config/i386/mmx.md (push<MMXMODE>1): New.
3241         * config/i386/sse.md (push<SSEMODE>1): New.
3242         * config/i386/i386-protos.h: Update.
3243
3244 2005-01-20  Kazu Hirata  <kazu@cs.umass.edu>
3245
3246         * params.def, params.h, predict.c, tree-ssa-loop-im.c: Update
3247         copyright.
3248
3249 2005-01-20  Richard Henderson  <rth@redhat.com>
3250
3251         * rtl.def (CONST_VECTOR): Use RTX_CONST_OBJ.
3252         * rtl.h (CONSTANT_P): Don't special case CONST_VECTOR.
3253
3254 2005-01-19  Richard Henderson  <rth@redhat.com>
3255
3256         PR target/19350
3257         * config/i386/i386.c (ix86_expand_vector_move_misalign): Convert
3258         to V4SFmode in SSE1 fallback load path.
3259
3260 2005-01-19  Richard Henderson  <rth@redhat.com>
3261
3262         * config/i386/i386.c (ix86_expand_vector_init_one_var): Fix typo
3263         in QImode expansion to ix86_expand_vector_set.
3264         (ix86_expand_vector_init_general): Fix typo in V8HImode recursive call.
3265
3266 2005-01-19  Richard Henderson  <rth@redhat.com>
3267
3268         PR target/19511
3269         * config/i386/i386.c (ix86_preferred_reload_class): Return a proper
3270         subclass of the input class.
3271         (ix86_secondary_memory_needed): Always true for cross-MMX classes.
3272         Always true for cross-SSE1 classes.  Rationalize conditionals.
3273         * config/i386/i386.h (SSE_CLASS_P, MMX_CLASS_P): Use straight equality.
3274         * config/i386/i386.md (movsi_1): Add MMX/SSE zeros.  Fix alternatives
3275         for SSE1.  Don't check TARGET_INTER_UNIT_MOVES.
3276         (movdi_2): Add MMX/SSE zeros.
3277         (movdi_1_rex64): Likewise.  Don't check TARGET_INTER_UNIT_MOVES.
3278         (movsf_1): Don't check TARGET_INTER_UNIT_MOVES.
3279         (zero_extendsidi2_32, zero_extendsidi2_rex64): Likewise.
3280         (movsi_1_nointernunit, movdi_1_rex64_nointerunit): Remove.
3281         (movsf_1_nointerunit, zero_extendsidi2_32_1): Remove.
3282         (zero_extendsidi2_rex64_1): Remove.
3283         (MOV0 peephole): Check GENERAL_REG_P.
3284
3285 2005-01-19  Richard Henderson  <rth@redhat.com>
3286
3287         PR target/19427
3288         * config/i386/i386.c (ix86_expand_vector_set): Fix third and fourth
3289         shufps elements.
3290         (ix86_expand_vector_extract): Likewise.
3291
3292 2005-01-19  Richard Henderson  <rth@redhat.com>
3293
3294         PR middle-end/19304
3295         * expr.c (emit_move_change_mode): New argument force; use
3296         simplify_gen_subreg if true.
3297         (emit_move_via_alt_mode): Merge into ...
3298         (emit_move_via_integer): ... here.
3299         (emit_move_ccmode): Use emit_move_change_mode directly.
3300
3301 2005-01-19  Richard Henderson  <rth@redhat.com>
3302
3303         PR target/19518
3304         * config/alpha/alpha.c (alpha_rtx_costs): Handle HIGH.
3305         (alpha_preferred_reload_class): Handle CONST_VECTOR.
3306         (alpha_emit_set_const_1): Add no_output parameter; don't emit
3307         rtl if true.
3308         (alpha_emit_set_const): Likewise.  Make static.
3309         (alpha_emit_set_long_const): Make static.
3310         (alpha_extract_integer): Split out from alpha_expand_mov.
3311         (alpha_split_const_mov): Likewise.
3312         (alpha_expand_mov): Use them.  Handle CONST_VECTOR.
3313         (alpha_legitimate_constant_p): New.
3314         * config/alpha/alpha-protos.h: Update.
3315         * config/alpha/alpha.h (REGISTER_MOVE_COST): Correct fp<->gp cost.
3316         (LEGITIMATE_CONSTANT_P): Re-implement with a function.
3317         * config/alpha/alpha.md (movsi): Add n alternative.
3318         (movsi_nt_vms, movdi_er_nofix, movdi_er_fix, movdi_fix): Likewise.
3319         (mov<VEC>_fix, mov<VEC>_nofix): Add i alternative.
3320         (splitters for all of the above): Use alpha_split_const_mov.
3321         * config/alpha/predicates.md (non_add_const_operand): New.
3322         (non_zero_const_operand): New.
3323         (input_operand): Use alpha_legitimate_constant_p after reload.
3324
3325 2005-01-19  Zdenek Dvorak  <dvorakz@suse.cz>
3326
3327         PR tree-optimization/19038
3328         * tree-ssa-loop-ivopts.c (allow_ip_end_pos_p): New function.
3329         (add_candidate): Add ivs with increment in latch only if
3330         allow_ip_end_pos_p is true.
3331         (determine_iv_cost): Use empty_block_p.
3332
3333 2005-01-19  Daniel Berlin  <dberlin@dberlin.org>
3334
3335         * cfganal.c (compute_dominance_frontiers_1): Replace with new algorithm
3336         (compute_dominance_frontiers): Ditto.
3337
3338 2005-01-19  Ralf Corsepius  <ralf.corsepius@rtems.org>
3339
3340         PR target/19529
3341         * config/sh/t-rtems: New.
3342         * config.gcc (sh-*-rtems*): Reflect having added config/sh/t-rtems.
3343
3344 2005-01-19  Zdenek Dvorak  <dvorakz@suse.cz>
3345
3346         * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Always subtract
3347         the offset of the selected field.
3348
3349 2005-01-19  Kazu Hirata  <kazu@cs.umass.edu>
3350
3351         * tree-cfg.c (remove_forwarder_block): Fix the check to
3352         prevent a nonlocal label from appearing in the middle of a
3353         basic block.
3354
3355 2005-01-19  Hans-Peter Nilsson  <hp@axis.com>
3356
3357         PR rtl-optimization/19462
3358         * reorg.c (find_end_label): Create return insn only if
3359         current_function_epilogue_delay_list is empty.
3360
3361 2005-01-19  Paolo Bonzini  <bonzini@gnu.org>
3362
3363         * doc/passes.texi: Remove paragraph mentioning new-ra.
3364
3365 2005-01-19  Jakub Jelinek  <jakub@redhat.com>
3366
3367         PR rtl-optimization/15139
3368         * combine.c: Include params.h.
3369         (count_rtxs): New function.
3370         (record_value_for_reg): If replace_rtx would replace at least
3371         2 occurrences of REG in VALUE and TEM is really large, replace REG with
3372         (clobber (const_int 0)) instead of TEM.
3373         * params.def (PARAM_MAX_LAST_VALUE_RTL): New.
3374         * params.h (MAX_LAST_VALUE_RTL): New.
3375         * Makefile.in (combine.o): Depend on $(PARAMS_H).
3376         * doc/invoke.texi (--param max-last-value-rtl=N): Document.
3377
3378         PR c/17297
3379         * c-typeck.c (digest_init): Only call build_vector if all constructor
3380         elements are *_CST nodes.
3381         * gimplify.c (gimplify_init_constructor): Likewise.
3382
3383         PR middle-end/19164
3384         * c-typeck.c (digest_init): Only call build_vector if inside_init
3385         is a CONSTRUCTOR.
3386
3387 2005-01-18  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
3388
3389         * toplev.c (init_asm_output): Remove dead #ifdef.
3390
3391 2005-01-18  Kaz Kojima  <kkojima@gcc.gnu.org>
3392
3393         * config/sh/linux.h (TARGET_C99_FUNCTIONS): Define.
3394
3395 2005-01-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
3396
3397         * calls.c (expand_call): Check DECL_BUILT_IN_CLASS before
3398         accessing DECL_FUNCTION_CODE.
3399         * dojump.c (do_jump): Likewise.
3400         * gimplify.c (gimplify_call_expr): Likewise.
3401         * predict.c (expr_expected_value): Likewise.
3402         (strip_builtin_expect): Likewise.
3403         * tree-inline.c (estimate_num_insns_1): Likewise.
3404         * tree-ssa-loop-im.c (stmt_cost): Likewise
3405         * fold-const.c (fold): Test for BUILT_IN_NORMAL.
3406         (tree_expr_nonnegative_p): Likewise.
3407
3408 2005-01-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
3409
3410         * config/sparc/sparc.c (load_pic_register): Emit the appropriate
3411         variant of the load_pcrel_sym pattern.
3412         * config/sparc/sparc.md (P macro): Move to the top.
3413         (load_pcrel_sym): Macroize using P.
3414         (save_register_window): Likewise.
3415
3416 2005-01-18  Aldy Hernandez  <aldyh@redhat.com>
3417
3418         * config/rs6000/rs6000.md ("sunordered"): Disable for e500.
3419         ("sordered"): Same.
3420
3421 2005-01-18  Andrew Pinski  <pinskia@physics.uc.edu>
3422
3423         PR C/19472
3424         * c-typeck.c (build_asm_expr): Strip nops off
3425         input memory operands.
3426
3427 2005-01-18  David Edelsohn  <edelsohn@gnu.org>
3428
3429         * config/rs6000/aix43.h (CPLUSPLUS_CPP_SPEC): Delete
3430         _XOPEN_SOURCE, _XOPEN_SOURCE_EXTENDED, _LARGE_FILE_API.
3431         * config/rs6000/aix51.h (CPLUSPLUS_CPP_SPEC): Same.
3432         * config/rs6000/aix52.h (CPLUSPLUS_CPP_SPEC): Same.
3433
3434 2005-01-18  Joel Sherrill <joel.sherrill@oarcorp.com>
3435
3436         PR target/19379
3437         * config/i386/i386.c (override_options): If the 80387 is disabled,
3438         then do not return FP values using FP registers.
3439
3440 2005-01-18  Kazu Hirata  <kazu@cs.umass.edu>
3441
3442         * basic-block.h, c-common.c, c-cppbuiltin.c, c-lang.c,
3443         c-tree.h, cfgbuild.c, cgraph.c, cgraph.h, collect2.c,
3444         combine.c, config.gcc, coverage.h, cse.c, cselib.c,
3445         defaults.h, df.c, dwarf2asm.c, dwarf2out.c, explow.c, expr.c,
3446         flow.c, fold-const.c, gcse.c, ggc-page.c, gimple-low.c,
3447         gimplify.c, ifcvt.c, langhooks-def.h, lcm.c, optabs.h,
3448         output.h, postreload-gcse.c, postreload.c, recog.c,
3449         resource.c, rtl.def, rtlanal.c, sched-deps.c, sched-rgn.c,
3450         targhooks.h, toplev.c, tree-data-ref.c, tree-eh.c,
3451         tree-flow.h, tree-loop-linear.c, tree-mudflap.h, tree-nrv.c,
3452         tree-optimize.c, tree-outof-ssa.c, tree-pass.h,
3453         tree-scalar-evolution.c, tree-ssa-copy.c, tree-ssa-dce.c,
3454         tree-ssa-dse.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c,
3455         tree-ssa-pre.c, tree-ssa.c, tree-vectorizer.c, tree.def,
3456         unwind-dw2-fde-darwin.c, var-tracking.c: Update copyright.
3457
3458         * config/darwin.c, config/darwin.h, config/freebsd-spec.h,
3459         config/alpha/alpha.c, config/arm/vfp.md,
3460         config/i386/emmintrin.h, config/i386/i386-modes.def,
3461         config/i386/i386-protos.h, config/i386/i386.h,
3462         config/i386/pmmintrin.h, config/i386/ppro.md,
3463         config/i386/predicates.md, config/i386/xmmintrin.h,
3464         config/i860/i860.c, config/ia64/ia64-modes.def,
3465         config/ia64/ia64-protos.h, config/ia64/ia64.h,
3466         config/ia64/ia64.md, config/ia64/itanium1.md,
3467         config/ia64/itanium2.md, config/ia64/predicates.md,
3468         config/iq2000/iq2000.h, config/mips/linux64.h,
3469         config/rs6000/aix41.h, config/rs6000/aix43.h,
3470         config/rs6000/aix52.h, config/rs6000/darwin-fallback.c,
3471         config/rs6000/rs6000.c, config/rs6000/rs6000.h,
3472         config/rs6000/spe.md, config/sh/sh.md, config/sparc/linux.h,
3473         config/sparc/linux64.h, config/sparc/litecoff.h,
3474         config/sparc/sp64-elf.h, config/sparc/sparc.c,
3475         config/sparc/sparc.h, config/sparc/sparc.md,
3476         config/sparc/sysv4-only.h: Update copyright.
3477
3478 2005-01-18  Richard Henderson  <rth@redhat.com>
3479
3480         PR target/19496
3481         * config/i386/i386.c (ix86_expand_fp_movcc): Fail for LTGT and UNEQ.
3482
3483 2005-01-18  Marc Espie  <espie@openbsd.org>
3484         * config/i386/openbsdelf.h: Typo.
3485
3486 2005-01-18  Richard Henderson  <rth@redhat.com>
3487
3488         * config/i386/i386.c (ix86_expand_fp_movcc): Remove TARGET_IEEE_FP
3489         special case for sse.