OSDN Git Service

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