OSDN Git Service

2005-01-04 Ira Rosen <irar@il.ibm.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2005-01-04  Ira Rosen  <irar@il.ibm.com>
2
3         * tree-vectorizer.c (vect_analyze_offset_expr): Test for
4         INTEGER_CST instead of TREE_CONSTANT.
5         (vect_gen_niters_for_prolog_loop): Test for INTEGER_CST
6         instead of TREE_CONSTANT.
7         (vect_analyze_pointer_ref_access): Test for INTEGER_CST
8         instead of TREE_CONSTANT.
9
10 2005-01-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
11
12         * tree-eh.c (replace_goto_queue): Return early if the queue is empty.
13
14 2005-01-04  Uros Bizjak  <uros@kss-loka.si>
15
16         PR target/19240
17         * config/i386/i386.md (*fop_df_1_i387): Disable for TARGET_SSE_MATH.
18         (*fop_df_1_i387): Disable for (TARGET_SSE2 && TARGET_SSE_MATH).
19
20 2005-01-03  Richard Henderson  <rth@redhat.com>
21
22         * fold-const.c (force_fit_type): Cope with types larger than 2 HWI.
23         (fold_convert_const_int_from_int, fold_convert_const_int_from_real,
24         fold_convert_const_real_from_real): Split out from ...
25         (fold_convert_const): ... here.
26
27 2005-01-03  Richard Henderson  <rth@redhat.com>
28
29         PR target/19235
30         * config/i386/i386.md (movdi_2): Separate SSE1 and SSE2 alternatives.
31         (mov<MMXMODEI>_internal): Likewise.
32         (movdf_nointeger): Prefer Y while not preferring, but allowing, x.
33         Add V2SF case; use it for SSE1; don't use TI.
34         (movdf_integer): Likewise.
35         (mov<SSEMODEI>_internal, movti_internal): Force V4SF for SSE1.
36
37 2005-01-03  Ira Rosen  <irar@il.ibm.com>
38
39         * tree-vectorizer.c (vect_strip_conversions): New function.
40         (vect_analyze_offset_expr): Call vect_strip_conversions. Add
41         check for binary class. 
42
43 2005-01-03  Daniel Berlin  <dberlin@dberlin.org>
44
45         Fix PR debug/17924
46         Fix PR debug/19191
47         * dwarf2out.c (block_ultimate_origin): Follow decl origin if origin
48         is a decl.
49         * gimple-low.c (mark_blocks_with_used_vars): New function.
50         (mark_blocks_with_used_subblocks): Ditto.
51         (mark_used_blocks): Ditto.
52         (pass_mark_used_blocks): New pass.
53         * tree-inline.c: Include debug.h.
54         (expand_call_inline): Call outlining_inline_function here.
55         * tree-optimize.c (init_tree_optimization_passes): Add
56         pass_mark_used_blocks. 
57         * tree-pass.h (pass_mark_used_blocks): New.
58         * Makefile.in (tree-inline.o): Add debug.h dependency.
59
60 2005-01-03  Geoffrey Keating  <geoffk@apple.com>
61
62         * config/darwin.c (darwin_handle_weak_import_attribute): Permit
63         VAR_DECLs to have weak_import attribute.
64
65         * config/rs6000/darwin-fallback.c: Use 'ucontext_t' rather than
66         'struct ucontext'.
67
68 2004-01-03  Steven Bosscher  <stevenb@suse.de>
69
70         * passes.c (rest_of_compilation): Don't run regmove if only
71         flag_expensive_optimizations, require flag_regmove instead.
72
73 2005-01-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
74
75         * config/sparc/litecoff.h (TARGET_OS_CPP_BUILTINS): Do not
76         register "sparc".
77         * config/sparc/sysv4-only.h (TARGET_OS_CPP_BUILTINS): Likewise.
78         * config/sparc/rtemself.h (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
79         * config/sparc/sol2-64.h (TARGET_SUB_OS_CPP_BUILTINS): Delete.
80         * config/sparc/sp64-elf.h (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
81
82 2005-01-03  Richard Henderson  <rth@redhat.com>
83
84         * config/ia64/ia64.c (TARGET_VECTOR_MODE_SUPPORTED_P): New.
85         (ia64_const_ok_for_letter_p): New.
86         (ia64_const_double_ok_for_letter_p): New.
87         (ia64_extra_constraint): New.
88         (ia64_expand_vecint_compare): New.
89         (ia64_expand_vcondu_v2si): New.
90         (ia64_expand_vecint_cmov): New.
91         (ia64_expand_vecint_minmax): New.
92         (ia64_print_operand): Add 'v'.
93         (ia64_preferred_reload_class): New.
94         (ia64_vector_mode_supported_p): New.
95         * config/ia64/ia64.h (UNITS_PER_SIMD_WORD): New.
96         (PREFERRED_RELOAD_CLASS): Move to function.
97         (CONST_OK_FOR_LETTER_P): Move to function.
98         (CONST_DOUBLE_OK_FOR_LETTER_P): Move to function.
99         (CONSTRAINT_OK_FOR_Q, CONSTRAINT_OK_FOR_R): Remove.
100         (CONSTRAINT_OK_FOR_S, CONSTRAINT_OK_FOR_T): Remove.
101         (EXTRA_CONSTRAINT): Move to function.
102         * config/ia64/ia64.md: Include vect.md.
103         (itanium_class): Add mmalua.
104         (type): Handle it.
105         * config/ia64/itanium1.md (1_mmalua): New.  Add it to bypasses.
106         (1b_mmalua): New.
107         * config/ia64/itanium2.md (2_mmalua, 2b_mmalua): Similarly.
108         * config/ia64/predicates.md (gr_reg_or_0_operand): Accept any
109         CONST0_RTX.
110         (const_int_2bit_operand): New.
111         (fr_reg_or_0_operand): New.
112         * config/ia64/ia64-modes.def: Add vector modes.
113         * config/ia64/ia64-protos.h: Update.
114         * config/ia64/vect.md: New file.
115
116 2005-01-03  Richard Henderson  <rth@redhat.com>
117
118         * simplify-rtx.c (simplify_binary_operation): Handle VEC_CONCAT.
119
120 2005-01-03  Uros Bizjak  <uros@kss-loka.si>
121
122         PR target/19236
123         * config/i386/i386.c (log1psf2): Change mode of operands[0,1]
124         to SFmode.
125         (log1pdf2): Change mode of operands[0,1] to DFmode.
126
127 2005-01-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
128
129         * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Define to false.
130         * config/sparc/linux.h (SPARC_RELAXED_ORDERING): Define to true.
131         * config/sparc/linux64.h (SPARC_RELAXED_ORDERING): Likewise.
132         * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Define to
133         SPARC_RELAXED_ORDERING.
134
135 2005-01-03  Richard Henderson  <rth@redhat.com>
136             Uros Bizjak  <uros@kss-loka.si>
137
138         PR target/14631
139         * config/i386/i386.c (ix86_expand_builtin): [IX86_BUILTIN_PINSRW,
140         IX86_BUILTIN_PINSRW128]: Fix wrong selector range in error message.
141         * config/i386/i386.md (mmx_pinsrw, sse2_pinsrw): Fix selector
142         handling.
143         (*mmx_pinsrw, *sse2_pinsrw): New patterns.
144         * config/i386/i386/predicates.md (const_pow2_1_to_8_operand,
145         const_pow2_1_to_128_operand): New predicates.
146
147 2005-01-02  Greg McGary  <greg@mcgary.org>
148
149         * tree-mudflap.c (mf_varname_tree): decl_printable_name handles
150         anonymous decls.
151         (mf_xform_derefs_1) [RESULT_DECL, STRING_CST]: Handle as innermost
152         object.  [ptr_type]: Remove unused variable.
153         Remember nearest addressable array-element or record-component
154         when checking bitfield components.  Tolerate empty BIND_EXPR.
155
156 2005-01-01  Richard Henderson  <rth@redhat.com>
157
158         * tree-vectorizer.c (vect_analyze_offset_expr): Strip conversions
159         that don't narrow the value.  Fail for other conversions.
160
161 2005-01-01  Richard Henderson  <rth@redhat.com>
162
163         PR c/19031
164         * c-decl.c (pop_file_scope): Call maybe_apply_pending_pragma_weaks.
165         * c-lang.c (finish_file): Don't do it here.
166         * objc/objc-act.c (objc_finish_file): Likewise.
167
168         * cgraph.c (decl_assembler_name_equal): New.
169         (cgraph_node_for_asm, cgraph_varpool_node_for_asm): New.
170         (cgraph_varpool_node): Actually link up cgraph_varpool_nodes.
171         * cgraph.h (struct cgraph_varpool_node): Add next.
172         (cgraph_node_for_asm, cgraph_varpool_node_for_asm): Declare.
173         * varasm.c (assemble_alias): Mark the target as needed.
174
175 2005-01-01  Andrew Pinski  <pinskia@physics.uc.edu>
176
177         PR middle-end/19221
178         * function.c (get_arg_pointer_save_area): Use entry_of_function
179         instead of get_insns.
180
181 2005-01-01  Roger Sayle  <roger@eyesopen.com>
182             Andrew Pinski  <pinskia@physics.uc.edu>
183             James E. Wilson  <wilson@specifixinc.com>
184
185         PR rtl-optimization/12092
186         * loop.c (emit_prefetch_instructions): Do nothing if PREFETCH_BLOCK
187         is zero.
188
189 2005-01-01  Roger Sayle  <roger@eyesopen.com>
190             Olivier Hainque  <hainque@act-europe.fr>
191
192         * tree.c (int_fits_type_p): A narrower type always fits in a
193         wider one, except for negative values into unsigned types.
194
195 2005-01-01  Roger Sayle  <roger@eyesopen.com>
196
197         * tree.c (int_fits_type_p): Compare the result of force_fit_type
198         with the original constant rather than require TREE_OVERFLOW.
199
200 2005-01-01  Steven Bosscher  <stevenb@suse.de>
201
202         PR middle-end/17544
203         * c-decl.c (finish_function): If compiling C99, annotate the
204         compiler generated return with the current file name and line 0.
205         * tree-cfg.c (remove_useless_stmts_warn_notreached): Only warn if
206         the source line is greater than 0.
207         (remove_bb): Likewise.
208
209 See ChangeLog.12 for earlier changes.