OSDN Git Service

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