1 2005-01-04 Andrew Pinski <pinskia@physics.uc.edu>
4 * c-decl.c (diagnose_mismatched_decls): Accept "extern inline" declared
5 after the full declaration if the are in two different TUs.
7 2005-01-04 Richard Henderson <rth@redhat.com>
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
15 (generate_element_init_1): This.
16 (scalarize_init): Don't call push_gimplify_context/
19 2005-01-04 Geoffrey Keating <geoffk@apple.com>
21 * toplev.c (get_src_pwd): Handle failure of getpwd().
23 2005-01-04 Roger Sayle <roger@eyesopen.com>
25 * fold-const.c (fold_single_bit_test): Delete unreachable handling
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.
30 2005-01-04 Eric Botcazou <ebotcazou@libertysurf.fr>
32 * config/sparc/sparc.md (save_register_windowdi): Add missing mode.
33 (save_register_windowsi): Likewise.
35 2005-01-04 Richard Henderson <rth@redhat.com>
37 * tree-mudflap.c (mf_varname_tree): Fix thinko setting declname.
39 2005-01-04 Uros Bizjak <uros@kss-loka.si>
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.
46 2005-01-04 Paolo Bonzini <bonzini@gnu.org>
47 Devang Patel <dpatel@apple.com>
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.
55 2005-01-04 Ira Rosen <irar@il.ibm.com>
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.
64 2005-01-04 Eric Botcazou <ebotcazou@libertysurf.fr>
66 * tree-eh.c (replace_goto_queue): Return early if the queue is empty.
68 2005-01-04 Uros Bizjak <uros@kss-loka.si>
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).
74 2005-01-03 Richard Henderson <rth@redhat.com>
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.
81 2005-01-03 Richard Henderson <rth@redhat.com>
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.
91 2005-01-03 Ira Rosen <irar@il.ibm.com>
93 * tree-vectorizer.c (vect_strip_conversions): New function.
94 (vect_analyze_offset_expr): Call vect_strip_conversions. Add
95 check for binary class.
97 2005-01-03 Daniel Berlin <dberlin@dberlin.org>
101 * dwarf2out.c (block_ultimate_origin): Follow decl origin if origin
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.
114 2005-01-03 Geoffrey Keating <geoffk@apple.com>
116 * config/darwin.c (darwin_handle_weak_import_attribute): Permit
117 VAR_DECLs to have weak_import attribute.
119 * config/rs6000/darwin-fallback.c: Use 'ucontext_t' rather than
122 2004-01-03 Steven Bosscher <stevenb@suse.de>
124 * passes.c (rest_of_compilation): Don't run regmove if only
125 flag_expensive_optimizations, require flag_regmove instead.
127 2005-01-03 Eric Botcazou <ebotcazou@libertysurf.fr>
129 * config/sparc/litecoff.h (TARGET_OS_CPP_BUILTINS): Do not
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.
136 2005-01-03 Richard Henderson <rth@redhat.com>
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.
159 * config/ia64/itanium1.md (1_mmalua): New. Add it to bypasses.
161 * config/ia64/itanium2.md (2_mmalua, 2b_mmalua): Similarly.
162 * config/ia64/predicates.md (gr_reg_or_0_operand): Accept any
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.
170 2005-01-03 Richard Henderson <rth@redhat.com>
172 * simplify-rtx.c (simplify_binary_operation): Handle VEC_CONCAT.
174 2005-01-03 Uros Bizjak <uros@kss-loka.si>
177 * config/i386/i386.c (log1psf2): Change mode of operands[0,1]
179 (log1pdf2): Change mode of operands[0,1] to DFmode.
181 2005-01-03 Eric Botcazou <ebotcazou@libertysurf.fr>
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.
189 2005-01-03 Richard Henderson <rth@redhat.com>
190 Uros Bizjak <uros@kss-loka.si>
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
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.
201 2005-01-02 Greg McGary <greg@mcgary.org>
203 * tree-mudflap.c (mf_varname_tree): decl_printable_name handles
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.
210 2005-01-01 Richard Henderson <rth@redhat.com>
212 * tree-vectorizer.c (vect_analyze_offset_expr): Strip conversions
213 that don't narrow the value. Fail for other conversions.
215 2005-01-01 Richard Henderson <rth@redhat.com>
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.
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.
229 2005-01-01 Andrew Pinski <pinskia@physics.uc.edu>
232 * function.c (get_arg_pointer_save_area): Use entry_of_function
233 instead of get_insns.
235 2005-01-01 Roger Sayle <roger@eyesopen.com>
236 Andrew Pinski <pinskia@physics.uc.edu>
237 James E. Wilson <wilson@specifixinc.com>
239 PR rtl-optimization/12092
240 * loop.c (emit_prefetch_instructions): Do nothing if PREFETCH_BLOCK
243 2005-01-01 Roger Sayle <roger@eyesopen.com>
244 Olivier Hainque <hainque@act-europe.fr>
246 * tree.c (int_fits_type_p): A narrower type always fits in a
247 wider one, except for negative values into unsigned types.
249 2005-01-01 Roger Sayle <roger@eyesopen.com>
251 * tree.c (int_fits_type_p): Compare the result of force_fit_type
252 with the original constant rather than require TREE_OVERFLOW.
254 2005-01-01 Steven Bosscher <stevenb@suse.de>
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.
263 See ChangeLog.12 for earlier changes.