OSDN Git Service

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