OSDN Git Service

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